图3-2 TMS320F2812芯片引脚图
(1)Flash内存
C2000产品的内部Flash存储器大小为8~128KB。用户可以应用内部Flash存储器固化应用软件以及产品的升级换代。C2000 DSP提供分区(Sector)的Flash内存,允许改写每个分区,而不清掉整个Flash内存;此外C2000DSP采用密码保护程序代码,以保护用户的程序。
(2)事件管理器(Event Manager)
定时器/比较器模块减少了CPU完成事件定时、采样循环及PWM生成等任务的开销;可编程死区设置;捕捉单元和正交编码电路能够检测元件直接接口;PDP中断为系统提供无条件保护。
(3)模数转换模块(A/D Converter)
10位模拟/数字转换器(C24x)和12位模拟/数字转换器(C28x);LF240xA最快转换时间为500ns,F2812最快转换时间为80ns;外部模拟/数字转换及事件(EV)触发的模拟转换不需占额外CPU时间;具有双缓冲的结果寄存器,减少中断到取得转换结果所需要的时间;6个模拟输入通道;转换自动排序器可增加通道数目,而不需CPU介入。
(4)CAN模块
完整的CAN控制器,符合CAN2.0B规范;发送、接受标准帧(11位标志符)及扩展
- 7 -
帧(29位标志符);C24x有16个信箱,F2810、F2812有32个信箱;0-8位可编程数据长度;提供接收信箱、发送信箱及可配置的发送/接收信箱(信箱0及1);C28x系列提供低耗电模式,定时邮递(Time Stamping)功能;数字回路自测试模式;可编程通信速率;可编程中断控制。
(5)串行通信接口(Serial Communication Interface,SCI-UART)
异步通信格式(NRZ);可编程波特率;数据长度1-8位可编程;可编程停止长度1或2位;错误检测:极性错误、过载错误、帧错误、中止错误等;两种唤醒模式:线空闲唤醒及地址位唤醒;半双工或全双工操作;C24x有双缓冲器的接收及发送功能;C28x有16层接受及发送缓冲器;独立的接收/发送中断;独立的接收/发送中断使能位。
(6)串行外围接口(Serial Peripheral Interface,SPI)
1-16位可编程数据长度(F/C240为1-8位);同步的发送/接收帧;主/从操作模式;支持多处理器通信;SPI时钟极性控制。
(7)C28x的多通道缓冲串行接口(McBSP)
全双工通信;双缓冲发送,三缓冲接收,允许连续数据流;支持128个通道的发送及接受;独立的发送时钟;多通道选择模式使能每个通道的块传输。
3.3 DSP硬件平台设计
DSP硬件平台设计主要包括以下几个部分:复位电路;时钟电路;JTAG接口电路以外扩存储,这几部分的设计主要保证DSP在稳定的环境下工作,充分实现DSP高速处理数据的能力,下面就对这几部分进行详细的介绍。 3.3.1复位电路设计
TMS32F2812的复位分为软件复位和硬件复位两种。软件复位是通过指令方式实现芯片的复位,而硬件复位是通过硬件电路实现复位。在硬件复位中主要有上电复位电路、手动复位电路、自动复位电路等。本系统采用上电复位电路,它是利用RC电路的延迟特性来产生复位所需要的低电平时间。电路如图3-3所示
+3.3VR410KS1DSP-RS#SWC30.1uF
图3-3 上电复位电路图
上电瞬间,由于电容C3上的电压不能突变,是RS仍为低电平,芯片处于复位状态,同时通过电阻R4对电容C3进行充电,充电时间常数由R4和C3的乘积确定。为了使芯片正常初始化,通常应保证RS低电平的时间至少持续3个周期。但是,在上电后,系统的晶体振荡器通常需要几百毫秒的稳定期,一般为100 ~200ms,因此由RC决定
- 8 -
的复位时间要大于晶体振荡器的稳定期。为了防止复位不完全,RC参数可以选择大一些。
3.3.2 时钟电路设计
为DSP芯片提供的时钟一般有两种方法:一种是使用外部时钟源的时钟信号,另一种方法是利用DSP芯片内部的振荡器构成时钟电路,在芯片X1和X2/CLKIN引脚之间接入一个晶体,用于启动内部振荡器。本系统采用后者,电路如图3-4所示。
X1/XCLKINC124pFY130MHZX2C224pF图3-4 时钟电路图
晶体是晶体谐振器的简称,是一种压电石英晶体器件,具有一个固有的谐振频率,在恰当的激励作用下,以其固有频率振荡。振荡电路是为晶体提供激励和检测的电路。晶振将晶体,振荡器和负载电容集成在一起,其输出直接是一方波时钟信号。
3.3.3 JTAG接口电路设计
JTAG(Joint Test Action Group)接口是TI公司在其DSP中使用的基于边界扫描逻辑的仿真标准。它符合规范IEEE1149.1,能极其方便地提供硬件系统的在线仿真和测试。基于JTAG标准的仿真器给开发者提供了一个不改变目标平台系统结构的开发工具。另外JTAG仿真器还具有体积小、易安装、功能扩充性强和很高的兼容性等特点,使开发者可以随时随地地进行开发和调试。
当仿真头和JTAG目标芯片之间的距离超过6英寸时,仿真信号是要缓冲的。若小于6英寸,不必加缓冲。图3-5为DSP与JTAG接口连接图,其中的EMU0和EMU1信号必须通过上拉电阻连接到电源上,提供少于10us的信号上升时间,上拉电阻可取 4.7KΩ。
U2591137121314TCKTDITDOTMSTRST3.3VVCCTCK_RETTCKTDI4681012GNDNULLGNDGNDGNDTDOTMSTRSTEMU0EMU1EMU0EMU1JTAGR20R194.7K4.7K图3-5 JTAG接口原理图
- 9 -
3.3V
JTAG仿真大大方便了汇编语言程序的调试,它可实时的访问目标板上CPU的存储、器、寄存器以及I/O口等。调试软件的同时也可以调试硬件,给系统设计者来了很大的方便和灵活性。
3.3.4系统RAM的外扩设计
F2812数字信号处理器采用增强的哈佛总线结构,能够并行访问程序和数据存储空间。内部集成了大量的SRAM、ROM以及Flash等存储器,并且采用统一寻址方式(程序、数据和UO统一寻址),从而提高了存储空间的利用率,方便程序的开发。除此之外,F2812数字信号处理器还提供外部并行总线扩展接口,有利于开发大规模复杂系统。下面主要介绍F2812存储器寻址空间、外部存储器以及外设扩展接口及其应用。TMs320F2812存储器包括片上存储器和外部存储器接口两个部分[19]。
TMS320F2812与SRAM之间的连接:本系统SRAM采用高速低电压IS61LV5128-10T作为系统的存储器件,它与F2812之间根据管脚对应关系直接连接。
U2IS61LV51216XA15XA14XA13XA12XA11XA10XA9XA8XA7XA16XA17XA6XA5XA4XA3XA2XA1XA0XA18XCS7XWEXRD12345181920212223242526274243442861741A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14A15A16A17NCCEWEOEI/O0I/O1I/O2I/O3I/O4I/O5I/O6I/O7I/O8I/O9I/O10I/O11I/O12I/O13I/O14I/O15LBUBGNDGNDVDDVDD78910131415162930313235363738394012343311XD0XD1XD2XD3XD4XD5XD6XD7XD8XD9XD10XD11XD12XD13XD14XD153.3V 图3-6 SRAM接口图
3.4 TMS320F2812A/D模块概述
TMS320F28xADC模块是一个12位带流水线的模数转换器(ADC),模式转换单元的模拟电路包括前向模拟多路复用开关(MUXs)、采样/保持(S/H)电路、变换内核、电压参考以及其他模拟辅助电路。模式转换单元的数字电路包括可编程转换序列器、结果寄存器、与模拟电路的接口、与芯片外设总线的接口以及同其他片上模块的接口[20]。
模数转换模块ADC有16个通道,可配置为2个独立的8通道模块,分别服务于事件管理器A和B,两个独立的8通道模块也可以级联构成一个16通道模块。尽管在模数转换模块中有多个输入通道和两个排序器,但仅有一个转换器。F2810、F2811、F2812
的ADC模块的功能框图如图3-8所示[21]:
- 10 -
ADCIN0 ADCIN7 CIN0 ADCIN7 S/K EVA GPIO/XIN T2AD CSOC AD/H-B S S/H-A 系统时钟 高速预定标器 C28X 模拟复用开关 ADCENCLK HSPCLK 结果存储器 12位AD模块 Result Reg0 Result Reg1 : Result Reg7 Result Reg8 排序器1 ADC控制寄存器排序器2 SOC SOOOC 图3-7 ADC模块功能图
两个8通道模块能够自动排序,每个模块可以通过多路选择器(MUX)选择8通道中的任何一个通道。在级联模式下,自动排序器将变成16通道。对于每个通道而言,一旦ADC转换完成,将会把转换结果存储到结果寄存器(ADCRESULT)中。自动排序器允许对同一个通道进行多次采样,用户可以完成过采样算法,这样可以获得更高的采用精度[21]。
ADC模块主要包括以下特点:
1.带内置采样/保持的12位模数转换内核;
2.快速转化时间(运行于25MHz的ADC时钟下为80ns); 3.同步采样和顺序采样模式;
4.多达16个的模拟输入通道(ADCIN0-ACCIN15);
5.自动排序能力,在一次转换可处理多达16个的“自动转换”。每个转换操作通过编程来选择16个通道的其中一个;
6.16个结果寄存器(可独立寻址)用来存储转换值;
7.输入模拟电压对应的数字值公式为:数字值=4095×(输入模拟值- ADCLO)/3式中ADCL0为输入模拟电压为0时的输出值; 8.有多个触发源启动ADC转换(SOC); (1)S/W:软件立即启动
(2)EVA:事件管理器A(在EVA中有多个事件源可启动AD转换) (3)EVB:事件管理器B(在EVB中有多个事件源可启动AD转换)
- 11 -