一种双CAN口同步通讯板的设计
缓冲模块软件设计
该模块是双CAN口同步通讯板的核心,其目的就是确保来自PLC的随机数据经该模块后可以实现向,TTCAN网络发送的数据是在同步信号控制下,按指定时隙发送,来自TTCAN网络的数据经该模块做必要的解析后转发给PLC。为此设计两个循环队列缓冲区mcp2515_rcv_buffer和dsp_rcv_buffer实现PLC数据与TTCAN网络同步。实现方法如下:
(1)通讯板接收到PLC数据后,将其数据存放到mcp2515_rcv_buffer缓冲区中,然后MCP2515指示索引 mep2515_rcv_index加1;DSP CAN同步数据发送时按索引dsp_send_index的值从mcp2515_rcv_buffer缓冲区对应位置提取发送数据,然后该索引值加1,dsp_send_index==mcp2510_rcv_index,表明MCP2515缓冲器已满。
(2)同步CAN口接收的数据存放到dsp_rcv_buffer缓冲区,然后指示索引dsp_rcv_index加1;MCP2515数据发送使用索引 mcp2510_send_index在循环缓冲区dsp_rcv_buffer提取对应的数据发送给PLC CAN。当mcp2510_send_index==dsp_rcv_index,表明DSP接收缓冲区空;(dsp_rcv_index+1)% FIFOMAX==mcp2510_send_index表明DSP缓冲队列满。
5 结束语
该双CAN口同步通讯板在连续600 h、不同数据流量的测试中表现良好,无任何异常。现已成功应用于某型防空武器火力控制分系统。实践表明该设计能够很好扩展PLC在防空武器系统TTCAN 网络上的应用,极大提高了火力控制系统在战场条件下的可靠性和可维护性,符合模块化设计总要求。同时,该双CAN口同步通讯板也可广泛用于事件触发数据与 TTCAN网络的接入应用。
- 基于FPGA的DSP设计方法(08-26)
- 电力电子装置控制系统的DSP设计方案(04-08)
- 基于DSP Builder的VGA接口设计(04-10)
- 基于DSP和USB的高速数据采集与处理系统设计(05-01)
- 数字信号处理(DSP)应用系统中的低功耗设计(05-02)
- 基于DSP的嵌入式显微图像处理系统的设计(06-28)