3.4 SD-2210型FTU的TMS320F206 DSP硬件介绍
3.4.1 TMS320F206 DSP的主要特点
TMS320F206是TI公司C2XX系列产品中唯一具有片内FLASH存储器的DSP,F206采用了先进的改进型哈佛结构(程序存储器和数据存储器具有各自的总线)、多级流水线,操作灵活,速度高。F206结构的建立主要围绕着6条16位的总线展开的,这6条总线是3条程序/数据总线和3条地址总线,这使得F206的数据处理能力达到了最大限度。程序控制上的4级流水线操作和8级硬件堆栈进一步保证F206的高速运行。F206的高性能CPU具有32位CALU、32位累加器、16×16位并行乘法器、3个移位寄存器和8个16位辅助寄存器。F206具有程序、数据和I/O 3个相互独立的存储空间。
3.4.2 TMS320F206存储器映射
TMS320F206 DSP为增强型哈佛结构,具有程序、数据和I/O 3个相互独力的存储空间,每个存储空间均为64K×16位,如图3-4所示。
图3-4 TMS320F206 DSP的存储空间分布
a)程序存储空间 b)数据存储空间 c)I/O存储空间
1.程序存储器
片上的程序存储器如下:
1)32K ×16位,FLASH,存放固化程序和重要参数。
2)4K×16位,SARAM,存放调试程序。
3)256 × 16位,DARAM,存放运算系数。
F206上的32K ×16位FLASH存储器由两块相互独立的16K ×16位FLASH存储器构成,可独立的对它们进行读取、擦除、编程等操作。这两块FLASH工作模式的切换,分别由片上两个I/O映射寄存器控制。这两块FLASH存储器,一块可以用于存放固化程序,另一块存放重要参数,实现FLASH存储器在线编程。由于F206中断向量从0000H开始,所以用第一块FLASH存放固化程序,第二块FLASH存放重要参数。
F206上的4K ×16位SARAM通过片上一个I/O映射寄存器,既可配置为程序存储器,也可配置成数据存储器,或两者皆是。FTU的CPU板上没有外部程序存储器,所以调试时将此4K × 16位SARAM配置成程序/数据两者皆是方式,将调试程序定位到此4K ×16位SARAM上,便于实现程序加载、设置软件断点等仿真调试功能。调试完成后,程序重定位到FLASH存储器上,通过仿真器将程序烧录FLASH中,详细操作稍后介绍。
F206上有一块256 ×16位DARAM(B0块)通过片上状态/控制寄存器,既可配置成程序存储器,也可配置为数据存储器。用它存放相关和数字滤波器等DSP算法的系数非常合适,这是因为B0块为单周期-双获取存储器。
2.数据存储器
(1)片上数据存储器
1)4K× 16位,SARAM,存中间数据。
2)256× 16位,DARAM, B0块,存放运算系数。
3)256× 16位,DARAM,B1块,存放常量/变量。
4)32× 16位,DARAM,B2块,存放常量/变量。
(2)片外数据存储器
1)64K× 16位,SRAM,局部数据存储器与程序存储器共享(可选配置)。
2)2K× 8位,NVRAM,全局数据存储器。
3)2K× 16位,扩展I/O,全局数据存储器。
片外扩展的NVRAM、实时时钟、异步串口、打印机并口、A-D口、开入/开出口、测频输入口和看门狗刷新口放在全局数据存储空间,存储空间的分配如表3-5所示。
表3-5 存储空间的分配
(续)
3.4.3 TMS320F206 DSP片上外设
F206片上定时器由一个16位主计数器TIM和一个4位分频计数器PSC组成,20MHz时钟加到PSC上,每个时钟使PSC减1,当PSC减为零时,下一个时钟使PSC产生一借位脉冲,同时重装PSC,此借位脉冲加到TIM上,每个时钟使TIM减1,当TIM减为零时,下一个时钟使TIM产生一借位脉冲,同时重装TIM,此借位脉冲为50ns正脉冲,产生定时中断TINT,同时输出到TOUT引脚上。
F206片上定时器的复位、启动、重装和停止等操作由TCR、TIM和PRD3个寄存器控制,定时器控制寄存器TCR的定义如表3-6所示。
表3-6 定时器控制寄存器TCR
● FREE、SOFT为定时器操作方式:00为下一个TIM减计数脉冲到时停止计数;01为TIM减为零时停止计数;10为FREE RUN;11为 FREE STOP。
● PSC为 4位分频计数器:保存分频计数器当前计数值。
● TRB为定时器重装控制位:当对TRB写入1时,PRD值重装入TIM,TDDR值重装入PSC。
● TSS为定时器停止控制位:0为启动定时器;1为停止定时器。
● TDDR为4位分频寄存器:保存分频计数器重装值。
定时器主计数器TIM,保存主计数器当前计数值,定时器间隔寄存器PRD,保存主计数器重装值,定时器输出TOUT频率由下式计算:
3.4.4 TMS320F206 DSP外部中断
共有3级外部中断:INT1——A-D数据准备好中断;INT2——异步串口A或B中断;INT3——打印机并口中断。
F206外部中断均为下跳沿触发,并且低电平至少应该保持50ns。外部中断的屏蔽与使能分别由中断屏蔽位INTM、中断屏蔽寄存器IMR、中断控制寄存器ICR和中断标志寄存器IFR控制。
3.4.5 TMS320F206 DSP命令寄存器
命令寄存器(F735H)如表3-7所示。
表3-7 命令寄存器
● TEN为定时触发源选择:0为F206片上定时器产生定时触发信号;1为硬件定时器产生定时触发信号。
● DE为RS422/RS485发送使能:0为发送为高阻;1为发送使能。
● H/F为RS422/RS485选择:0为RS422;1为 RS485。
复位时候,命令寄存器清零。
3.4.6 TMS320F206 DSP复位
产生复位脉冲的方式:
1)上电复位脉冲。
2)手动复位按钮。
3)电源故障,即当+5V主电源电压跌至+4.5V时,产生复位脉冲。
4)看门狗电路,即在规定时间内,如果没有刷新看门狗,则产生复位脉冲。
3.4.7 SD-2210型FTU模拟信号输入
32路模拟输入信号首先经RC滤波器,再经放大器(接成射极跟随)连接到A-D转换器(MAX125)的输入端上,MAX125是MAXIM公司推出的一种2×4通道、14位高速、同时采样且带并行微机接口的逐次逼近型A-D转换芯片。A-D的分辩率为14位,输入范围为-5~5V,经A-D转换后,输出编码以二进制补码形式给出。
3.4.8 SD-2210型FTU数字量输入输出
16路数字量输入信号首先经过光电隔离器,再经数据缓冲器(F734H,只读)输入给F206;16路数字量输出信号首先锁存到数据缓冲器(F734H,只写)上,再经过光电隔离器输出。
3.4.9 SD-2210型FTU异步串行通信
SD-2210型FTU采用TI公司生产的双路异步串行通信芯片ST16C552,通过扩展异步通信芯片可以实现DSP与PC之间的高速串行通信,满足系统实时性的要求。ST16C552片内有两个完全独立的异步串行通信收发器ACE,每个通道可独立控制发送、接收、线路状态、数据设置中断,有独立的MODEM控制信号,有3态TTL驱动的数据、控制总线,每个通道具有可编程的串行接口,分别可对数据位数、奇偶校验、停止位及波特率等进行编程。
ST16C552每个通道有13个寄存器,通过A2~A0和线路控制寄存器中的DLAB位来寻址,ST16C552的寄存器如表3-8所示。
表3-8 ST16C552的寄存器
注:通道B与通道A类同。
(1)线路控制寄存器(见表3-9)
表3-9 线路控制寄存器
● WLS1、WLS0为设置数据长度:00为5位;01为6位;10为7位;11为8位。
● STB为设置停止位个数:0为1个停止位;1为1.5个停止位(5位数据长度时),2个停止位(6位、7位、8位数据长度时)。
● PEN为奇偶校验使能:0为奇偶校验无效;1为奇偶校验有效。
● EPS为奇偶校验选择:0为奇校验;1为偶校验。
● DLAB为寄存器访问选择:0为访问其余寄存器;1为访问除数和功能切换寄存器。
(2)线路状态寄存器(见表3-10)
表3-10 线路状态寄存器
● DR为接收数据准备好标志:1为接收数据缓冲器中有数据;0为接收数据缓冲器空。
● OE为溢出错误标志:1为有溢出;0为无溢出。
● PE为奇偶校验错误标志:1为有奇偶校验错误;0为无奇偶检验错误。
● THRE为发送保持寄存器空标志:1为空;0为非空。
● TEMT为发送器空标志:1为发送保持寄存器和发送移位寄存器都空;0为发送保持寄存器或发送移位寄存器非空。
(3)设置波特率
ST16C552的波特率可以通过除数寄存器DLM、DLL来设置,除数寄存器值和波特率之间的计算如下:
ST16C552的输入频率为15.9744MHz,按照式(3-2)可得常用波特率和除数寄存器之间的关系,如表3-11所示。
表3-11 波特率和除数寄存器关系