基于DSP和FPGA的油田測井系統(tǒng)總線通信接口設(shè)計
圖1 DSP和FPGA連接示意圖
DSP模塊主要完成兩個功能:把1553B總線來的數(shù)據(jù)轉(zhuǎn)換成CAN總線的幀結(jié)構(gòu),或者相反;把1553B總線來的命令解析,轉(zhuǎn)換成CAN總線系統(tǒng)的命令并組成CAN的幀結(jié)構(gòu)發(fā)送。具體過程:DSP根據(jù)XA的狀態(tài)分兩次將經(jīng)過18變16位轉(zhuǎn)換模塊變成的18位數(shù)據(jù)讀入,經(jīng)DSP總線協(xié)議轉(zhuǎn)換模塊按照井下儀器通訊協(xié)議處理后的數(shù)據(jù),通過DSP內(nèi)嵌的CAN總線控制模塊中的CAN7r)(,CANRX接口送給工控機對井下儀器進行控制。同時DSP根據(jù)接收到的命令。讀取井下儀器通過CAN總線模塊傳輸來的采集信息并按照總線通訊協(xié)議處理為16位數(shù)據(jù)送給FPGA.這種通過DSP與FPGA共同實現(xiàn)總線協(xié)議的方法,呵以在接收完1553B總線數(shù)據(jù)后直接觸發(fā)總線轉(zhuǎn)換程序,從而減少單獨采用1553B協(xié)議芯片時對DSP的數(shù)據(jù)中斷請求時間,更好地滿足了控制系統(tǒng)的實時性要求。
1.4 CAN總線模塊
CAN總線模塊由DSP內(nèi)嵌的總線控制模塊、收發(fā)器SN65HVD231Q和高速光耦HCPL5601組成。TM$320F2812巾內(nèi)嵌的CAN總線控制模塊手要由CAN協(xié)議內(nèi)核和消息控制器構(gòu)成。CAN協(xié)議內(nèi)核主要完成把從n)GA讀入的總線消息解碼并向接收緩沖發(fā)送解碼后的消息,同時根據(jù)CAN總線協(xié)議向CAN總線上發(fā)送消息;消息控制器決定接收到消息的取舍,如果描述符通過驗收濾波器。CAN控制器將CAN總線上的描述場和數(shù)據(jù)場順序存人奪的緩存器中,并向DSP發(fā)送中斷請求,DSP響應(yīng)中斷,把CAN緩存器中的數(shù)據(jù)取出。
2 軟件設(shè)計及實現(xiàn)
由于1553B和CAN總線不但幀結(jié)構(gòu)不同。命令體系不一樣。而凡不問的1553B與CAN總線之問的轉(zhuǎn)換方法也是不一樣的.因此1553B與CAN總線之間的轉(zhuǎn)換不僅僅是幀結(jié)構(gòu)的轉(zhuǎn)換,還涉及到兩個系統(tǒng)之間命令的解析,所以需要采用更加靈活的軟件方式來實現(xiàn)這兩種總線的轉(zhuǎn)換。在整個通訊接口系統(tǒng)實現(xiàn)中面臨的最大問題就是通訊的實時性和緩沖數(shù)據(jù)管理,軟件設(shè)計中采用中斷源優(yōu)先級控制機制,不同的中斷源設(shè)置不同的中斷等級,以滿足系統(tǒng)對實時性的要求。接口電路的軟件設(shè)計采用C語言進行編程,采用模塊化結(jié)構(gòu)和子程序嵌套方式。便于程序的編制、修改、擴充以及連調(diào)等。FPGA采用Verilog HDI.語言,實現(xiàn)編解碼和1553B總線協(xié)議處理。其主程序流程圖見圖2。
圖2 主程序流程圖
本設(shè)計在TI的TM$320F2812和actel公司生產(chǎn)的PmASIC3系列芯片(A3P125)&進行r實現(xiàn)。該編解碼器及協(xié)議控制器共I與用FPGA256個邏輯單元,占總邏輯資源的6.8%,這有利于今后對其進行完善和功能的添加。其輸入時鐘為48MHz,數(shù)據(jù)速率為1MHz。
3 結(jié)語
本設(shè)計利用FPGA高鏹度,結(jié)構(gòu)靈活,設(shè)汁時間短和可編程的優(yōu)點,實現(xiàn)了對1553B信廿的獨證處理,再加卜TI公司2000系列DSP豐富的YO接口和較普通單片機更快的處理速度.實現(xiàn),對F.PGA的控制管理,完成了1553B總線與Can總線的通信,滿足了測井儀器的數(shù)據(jù)通訊要求.系統(tǒng)的集成度提高,擴展能力增強,順利通過了某油田測井系統(tǒng)的實驗測試并對其它數(shù)據(jù)通信總線互聯(lián)提供了先進的方法,具有相當(dāng)普遍的實用意義。
評論