基于TMS320LF2407A的雙CAN口同步通訊板設(shè)計(jì)
?隨著現(xiàn)代戰(zhàn)爭要求武器系統(tǒng)在戰(zhàn)場條件下的可靠性和維修性提高,傳統(tǒng)分離式控制系統(tǒng)的快速保障難以滿足要求。一體化車載PLC控制器以其高可靠性、模塊化特性使其應(yīng)用于防空武器火力控制,為了將其擴(kuò)展到具有TTCAN(Time Trigger CAN)網(wǎng)絡(luò)的武器系統(tǒng),需解決PLC與TTCAN網(wǎng)絡(luò)的數(shù)據(jù)同步問題。這里提出一種基于TMS320LF2407A的雙CAN口同步通訊板設(shè)計(jì),從而解決了車載PLC與防空武器TTCAN網(wǎng)絡(luò)鏈接問題。
2 雙CAN口同步通訊板總體設(shè)計(jì)方案
??? 由于系統(tǒng)TTCAN網(wǎng)絡(luò)是時間觸發(fā)的實(shí)時通訊,一體化車載PLC的通訊接口是標(biāo)準(zhǔn)的CAN,不具備接收同步信號和按指定時間序列發(fā)送數(shù)據(jù)的能力,因此無法直接與TTCAN網(wǎng)絡(luò)連接。必須將PLC發(fā)送的數(shù)據(jù)經(jīng)同步后再發(fā)送給 TTCAN網(wǎng)絡(luò),將來自TTCAN網(wǎng)絡(luò)的數(shù)據(jù)經(jīng)緩沖后發(fā)送給PLC。圖1為雙CAN口同步通訊板原理圖。
??? 考慮到PLC的循環(huán)工作模式、數(shù)據(jù)發(fā)送時刻的隨機(jī)性以及數(shù)據(jù)傳輸?shù)姆菍?shí)時性等因素,則將MPC2515 CAN獨(dú)立控制器作為PLC與同步通訊板之間的內(nèi)部通訊接口。針對系統(tǒng)TTCAN網(wǎng)絡(luò)必須在指定時隙內(nèi)實(shí)時完成數(shù)據(jù)接收、發(fā)送、交換和處理的特點(diǎn),只有將 TMS320LF2407的內(nèi)部CAN控制器配合內(nèi)部高速總線、高速RAM以及DSP強(qiáng)大的運(yùn)算能力,才能滿足TTCAN網(wǎng)絡(luò)要求,因此選用 TMS320LF2407的內(nèi)部CAN控制器作為TTCAN網(wǎng)絡(luò)的通訊接口。
3 雙CAN口同步通訊板接口硬件設(shè)計(jì)
3.1 同步信號接口
??? 由于同步信號是為整個TTCAN網(wǎng)絡(luò)提供時間基準(zhǔn)的,其故障導(dǎo)致整個網(wǎng)絡(luò)癱瘓,所以系統(tǒng)同步信號采用RS485差分方式傳輸。為了進(jìn)一步提高同步信號抗干擾能力,在兩條差分傳輸線輸入端采用磁珠消除疊加在同步信號上的共模干擾,并采用高速光耦隔離對通訊板其他器件的干擾,這樣可以確保同步信號接口的可靠性,其電路設(shè)計(jì)如圖2所示。
3.2 同步通訊板與PLC CAN接口
??? 該接口電路使用CAN2.0B協(xié)議實(shí)現(xiàn)與PLC的數(shù)據(jù)通訊。TMS320LF2407通過10 MHz SPI接口配置MPC2515的參數(shù)。數(shù)據(jù)收/發(fā)控制均采用硬件方式將信號接入TMS320LF2407的外部中斷源INT2與INT3。當(dāng)RX0BF和 RX1BF為低電平時,表明MCP2515已接收到數(shù)據(jù),TMS320LF2407可以對MCP2515進(jìn)行讀操作;當(dāng)RX0BF和RX1BF為高電平時,表明MCP2515未接收到有效數(shù)據(jù)。發(fā)送請求控制使用TMS320LF2407的IO接口向MCP2515發(fā)出硬件請求命令TX0RST, TX1RST,TX3RST來實(shí)現(xiàn)快速發(fā)送請求。接口電路采用光耦隔離和共模扼流線圈方法提高接口電路的抗干擾性能。其電路設(shè)計(jì)如圖3所示。
4 雙CAN口同步通訊板軟件設(shè)計(jì)
??? 雙CAN口同步通訊板軟件分為3個模塊:
??? (1)CAN隨機(jī)通訊模塊負(fù)責(zé)與PLC的隨機(jī)CAN通訊,接收來自PLC的突發(fā)數(shù)據(jù),發(fā)送來自TTCAN網(wǎng)絡(luò)數(shù)據(jù);
?(2)TTCAN通訊模塊負(fù)責(zé)與TTCAN網(wǎng)絡(luò)通訊,在同步信號控制下按時序要求向TTCAN網(wǎng)絡(luò)發(fā)送數(shù)據(jù)和接收來自PLC的隨機(jī)CAN數(shù)據(jù):
??? (3)數(shù)據(jù)緩沖模塊負(fù)責(zé)PLC和TTCAN網(wǎng)絡(luò)數(shù)據(jù)的同步,完成必要的通訊處理任務(wù)。圖4為各模塊之間的協(xié)同工作流程。
4.1 CAN隨機(jī)通訊模塊軟件
??? 首先初始化TMS320LF2407的SPI接口,然后設(shè)置MCP2515 CAN的通訊參數(shù)完成模塊的初始化。函數(shù)SPI_WRITE_COMMAND(unsigned int ADDRESS,unsigned intDATA)更新MCP2515的指定寄存器中的內(nèi)容;函數(shù)SPI_READ_COMMAND (unsigned int ADDRESS) 讀取MCP2515指定寄存器;函數(shù)RTS_123(unsigned int NUM)從數(shù)據(jù)緩沖區(qū)提取數(shù)據(jù)按指定通道數(shù)據(jù)發(fā)送給PLC;函數(shù)RANDOM_RCV()將來自PLC的數(shù)據(jù)經(jīng)查詢接收后存放到數(shù)據(jù)緩沖區(qū)。通過以上函數(shù)實(shí)現(xiàn)同步通訊板與PLC CAN口的數(shù)據(jù)收發(fā)功能。
4.2 TTCAN通訊模塊軟件
??? 該模塊由甬?dāng)?shù)CAN_INIT()完成對TMS320LF2407內(nèi)部CAN控制器的初始化及通訊參數(shù)設(shè)置;函數(shù)dsp_can_send(unsigned int IDH,unsigned int IDL,unsigned int*data1)從數(shù)據(jù)緩沖區(qū)提取數(shù)據(jù)向TTCAN網(wǎng)絡(luò)發(fā)送;接收中斷服務(wù)函數(shù)CAN_RCV_ISR()從TFCAN網(wǎng)絡(luò)接收數(shù)據(jù)并存入數(shù)據(jù)緩沖區(qū);而同步信號接收函數(shù)sytem_syn()實(shí)現(xiàn)與TTCAN網(wǎng)絡(luò)的同步以及發(fā)送時隙的控制。
4.3 數(shù)據(jù)緩沖模塊軟件設(shè)計(jì)
??? 該模塊是雙CAN口同步通訊板的核心,其目的就是確保來自PLC的隨機(jī)數(shù)據(jù)經(jīng)該模塊后可以實(shí)現(xiàn)向,TTCAN網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)是在同步信號控制下,按指定時隙發(fā)送,來自TTCAN網(wǎng)絡(luò)的數(shù)據(jù)經(jīng)該模塊做必要的解析后轉(zhuǎn)發(fā)給PLC。為此設(shè)計(jì)兩個循環(huán)隊(duì)列緩沖區(qū)mcp2515_rcv_buffer和dsp_rcv_buffer實(shí)現(xiàn)PLC數(shù)據(jù)與TTCAN網(wǎng)絡(luò)同步。實(shí)現(xiàn)方法如下:
??? (1)通訊板接收到PLC數(shù)據(jù)后,將其數(shù)據(jù)存放到mcp2515_rcv_buffer緩沖區(qū)中,然后MCP2515指示索引 mep2515_rcv_index加1;DSP CAN同步數(shù)據(jù)發(fā)送時按索引dsp_send_index的值從mcp2515_rcv_buffer緩沖區(qū)對應(yīng)位置提取發(fā)送數(shù)據(jù),然后該索引值加1。當(dāng) (mcp2515_rcv_index+1)%FIFOMAX==dsp_send_index,表明MCP2515接收緩沖隊(duì)列已滿(FIFOMAX緩沖區(qū)最大長度定義);dsp_send_index==mcp2510_rcv_index,表明MCP2515緩沖器已滿。
??? (2)同步CAN口接收的數(shù)據(jù)存放到dsp_rcv_buffer緩沖區(qū),然后指示索引dsp_rcv_index加1;MCP2515數(shù)據(jù)發(fā)送使用索引 mcp2510_send_index在循環(huán)緩沖區(qū)dsp_rcv_buffer提取對應(yīng)的數(shù)據(jù)發(fā)送給PLC CAN。當(dāng)mcp2510_send_index==dsp_rcv_index,表明DSP接收緩沖區(qū)空;(dsp_rcv_index+1)% FIFOMAX==mcp2510_send_index表明DSP緩沖隊(duì)列滿。
5 結(jié)束語
??? 該雙CAN口同步通訊板在連續(xù)600 h、不同數(shù)據(jù)流量的測試中表現(xiàn)良好,無任何異常。現(xiàn)已成功應(yīng)用于某型防空武器火力控制分系統(tǒng)。實(shí)踐表明該設(shè)計(jì)能夠很好擴(kuò)展PLC在防空武器系統(tǒng)TTCAN 網(wǎng)絡(luò)上的應(yīng)用,極大提高了火力控制系統(tǒng)在戰(zhàn)場條件下的可靠性和可維護(hù)性,符合模塊化設(shè)計(jì)總要求。同時,該雙CAN口同步通訊板也可廣泛用于事件觸發(fā)數(shù)據(jù)與 TTCAN網(wǎng)絡(luò)的接入應(yīng)用。
評論
查看更多