解析多處理器模式下RS485總線在飛機(jī)配電系統(tǒng)中的應(yīng)用
結(jié)合主從通信原理和差別延時(shí)偵聽(tīng)總線的方法,整個(gè)通信網(wǎng)絡(luò)的運(yùn)行方式如下:設(shè)某時(shí)刻 RS485 總線空閑,LBPCU 為最高級(jí)別主處理器,則 LBPCU 監(jiān)聽(tīng)總線后可發(fā)送三種數(shù)據(jù):一是向所有 GCU 及 RPDU發(fā)送 Y/N 狀態(tài)詢問(wèn)指令 cmdY/N, 二是向部分 GCU 及RPDU 發(fā)送數(shù)據(jù)上報(bào)指令 cmdk,三是向 RBPCU 發(fā)送數(shù)據(jù),這三種發(fā)送過(guò)程如圖 5 所示。若 LBPCU 發(fā)送了 Y/N 狀態(tài)詢問(wèn)指令 cmdY/N,則 RBPCU 及 LBPCU均可得知所有 GCU 及 RPDU 是否有數(shù)據(jù)上報(bào)要求;若 LBPCU 發(fā)送了數(shù)據(jù)上報(bào)指令 cmdk, 該指令中包含需上報(bào)數(shù)據(jù)的所有從處理器的地址,這些從處理器進(jìn)行數(shù)據(jù)輪報(bào),在這個(gè)過(guò)程中,LBPCU 及 RBPCU 均接收所有數(shù)據(jù)的上報(bào); 若LBPCU向RBPCU發(fā)送了數(shù)據(jù),則數(shù)據(jù)中應(yīng)當(dāng)包含 LBPCU 的工作狀態(tài)。
無(wú)論 LBPCU發(fā)送了哪種數(shù)據(jù),在動(dòng)作完成后都降低優(yōu)先級(jí),同時(shí)RBPCU 提高優(yōu)先級(jí), 此時(shí) RBPCU 的優(yōu)先級(jí)變?yōu)樽罡?。此后,?dāng)總線空閑時(shí),則可由 RBPCU 控制總線,其動(dòng)作方式與 LBPCU 一致。
5 .多處理器 R S 4 8 5 總線的實(shí)現(xiàn)
5.1 RS485 總線接口電路的設(shè)計(jì)
本文中 RS485 總線終端由 TI 公司的 DSPTMS320F2812 及 RS485 收發(fā)器 SN65HVD11 構(gòu)成。DSP 內(nèi)自帶了 2 個(gè)串口模塊 SCIA 和 SCIB,這兩個(gè)模塊均有串口接收引腳 SCIRXD 及串口發(fā)送引腳SCITXD。RS485 總線接口電路如圖 6 所示,其中,兩個(gè) SN65HVD11 輸出端 A 端及 B 端均分別連接至RS485 總線 A、 B, 從而形成了總線終端的雙余度接口;SN65HVD11的RE端與DE端并聯(lián)后, 與主處理器DSP的控制信號(hào) 485C 相連,構(gòu)成一個(gè)半雙工的總線接口,因此在任意時(shí)刻,該收發(fā)器只能處于接收狀態(tài)(485C為低電平) 或發(fā)送狀態(tài) (485C 為高電平) ; SN65HVD11的 R 端及 D 端分別與 DSP 的串口模塊接口 SCIRXD及 SCITXD 相連;R1 為 120Ω,是 RS485 總線的匹配電阻,在圖 1 所示的通信網(wǎng)絡(luò)中,僅有 2 個(gè)總線接口處需加入該電阻, 以滿足 RS485 總線的阻抗匹配要求;R2 為串口 SCIB 接收端的上拉電阻, 由于 DSP 的該引腳內(nèi)部沒(méi)有上拉,需外接上拉電阻保證該引腳在總線空閑時(shí)始終為高。需要注意的是,為提高通信網(wǎng)絡(luò)的可靠性,減小 RS485 總線上的共模干擾等問(wèn)題,需將總線上各個(gè)節(jié)點(diǎn)的地線連接起來(lái),形成共同的低阻抗信號(hào)地。
5.2 多主通信的軟件設(shè)計(jì)
本文中所涉及的 RS485 總線通信網(wǎng)絡(luò)包括 2 個(gè)主處理器 LBPCU 及 RBPCU,多個(gè)從處理器 RPDU 及GCU。軟件設(shè)計(jì)主要包括:主處理器發(fā)送,主處理器接收,主處理器自檢測(cè),從處理器發(fā)送,從處理器接收。由于從處理器不涉及優(yōu)先級(jí)改變及總線監(jiān)聽(tīng)等過(guò)程,只是常規(guī)的指令響應(yīng)和數(shù)據(jù)發(fā)送,本文只給出主處理器發(fā)送、接收及自檢測(cè)的流程。主處理器發(fā)送數(shù)據(jù)或指令前,需偵聽(tīng)總線是否空閑,完成一次數(shù)據(jù)或指令發(fā)送后,需修改優(yōu)先級(jí)。其軟件流程如圖 7 所示, 圖中 Pri 表示主處理器當(dāng)前的優(yōu)先級(jí),t 為等待時(shí)間,其計(jì)算方法如式(1)所示。
據(jù)的發(fā)送和接收過(guò)程, 串口 SCIB 監(jiān)控串口 SCIA 是否正常,實(shí)現(xiàn)通信的自檢測(cè)。
串口 SCIB 實(shí)現(xiàn)自檢的過(guò)程如下:在主處理器發(fā)送數(shù)據(jù)時(shí),串口 SCIB 將串口SCIA 發(fā)送的數(shù)據(jù)讀回,若與發(fā)送的數(shù)據(jù)相同,則表明串口 SCIA 發(fā)送正常;在主處理器接收數(shù)據(jù)時(shí),若串口 SCIB 接收的數(shù)據(jù)與串口 SCIA 相同,則表明串口SCIA 接收正常。自檢測(cè)的流程如圖 9 所示。
5.3 實(shí)驗(yàn)結(jié)果
本文利用 DSP 及收發(fā)器構(gòu)成了如圖1 所示的通信網(wǎng)絡(luò), 并進(jìn)行了相關(guān)實(shí)驗(yàn)。 圖10為L(zhǎng)BPCU的串口SCIA發(fā)送數(shù)據(jù)時(shí),引腳 SCIATXD 及控制信號(hào) 485CA 的波形,由圖 10 可知接口電路能夠正常工作。圖 11 為L(zhǎng)BPCU 運(yùn)行時(shí), 串口 SCIA 的數(shù)據(jù)發(fā)送引腳 SCIATXD及接收引腳 SCIARXD 上的電壓波形,由圖 11 可知,系統(tǒng)運(yùn)行時(shí)沒(méi)有發(fā)生總線沖突現(xiàn)象。
.結(jié)束語(yǔ)
本文針對(duì)飛機(jī)配電系統(tǒng)通信網(wǎng)絡(luò)的要求及 RS485總線的特點(diǎn),設(shè)計(jì)了一套帶有多處理器的 RS485 通信網(wǎng)絡(luò)。文章著重研究了避免 RS485 總線沖突的方法,提出了一種適用于飛機(jī)配電系統(tǒng)通信網(wǎng)絡(luò)的避免總線沖突方法,并用實(shí)驗(yàn)驗(yàn)證了方法的正確性,實(shí)驗(yàn)結(jié)果表明本文設(shè)計(jì)的方法能夠?qū)崿F(xiàn)飛機(jī)配電系統(tǒng)的通信,并避免總線發(fā)現(xiàn)沖突。該方法同樣適用于其他含有少數(shù)主處理器和多數(shù)從處理結(jié)構(gòu)的通信網(wǎng)絡(luò)。
評(píng)論