TMS320F2812A的中断机制
- 格式:pdf
- 大小:254.91 KB
- 文档页数:11
截止频率为2KHz的低通滤波器设计实现滤波器是一种用来消除干扰杂讯的器件,将输入或输出经过过滤而得到纯净的直流电。
对特定频率的频点或该频点以外的频率进行有效滤除的电路,就是滤波器,其功能就是得到一个特定频率或消除一个特定频率。
滤波器主要参数如下:中心频率(Center Frequency):滤波器通带的中心频率f0,一般取f0=(f1+f2)/2,f1、f2为带通或带阻滤波器左、右相对下降1dB或3dB边频点。
窄带滤波器常以插损最小点为中心频率计算通带带宽。
截止频率(Cutoff Frequency):指低通滤波器的通带右边频点及高通滤波器的通带左边频点。
通常以1dB或3dB相对损耗点来标准定义。
相对损耗的参考基准为:低通以DC处插损为基准,高通则以未出现寄生阻带的足够高通带频率处插损为基准。
通带带宽(BWxdB):(下图)指需要通过的频谱宽度,BWxdB=(f2-f1)。
f1、f2为以中心频率f0处插入损耗为基准,下降X(dB)处对应的左、右边频点。
通常用X=3、1、0.5 即BW3dB、BW1dB、BW0.5dB 表征滤波器通带带宽参数。
分数带宽(fractional bandwidth)=BW3dB/f0×100[%],也常用来表征滤波器通带带宽。
数字滤波器按频率特性划分为低通、高通、带通、带阻、全通等类型,根据其单位冲激响应函数的时域特性可分为无限冲激响应( IIR) 滤波器和有限冲激响应滤( FIR) 波器。
有限长单位冲击响应( FIR) 数字滤波器可以做成具有严格的线性相位,同时又具有任意的幅度特性。
此外,FIR 滤波器的单位抽样响应是有限长的,因而滤波器一定是稳定的,只要经过一定的延时,任何非因果有限长序列都能变成因果有限长序列,因而总是能用因果系统实现。
MATLAB 在数字信号处理方面的应用功能。
目前FIR滤波器的实现方法大致可分为三种:利用单片通用数字滤波器集成电路、DSP器件或者可编程逻辑器件实现。
F2812的中断采用的是三级中断机制,分别为外设级,PIE级和CPU级。
外设级
PIE级
当外设产生中断事件,相关中断标志位被置位,中断使能位被置位后,外设就会把中断请求发送给PIE控制器。
PIE控制器将PIE外设和外部引脚的中断进行了分组。
8个中断一组,一共十二组,PIE1~PIE12 。
每个组的中断被多路汇集进入了一个CPU中断,如PIE1…….
和外设级相似的是,PIE控制器的每一个组都会有一个中断使能寄存器PIEIERX和中断标志寄存器PIEIFRX。
每个寄存器的低八位对应八个外设中断,高八位保留。
每个外设中断被响应后,一定要对PIEICK的相关位进行手动复位,以使得PIE控制器能够响应同组的其他中断。
语句为
CPU级
当某一外设中断通过PIE发送至CPU时,CPU中断标志寄存器IFR的相应标志位INTX 就会被置位。
//////////////////////////////////////////////////////////////////////////////////////////////////////。
DSP2812和28335的中断机制(原创)DSP28x的中断主要由三部分组成,一个是以外设事件组成的公用中断扩展PIE,二是用户自定义的中断,三是其他特殊的中断,包括不可屏蔽中断、非法中断和一部分定时中断。
要理解DSP28系列的中断机制,就需要理解以下三个部分,一是PIE,二是中断执行流程,三是CPU级中断执行流程。
一、PIEDSP的外设事件很多,DSP内核CPU没有那么多资源来对每个外设事件进行响应,所以就有了PIE(peripheral interrupt expansion)。
就好比公司有很多员工,不可能每个员工有事情都去找总经理,那样的话总经理就太忙,所以就搞了N个部门,每个部门管理若干个员工,由部门经理独立向总经理进行汇报,这样总经理面对的汇报对象就少了很多,可以从容的处理公司的事务。
带来的问题就是,一个员工要把自己所掌握的情况汇报到总经理那里,需要走很多流程,而且由于“政治”因素,亲疏关系,存在优先级的问题。
关系好的员工,总是被总经理优先接待。
dsp的pie有12个部门经理,每个经理管理8个员工。
部门内部,部门经理给每个员工都有一个汇报权限(PIEIERx.y),当该权限使能时,员工有事就可以跟部门经理汇报。
总经理给每个部门经理也有个汇报权限(IERx),总经理自己还有个按钮(INTM),当总经理哪天需要休息时,将手机一关,所有的汇报都不能到达他那里了。
二、中断执行流程参见《TMS320 x2833x, 2823x System Control and Interrupts》6.3.3节。
Step1:当PIE中的外设发生了一个事件,若外设内部允许该事件产生中断,则外设向PIE发送中断。
Step2:如果PIE收到x组的y中断的信号,就将PIEIFRx.y=1。
Step3:PIE要想cpu发送中断请求,必须满足下面两个条件:a.PIEIERx.y=1b.PIEACKx必须清零。
Step4:如果步骤3的两个条件均满足,则向CPU发送中断请求,并置位PIEACKx。
TMS320F2812芯片介绍1 TMS320F2812芯片的特点 (1)2 F2812内核组成 (4)3 F2812外设介绍 (5)①事件管理器 (6)②模数转换模块 (6)③SPI和SCI通信接口 (6)④CAN总线通信模块 (7)⑤看门狗 (7)⑥通用目的数字量I/O (7)⑦PLL时钟模块 (7)⑧多通道缓冲串口 (7)⑨外部中断接口 (8)⑩JTAG (8)1 TMS320F2812芯片的特点TMS320F2812是TI公司推出的低价钱、高性能的32位定点DSP数字信号处置器,是到目前为止用于数字控制领域性能最好的DSP芯片。
它是在TMS320C28x为内核的基础上扩展了相应的存储器并集成了大量的片内外设而成的新一代适用于工业控制的DSP芯片。
图9为F2812控制器方框图。
图9 F2812控制器方框图TMS320F2812 系统组成包括:150MHz、150MIPS的低电压3.3VCPU、片内存储器、中断管理模块、事件管理器模块、片内集成外围设备。
TMS320F2812的体系结构采用4级流水线技术,加速程序的执行。
32位的CPU 内核提供了壮大的数据处置能力, 最高速度可达150MIPS,能够在单个指令周期内完成32*32位的乘累加运算。
TMS320F2812采用增强的哈佛结构,芯片内部具有6 条32位总线, 程序存储器总线和数据存储器总线彼此独立, 支持并行的程序和操作数寻址, 因此CPU的读/写可在同一周期内进行。
这种高速运算能力使各类复杂控制算法得以实现。
芯片本身具有128KB的Flash,外部RAM 能够按照需要进行扩充。
另外,它还具有高性能的12位模/数转换能力,改良的通信接口和1MB的线性地址空间。
外设模块丰硕且功能壮大,其中包括:事件管理器EV A和EVB,包括16个PWM输出,10个16位比较器和4个通用按时器;快速灵活的12位,16通道ADC,12.5MPS数据吞吐率;及其它丰硕的片内集成外设:2通道的SCI模块、SPI模块、eCAN2.0B模块、McBSP模块等。
DSP芯片TMS320f2812的外中断一.实验目的1.通过实验熟悉F2812A的中断响应过程。
2.学会C语言中断程序设计,以及运用中断程序控制程序流程。
二.实验原理1.中断及中断处理过程(1)中断简介中断是一种由硬件或软件驱动的信号,DSP在接到此信号时,将当前程序悬挂起来,转向去执行另外一个任务,称为中断服务程序(ISR)。
TMS320f28xDSP可支持32个ISR,可由硬件或软件触发。
所有的C28x 中断,可以分成可屏蔽中断和不可屏蔽中断两种,软件中断是不可屏蔽的。
(2)DSP一.实验目的1.通过实验熟悉F2812A的中断响应过程。
2.学会C语言中断程序设计,以及运用中断程序控制程序流程。
二.实验原理1.中断及中断处理过程(1)中断简介中断是一种由硬件或软件驱动的信号,DSP在接到此信号时,将当前程序悬挂起来,转向去执行另外一个任务,称为中断服务程序(ISR)。
TMS320f28x DSP可支持32 个ISR,可由硬件或软件触发。
所有的C28x 中断,可以分成可屏蔽中断和不可屏蔽中断两种,软件中断是不可屏蔽的。
(2)DSP处理中断的步骤①接收中断请求。
请求由软件或硬件发出。
②响应中断请求。
对于可屏蔽中断,需要满足若干条件,才发生响应;而对于不可屏蔽中断,则立即响应。
③准备执行中断服务程序。
-完成当前正在执行的指令;将进入流水线但还未解码的指令清除。
-自动保存若干寄存器的值到数据堆栈和系统堆栈。
-取得用户定义的中断向量表中当前中断向量,中断向量指向中断服务程序入口。
④执行中断服务程序。
中断服务程序包含中断返回指令,这样返回时可以出栈以前保存的关键寄存器数据,从而恢复中断服务程序执行前的现场。
(4)外中断TMS320f2812 可以响应两个外中断。
2.ICETEK-CTR板的键盘接口显示/控制模块ICETEK-CTR通过接口P8连接小键盘,接收小键盘传送的扫描码,并在每个扫描码结束后保存,同时向DSP的XINT2 发送中断信号;当DSP读键盘时将扫描码送到数据总线上。
实验三定时器中断一.实验目的1.掌握定时器典型应用方法,了解相应寄存器的作用和编程应用;2. 了解TMS320F2812的中断结构和对中断的处理流程。
二.实验设备1.PC机一台,操作系统为WindowsXP (或Windows98、Windows2000),安装了ccs3.1;2.TI 2000系列的TMS320F2812 eZdsp开发板一块;3.扩展实验箱一台。
三.实验原理1.TMS320F2812器件上有3个32位定时器(图3.1)(TIMER0/1/2)。
CPU定时器1和2预留给系统(如DSP-BIOS)使用,CPU定时器0可以在用户应用程序中使用。
在F2812芯片中,定时器中断信号(TINT0、TINT1、TINT2)的连接如图3.2。
图3.1 CPU定时器图3.2 CPU定时器中断信号和输出信号CPU 定时器的通常操作如下:定时器时钟经过预定标计数器(PSCH:PSC)递减计数,预定标计数器产生溢出后向定时器的32位计数器(TIMH:TIM)借位,定时器计数器产生溢出后使定时器向CPU发送中断。
每次预定标计数器产生溢出后使用分频寄存器(TDDRH:TDDR)中的值重新装载,32位周期寄存器(PRDH:PRD)为32位计数器提供重新装载值。
表3.1中列出的寄存器用于配置定时器。
表3.1 CPU 定时器0、1、2 配置和控制寄存器2.中断响应过程一般分为四步:a.接受中断请求。
必须由软件中断(从程序代码)或硬件中断(从一个引脚或一个基于芯片的设备)提出请求去暂停当前主程序的执行。
b.响应中断。
必须能够响应中断请求。
如果中断是可屏蔽的,则必须满足一定的条件,按照一定的顺序去执行。
而对于非可屏蔽中断和软件中断,会立即作出响应。
c.准备执行中断服务程序并保存寄存器的值。
d.执行中断服务子程序。
调用相应得中断服务程序ISR,进入预先规定的向量地址,并且执行已写好的ISR。
中断类别分为可屏蔽中断、不可屏蔽中断。
TMS320F2812是TI公司的一款用于控制的高性能和高性价比的32位定点DSP芯片。
该芯片最高可在150 MHz主频下工作(本文将其设置到100 MHz),并带有18K×16位0等待周期片上SRAM和128K×16位片上Flash(存取时间为36 ns)。
TMS320F2812采用哈佛总线结构,即在同一个时钟周期内可同时进行一次取指令、读数据和写数据的操作,同时TMS320F2812还通过采用8级流水线来提高系统指令的执行速度。
为了观察指令周期,对TMS320F2812的GPIOA0进行循环的置位操作和清除操作。
C源程序如下:#include DSP28_Device.hvoid main(void) {InitSysCtrl();/*初始化系统*/DINT;/*关中断*/IER = 0x0000;IFR = 0x0000;InitPieCtrl();/*初始化PIE控制寄存器*/InitPieVectTable();/*初始化PIE矢量表*/InitGpio();/*初始化EV*/EINT;ERTM;for(;;) {GpioDataRegs.GPADAT.all=0xFFFF;GpioDataRegs.GPADAT.all=0xFFFF;GpioDataRegs.GPADAT.all=0xFFFF;GpioDataRegs.GPADAT.all=0x0000;GpioDataRegs.GPADAT.all=0x0000;GpioDataRegs.GPADAT.all=0x0000;}}500)this.width=500 border=0>图4 GPIO的P0.25脚输出波形3其中最重要的是要对通用输入/输出进行初始化和确定系统CPU时钟。
其中系统的时钟通过PLL设定为100 MHz,而初始化InitGpio() 的源程序为:#include DSP28_Device.hvoid InitGpio(void){ EALLOW;//多路复用器选为数字I/OGpioMuxRegs.GPAMUX.all=0x0000;//GPIOAO为输出,其余为输入GpioMuxRegs.GPAQUAL.all=0x0000;EDIS;}通过在主程序for(;;)的地方加断点,可以很容易找到上面主程序中循环部分程序编译后的汇编指令:3F8011 L1:3F8011761FMOVWDP,#0x01C33F8013 2820 MOV@32,#0xFFFF3F8015 2820 MOV@32,#0xFFFF3F8017 2820 MOV@32,#0xFFFF3F8019 2820 MOV@32,#0xFFFF3F801B 2820 MOV@32,#0xFFFF3F801D 2820 MOV@32,#0xFFFF3F801F 2B20 MOV@32,#03F8020 2B20 MOV@32,#03F8021 2B20 MOV@32,#03F8022 6FEF SBL1,UNC其中第1列为程序在RAM中的位置,第2列为机器码,后面就是汇编语言程序。
TMS320F2812--DSP原理与技术(第二版)重点知识---内蒙古大学1.数字信号处理DSP(digital signal processing)2.Dsp芯片优点:1)接口方便2)编程方便3)稳定性好4)精度高5)可重复性好6)集成方便3.哈-弗结构特点:将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。
冯·诺伊曼结构:将指令,数据,地址存储在同一存储器中,统统一编址,依靠指令计数器提供的地址来区分指令,数据还是地址,取指令和取数据都访问同一存储器,数据吞吐率低。
4.DSP运算速度性能指标1)指令周期2)MAC时间3)FFT执行时间4)MIPS每秒执行百万条指令5)MOPS每秒执行百次操作6)MFLOPS每秒执行百万次浮点操作7)BOPS每秒执行十亿次操作。
5.TMS320F2812是32位定点DSP芯片,哈弗结构,3个主要部分:中央处理单元,存储器,片内外设。
Cpu负责控制程序的流程和指令的处理,可执行算术运算,布尔逻辑,乘法和位移操作6.C28x芯片3中操作模式:c27x目标-兼容模式,C28x模式,C2xLP源-兼容模式通过状态寄存器st1的OBJMODE位和AMODE 位的组合可以选定其中之一7.C28x CPU主要特性:1)保护流水线(8级流水线)2)独立寄存器空间3)算数逻辑单元(ALU)4)地址寄存器算数单元(ARAU).5)循环位移器6)乘法器8.C28x CPU的4种主要信号:1)存储器接口信号2)时钟和控制信号3)复位和中断信号4)仿真信号9存储器接口3组地址总线:1。
PAB(program address bus,程序地址总线)2。
DRAB(data-read address bus 数据读地址总线)3。
DWAB(data-write address bus数据写地址总线)。
3组数据总线1.PRDB(程序读数据总线)2.DRDB。
TMS320F2812中FLASH寄存器的配置问题解答问:我使用的是TI 2000系列芯片中的2812!我使用的是汇编语言对其进行开发,目前主程序已经完成,需要烧写到FLASH中运行,但烧写过后发现在FLASH中运行的速度和在RAM中用仿真器仿真的速度差不多!这样就太慢了,我设置的PLL倍频到150MHZ,后来发现是有关FLASH的一些配置寄存器没有进行配置,我想在FLASH中运行速度过慢的原因可能是这个造成的吧!我查看了TI的说明文档,其中关于FLASH寄存器的介绍中,有如下的一段:Note: Flash configuration registers should not be accessed while anaccess is in progress in flash or OTP memoryThe flash registers should not be accessed from code that is running fromOTP or flash memory or while an access may be in progress. All register accessesto the flash registers should be made from code executing outsideof flash/OTP memory and an access should not be attempted until all activityon the flash/OTP has completed. No hardware is included to protect for this.You can read the flash registers from code executing in flash/OTP; however,do not write to the registers.从上面的一段看出,如果需要配置FLASH的寄存器,必须执行FLASH以外存储空间的程序才可以实现,我又发现这些寄存器是受EALLOW和CSM保护的,所以我按照以下步骤试图重新配置寄存器:1,在执行存放于FLASH中的主程序段时,将一段存于FLASH中的初始化flash配置寄存器的程序完全复制到片内L0SARAM中,该初始化程序如下:MOVW DP,#DP_FLASH ;指向FLASH寄存器所在的页面EALLOWMOV AL,#01HMOV @FOPT,AL ;使能FLASH流水线模式MOV AL,#03HMOV @FPWR,ALMOV AL,#0FFHMOV @FSTDBYWAIT,ALMOV AL,#0FFHMOV @FACTIVEWAIT,ALMOV AL,#0203HMOV @FBANKWAIT,ALMOV AL,#06HMOV @FOTPWAIT,ALEDISLB FLASH_RET ;FLASH_RET 是我这段程序需要返回到的地址2,我配置了CSM模块的寄存器,使得器件不受CSM的保护3,用MOVL XAR7,#8300H ;200H是初始化程序复制到RAM中的地址LB *XAR7从FLASH跳转到RAM中执行该段初始化FLASH的程序4,从RAM中返回到FLASH中的主程序继续执行但发现这段程序烧写到片子里面后,不能按照我的意图执行,FLASH寄存器没有得到重新配置,请问这是什么原因呢?我上述的几个步骤对不对呢?请问,如果在程序烧写到片内FLASH中,在执行该程序时,想调到RAM中执行另一段程序,这种情况应该如何实现呢?应该有哪些需要注意的地方呢?如果那位有配置FLASH寄存器的例子的话,请发给我一份做一下参考吧!======================================================== 答:在flash中怎么能运行配置属于flash的寄存器呢?自己改变自己是不行的。
TMS320F2812中⽂资料介绍TMS320F2812中⽂资料介绍简介:德州仪器所⽣产的TMS320F2812数字讯号处理器是针对数字控制所设计的电机控制(digital motor control, DMC)、资料撷取及I/O控制(data acquisition and control, DAQ)等领域。
针对应⽤最佳化,并有效缩短产品开发周期,F28x核⼼⽀持全新CCS环境的C compiler,提供C语⾔中直接嵌⼊汇编语⾔的程序开发介⾯,可在C语⾔的环境中搭配汇编语⾔来撰写程序。
值得⼀提的是,F28x DSP核⼼⽀持特殊的IQ-math函式库,系统开发⼈员可以使⽤便宜的定点数DSP来发展所需的浮点运算算法。
F28x系列DSP预计发展⾄400MHz,⽬前已发展⾄150MHz的Flash型式。
1.⾼性能静态CMOS制成技术(1)150MHz(6.67ns周期时间)(2)省电设计(1.8VCore,3.3VI/O)(3)3.3V快取可程序电压2.JTAG扫描⽀持3.⾼效能32BitCPU(1)16x16和32x32MAC Operations(2)16x16Dual MAC(3)哈佛总线结构(4)快速中断响应(5)4M线性程序寻址空间(LinearProgramAddressReach)(6)4M线性数据寻址空间(LinearDataAddressReach)(7)TMS320F24X/LF240X程序核⼼兼容4.芯⽚上(On-Chip)的内存(1)128Kx16 Flash(4个8Kx16,6个16Kx16)(2)1Kx16OTPROM(单次可程序只读存储器)(3)L0和L1:2组4Kx16 SARAM(4)H0:1组8Kx16SARAM(5)M0和M1:2组1Kx16 SARAM共128Kx16 Flash,18Kx16 SARAM5.外部内存接⼝(1)⽀持1M的外部内存(2)可程序的Wait States(3)可程序的Read/Write StrobeTi最⼩g(4)三个独⽴的芯⽚选择(Chip Selects)6.频率与系统控制(1)⽀持动态的相位锁定模块(PLL)⽐率变更(2)On-Chip振荡器(3)看门狗定时器模块7.三个外部中断8.外围中断扩展⽅块(PIE),⽀持45个外围中断9.128位保护密码(1)保护Flash/ROM/OTP及L0/L1SARAM(2)防⽌韧体逆向⼯程10.三个32位CPU Timer11.电动机控制外围(1)两个事件管理模块(EVA,EVB)(2)与240xADSP相容12. (1)同步串⾏外围接⼝SPI模块(2)两个异步串⾏通讯接⼝SCI模块,标准UART(3)eCAN(Enhanced Controller Area Network)(4)McBSP With SPI Mode13.16个信道12位模拟-数字转换模块(ADC)(1)2x8通道的输⼊多任务(2)两个独⽴的取样-保持(Sample-and-Hold)电路(3)可单⼀或同步转换(4)快速的转换率:80ns/12.5MSPS2.2TMS320F2812硬件结构介绍2.2.1OSC与PLL⽅块F2812芯⽚上设计了⼀个相位锁定模块(PLL),这个模块将会提供整个芯⽚所需频率源。
1 TMS320F2812简介TMS320F2812是TI公司的一款用于控制的高性能、多功能、高性价比的32位定点DSP芯片。
该芯片兼容TMS320LF2407指令系统最高可在150MHz主频下工作,并带有18k×16位0等待周期片上SRAM和128k×16位片上FLASH(存取时间36ns)。
其片上外设主要包括2×8路12位ADC(最快80ns转换时间)、2路SCI、1路SPI、1路McBSP、1路eCAN等,并带有两个事件管理模块(EVA、EVB),分别包括6路PWM/CMP、2路QEP、3路CAP、2路16位定时器(或TxPWM/TxCMP)。
另外,该器件还有3个独立的32位CPU定时器,以及多达56个独立编程的GPIO引脚,可外扩大于1M×16位程序和数据存储器。
TMS320F2812采用哈佛总线结构,具有密码保护机制,可进行双16×16乘加和32×32乘加操作,因而可兼顾控制和快速运算的双重功能。
通过对TMS320F2812定点DSP芯片合理的系统配置和编程可实现快速运算,本文着重对此加以说明。
2 TMS320F2812基本系统配置2.1TMS320F2812时钟TMS320F2812的片上外设按输入时钟可分为如下4个组:(1)SYSOUTCLK组:包括CPU定时器和eCAN总线,可由PLLCR寄存器动态地修改;(2)OSCCLK组:主要是看门狗电路,由WDCR寄存器设置分频系数;(3)低速组:有SCI、SPI、McBSP,可由LOSPCP寄存器设置分频系数;(4)高速组:包括EVA/B、ADC,可由HISPCP寄存器设置分频系数。
为了使系统具有较快的工作速度,除了定时器和SCI等少数需要低速时钟的地方,其它外设均可以150MHz时钟工作。
图12.2存储空间图1所示是TMS320F2812的内部存储空间映射图。
TMS320F2812为哈佛(Harvard)结构的DSP,即在同一个时钟周期内可同时进行一次取指令、读数据和写数据的操作。