引言
随着电子技术的发展,数字电路的集成度和性能有了非常大的提高,因此可以在单板上实现复杂的电路功能,本设计就是在TI公司高集成度的TMS320F2812处理器上设计外围接口电路,实现多路高速ARINC429接口、高速RS422接口、高速RS232接口,由于该款DSP的卓越性能,该接口板具有强大的多路接口通讯实时处理能力,同时由于该接口板的通讯接口都是标准接口,物理结构为PMC底板结构,具有一定的通用性。
系统设计
接口板采用TMS320F2812处理器,对串行数据的接收和发送采用智能控制方式,它通过一个512K(32K×16)双端口存储器(DPRAM)实现与主处理机之间的数据交互,双端口存储器与主处理机之间为PCI总线接口,物理连接方式为PMC标准插座。模块功能框图见图1。限于篇幅,本文主要介绍局部总线端电路设计,与主机接口端PCI设计另有文章介绍。
图1 接口板功能框图
接口板主要由如下功能部分组成:
•处理器电路、数据处理器TMS320F2812,主频150MHz,集成128K字容量程序FLASH、18K字容量SARAM;
• 双口RAM IDT70V27,容量为32K×16bit;
• 时钟和复位电路MAX791;
• 10路全双工RS422串行接口电路TL16C554;
• 2路全双工RS232串行接口电路;
• 4收2发ARINC429接口DEI1016A、BD429A;
• PCI总线接口电路PCI9054;
• 逻辑控制电路XC95288XL;
• 提供+5V转+15V、-15V电路DCP020515DP,负载80mA。
处理器及存储电路
处理器
处理器选用TI公司的16位TMS320F2812芯片,主频可达到150MHz。主要特点如下:
• 150MIPS运行速度;
• 集成128K字容量程序FLASH,18K字容量SARAM;
• 56路独立的可编程多路复用I/O引脚;
• 锁相环(PLL)模块;
• 3个32位定时器
• 2个串行通信接口SCI;
• 1个串行外设接口SPI;
• 16路ADC(12bit);
• 2路eCAN接口;
• 3个可屏蔽中断;
• JTAG接口;
• 哈佛结构。
本接口板在设计中用到TMS320F2812处理器的数据处理功能、存储器功能、通用IO功能、串行通信功能和JTAG接口。16位地址线A15~A0,16位数据线D15~D0。
TMS320F2812处理器地址空间映像如图2所示。该接口板地址分配如表1。
图2 地址映象
存储电路
在实时系统中,串行数据的采集及交换是影响系统开销的瓶颈之一,在这类系统中,数据交换要求的通讯速率往往很高。传统的并行接口和串行接口设计无论在通信速率,还是在可靠性方面都不易满足要求。而双端口RAM则是一个较好的实现方案。它具有通讯速率高、接口设计简单等特点,因而能在这类设计中得到广泛的应用。
表1 地址分配表
双端口RAM芯片有两套完全独立的数据线、地址线和读写控制线,因而可使两个处理器分时独立访问其内部RAM资源。由于两个CPU同时访问时的仲裁逻辑电路全部集成在双端口RAM内部,因而需要实际设计的电路比较简单。双端口RAM内一般都有一个总线抢占优先级比较器,只要双CPU不同时访问同一存储单元,那么较先送出地址的CPU将拥有该单元的本次访问优先权,而另一个CPU的地址与读写信号将被屏蔽掉,同时通过“busy”引脚告知该CPU以使之根据需要对该单元重新访问或撤销访问。双端口RAM的优点是通讯速度快、实时性强、接口比较简单、两边CPU都可主动进行数据传输;缺点是成本高,需要克服竞争现象。
共享存储器选用双口内存IDT7027,存储容量为32K×16bit。共享存储器具有两组独立的地址、控制、I/O引脚,允许从任一组引脚发出的信号对内存中的任何位置进行读或写的异步访问。双口内存IDT7027具有防止双口竞争的功能,该功能可以免去为避免双口竞争增加的硬件逻辑,通过使用芯片上的信号量可以获得芯片的控制权,只有获权的一组引脚上的信号才能访问内存,另外通过信号量的使用还可以将双口内存划分为大小不同的区。
在此模块设计中,双口存储器一边由DSP处理器控制,另一边由PCI总线进行控制,而芯片本身自带的BUSY通过逻辑设计接READY来实现双口存储器产生竞争时的应答。
双口存储器读操作访问
双口存储器的读操作时序如图3所示,/CE为读写数据操作的片选信号,低电平有效;/OE为输出控制信号,由系统读信号控制,低电平有效;/UB、/LB是高/低字节有效控制信号,低电平有效,设计中将这两信号下拉;R/*W信号在读操作中保持高电平。
双口存储器写操作访问
双口存储器的写操作时序如图4
所示,/CE为写数据操作的片选信号,低电平有效;/UB、/LB是高/低字节有效控制信号,低电平有效,设计中将这两信号下拉;R/*W为输入控制信号,由系统写信号控制,低电平有效。
双口存储器BUSY信号使用及时序
A/B通道对双口存储器的某一个单元同时进行访问时会出现竞争冒险,要避免这种情况的出现必须对访问信号判断优先级,IDT7025双口存储器通过自身硬件的BUSY信号引脚告知该CPU以使之根据需要对该单元重新访问或撤消访问,其操作时序如图5所示,BUSY信号低电平有效,R/W为读写信号。
图3 读操作及时序
图4 写操作及时序
图5 读写操作时序
时钟和复位电路
时钟电路
F2812处理器上有基于PLL的时钟模块,为器件及各种外设提供时钟信号。锁相环有4位倍频设置位,可以为处理器提供各种频率的时钟。时钟模块提供两种操作模式,如图6所示。
内部振荡器:如果使用内部振荡器,则必须在X1/XCLKIN和X2引脚之间连接一个石英晶体;
外部时钟:如果使用外部时钟,可以把时钟信号直接接到X1/XCLKIN引脚上,X2悬空。
外部XPLLDIS引脚用来选择系统时钟源。当XPLLDIS为低电平时,系统直接采用外部时钟作为系统时钟;当XPLLDIS为高电平时,外部时钟经过PLL倍频后,为系统提供时钟。系统通过锁相环控制寄存器来选择锁相环的工作模式和倍频系数,如表2所示。
表2 锁相环控制寄存器位定义
该接口板采用30M石英晶体提供时钟,XPLLDIS引脚上拉使能PLL模块,倍频选择最大的XCLKIN×5=150MHz。
复位电路
复位电路会中断F2812的执行,复位板上资源,同时使处理器从0x3FF000地址开始执行指令序列。F2812的复位可由外部复位管脚引起。
F2812外部复位源采用MAX706芯片进行复位,MAX706复位的产生条件有以下3种情况:
a. 上电复位,当Vcc>4.40V(典型值)时产生复位,并保持200ms复位有效;
b. 掉电复位,当Vcc<4.40V(典型值)时产生复位,此时可防止对存储器进行错误写入;
c. 手动复位,当手动复位信号有效,产生复位,用于调试。
MAX706的复位信号形成F2812的上电复位输入,使系统所有资源复位。复位电路如图7所示。
串行总线处理电路
本模块串行数据的接收和发送都采用TL16C554协议芯片来完成,RS422和RS232总线传输通过不同的接口芯片完成电平转换,其功能框图如图8所示。
图6 DSP时钟输入电路
图7 复位电路
图8 串行数据功能实现电路
16C554通过对各个寄存器的编程完成串行数据的初始化及传输,在上电初始化时,本模块将串行数据初始化为数据位8位,停止位1位,无奇偶校验位,波特率为115.2KBPS,在完成上电BIT后,主机可通过改变双口存储器的初始化参数来满足自身对串行数据格式的约定,16C554各寄存器地址分配如表3,各个寄存器对应的访问地址为该串行通道分配的基地址加上偏移地址,即:各寄存器访问地址=BASE+[A2A1A0]16。
表3 协议芯片寄存器地址分配
串行协议芯片通过有效的初始化才能实现串行数据的正确接收和发送,在进行初始化的时候确保串行通道没有接收和发送数据。其初始化流程如表4所示。
表4 串行协议芯片初始化
控制逻辑电路
控制逻辑电路负责整个DSP数据处理模块上控制和状态信号的产生,负责PCI总线时序控制和逻辑译码。该逻辑功能由CPLD可编程逻辑器件实现,逻辑描述由VHDL语言完成。控制逻辑电路主要完成以下功能:
a. TMS320F2812总线时序支持电路;
b.系统总线接口时序支持电路;
c.地址译码;
d.地址转换及地址三态控制;
e.实现对数据总线管理逻辑的控制;
f.系统总线复位。
结束语
根据以上原理,我们研制了该智能接口板,通用性强,接口简单,可以满足大多数应用条件,经使用证明设计合理,稳定可靠。