基于TMS320LF2407A的雙CAN口同步通訊板設計
?隨著現代戰爭要求武器系統在戰場條件下的可靠性和維修性提高,傳統分離式控制系統的快速保障難以滿足要求。一體化車載PLC控制器以其高可靠性、模塊化特性使其應用于防空武器火力控制,為了將其擴展到具有TTCAN(Time Trigger CAN)網絡的武器系統,需解決PLC與TTCAN網絡的數據同步問題。這里提出一種基于TMS320LF2407A的雙CAN口同步通訊板設計,從而解決了車載PLC與防空武器TTCAN網絡鏈接問題。
2 雙CAN口同步通訊板總體設計方案
??? 由于系統TTCAN網絡是時間觸發的實時通訊,一體化車載PLC的通訊接口是標準的CAN,不具備接收同步信號和按指定時間序列發送數據的能力,因此無法直接與TTCAN網絡連接。必須將PLC發送的數據經同步后再發送給 TTCAN網絡,將來自TTCAN網絡的數據經緩沖后發送給PLC。圖1為雙CAN口同步通訊板原理圖。
??? 考慮到PLC的循環工作模式、數據發送時刻的隨機性以及數據傳輸的非實時性等因素,則將MPC2515 CAN獨立控制器作為PLC與同步通訊板之間的內部通訊接口。針對系統TTCAN網絡必須在指定時隙內實時完成數據接收、發送、交換和處理的特點,只有將 TMS320LF2407的內部CAN控制器配合內部高速總線、高速RAM以及DSP強大的運算能力,才能滿足TTCAN網絡要求,因此選用 TMS320LF2407的內部CAN控制器作為TTCAN網絡的通訊接口。
3 雙CAN口同步通訊板接口硬件設計
3.1 同步信號接口
??? 由于同步信號是為整個TTCAN網絡提供時間基準的,其故障導致整個網絡癱瘓,所以系統同步信號采用RS485差分方式傳輸。為了進一步提高同步信號抗干擾能力,在兩條差分傳輸線輸入端采用磁珠消除疊加在同步信號上的共模干擾,并采用高速光耦隔離對通訊板其他器件的干擾,這樣可以確保同步信號接口的可靠性,其電路設計如圖2所示。
3.2 同步通訊板與PLC CAN接口
??? 該接口電路使用CAN2.0B協議實現與PLC的數據通訊。TMS320LF2407通過10 MHz SPI接口配置MPC2515的參數。數據收/發控制均采用硬件方式將信號接入TMS320LF2407的外部中斷源INT2與INT3。當RX0BF和 RX1BF為低電平時,表明MCP2515已接收到數據,TMS320LF2407可以對MCP2515進行讀操作;當RX0BF和RX1BF為高電平時,表明MCP2515未接收到有效數據。發送請求控制使用TMS320LF2407的IO接口向MCP2515發出硬件請求命令TX0RST, TX1RST,TX3RST來實現快速發送請求。接口電路采用光耦隔離和共模扼流線圈方法提高接口電路的抗干擾性能。其電路設計如圖3所示。
4 雙CAN口同步通訊板軟件設計
??? 雙CAN口同步通訊板軟件分為3個模塊:
??? (1)CAN隨機通訊模塊負責與PLC的隨機CAN通訊,接收來自PLC的突發數據,發送來自TTCAN網絡數據;
?(2)TTCAN通訊模塊負責與TTCAN網絡通訊,在同步信號控制下按時序要求向TTCAN網絡發送數據和接收來自PLC的隨機CAN數據:
??? (3)數據緩沖模塊負責PLC和TTCAN網絡數據的同步,完成必要的通訊處理任務。圖4為各模塊之間的協同工作流程。
4.1 CAN隨機通訊模塊軟件
??? 首先初始化TMS320LF2407的SPI接口,然后設置MCP2515 CAN的通訊參數完成模塊的初始化。函數SPI_WRITE_COMMAND(unsigned int ADDRESS,unsigned intDATA)更新MCP2515的指定寄存器中的內容;函數SPI_READ_COMMAND (unsigned int ADDRESS) 讀取MCP2515指定寄存器;函數RTS_123(unsigned int NUM)從數據緩沖區提取數據按指定通道數據發送給PLC;函數RANDOM_RCV()將來自PLC的數據經查詢接收后存放到數據緩沖區。通過以上函數實現同步通訊板與PLC CAN口的數據收發功能。
4.2 TTCAN通訊模塊軟件
??? 該模塊由甬數CAN_INIT()完成對TMS320LF2407內部CAN控制器的初始化及通訊參數設置;函數dsp_can_send(unsigned int IDH,unsigned int IDL,unsigned int*data1)從數據緩沖區提取數據向TTCAN網絡發送;接收中斷服務函數CAN_RCV_ISR()從TFCAN網絡接收數據并存入數據緩沖區;而同步信號接收函數sytem_syn()實現與TTCAN網絡的同步以及發送時隙的控制。
4.3 數據緩沖模塊軟件設計
??? 該模塊是雙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。當 (mcp2515_rcv_index+1)%FIFOMAX==dsp_send_index,表明MCP2515接收緩沖隊列已滿(FIFOMAX緩沖區最大長度定義);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網絡的接入應用。
評論
查看更多