999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

CAN總線和1553B總線通信的FPGA設計與實現

2021-06-10 03:35:38李宏偉
太原城市職業技術學院學報 2021年5期

■李宏偉

(太原城市職業技術學院,山西 太原 030027)

在時代的推動下,各類飛行設備承擔的任務更加紛繁復雜。為能夠提高數據可靠性,系統內部往往需要針對不同的工作設備選擇合適的總線通訊方式。在發揮各類總線通信的最大優勢的同時,總線之間的轉換傳輸也受到越來越多的關注。CAN總線與1553B總線均以數據傳輸可靠性高、傳輸速度快等優點,廣泛應用于飛行設備中[1]。對于兩總線之間的數據交互,傳統的解決辦法一般是采用FPGA+ARM雙處理器實現,但國產ARM芯片價格高,制板時周期相對較長[2]。系統采用單芯片FPGA實現CAN總線與1553B總線之間的通信,利用FPGA能夠并行處理數據的架構以及具有編程靈活的優勢,編寫總線底層傳輸協議,用軟件的方式實現數據的快速轉換與傳輸[3]。

一、系統總體設計

CAN總線與1553B總線之間通訊的系統總體設計框圖如圖1所示。系統數據流由FPGA控制,參與實現CAN總線與1553B總線之間通信的模塊主要包括CAN控制器模塊、數據轉換模塊、1553B協議模塊和RS422發送模塊。

圖1 系統總體設計框圖

CAN總線與1553B總線之間的通信是雙向的,以從1553B總線發送數據至CAN總線為例,該數據流的工作流程為:上電初始化所有模塊,FPGA通過編寫1553B底層協議模塊實現與1553B總線的數據交互,1553B底層協議模塊作為終端,接收總線發送來的數據并根據1553B協議對數據進行解析及格式轉換,然后通過CAN總線控制器模塊將轉換后的數據發送至CAN控制器SJA1000,最后驅動收發器完成數據的上傳,完成單向數據流的傳輸。為驗證總線間的傳輸無誤,采用RS422發送模塊將CAN控制器模塊接收到的數據發送至上位機進行顯示,對比1553B總線上發送的數據與上位機接收到的數據,判斷數據傳輸的可靠與否。從CAN總線發送數據至1553B總線的數據傳輸流程與上述類似。

二、系統模塊化設計

(一)CAN模塊設計

系統CAN模塊主要由CAN控制器及CAN收發器組成[4],其中CAN控制器通過SPI接口與FPGA進行信息交互,然后控制器與收發器串行相連,CAN收發器將控制器中的數據按照物理層的數據協議進行轉換并實現與CAN總線的通信,CAN收發器與CAN總線通信即實現單端信號與差分信號的相互轉換[5]。系統選用NXP公司生產的CAN控制器SJA1000,符合CAN2.0協議規范,支持高速數據傳輸,速率高達1Mbps[6]。CAN收發器選用PCA82C250,它實現的是數據協議層的轉換傳輸,其傳輸速率與CAN控制器一致,最高為1Mbps[7]。系統主頻為80 Mbps,通過分頻模塊后提供給CAN控制器芯片的時鐘頻率為16 MHz。由于FPGA的I/O口電平為3.3 V,而CAN控制器芯片的工作電壓為5 V[8],因此為實現兩芯片間的正常通訊,在數據進行傳輸時,需對其進行電平轉換。該模塊的工作原理圖如圖2所示,終端管腳INTE需上拉至3.3 V[9]。

圖2 CAN模塊工作原理

(二)數據轉換模塊設計

數據轉換模塊主要實現的是兩種總線協議下的數據位寬的轉變。由于1553B總線與CAN總線的數據傳輸速率不一致,為避免數據在總線交互過程中出現幀丟失或幀錯誤的現象,需對兩總線間的速率進行平衡。設計采用雙口RAM來解決速率匹配的問題[10],根據協議要求,CAN模塊的數據輸入輸出寬度均為1 Byte,而1553B協議模塊的數據輸入輸出寬度均為2 Byte。因此,針對兩個方向的數據流采用2個RAM來對數據分別進行緩存。數據由CAN總線傳輸到1553B總線上的雙口RAM緩存設計如圖3所示。

圖3 雙口RAM緩存設計

三、系統軟件設計

(一)CAN模塊設計實現

1.CAN控制器模塊初始化

系統加電后,CAN控制器默認為復位狀態。FPGA需要對該控制器中的相關寄存器進行初始化配置,實現對其內部寄存器的配置,為其進入正常工作模式做準備[11]。初始化完成后,配置CAN控制器進入工作模式。CAN控制器模塊初始化過程如圖4所示。

圖4 CAN控制器模塊初始化過程

2.CAN控制器模塊接收設計

CAN控制器模塊中的接收模塊主要實現了CAN總線報文的接收。CAN控制器SJA1000接收CAN總線報文后產生中斷信號并使能接收模塊,通過該模塊調用SPI接口進行CAN報文接收,一幀報文接收完成后,將接收到的報文傳遞到接收報文分類模塊中,傳遞完成后通過處理器清除CAN控制器SJA1000芯片中斷使能信號[12],為下次中斷做準備。接收報文分類模塊實現了對接收到CAN報文進一步判斷與緩存功能。若接收到的報文ID符合判斷條件時即與CAN控制器在初始化配置時所要求的一致,則對報文進行緩存并傳輸至數據格式轉換模塊。CAN控制器接收報文的過程如圖5所示。

圖5 CAN模塊接收報文時的流程圖

(二)1553B協議模塊設計實現

1.1553B協議模塊設計

系統中1553B協議模塊作為終端(RT),主要實現對1553B總線(BC)上數據的收發與解析。RT端向BC端數據傳輸時,1553B協議模塊首先需要檢測同步字,同步字中包含的信息用于區分字的類型[13]。RT端發送的數據信息經過了曼徹斯特編碼,因此在對接收數據進行解析前需要對其進行譯碼。譯碼后通過數據信息中的同步字判斷該條信息的字類型,若字類型為命令字,需對同步字之后的相關數據進行解析,BC端依照該條命令字執行相應的操作;若字類型為接收數據字命令字,BC端需對后續RT端發送的數據字進行緩存,并發送狀態字至RT端;若字類型為發送數據字命令字,BC端需讀取緩存的數據至RT端。1553B協議模塊設計框圖如圖6所示。

圖6 CAN1553B協議模塊設計框圖

2.1553B協議字格式

依照1553B傳輸協議,數據在總線上傳輸時其允許最大長度為32個字,每個字包含20 bit[14]。數據幀按照不同的類型劃分可以分為命令、狀態、數據。不同類型的字格式見圖7所示。

圖7 不同類型的字格式

3.1553B協議數據字收發

1553B總線控制器(BC端)與1553B協議模塊(RT端)通訊時,BC端占有絕對控制權。因此,不論RT端接收還是發送數據,均由BC端控制。當RT端收到接收數據的命令字時,根據該命令字中的信息獲取數據字的個數情況,判斷RAM接收到的經過譯碼后的數據字的個數是否正確,發送相應的狀態字給BC端。接收數據字流程如圖8所示。

圖8 1553B協議模塊接收數據字流程

當RT端收到發送數據的命令字時,根據該命令字中的信息讀取RAM中的指定字節個數的數據字,并對其進行曼徹斯特編碼后發送至BC端。

四、系統仿真與測試

(一)CAN模塊收發數據仿真

為驗證CAN模塊收發數據的正確性,對收發模塊均進行仿真測試。當CAN總線收發器檢測到CAN總線上有數據時,產生中斷信號給CAN控制器,然后將數據寫入CAN控制器的接收緩存區中。接收完數據之后,清除中斷標志。CAN口接收數據仿真圖如圖9所示。

圖9 CAN口接收數據仿真圖

向CAN總線上傳輸數據時,按照CAN協議幀格式,將數據首先發送至CAN總線控制器的發送緩存區中,然后驅動通過SPI接口發送數據至CAN總線上。CAN口發送報文仿真圖如圖10所示。

圖10 CAN口發送數據仿真圖

(二)1553B協議模塊仿真

為驗證1553B協議模塊數據收發的正確性,編寫測試文件,模擬BC端發送數據給RT端,其中RT端的地址為5'b00111。首先RT端發送命令字16'h3943,然后發送3個數據字16'hCA1C,16'hED9B,16'h8C93。BC端通過對接收到的命令字進行解析可知,BC端需要執行的操作是接收3個數據字。BC端將接收到的數據進行緩存之后發送狀態字給RT端。RT端通過解析接收到的狀態字可判斷出數據是否被接收。1553B協議模塊接收數據時的仿真圖如圖11所示。

圖11 1553B協議模塊接收數據仿真圖

(三)系統測試

為驗證系統中兩總線之間的通信正確,分兩部分進行測試。

1.由1553B總線發送數據字,經過1553B協議模塊、數據格式轉換模塊,最后通過CAN模塊將數據發送至CAN總線上。1553B總線上發送命令字16'h3D43,然后發送 3個數據字16'hC1C3,16'hE1CB,16'hE9D3。采用在線邏輯分析儀SignalTap對數據格式轉換模塊的輸入信號進行抓取,如圖12所示。

圖12 數據格式轉換模塊的輸入信號波形

為可以直觀地觀察到數據傳輸的正確與否,將CAN控制器中緩存的數據經由RS422發送模塊發送至上位機進行顯示,如圖13所示。對比圖12中的數據與串口助手收到的數據,驗證了該數據流向的正確性。

圖13 RS422發送的CAN總線數據

2.從CAN總線至1553B總線的傳輸驗證與(1)相反。采用串口助手發送數據至CAN控制器接收緩存器中,然后通過數據格式轉換模塊,最后通過1553B協議模塊將數據上發至1553B總線上。串口助手發送的數據為8'hCA,8'h9A,8'h8A,8'hC1,8'hC2,8'hE 2,8'hF1,8'h22。同樣地,采用 SignalTap對輸入到1553B協議模塊的信號進行采集,如圖14所示。對比串口發送的數據與圖14中的波形,可知該數據流向正確。

圖14 輸入到1553B協議模塊的信號采集

五、結論

系統采用FPGA實現CAN總線與1553B總線之間的通信,充分發揮FPGA并行處理的優勢,代替了ARM處理器實現1553B的通信,一方面縮減了產品的制造費用,另一方面使得產品的研發時間變短。經系統驗證,該設計能夠實現CAN總線與1553B總線之間的正確通信,滿足了設計需求,對其他總線間的通訊提供了可靠的參考價值。

主站蜘蛛池模板: 91在线丝袜| jizz在线观看| 97青青青国产在线播放| 2020国产免费久久精品99| 乱人伦视频中文字幕在线| 国产精品自在在线午夜区app| 欧美在线视频a| 欧美一级在线播放| 亚洲高清在线天堂精品| 99re热精品视频国产免费| 幺女国产一级毛片| 久久这里只有精品国产99| 精品无码一区二区三区电影| 日韩精品一区二区三区swag| 精品夜恋影院亚洲欧洲| 67194亚洲无码| 国产成人乱码一区二区三区在线| 国产一在线| 欧美精品啪啪| 青青青国产视频手机| 在线无码av一区二区三区| 国产超薄肉色丝袜网站| 伊人精品视频免费在线| 91色老久久精品偷偷蜜臀| 久一在线视频| 在线观看亚洲成人| 全部无卡免费的毛片在线看| 亚洲午夜久久久精品电影院| 久久综合亚洲色一区二区三区| 国产丝袜无码精品| 国产精品视屏| 依依成人精品无v国产| 五月婷婷激情四射| 日韩毛片免费观看| 亚洲国产成人精品青青草原| 黄色污网站在线观看| 精品国产91爱| 22sihu国产精品视频影视资讯| 天天躁狠狠躁| 亚洲成人一区二区三区| 成人亚洲天堂| 久久 午夜福利 张柏芝| 国产精品美女自慰喷水| 日韩一区精品视频一区二区| 久久婷婷六月| 日韩欧美91| 毛片网站在线看| 精品夜恋影院亚洲欧洲| 亚洲国产精品日韩欧美一区| 亚洲天堂视频在线观看免费| 亚洲人成在线免费观看| 无码一区中文字幕| 一级在线毛片| 91网红精品在线观看| 欧美一级色视频| www亚洲精品| 91亚洲影院| 亚洲欧美成aⅴ人在线观看| 免费女人18毛片a级毛片视频| 伊人蕉久影院| 免费在线播放毛片| 91亚洲视频下载| 亚洲欧美天堂网| 精品少妇三级亚洲| 免费一级毛片在线观看| 伊人福利视频| 精品国产成人a在线观看| 国产国模一区二区三区四区| 午夜视频日本| 国产精选自拍| 久草视频一区| jizz国产视频| 亚洲熟妇AV日韩熟妇在线| 又爽又大又黄a级毛片在线视频 | 日韩少妇激情一区二区| 亚洲无线视频| 亚洲国产成人久久77| 国产白浆在线| 四虎AV麻豆| 色网站在线视频| 成人午夜久久| 无码电影在线观看|