全数字电力线载波机等数字通信设备中通常要求在有限带宽的数据通道中传输多路话音和数据,此类设备传输的数据格式不定,有同步数据格式、异步数据格式及不确定的非等时数据格式。另外,数据接口的速率也是变化的,必须能适应异步数据300 b/s~19.2 kb/s,同步数据300 b/s~33.6 kb/s的不同数据速率的传输要求,因此多功能数据接口必不可少。当数据速率较高时,普通的微处理器一般难以胜任。DSP芯片由于其特殊的流水线结构,能较好地解决诸如多路多协议高速数据复分接等方面的难题。
1 设计思想
TMS320C2xx是美国TI公司出品的TMS320系列数字信号微处理器(Digital Signal Process,DSP)中的一种定点DSP,本设计的核心器件是数字信号处理器TMS320F206,他是C2xx系列中惟一具有片内FLASH存储器的DSP芯片。
TMS320F206速度可达40 MIPS,单周期指令执行时间最快可达50 ns,具有丰富的片内外资源。可寻址的存储器空间为224 kB(程序空间64 kB,数据空间64 kB,I/O空间64 kB,还有32 kB的全局存储空间);片内双向访问RAM为544 B,(288 B用于数据,256 B可用于程序/数据);片内有闪速存储器32 kB;片内有单访问RAM为4.5 kB。还有丰富的片内外设,软件可编程的定时器;适用于程序、数据和I/O存储空间的软件可编程等待状态产生器;振荡器与锁相环,可实现时钟的选择:×1,×2,×4和÷2;同步串行口;异步串行口。
CPLD由于其体积小、可靠性高、开发方便,已成为目前业界数字逻辑电路设计的首选。本设计选用Altera公司的MAX7000系列CPLD芯片EPM7128。EPM7128可用门数目为2 500,宏单元数目为128,逻辑门阵列块数目为8,最大用户I/O数目为100,正好满足系统对数字逻辑电路设计的要求。
MXL1543是多协议软件可编程数据传输接口芯片,与MXL1344A多协议软件可编程终端电阻网络配合使用,可使数据处理单元方便快捷地满足用户不同数据格式的传输要求,灵活地选用V.10,V.11,V.28,V.35多种协议。因此,本设计选用MXL1543和MXL1344A实现多协议接口。
2 硬件实现
多协议数据传输系统如图1所示。该系统由以下几部分组成:
(1)以TMS320F206为核心的主控部分。
(2)以EPM7128SLC为核心的逻辑电路控制部分。
(3)总线驱动电路。
(4)多协议数据接口电路。
(5)看门狗电路。
以下具体分析各部分电路功能。
2.1 以DSP芯片为核心的主控电路
该部分电路由TMS320F206、晶体振荡电路和JTAG口组成,如图2所示。
TMS320F206端口提供了7根与仿真电路设计有关的仿真引脚,如图2所示,引脚76~82,连接到双列14脚的仿真插头。通过此JTAG口,使用TI公司的XDS510仿真器即可进行在线仿真调试。必须注意:仿真插头为双列14引脚,其中第6脚应为空,作为定位引脚。图中EMU0/1为仿真引脚,加入22 kΩ上拉电阻,以保证信号上升时间,PD与电源相连。用于电源检测,指示电缆是否连接和目标系统是否加电,其他端与DSP对应端相连。注意在布线时仿真头与TMS320F206问距不大于6 in,否则要加入信号缓冲器。
另外需要重视的是,TMS320F206虽然具有片内32 kB FLASH,但在调试状态下并不能实际使用,为了使仿真系统能正常工作,必须在设计的目标系统中加入仿真时下载程序用的RAM。本电路采用2片CYC199完成。
引脚85~90是同步串行口的引脚,在本设计中此同步串口主要用于处理同步数据。同步串行口的工作需要3种信号:
时钟信号(CLKX/CLKR),由CPLD产生送入;帧同步信号(FSX/FSR)由CPLD产生送入;数据信号,发送引脚(DX)连接到多协议接口芯片的TTL发送端,接收引脚(DR)连接到多协议接口芯片的TTL接收端。
片内的异步串行口(ASP)可提供便的串口数据通信。片内共有4个寄存器异步数据发送和接收寄存器(ADTR),异步串行口控制寄存器(ASPCR),I/O状态寄存器(IOSR),波特率除法寄存器。还有2个程序员不可访问的寄存器:异步串行口发送移位寄存器(AXSR)和异步串行口接收移位寄存器(ARSR)。共有6个引脚TX,RX,IO0,IO1,IO2,IO3。本设计中利用TX及RX进行与上位机异步数据的传输,IO0~IO3作为通用的I/O口使用。
本设计利用通用输入引脚BIO、通用输出引脚XF及外部中断来处理用户的异步数据传输。
TMS320F206的引脚D0~D15及A8~A12连接到CPLD,实现I/O口的扩展及实现其他逻辑功能。
2.2 逻辑控制电路
由Altera公司的CPLD芯片EPM7128实现所需的逻辑控制,并实现了对TMS320F206的I/O口扩展。其中需要控制的有:
(1)HPI驱动电路74F245的片选线CS、方向DIR;
(2)对接口芯片MXL1344A,MXL1543进行软件编程,选择传输数据协议方式;
(3)对X25043看门狗电路的控制;
(4)输出HPI-8口控制信号,与HPI-8口进行有效的数据交换;
(5)系统所需的4-16译码器电路、分频器电路、D触发器电路、锁存器电路、选择开关电路等。
图3为控制电路和复位电路的电路图:由EPM7128SLC EPLD芯片及JTAG口组成,可实现在线编程。复位电路是由X25043及上电复位电路2R3,2C1组成。
2.3 总线驱动电路
总线驱动用了2片74HC245构成HPI-8接口电路,为了克服干扰,每根总线应串接一个100 Ω的电阻。
2.4 多协议数据接口电路
以上接口电路由3个部分组成:
(1)MAX485接口电路部分:这部分电路完成TMS320F206通过串口与网管系统的接口电平转换。
(2)MAX232接口电路部分:这部分电路主要完成异步数据时流控信号(CTS/RTS,DTR/DSR)与TTL电路的电平转换。
(3)MXL1543、MXL1344A:这部分电路主要完成多协议的选择。通过对M0,M1,M2的软件编程,可实现多协议的转换。其中协议有RS 530,X.21和V.35等十几种。
3 软件实现
软件由以下6个部分组成,各部分功能如下:
(1)主程序部分;
(2)F206初始化部分:实现对F206各个寄存器的初始化;
(3)同步串口部分:实现对同步数据的处理;
(4)异步串口部分:实现与上位机的数据通信;
(5)X25043软件部分:密码的设定及实现对看门狗电路的处理;
(6)与HPI-8数据处理部分:实现与HPI-8主机接口的数据交换。
主程序主要完成默认数据格式的配置、寄存器初始化、查询上位机的数据配置及通过HPI与外部电路进行数据交互。异步数据和同步数据的处理在异步中断和同步中断子程序中完成。主程序框图如图5所示。
4 结 语
上述设计,以TMS320F206 DSP芯片实现核心控制,以EPM7128实现外围逻辑控制,以MXL1543和MXL1344A专用芯片实现协议转换,解决了高速多路多协议数据传输的难题。经逻辑分析仪测试和误码测试,各项指标符合用户要求。 |