DSP2812_IQmath应用手册_详细版

合集下载

dsp2812课程设计

dsp2812课程设计

dsp2812课程设计一、课程目标知识目标:1. 学生能理解DSP2812的基本结构和功能特点,掌握其内部寄存器配置方法。

2. 学生能运用C语言编写针对DSP2812的控制程序,实现基本输入输出操作。

3. 学生了解DSP2812在数字信号处理领域的应用,并能结合实际案例进行分析。

技能目标:1. 学生能够熟练操作DSP2812开发板,进行硬件连接和程序下载。

2. 学生能够运用所学知识解决实际问题,具备一定的编程调试能力。

3. 学生通过课程实践,培养团队协作和沟通表达的能力。

情感态度价值观目标:1. 学生通过学习DSP2812相关知识,增强对数字信号处理技术的兴趣和热情。

2. 学生在学习过程中,树立正确的价值观,认识到科技对社会发展的积极影响。

3. 学生培养勇于探索、善于思考的良好学习习惯,形成积极向上的学习态度。

分析课程性质、学生特点和教学要求,本课程旨在让学生深入了解DSP2812的相关知识,提高编程实践能力,培养团队协作和沟通表达技巧。

课程目标具体、可衡量,便于教师进行教学设计和评估,同时激发学生的学习兴趣,提高教学效果。

二、教学内容本课程教学内容主要包括以下三个方面:1. DSP2812基础知识:- 了解DSP2812的内部结构、功能模块和工作原理。

- 学习DSP2812的寄存器配置方法及其功能。

教学内容关联教材章节:第二章DSP2812硬件结构和寄存器配置。

2. 编程实践:- 学习使用C语言编写针对DSP2812的控制程序。

- 掌握基本输入输出操作,如GPIO、中断、定时器等。

教学内容关联教材章节:第三章编程实践与案例分析。

3. 应用拓展:- 分析DSP2812在数字信号处理领域的实际应用,如音频处理、图像处理等。

- 结合实际案例,探讨DSP2812在工程项目中的解决方案。

教学内容关联教材章节:第四章DSP2812应用拓展与案例分析。

教学大纲安排如下:1. 第1-2周:DSP2812基础知识学习,寄存器配置方法。

DSP2812教程 (2)

DSP2812教程 (2)
3
HELLODSP 版权所有 请勿用于商业用途 违者必究
Measuring our success is your success !
外部引脚 (GPIO/XINT2_ADCSOC) EVB 的多种事件 外部引脚
对于第 11 点,ADC 控制寄存器 1 的位 ACQ_PS3—ACQ_PS0 决定了采集窗口的大小,这一位控制了 SOC 脉冲的宽度,也就是一开始开关 S(t)的导通时间。SOC 脉冲的宽度是(ACQ_PS+1)*ADCLK。
1.AD 的简单知识 这部分内容是为没有接触过 AD 的朋友而准备的,如果您对其概念理解的很清楚了,可以不用阅读, 呵呵。AD,就是将模拟量转变为数字量的过程,一般分为取样、保持、量化、编码这 4 步。ຫໍສະໝຸດ S(t)+ _
图 1 取样原理
V1(t)
+ _
由于模拟信号在时间上通常是连续的,而数字信号在时间上离散的,所以转换时首先必须按数字信号 的节拍,对被转换的模拟信号采取样品。取样(Sample)的原理如图 1 所示。开关受取样脉冲信号 S(t) 控制,S(t)=0 时,开关断开,取样输出 V1(t)=0;S(t)=1 时,开关导通,V1(t)=V(t)。这样就把连续的模 拟信号 V(t)变成了一个个脉冲信号。 由于取样的结果是一系列很窄的脉冲,为了保证有足够的时间进行转换,应当将此脉冲的幅值保持 (Hold)住,直到下一次取样时刻的到来。关于量化和编码就不说了,大家可以找参考书自己看一下。 可能大家在实际的项目中,会遇到如何来定采样频率的问题,这一点,我们还应当遵循采样定理。根 据采样定理,如果取样信号 S(t)的频率 fs 大于或等于模拟信号 f(t)的最高频率 Fmax(其频带的上限频 率)的 2 倍,则输入信号 V(t)的主要特征都能够被保留下来,将来可以通过滤波处理,从 V1(t)中恢复原 来的信号 V(t)。

dsp课程设计2812

dsp课程设计2812

dsp课程设计2812一、教学目标本课程的教学目标是让学生掌握DSP2812的基本原理、编程方法和应用技巧。

具体包括以下三个方面:1.知识目标:学生需要了解DSP2812的结构、特性、指令集和编程环境。

能够熟练阅读DSP2812的 datasheet 和 reference manual,并掌握常用的数字信号处理算法。

2.技能目标:学生能够使用C语言进行DSP2812的程序设计,熟练使用CCS集成开发环境进行程序的编译、调试和烧写。

能够独立完成基于DSP2812的数字信号处理项目,具备一定的实际操作能力。

3.情感态度价值观目标:培养学生对DSP技术的兴趣和热情,使其认识到DSP技术在现代社会中的广泛应用和重要性。

培养学生独立思考、解决问题和团队协作的能力。

二、教学内容根据教学目标,本课程的教学内容主要包括以下几个部分:1.DSP2812概述:介绍DSP2812的结构、特性、指令集和编程环境。

2.C语言编程基础:讲解C语言在DSP2812上的应用,包括数据类型、运算符、语句等。

3.数字信号处理算法:介绍常用的数字信号处理算法,如FFT、滤波器设计等。

4.中断和定时器:讲解DSP2812的中断系统、定时器及其应用。

5.串口和并口通信:介绍DSP2812的串口和并口通信原理及其应用。

6.实验操作:安排多个实验项目,让学生动手实践,巩固理论知识。

三、教学方法为了实现教学目标,本课程将采用以下教学方法:1.讲授法:讲解基本概念、原理和算法。

2.讨论法:学生针对某一问题进行讨论,培养学生的独立思考能力。

3.案例分析法:分析实际项目案例,让学生了解DSP技术在工程中的应用。

4.实验法:安排多个实验项目,让学生动手实践,提高实际操作能力。

四、教学资源为了支持教学内容和教学方法的实施,本课程将准备以下教学资源:1.教材:选用《DSP2812原理与应用》作为主教材,辅助以相关参考书籍。

2.多媒体资料:制作PPT、实验指导书等教学资料,以便于学生学习和复习。

IQmath2812详细使用说明

IQmath2812详细使用说明

IQM IQMAA TH 的使用Hdu freescale labyu554377214@在F2812的ROM 中,有3K×16位被保留用于存放数学公式表以及未来的开发。

主要应用于高速度和高精度的实时计算,比同等程度的ANSIC C 语言效率更高,同时可以节省用户更多的设计和调试时间。

为了应用IQmath,首先要从TI 官方网站下载IQmath 库,文档名称为SPRC087。

我们主要应用库里面的:IQmath.cmd,IQmathLib.h,IQmath.lib。

1.1.在在ccs 中新建一个空的工程中新建一个空的工程iqm iqm iqma a th.pj th.pjtt 。

添加如下源文件(源文件根据自己的需求添加)。

2.2.然后编写头文件所在目录然后编写头文件所在目录(具体目录,你们可能与我的不相同,我将2812的所有头文件都放在一个文件夹下,这样方便以后使用)3.3.然后添加库文件然后添加库文件添加lib文件用,文件名必须一致,然后中间用”;”隔开。

4.4.添加下面添加下面添加下面22个cmd 文件。

具体说明:IQMATH 段和查找表一些IQmath 函数需要使用查找表。

这些表中很多嵌入在了28x 设备的boot rom 中。

IQmathTables 段中包含一些经常使用的IQmath 函数的查找表,包括IQdiv,IQsin,IQcos,IQsqrt 和IQatan2。

IQmathTables 存在于所有28x 系列的boot room 中,因此,在CMD 文件中,这个段必须被识别为“NOLOAD ”类型。

面去。

5.5.添加添加添加GEL GEL GEL文件,这个是用文件,这个是用文件,这个是用CCS CCS CCS调试的时候用的调试的时候用的到此Iqmath是添加完成了,接下来就是Iqmath的应用了!一个例题:现在来编写main.c 函数。

如图所示:PS:我加入了GPIO 程序,就一个简单的翻动作。

TIDSP2812中文手册

TIDSP2812中文手册

第1章芯片结构及性能概述TMS320C2000系列是美国TI公司推出的最佳测控应用的定点DSP芯片,其主流产品分为四个系列:C20x、C24x、C27x和C28x。

C20x可用于通信设备、数字相机、嵌入式家电设备等;C24x主要用于数字马达控制、电机控制、工业自动化、电力转换系统等。

近年来,TI公司又推出了具有更高性能的改进型C27x和C28x系列芯片,进一步增强了芯片的接口能力和嵌入功能,从而拓宽了数字信号处理器的应用领域。

TMS320C28x系列是TI公司最新推出的DSP芯片,是目前国际市场上最先进、功能最强大的32位定点DSP芯片。

它既具有数字信号处理能力,又具有强大的事件管理能力和嵌入式控制功能,特别适用于有大批量数据处理的测控场合,如工业自动化控制、电力电子技术应用、智能化仪器仪表及电机、马达伺服控制系统等。

本章将介绍TMS320C28x 系列芯片的结构、性能及特点,并给出该系列芯片的引脚分布及引脚功能。

1.1 TMS320C28x系列芯片的结构及性能C28x系列的主要片种为TMS320F2810和TMS320F2812。

两种芯片的差别是:F2812内含128K×16位的片内Flash存储器,有外部存储器接口,而F2810仅有64K×16位的片内Flash存储器,且无外部存储器接口。

其硬件特征如表1-1所示。

表1-1 硬件特征TMS320C28x系列DSP的CPU与外设(上)·2·注:‡“S”是温度选择(-40℃~ +125℃)的特征化数据,仅对TMS是适用的。

‡‡产品预览(PP):在开发阶段的形成和设计中与产品有关的信息,特征数据和其他规格是设计的目标。

TI保留了正确的东西,更换或者终止了一些没有注意到的产品。

高级信息(AI):在开发阶段的取样和试制中与新产品有关的信息,特征数据和其他规格用以改变那些没有注意到的东西。

产品数据(PD):是当前公布的数据信息,产品遵守TI的每项标准保修规格,但产品加工不包括对所有参数的测试。

DSP2812实验指导书第三部分

DSP2812实验指导书第三部分

第4章实验内容实验一编写一个以C语言为基础的DSP程序一.实验目的1.学习用标准C语言编制程序;了解常用的C语言程序设计方法和组成部分。

2.学习编制连接命令文件,并用来控制代码的连接。

3.学会建立和改变map文件,以及利用它观察DSP内存使用情况的方法。

4.熟悉使用软件仿真方式调试程序。

二.实验设备PC兼容机一台,操作系统为Windows2000(或Windows98,WindowsXP,以下默认为Windows2000),安装Code Composer Studio 2.0软件。

三.实验原理1.标准C语言程序CCS支持使用标准C语言开发DSP应用程序。

当使用标准C语言编制的程序时,其源程序文件名的后缀应为.c (如:volume.c)。

CCS在编译标准C语言程序时,首先将其编译成相应汇编语言程序,再进一步编译成目标DSP 的可执行代码。

最后生成的是coff格式的可下载到DSP中运行的文件,其文件名后缀为.out。

由于使用C语言编制程序,其中调用的标准C的库函数由专门的库提供,在编译连接时编译系统还负责构建C运行环境。

所以用户工程中需要注明使用C的支持库。

2.命令文件的作用命令文件(文件名后缀为cmd)为链接程序提供程序和数据在具体DSP硬件中的位置分配信息。

通过编制命令文件,我们可以将某些特定的数据或程序按照我们的意图放置在DSP所管理的内存中。

命令文件也为链接程序提供了DSP外扩存储器的描述。

在程序中使用CMD文件描述硬件存储区,可以只说明使用部分,但只要是说明的,必须和硬件匹配,也就是只要说明的存储区必须是存在的和可用的。

3.内存映射(map)文件的作用一般地,我们设计、开发的DSP程序在调试好后,要固化到系统的ROM中。

为了更精确地使用ROM空间,我们就需要知道程序的大小和位置,通过建立目标程序的map文件可以了解DSP 代码的确切信息。

当需要更改程序和数据的大小和位置时,就要适当修改cmd文件和源程序,再重新生成map文件来观察结果。

TIDSP2812中文手册

TIDSP2812中文手册

第1章芯片结构及性能概述TMS320C2000系列是美国TI公司推出的最佳测控应用的定点DSP芯片,其主流产品分为四个系列:C20x、C24x、C27x和C28x。

C20x可用于通信设备、数字相机、嵌入式家电设备等;C24x主要用于数字马达控制、电机控制、工业自动化、电力转换系统等。

近年来,TI公司又推出了具有更高性能的改进型C27x和C28x系列芯片,进一步增强了芯片的接口能力和嵌入功能,从而拓宽了数字信号处理器的应用领域。

TMS320C28x系列是TI公司最新推出的DSP芯片,是目前国际市场上最先进、功能最强大的32位定点DSP芯片。

它既具有数字信号处理能力,又具有强大的事件管理能力和嵌入式控制功能,特别适用于有大批量数据处理的测控场合,如工业自动化控制、电力电子技术应用、智能化仪器仪表及电机、马达伺服控制系统等。

本章将介绍TMS320C28x系列芯片的结构、性能及特点,并给出该系列芯片的引脚分布及引脚功能。

TMS320C28x系列芯片的结构及性能C28x系列的主要片种为TMS320F2810和TMS320F2812。

两种芯片的差别是:F2812内含128K×16位的片内Flash存储器,有外部存储器接口,而F2810仅有64K×16位的片内Flash存储器,且无外部存储器接口。

其硬件特征如表1-1所示。

表1-1 硬件特征注:‡“S”是温度选择(-40℃ ~ +125℃)的特征化数据,仅对TMS是适用的。

‡‡产品预览(PP):在开发阶段的形成和设计中与产品有关的信息,特征数据和其他规格是设计的目标。

TI保留了正确的东西,更换或者终止了一些没有注意到的产品。

高级信息(AI):在开发阶段的取样和试制中与新产品有关的信息,特征数据和其他规格用以改变那些没有注意到的东西。

产品数据(PD):是当前公布的数据信息,产品遵守TI的每项标准保修规格,但产品加工不包括对所有参数的测试。

‡‡‡T MP:最终的硅电路小片,它与器件的电气特性相一致,但是没有进行全部的品质和可靠性检测。

dsp芯片2812课程设计

dsp芯片2812课程设计

dsp芯片2812课程设计一、课程目标知识目标:1. 理解DSP芯片2812的基本结构、工作原理及其功能特点;2. 学会使用2812的内部寄存器进行编程配置;3. 掌握基于2812的数字信号处理算法及其应用。

技能目标:1. 能够运用C语言或汇编语言编写针对2812的简单程序;2. 能够运用仿真工具对2812程序进行调试与优化;3. 能够分析并解决基于2812的实际数字信号处理问题。

情感态度价值观目标:1. 培养学生对数字信号处理领域的兴趣,激发其主动学习的热情;2. 培养学生的团队协作精神,使其在合作学习过程中学会倾听、交流、分享;3. 培养学生严谨的科学态度和良好的工程素养,使其在实际应用中关注技术对社会发展的贡献。

分析课程性质、学生特点和教学要求,本课程目标旨在使学生在掌握DSP芯片2812基础知识的基础上,具备实际编程与调试能力,同时注重培养学生的情感态度和价值观,使其成为具有创新精神和实践能力的数字信号处理领域人才。

通过本课程的学习,学生将能够达到以上所述的具体学习成果,为后续相关课程的学习和实际工程应用奠定基础。

二、教学内容1. DSP芯片2812基础知识:- 芯片结构、功能模块及其工作原理;- 内部寄存器组织与配置方法;- 中断系统、定时器及外设接口。

2. 编程与调试技巧:- C语言及汇编语言编程基础;- 仿真工具的使用与调试方法;- 程序优化技巧及性能分析。

3. 数字信号处理算法及应用:- 常见数字滤波器设计;- 快速傅里叶变换(FFT)算法;- 数字信号处理在实际应用中的案例分析。

教学大纲安排如下:第一周:DSP芯片2812基础知识学习;第二周:内部寄存器组织与配置方法;第三周:编程与调试技巧;第四周:数字信号处理算法及应用;第五周:综合案例分析与实践。

教学内容依据教材相关章节,结合课程目标进行选择和组织,保证科学性和系统性。

通过本章节学习,学生将全面了解DSP芯片2812的相关知识,为实际应用奠定基础。

DSP2812实验指导书第二部分_图文(精)

DSP2812实验指导书第二部分_图文(精)

第2章F2812-A评估板硬件使用指导2.1 F2812-A评估板技术指标主处理芯片:TMS320F2812,运行速度为150M;工作速度可达150MIPS;片上RAM 18k*16bit;片上扩展RAM存贮空间64K×16Bit;自带16路12bit A/D,最大采样速率12.5msps;4路的DAC7617转换,100K/S,12Bit;两路UART串行接口,符合RS232标准;16路PWM输出;1路CAN接口通讯;片上128*16bit FLASH,自带128位加密位;设计有用户可以自定义的开关和测试指示灯;4组标准扩展连接器,为用户进行二次开发提供条件;具有IEEE1149.1相兼容的逻辑扫描电路,该电路仅用于测试和仿真; +5V电源输入,内部+3.3V、+1.6V电源管理;4层板设计工艺,工作稳定可靠;具有自启动功能设计,可以实现脱机工作;可以选配多种应用接口板,包括语音板,网络板等。

2.2 F2812 –A 评估板原理图和实物图一. F2812-A 评估板实物图图2.2.2 F2812-A 器件分布图图2.2.1 F2812-A 评估板实物图二. F2812-A 器件分布图图1.2 ICETEK-F2812-A 器件分布图三.F2812-A评估板原理框图图2.2.3 F2812-A评估板原理框图2.3 F2812-A评估板接口说明以下将详细说明这些外围接口的功能和特征定义。

首先,表2-3-1 归纳总结了这些跳线和功能分类,接口位置请参考图2.2.1表2-3-1:接口和功能分类下面将分别介绍这些接口:1. +5v 电源插座: 这个接口用于接入为整个板子供电的电源,电源电压为+5V ,标准配置的电源电流为1A ,如果不使用随板提供的电源,请注意电源的正负极性和电流的大小。

下面是这个接口的插孔示意图:+5V地(GND图2.3.1 电源插孔示意图2. 标准RS-232: 9针D 型连接器,异步串口连接器,符合RS-232规范,输出电平为正负12V .下面是9针连接器的管脚定义:图2.3.2 异步串口连接器示意图3.P1扩展插座:34芯扩展总线接口。

DSP2812-实验要求以及参考程序

DSP2812-实验要求以及参考程序

实验一DSP数据存取实验实验要求:1、找到main函数入口地址4、观察从地址0x80000到0x80007的存储内容操作步骤:1、打开Setup CCStudio v3.3 ,系统配置为F2812 Device Simultor2、打开CCStudio v3.3,打开工程F2812\DSP281x_examples\Lab0201-Memory\Memory.pjt3、在main函数处设断点(F9),运行程序4、打开反汇编窗口(View>Disassembly),观察入口地址5、修改Memory.c中程序,完成存储区数据修改6、编译通过,加载.out 文件7、设置在变量定义处设置断点,点击运行(F5),单步运行(F11)8、打开观察窗(View>Watch Window)观察自己所设变量在单步运行时变化9、打开存储区窗口(View>Memory)观察地址为0x80000到0x80007的数据变化实验二指示灯与拨码开关实验实验要求:1、熟悉板上指示灯控制寄存器、开关控制寄存器2、指示灯点亮规则:只闭合拨码开关1:全灭;只闭合拨码开关2:全亮;只闭合拨码开关3: 顺序依次点亮;只闭合拨码开关4:反向顺序依次点亮;开关的其它状态:全灭;操作步骤:1、打开Setup CCStudio v3.3 ,系统配置为F2812 XDS510 Emulator_12、打开CCStudio v3.3,打开工程F2812\DSP281x_examples\Lab0201-Memory\led.pjt3、修改led.c,注意板上DIP开关控制寄存器地址为C0001h,板上指示灯控制寄存器地址为:C0000h。

这两个寄存器都是低四位有效。

4、观察实验现象实验三DSP定时器实验要求:1、利用定时器中断代替软件延时函数控制指示灯显示频率,要求1秒闪烁一次2、实物仿真时,通过CCS中的Clock功能统计延时函数的延时时间,与设定值进行比较操作步骤:1、打开Setup CCStudio v3.3 ,系统配置为F2812 XDS510 Emulator_12、打开CCStudio v3.3,打开工程F2812\DSP281x_examples\Lab0201-Memory\time.pjt3、修改time.c程序,写一个由定时器中断产生的以1s为单位的延时函数void delay(int time);4、在菜单中选择profile>Enable\View5、在延时函数前后各设置一个断点6、清零时钟计数器(双击清零),点击Run运行程序7、计算时间t=测得值/150000000(假如系统的时钟工作在150MHZ),与设定值进行比较实验四事件管理器实验实验要求1、利用事件管理器中的16路中的PWM1,输出一段连续变化的PWM波2、驱动扬声器蜂鸣器播放一段音乐声(声音频率文件参考Speaker.pjt)操作步骤1、打开Setup CCStudio v3.3 ,系统配置为F2812 XDS510 Emulator_12、打开CCStudio v3.3,打开工程F2812\DSP281x_examples\Lab0201-Memory\PWM.pjt和F2812\DSP281x_examples\Lab0201-Memory\Speaker.pjt3、在例程Speaker.c中是使用通用定时器TIME0来连续输出频率的方波,这里要求改为用EVA中的PWM1代替之。

Dsp2812芯片管脚说明(中文)

Dsp2812芯片管脚说明(中文)

表 1-2 引脚功能和信号情况‡
179 针 GHH 封装
D7 B7 A8 B9 A10 E10 C11 A14 C12 D14 E12 F12 G14 H13 J12 M11 N10 M2 G5 A9 B11 J10 L14 N9 L9 M8 P7 L5 L3 J5 K3 J3 H5 H3 G3
引脚号 176 针 PGF
N4
51
通常为高电平,当为低电平时表示处于写

O/Z

周期,当为高电平时表示处于读周期
续表
引脚号
179 针 176 针 128 针
名字
I/O/Z
GHH PGF PBK
封装 封装 封装
XREADY B6 161 —
I
X1/XCLKI
K9 77 58
I
N
X2
M9 76 57
I
XCLKOUT F11 119 87 O
外部 DMA 保持请求信号。 XHOLD 为低
电平时请求 XINTF 释放外部总线,并把所
XHOLD E7
159
有的总线与选通端置为高阻态。当对总线

I
PU
的操作完成且没有即将对 XINTF 进行访
问时,XINTF 释放总线。此信号是异步输
入并与 XTIMCLK 同步
外部 DMA 保持确认信号。当 XINTF 响应
封装
158 156 152 148 144 141 138 132 130 125 121 118 111 108 103 85 80 43 18 147 139 97 96 74 73 68 65 54 39 36 33 30 27 24 21
128 针 PBK 封装

dspIQmath的基础

dspIQmath的基础

(为提高计算精度,变量定义成IQ前,范围提前要搞清楚,切忌)在F2812的ROM中,有3K×16位被保留用于存放数学公式表以及未来的开发。

主要应用于高速度和高精度的实时计算,比同等程度的ANSIC C语言效率更高,同时可以节省用户更多的设计和调试时间。

1IQmath库为了应用IQmath,首先要从TI官方网站下载IQmath库,文档名称为SPRC087。

我们主要应用库里面的:IQmath.cmd,IQmathLib.h,IQmath.lib。

新建一个工程,将IQmath.lib,IQmath.cmd添加到工程,同时在main()函数之前增加语句:#include “IQmathLib.h”。

注意:rts2800.lib和DSP281x_Headers_nonBIOS.cmd也要加到工程里面。

当然也可以不用IQmath.cmd文件,而用自己的CMD文件,只要在你的CMD 里面添加以下代码即可:MEMORY{PAGE 0:BOOTROM (RW) : origin = 0x3ff000 , length = 0x000fc0RAMH0 (RW) : origin = 0x3f8000 , length = 0x002000}SECTIONS{IQmathTables : load = BOOTROM , type = NOLOAD , PAGE=0IQmath : load = RAMH0 , PAGE=0}以上代码的红色部分可以适当修改。

IQmathTables段必须设置为NOLOAD型。

2IQmath应用完成以上几步之后就可以在你的主函数里应用IQmath提供的函数进行计算了。

建议在应用之前把IQmathLib.h浏览一下,了解各个函数是怎样实现的。

下面举一个简单的例子:#include "DSP281x_Device.h"#include "IQmathLib.h"#define PI 3.14159_iq sinout_iq;float sinout_flt;void main(void){InitSysCtrl();InitXintf();DINT;IER=0X0000;IFR=0X0000;sinout_iq=_IQ29sin(_IQ29mpy(_IQ29(0.25),_IQ29(PI)));sinout_flt=_IQ29toF(sinout_iq);for(;;){}}上述代码的功能是计算sin(π/4)的值,然后赋给sinout_flt。

DSP2812开发板说明书

DSP2812开发板说明书
2.概述
2812开发板系统主要分为两部分,分别为硬件系统和相应的测试软件。
在开发板系统中主要集成了DSP、SRAM、FLASH、A/D、PWM、QEF、UART、SPI、CAN、USB、 以太网、LCD接口等,这样能够使其应用在电机、电力、车载等工业控制领域。
相应的测试软件包括以下几部分:
DSP对片外SRAM和FLASH的操作示例 DSP对片内外设A/D的操作示例 DSP对片内外设定时器0和定时器2的操作示例 DSP对片内外设GPIO的操作示例 DSP对片内外设SPI的操作示例 DSP对片内外设MCBSP的操作示例 DSP对片内外设SCI的操作示例 DSP对片内外设CAN的操作示例 DSP对片内外设PWM的操作示例 外部中断扩展示例 LED跑马灯示例 GUI图形接口示例 TCP/IP协议栈示例 HOST USB操作示例(选配) FAT文件系统示例(选配)
TMS320F2812的外部存储器接口包括:19位地址线,16位数据线,3个片选控制线及读 写控制线。这3个片选线映射到5个存储区域,Zone0,Zone1,Zone2,Zone6和Zone7。其中, Zone0和Zone1共用1个片选线XCS0AND1,Zone6和Zone7共用1个片选线XCS6AND7。这5个存 储区域可分别设置不同的等待周期。
第三章 TMS320F2812的基本系统
1. 时钟电路
开发板用30MHz外部晶体给DSP提供时钟,并使能F2812 片上PLL电路。PLL倍频系数由PLL 控制寄存器PLLCR的低4位控制,可由软件动态的修改。外部复位信号(RS)可将此4位清零(CCS 中的复位命令将不能对这4位清零)。TMS320F2812的CPU最高可工作在150M的主频下,也即是 对30M输入频率进行5倍频。

TIDSP2812中文手册范本

TIDSP2812中文手册范本

第1章芯片结构及性能概述TMS320C2000系列是美国TI公司推出的最佳测控应用的定点DSP芯片,其主流产品分为四个系列:C20x、C24x、C27x和C28x。

C20x可用于通信设备、数字相机、嵌入式家电设备等;C24x主要用于数字马达控制、电机控制、工业自动化、电力转换系统等。

近年来,TI公司又推出了具有更高性能的改进型C27x和C28x系列芯片,进一步增强了芯片的接口能力和嵌入功能,从而拓宽了数字信号处理器的应用领域。

TMS320C28x系列是TI公司最新推出的DSP芯片,是目前国际市场上最先进、功能最强大的32位定点DSP芯片。

它既具有数字信号处理能力,又具有强大的事件管理能力和嵌入式控制功能,特别适用于有大批量数据处理的测控场合,如工业自动化控制、电力电子技术应用、智能化仪器仪表及电机、马达伺服控制系统等。

本章将介绍TMS320C28x系列芯片的结构、性能及特点,并给出该系列芯片的引脚分布及引脚功能。

1.1 TMS320C28x系列芯片的结构及性能C28x系列的主要片种为TMS320F2810和TMS320F2812。

两种芯片的差别是:F2812含128K×16位的片Flash存储器,有外部存储器接口,而F2810仅有64K×16位的片Flash 存储器,且无外部存储器接口。

其硬件特征如表1-1所示。

表1-1 硬件特征注:‡“S”是温度选择(-40℃ ~ +125℃)的特征化数据,仅对TMS是适用的。

‡‡产品预览(PP):在开发阶段的形成和设计中与产品有关的信息,特征数据和其他规格是设计的目标。

TI保留了正确的东西,更换或者终止了一些没有注意到的产品。

高级信息(AI):在开发阶段的取样和试制中与新产品有关的信息,特征数据和其他规格用以改变那些没有注意到的东西。

产品数据(PD):是当前公布的数据信息,产品遵守TI的每项标准保修规格,但产品加工不包括对所有参数的测试。

DSP2812教程(8)

DSP2812教程(8)

DSP2812教程(8)第4课F2812⽚内资源、存储器映射以及CMD⽂件的编写作者:顾卫钢谢芬(HELLODSP资深会员)从今天开始,我们的课程终于进⼊F2812的核⼼了,呵呵。

在今天的课程中,我们将带领⼤家⼀起学习2812的⽚内资源,初步了解它究竟有哪些本事,能拿来⼲些什么,然后⼀起了解2812存储器的结构,统⼀编址的⽅式、存储器映射关系,并重点分析CMD⽂件,以期望消除⼤家对CMD⽂件的迷惑,在⾃⼰编写程序的时候会修改CMD⽂件中的部分内容,从⽽满⾜⾃⼰设计时的需求。

1.F2812的⽚内资源我们知道,TMS320F2812是32位的定点DSP,它既具有数字信号的处理能⼒,⼜具有强⼤的事件管理能⼒和嵌⼊式控制功能,特别适合⽤于需要⼤批量数据处理的测控领域,例如⾃动化控制、电⼒电⼦技术、智能化仪表、电机伺服控制。

下⾯是F2812的内部资源框图。

图1 TMS320F2812内部资源框图2812采⽤了⾼性能的静态CMOS技术,时钟频率可达150MHZ(6.67ns),其核⼼电压为1.8V,I/O⼝电压3.3V,Flash编程电压也为3.3V,所以我们在设计2812电源部分的时候,需要将常⽤的5V电压转换成1.8V和3.3V的电压之后,才能供给2812。

具体的设计我们将会在以后的硬件设计内容⾥进⾏探讨。

让我们⼀起来看看图1,最左边的A(18-0)和D(15-0)是表⽰2812外扩存储器的能⼒,2812外扩的存储空间最⼤是219*16 bit,就是说最多只能扩512K个存储单元,每⼀个存储单元的位数为16位。

从图中我们也可以看到,F2812⽀持JTAG边界扫描(Boundary Scan),这也是为什么我们的仿真器都是采⽤JTAG⼝的原因了,在这⾥,提醒⼤家⼀点的就是,仿真的时候,JTAG⼝的⽅向不能插反,如果插反的话会将仿真器烧坏。

我们所使⽤的14针JTAG⼝的第6针是空脚,所以⼀般情况下仿真器JTAG线的第6针是填针的,同时在板⼦上的第6脚是拔空的,这样可以防⽌您插反JTAG⼝,以避免不必要的损失。

DSP2812实验指导书第一部分

DSP2812实验指导书第一部分
6.如果无法进入CCS软件仿真请检查:
a.断掉实验箱电源,从仿真器上拔掉usb电缆,重新插usb电缆,检查usb上的红灯和绿灯是按照先红后绿的次序来亮的。然后再打开实验箱电源。
7.显示/控制模块上的两个电源插座不要连接错误,上边插座为+12V,下面的为+5V;
8.连接不同类型的插座时,请再三确认无误后进行;
9.不要带电拔插各模块;
10.不要带电拔插仿真器和DSP评估板上JTAG插头的连接电缆;
11.如无特殊情况,请勿打开实验箱底板;
12.不要带电拔插键盘插头;
13.如遇实验箱冒烟等异常现象请立即关闭总电源,并查找原因。
支持CCS。
通用开发系统和DSP控制板分离,有利于将来DSP的升级。同时,也可以脱离实验箱单独从事科研开发使用。
3、通用控制模块部分:
显示输出:
-液晶显示(LCD):240×128点阵图形显示屏,可调整显示对比度。
-发光二极管。
音频输出:可由DSP I/O脚控制的蜂鸣器;D/A输出提供音频插座,可直接接插耳机。
表1-2-6寄存器CTRLED
Bit7
Bit6
bit5
bit4
bit3
bit2
bit1
bit0
Led11
Led10
Led9
Led8
Led7
Led6
Led5
Led4
该寄存器的地址映射到5416DSP的IO扩展空间Port8004上。DSP通过对该地址的写操作来CTRLED上各位的状态,当寄存器某位取‘0’值时,相应指示灯被点亮,取‘1’值则熄灭。
三.DSP教学实验箱故障判断及排除
1.无法接通电源:请检查外接电缆是否完好;电缆是否与实验箱边插座连接妥当;电缆是否与外接插座连接紧密;检查实验箱上220V电源插座(箱体左侧)中保险管是否完好。

DSP2812上做无功电流IP-IQ算法

DSP2812上做无功电流IP-IQ算法

/*********************************************************************** Module Name: ip_iq.c **** Author: yayunliufang **** Version: 1.8 **** CreateDate: 2010-04-18 ************************************************************************//*********************************************************************** 编写目的:学习在DSP上实现ip_iq法,既三项瞬时无功采集分析法,实现有源滤波器电流采集分析部分,为以后PWM产生控制做准备************************************************************************/#include "DSP28_Device.h"#include "IQmathLib.h"float a1[3]; //AD采样缓存int x=0; //记录采集的次数float adclo=0; //0位调整#define PI 3.14159 //定义PI#define N 256#define Z1 0.81650 //定义sqrt(2/3)#define Z2 0.86603 //定义sqrt(3)/2#define Z3 1.2247 //定义sqrt(3/2)struct i_abc{_iq ia;_iq ib;_iq ic;};struct i_abc I_ABC; //定义三项电流采集数据缓存struct i_abc If_ABC; //定义三项电流基波数据缓存struct i_abc Ih_ABC; //定义三项电流谐波数据缓存_iq IP[256],IQ[256]; //用于滤波器平均值求取float abc1[N]; //波形窗调试接口float abc2[N];/*****************定义正弦sine表,禁止改动***********************/const float sin[256]={0.000000,0.024541,0.049068,0.073565,0.098017,0.122411,0.146730,0.170962,0.1950 90,0.219101,0.242980,0.266713,0.290284,0.313681,0.336890,0.359895,0.382683,0.405241,0.427555,0.449611,0.471396,0.492898,0.514102,0.534997,0.555570,0.575808,0.595699,0.615231,0.634393,0.653172,0.671558,0.689540,0.707106,0.724247,0.740951,0.757208,0.773010,0.788346,0.803207,0.817584,0.831469,0.844853,0.857728,0.870087,0.881921,0.893224,0.903989,0.914209,0.923879,0.932992,0.941544,0.949528,0.956940,0.963776,0.970031,0.975702,0.980785,0.985277,0.989176,0.992479,0.995185,0.997290,0.998795,0.999699,1.000000,0.999699,0.998796,0.997291,0.995185,0.992480,0.989177,0.985278,0.980786,0.975702,0.970032,0.963776,0.956941,0.949529,0.941545,0.932993,0.923880,0.914210,0.903990,0.893225,0.881922,0.870088,0.857730,0.844855,0.831471,0.817586,0.803209,0.788348,0.773012,0.757210,0.740952,0.724248,0.707108,0.689542,0.671560,0.653174,0.634395,0.615233,0.595701,0.575810,0.555572,0.534999,0.514105,0.492900,0.471399,0.449613,0.427557,0.405243,0.382686,0.359897,0.336892,0.313684,0.290287,0.266715,0.242983,0.219104,0.195093,0.170964,0.146733,0.122413,0.098020,0.073567,0.049070,0.024544,0.000003,-0.024539,-0.049065,-0.073562,-0.098014,-0.122408,-0.146728,-0.170959,-0.195088,-0.219098,-0.242977,-0.266710,-0.290282,-0.313679,-0.336887,-0.359892,-0.382681,-0.405239,-0.427552,-0.449609,-0.471394,-0.492896,-0.514100,-0.534995,-0.555568,-0.575806,-0.595697,-0.615229,-0.634391,-0.653170,-0.671557,-0.689538,-0.707104,-0.724245,-0.740949,-0.757207,-0.773008,-0.788344,-0.803205,-0.817583,-0.831468,-0.844852,-0.857727,-0.870085,-0.881920,-0.893223,-0.903988,-0.914208,-0.923878,-0.932991,-0.941543,-0.949527,-0.956939,-0.963775,-0.970030,-0.975701,-0.980785,-0.985277,-0.989176,-0.992479,-0.995184,-0.997290,-0.998795,-0.999699,-1.000000,-0.999699,-0.998796,-0.997291,-0.995185,-0.992480,-0.989177,-0.985278,-0.980786,-0.975703,-0.970032,-0.963777,-0.956942,-0.949530,-0.941546,-0.932994,-0.923881,-0.914212,-0.903991,-0.893226,-0.881923,-0.870089,-0.857731,-0.844856,-0.831472,-0.817587,-0.803210,-0.788349,-0.773013,-0.757212,-0.740954,-0.724250,-0.707110,-0.689544,-0.671562,-0.653176,-0.634397,-0.615235,-0.595703,-0.575812,-0.555574,-0.535002,-0.514107,-0.492902,-0.471401,-0.449616,-0.427560,-0.405246,-0.382688,-0.359900,-0.336895,-0.313687,-0.290290,-0.266718,-0.242985,-0.219106,-0.195095,-0.170967,-0.146736,-0.122416,-0.098022,-0.073570,-0.049073,-0.024547};/************************定义负余弦表-COS表,禁止改动****************/const float _cos[256]={-1.000000,-0.999699,-0.998795,-0.997290,-0.995185,-0.992480,-0.989177,-0.985278 ,-0.980785,-0.975702,-0.970031,-0.963776,-0.956940,-0.949528,-0.941544,-0.932993,-0.923880,-0.914210,-0.903989,-0.893224,-0.881921,-0.870087,-0.857729,-0.844854,-0.831470,-0.817585,-0.803208,-0.788347,-0.773011,-0.757209,-0.740952,-0.724248,-0.707107,-0.689541,-0.671559,-0.653173,-0.634394,-0.615232,-0.595700,-0.575809,-0.555571,-0.534998,-0.514103,-0.492899,-0.471398,-0.449612,-0.427556,-0.405242,-0.382684,-0.359896,-0.336891,-0.313683,-0.290286,-0.266714,-0.242981,-0.219102,-0.195091,-0.170963,-0.146732,-0.122412,-0.098018,-0.073566,-0.049069,-0.024543,-0.000001,0.024540,0.049066,0.073563,0.098016,0.122409,0.146729,0.170960,0.195089,0.219100,0.242979,0.266711,0.290283,0.313680,0.336888,0.359894,0.382682,0.405240,0.427554,0.449610,0.471395,0.492897,0.514101,0.534996,0.555569,0.575807,0.595698,0.615230,0.634392,0.653171,0.671558,0.689539,0.707105,0.724246,0.740950,0.757208, 0.773009,0.788345,0.803206,0.817584,0.831468,0.844852,0.857727,0.870086,0.881920, 0.893223,0.903988,0.914209,0.923879,0.932992,0.941543,0.949527,0.956940,0.963775, 0.970031,0.975702,0.980785,0.985277,0.989176,0.992479,0.995184,0.997290,0.998795, 0.999699,1.000000,0.999699,0.998796,0.997291,0.995185,0.992480,0.989177,0.985278,0.980786,0.975703,0.970032,0.963777,0.956941,0.949529,0.941545,0.932994, 0.923881,0.914211,0.903991,0.893226,0.881923,0.870089,0.857730,0.844855,0.831471, 0.817587,0.803209,0.788348,0.773013,0.757211,0.740953,0.724249,0.707109,0.689543, 0.671561,0.653175,0.634396,0.615234,0.595702,0.575811,0.555573,0.535001,0.514106, 0.492901,0.471400,0.449615,0.427558,0.405245,0.382687,0.359898,0.336893,0.313685, 0.290288,0.266716,0.242984,0.219105,0.195094,0.170966,0.146734,0.122415,0.098021, 0.073568,0.049072,0.024545,0.000004,-0.024537,-0.049064,-0.073561,-0.098013,-0.122407,-0.146726,-0.170958,-0.195086,-0.219097,-0.242976,-0.266709,-0.290281,-0.313678,-0.336886,-0.359891,-0.382679,-0.405237,-0.427551,-0.449607,-0.471393,-0.492894,-0.514099,-0.534994,-0.555567,-0.575805,-0.595696,-0.615228,-0.634390,-0.653169,-0.671556,-0.689537,-0.707103,-0.724244,-0.740948,-0.757206,-0.773007,-0.788344,-0.803205,-0.817582,-0.831467,-0.844851,-0.857726,-0.870085,-0.881919,-0.893222,-0.903987,-0.914208,-0.923878,-0.932991,-0.941542,-0.949527,-0.956939,-0.963775,-0.970030,-0.975701,-0.980784,-0.985277,-0.989176,-0.992479,-0.995184,-0.997290,-0.998795,-0.999699};extern void ip_iq(); //声明,供main()调用/*********************************************************************** 函数名称: interrupt void ad(void) **** 函数功能:AD采样中断函数,采集三项数据**** Author: yayunliufang ** ** CreateDate: 2010-04-18 ************************************************************************/ interrupt void ad(void){adclo=0; //每块板的零位不一样,在这儿设一个合适的数以扣掉零位a1[0]=((AdcRegs.RESULT0>>4)*3)/4095.0+adclo;//采集0.4V的DA输入电压后转换值,也为0.4V左右/*if(x<256)//b[x++]=a1[0];I_ABC->ia[x++]=a1[0];elsex=0;*/a1[1]=((AdcRegs.RESULT1>>4)*3)/4095.0+adclo;//0.8V左右a1[2]=((AdcRegs.RESULT2>>4)*3)/4095.0+adclo;IFR=0x0000;PieCtrl.PIEACK.all=0xffff; //清楚中断应答信号,准备接收下一次中断AdcRegs.ADCTRL2.bit.RST_SEQ1=1;AdcRegs.ADC_ST_FLAG.bit.INT_SEQ1_CLR=1;//AdcRegs.ADCTRL2.bit.EXT_SOC_SEQ1=1;////PieCtrl.PIEACK.all=PIEACK_GROUP1;EINT;}/*********************************************************************** 函数名称: ip_iq() **** 函数功能: 实现ip_iq运算**** Author: yayunliufang **** CreateDate: 2010-04-18 ************************************************************************/void ip_iq(){_iq data,ix,iy,ip,iq,iaf,ibf;_iq ipm,iqm,ipd,iqd;//float xx;int i,j;/**************产生原始数据,供后边算法使用****************/for(i=0;i<256;i++) //{data=_IQsin(_IQ(2*PI*i/N))+_IQmpy(_IQ(0.5),_IQsin(_IQ(6*PI*i/N)));I_ABC.ia= data;data=_IQsin(_IQ(2*PI*i/N-2*PI/3))+_IQmpy(_IQ(0.5),_IQsin(_IQ(6*PI*i/N-6*PI/3)));I_ABC.ib=data;data=_IQsin(_IQ(2*PI*i/N+2*PI/3))+_IQmpy(_IQ(0.5),_IQsin(_IQ(6*PI*i/N+6*PI/3)));I_ABC.ic=data;//xx=_IQtoF(I_ABC.ic); //波形窗调试接口//abc1[i]=xx;/**************三项变两项*****************************/////投影在横轴ix=I_ABC.ia-_IQmpy(_IQ(0.5),I_ABC.ib)-_IQmpy(_IQ(0.5),I_ABC.ic); ////投影在纵轴iy=_IQmpy(_IQ(Z2),I_ABC.ib)-_IQmpy(_IQ(Z2),I_ABC.ic);////均乘以根号2/3ix=_IQmpy(ix,_IQ(Z1));iy=_IQmpy(iy,_IQ(Z1));//xx=_IQtoF(ix); //波形窗调试接口//abc2[i]=xx;/**************乘以C,得出ip,iq***********************/ip=_IQmpy(ix,_IQ(sin[i]))+_IQmpy(iy,_IQ(_cos[i]));iq=_IQmpy(ix,_IQ(_cos[i]))-_IQmpy(iy,_IQ(sin[i]));//xx=_IQtoF(ip); //波形窗调试接口//abc1[i]=xx;/**************滤波,求直流分量***********************/for(j=1;j<256;j++) //左移滚动数组{IP[j-1]=IP[j];IQ[j-1]=IQ[j];}IP[255]=ip; //更新最新值IQ[255]=iq;ipm=0;iqm=0;for(j=0;j<256;j++) //累计求和{ipm+=IP[j];iqm+=IQ[j];}ipd=_IQdiv(ipm,_IQ(47)); //求取平均值,得出直流分量iqd=_IQdiv(iqm,_IQ(47));/**************反变换求基波分量************************/ /***乘以C***/data=_IQmpy(_IQ(sin[i]),ipd)+_IQmpy(iqd,_IQ(_cos[i]));iaf=_IQmpy(data,_IQ(Z1));data=_IQmpy(ipd,_IQ(_cos[i]))-_IQmpy(iqd,_IQ(sin[i]));ibf=_IQmpy(data,_IQ(Z1));/**C23变换***/If_ABC.ia=iaf;If_ABC.ib=_IQmpy(_IQ(Z2),ibf)-_IQmpy(_IQ(0.5),iaf);If_ABC.ic=-_IQmpy(_IQ(Z2),ibf)-_IQmpy(_IQ(0.5),iaf);/******得出高次谐波********/Ih_ABC.ia=I_ABC.ia-If_ABC.ia;Ih_ABC.ib=I_ABC.ib-If_ABC.ib;Ih_ABC.ic=I_ABC.ic-If_ABC.ic;//xx=_IQtoF(Ih_ABC.ib); //波形窗调试接口//abc2[i]=xx;}}//===================================================================== ======// No more.//===================================================================== ======。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档