许智勇 周炜
摘要:本文对FPGA和DSP下的数据通信方案设计,选择CAN总线下通信系统设计,在设计目标上主要在于使CAN总线能够实现多节点可靠高速性传输,在节点之间的数据通信基础上,使整个通信系统中不同单元都能够实现协同工作。通过该种设计,相对一般通信总线来说,CAN总线不仅可表现出突出的可靠性,还会表现出突出的实时性与灵活性,对于高速信号处理及传输方面的要求能够得到基本满足。
关键词:FPGA;DSP;数据通信
中图分类号:TP273 文献标识码:A 文章编号:1007-9416(2018)04-0136-01
在FPGA、DSP等控制芯片快速发展的今天,人们在数据传输速度与稳定性方面的要求不断提升,通过FPGA和DSP配合对CAN总线进行控制,成为当前CAN总线通信系统研究重要课题。本文即从系统硬件设计与软件设计两方面,对FPGA和DSP下的CAN总线通信系统进行了设计。
1 FPGA和DSP下的数据通信系统硬件设计
1.1 对SJAl000模块硬件进行设计
该模块是一种具有独立性的CAN总线控制器,能够支持CAN2.0B协议。在这一系统中,对16Mhz外接晶振加以采用,从而确保系统时钟的提供;在数据地址上,通过总线引脚DO-D7同DSP进行相连;芯片使能信号CS与地址锁存信号ALE及写有效WR和读有效RDR同FPGA的I/O口相连;对于MODE引脚,将其接至高电平,确保其工作能够在Intel时序;对于发送输出端TX0,使其与CAN总线收发器PCA82C250的TXD相连,对于接收输入端RX0,使其与RXD引脚相连;在RXl引脚上,将其接到一个固定电平,使其和CAN总线收发器PCA82C250在参考电平输出引脚Vref上相连。
1.2 对PCA82C250模块硬件进行设计
该模块属于在CAN总线控制器与物理总线两者中间的接口,其性质为CAN总线收发器。其不仅能够向总线对差动发送能力进行提供,还能向CAN总线控制器对相应差动接收能力进行提供。其中RS引脚的应用,主要可对2种不同工作模式进行选择,一种是高速工作模式,一种是斜率控制模式。该引脚可对47K电阻进行外接,让芯片能够处在斜率控制模式下工作。
1.3 对74LVC4245模块硬件进行设计
因FPGA的I/O口在输出电平方面属于3.3VTTL标准信号,而SJAl000引脚在输入输出电平方面属于5 VCOMS电平信号,使得其无法直接相连,数据也无法直接进行传输,需对电平转换芯片74LVC4245加以使用,使标准信号和电平信号能够进行转换。因SJAlOOO的数据地址选用复用总线Do—D7,所以在一片74LVC4245上对Do—D7进行接入,并在另一片74LVC4245上对其他控制信号进行接入,从而为电平转换方向控制提供方便。
2 FPGA和DSP下的数据通信系统软件设计
2.1 对DSP模块程序进行设计
在该系统中,对于数字信号处理芯片的选用,选择了具有高性能的TMS320C67x系列,其由TI公司推出,在工作频率方面能够达到1 GHz,这种较强的数据处理能力,可以确保高速数据传输的要求得到基本满足。[6]对于DSP来说,受其地址线与数据线是分开的影响,不能直接同DO-D7相连,因此将其地址线AO作为数据选择线,在AO=0情况下,以DSP数据线上的数据为地址对SJAl000进行写入,在A0=1情况下,以DSP数据线上的数据为数据对SJAl000进行写入。
在该系统中,DSP模块主要负责对SJAl000初始化过程的完成及对发送过程的控制。因SJAl000内部大部分寄存器的读写必须处于复位模式,为此在对SJAl000实施初始化前,需对其处理使其处于复位模式。完成配置后,确保SJAl000重新进入正常操作模式,等待对数据进行发送或接收。对SJAl000进行发送时,需对状态寄存器sR中的值进行读取,主要为TCS和TBS位的值,保证在SJAl000最近一次发送上已经获得成功,同时需保证发送缓冲器处在释放状态。之后面向发送缓冲器TXB对TX标识码进行写入、对TX结构信息进行写入、对待发送的数据进行写入;在最后,需面向命令寄存器CMR的TR位,对1进行写入,对发送请求进行置位,对发送操作进行完成。
2.2 对FPGA模块程序进行设计
该系统在芯片的选择上,选择了低功耗处理器,即EPlC6Q 240C8型芯片,其由Altera公司提供,可对185个I/0接口进行提供,在处理速度上较快,且具有灵活、可靠等优势。对于FPGA模块来说,其主要负责对SJAl000地址锁存信号ALE的时序控制,完成对芯片使能信号CS的时序控制,并完成对读有效RD的时序控制,以及完成对写有效WR的时序控制。
FPGA在完成这些时序控制的过程中,同时需完成在电平转换芯片74LVC4245方面的控制,对其电平转换方向信号trl加以控制。在DSP向SJAl000对数据进行写入时,trl数值为0,对于3.3VTTL标准信号,会使其转换成5VCOMS电平信号;在DSP向SJAl000对数据进行读出时,trl数值为1,对于5VCOMS电平信号,会使其转换成3.3VTTL标准信号。
3 结语
为了使CAN总线的能够实现多节点可靠高速性传輸,本文基于FPGA和DSP对CAN总线通信系统进行了设计。FPGA和DSP下的CAN总线通信系统设计,在硬件部分对DSP+FPGA加以采用,将其作为核心通讯处理单元,在软件部分对DSP模块程序与FPGA模块程序进行设计,具有很好的实时性,还能够确保系统数据在传输过程中稳定可靠。
参考文献
[1]单彦虎,谢璐,杨玉华,等.基于DSP+FPGA的飞控系统硬件平台设计[J].火力与指挥控制,2017,(11):169-173.
[2]侯翔昊,杨尧,王民钢.基于DSP与FPGA多路ARINC429数据通信系统设计[J].电力电子技术,2013,(8):107-108.