當前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]摘要:提出一種基于CAN總線的大客飛機航電系統(tǒng)局域網(wǎng)通信仿真系統(tǒng)設(shè)計方法,探討了CAN總線在航電總線中應(yīng)用的優(yōu)點及可能性。仿真系統(tǒng)硬件通過CAN總線通信卡及工控機實現(xiàn),軟件通過模塊化設(shè)計方法實現(xiàn)。通信仿真系統(tǒng)實

摘要:提出一種基于CAN總線的大客飛機航電系統(tǒng)局域網(wǎng)通信仿真系統(tǒng)設(shè)計方法,探討了CAN總線在航電總線中應(yīng)用的優(yōu)點及可能性。仿真系統(tǒng)硬件通過CAN總線通信卡及工控機實現(xiàn),軟件通過模塊化設(shè)計方法實現(xiàn)。通信仿真系統(tǒng)實現(xiàn)了各子系統(tǒng)相關(guān)數(shù)據(jù)的傳送、處理,以及相關(guān)信息的實時顯示。應(yīng)用表明,局域網(wǎng)通信系統(tǒng)工作正常、性能良好,能實現(xiàn)測試設(shè)備之間高速率的數(shù)據(jù)傳輸與轉(zhuǎn)換,具有良好的實用價值。
關(guān)鍵詞:大客飛機;CAN總線;局域網(wǎng)通信;CAN總線通信卡

0 引言
    在大客飛機機載設(shè)備中,大量信息在系統(tǒng)與系統(tǒng)、系統(tǒng)與部件之間傳遞。為了讓機載設(shè)備之間完成實時、準確地通信,盡量減少航電系統(tǒng)電氣連線的復(fù)雜性,提高航電系統(tǒng)控制的靈活性,而能與其他子系統(tǒng)進行合理通信,必須選用一種合適的總線承擔此任務(wù)。CAN(Controll er Area Network)總線以其獨特的設(shè)計思想、優(yōu)良的性能和極高的可靠性,足以完成上述任務(wù),所以選用CAN總線來開發(fā)航電系統(tǒng)局域網(wǎng)通信仿真系統(tǒng),這是CAN總線在航空領(lǐng)域應(yīng)用的一次新的嘗試。
    文中采用CAN總線仿真大客飛機航電系統(tǒng)局域網(wǎng)通信,是以CAN總線為傳輸總線,以工控機作為子系統(tǒng)仿真機的通信系統(tǒng),采用總線型拓撲結(jié)構(gòu)。其目的在于仿真飛機某些子系統(tǒng)的功能、總線通信情況,測試整個仿真系統(tǒng)的工作情況,重點檢驗系統(tǒng)工作狀態(tài)和邏輯時序的正確性,為CAN總線在航空領(lǐng)域的應(yīng)用提供案例。

1 仿真系統(tǒng)的功能
    CAN總線通信仿真系統(tǒng)分為六個子系統(tǒng),仿真系統(tǒng)需要實現(xiàn)子系統(tǒng)之間實時準確的數(shù)據(jù)傳輸,根據(jù)用戶需求設(shè)置系統(tǒng)的通信參數(shù),如通信速率、通信方式、發(fā)送方式等,顯示系統(tǒng)參數(shù)、本機參數(shù)、通信參數(shù),實時顯示系統(tǒng)接收的最新數(shù)據(jù),保存通信記錄。
    CAN總線通信仿真系統(tǒng)由硬件和軟件兩部分組成。硬件主要包括PCI_CAN通信接口板、仿真計算機、總線分線盒及CAN總線等,采用總線型拓撲結(jié)構(gòu)。軟件主要任務(wù)是根據(jù)相應(yīng)工作狀態(tài)對數(shù)據(jù)進行傳輸、處理以及顯示。CAN總線通信仿真系統(tǒng)的拓撲結(jié)構(gòu)如圖1所示。



2 仿真系統(tǒng)的硬件設(shè)計
    CAN總線通信卡是硬件設(shè)計的關(guān)鍵部分,主要由CAN總線接口部分、通信控制部分和PCI總線接口部分三大部分組成。電路設(shè)計原理框圖如圖2所示。


    PCI協(xié)議芯片采用PCI9052,采用64 MB雙口RAM緩存,用復(fù)雜可編程邏輯器件CPLD和單片機89C51來控制數(shù)據(jù)的讀寫,以保證數(shù)據(jù)的完整性和時序性;CPLD采用EPM7128;CAN控制器采用SJA1000;收發(fā)器采用82C250;6N137用作光耦隔離。
2.1 CAN總線接口部分
    CAN總線通信卡總線接口電路如圖3所示。


    CAN總線通信控制部分主要由CAN總線控制器SJA1000、高速光耦6N137和CAN驅(qū)動器PCA82C250組成。為了增強CAN總線節(jié)點的抗干擾能力,CAN控制器SJA1000的通信引腳TX0和RX0并不是直接與PCA82C250的TXD和RXD相連,而是在中間加入一級高速光耦6N137,這樣能很好地實現(xiàn)總線上各個CAN節(jié)點之問的電氣隔離,增強了抗干擾能力。光耦電路用的2個電源VCC和VDD必須隔離。電源的完全隔離可采用小功率電源隔離模塊實現(xiàn)。這雖然增加了接口電路的復(fù)雜性,但卻提高了節(jié)點的穩(wěn)定性和安全性。PCA82C250的RS腳上接一個斜率電阻。電阻大小可以根據(jù)總線通信速度適當調(diào)整,一般在16~140 kΩ之間。SJA1000的初始化由單片機來完成,單片機通過控制SJA1000實現(xiàn)數(shù)據(jù)的接收和發(fā)送等通信功能。AD0~AD7連接到單片機的P0口,CS連接到單片機的P2.7口,P2.7為0時,單片機CPU的片外存儲器地址可選中SJA1000,CPU通過這些地址可對SJA1000執(zhí)行相應(yīng)的讀/寫操作。SJA1000的RD,WR,ALE分別與單片機的相應(yīng)引腳相連,SJA1000的INT接單片機的INT0,單片機也可通過中斷方式訪問SJA1000。
2.2 通信控制部分
    CAN總線通信控制部分如圖4所示,主要由CAN總線控制器SJA1000、單片機AT89S52和雙口RAMIDT7006組成,負責整個CAN總線通信控制以及和PCI局部總線的互連。雙口RAM作為CAN總線和PCI局部總線交換數(shù)據(jù)時的一個緩沖存儲區(qū)。單片機AT89S52是該通信卡通信控制的核心,它負責與雙口RAM以及CAN控制器SJA1000之間的通信。


    將雙口RAM的INTR和單片機的外部中斷引腳INT1相連,當PCI9052向雙口RAM傳輸完數(shù)據(jù)后,觸發(fā)雙口RAM中斷引腳INTR,進而觸發(fā)單片機中斷,單片機執(zhí)行中斷服務(wù)程序,讀取雙口RAM中的數(shù)據(jù)。為了使SJA1000和AT89S52時鐘同步,將SJA1000的CLKOUT引腳接至AT89S52的時鐘輸入端,作為AT89S52的外部時鐘輸入。SJA1000接收到新的數(shù)據(jù)后,給出中斷信號INT,通過觸發(fā)中斷信號INT0讓單片機實時處理這些數(shù)據(jù),單片機把這些數(shù)據(jù)處理完成后,寫入雙口RAM指定的存儲單元后,再向雙口RAM的1FFEH單元寫入任意數(shù)據(jù),即可觸發(fā)雙口RAM左端中斷,使計算機接收數(shù)據(jù)。由于SJA1000的地址數(shù)據(jù)復(fù)用,AD0~AD7可直接將其接到單片機的P0口。雙口RAM地址和數(shù)據(jù)是分開的,通過74LS373和單片機P1口相連。
2.3 PCI總線接口部分
    CAN總線通信卡PCI總線接口連接如圖5所示。
    PCI總線接口電路主要是PCI總線和雙口RAM的連接電路。雙口RAM是PCI總線和CAN總線數(shù)據(jù)傳輸?shù)闹修D(zhuǎn)站,由于CAN總線相對于PCI總線而言傳輸速度較慢,為了充分利用PCI通道的高速特性,一般要將單片機處理后的CAN總線數(shù)據(jù)暫時緩存在外部存儲器中,當存儲器寫滿時再利用PCI總線的突發(fā)、快速的特性,將存儲器數(shù)據(jù)一次性讀出。這樣,既充分利用了PCI接口的高性能,CPU又能空出時間來進行數(shù)據(jù)處理和顯示等其他操作,從而增強數(shù)據(jù)傳輸?shù)膶崟r性。
    PCI9052本質(zhì)上是一個橋設(shè)備,它把PCI總線對某一段PCI總線地址空間的各種操作(包括讀、寫等)轉(zhuǎn)換為相應(yīng)的局部總線上的操作。把數(shù)據(jù)寫入E2PROM完成后,當板卡上電,PCI9052從E2PROM中讀取數(shù)據(jù)并寫入PCI9052中的PCI寄存器和局部配置寄存器中。PC機(PCI主控設(shè)備)通過讀這些寄存器,得知系統(tǒng)中有多少存儲器以及I/O控制器要求分配相應(yīng)的地址空間,將相應(yīng)的基地址寫入PCI基址寄存器中。假設(shè)本設(shè)計中計算機給PCI9052分配的基地址為0x8400,由局部配置寄存器的值可知,本設(shè)計采用的是I/O映射,且空間大小為FFH,則計算機對I/O空間0x8400H~0x84FFH的訪問,就會通過PCI9052映射到局部空間0x00H~0xFFH。

3 仿真系統(tǒng)的軟件設(shè)計
    系統(tǒng)軟件設(shè)計是在Windows XP環(huán)境下,用VisualC++6.0開發(fā),采用面向?qū)ο蟮脑O(shè)計方法。軟件主要包括主模塊、初始化模塊、控制模塊、數(shù)據(jù)管理模塊、通信模塊、顯示模塊和通信接口驅(qū)動軟件等。軟件可以通過友好界面為用戶提供通過CAN總線進行通信的雙方的設(shè)備號、端口號、波特率、數(shù)據(jù)等,可以初始化芯片,可以進行復(fù)位操作,可以設(shè)置波特率。向用戶展示CAN總線的通信過程和結(jié)果,體現(xiàn)CAN線協(xié)議的功能。軟件流程圖如圖6所示。


3.1 主模塊
    主模塊通過調(diào)用適當?shù)墓δ苣K,控制系統(tǒng)初始化及整個系統(tǒng)軟件的流程。
3.2 初始化模塊
    初始化模塊通過調(diào)用API函數(shù)進行硬件初始化和軟件初始化。主要完成各子系統(tǒng)之間通信所需要的通道選擇、波特率、幀格式、工作方式、發(fā)送數(shù)據(jù)方式、發(fā)送數(shù)據(jù)周期等初始化設(shè)置。
3.3 控制模塊
    控制模塊主要完成對系統(tǒng)狀態(tài)、通信以及顯示的控制,根據(jù)操作人員的操作及其他系統(tǒng)節(jié)點的相應(yīng)狀態(tài),確定系統(tǒng)運行狀態(tài)與工作方式的控制與切換、有關(guān)數(shù)據(jù)通信的控制等。
3.4 數(shù)據(jù)管理模塊
    本模塊主要完成系統(tǒng)運行過程中,對將要發(fā)送的數(shù)據(jù)進行實時的編碼,對接收到的有關(guān)數(shù)據(jù)塊進行實時解碼。數(shù)據(jù)處理的主要功能是根據(jù)接口控制文件(ICD)文件數(shù)據(jù)塊的大小,配合發(fā)送、接收模塊完成數(shù)據(jù)幀的封裝和解析。ICD用C++的結(jié)構(gòu)類來表示,并且每個子系統(tǒng)對應(yīng)一個惟一的ICD文件,ICD文件里面存放有多個數(shù)據(jù),形成數(shù)據(jù)塊。數(shù)據(jù)發(fā)送時通過調(diào)用軟件發(fā)送函數(shù),將ICD文件中的參數(shù)通過編碼組成對應(yīng)的CAN總線信息幀數(shù)據(jù)場并以字節(jié)的形式進行發(fā)送。
3.5 數(shù)據(jù)通信模塊
    通信模塊通過調(diào)用通信卡上底層的API函數(shù),配合數(shù)據(jù)發(fā)送和數(shù)據(jù)接收等模塊完成對各個子系統(tǒng)的數(shù)據(jù)發(fā)送和接收功能。
    CAN協(xié)議規(guī)定數(shù)據(jù)幀每幀最多攜帶8個字節(jié)的數(shù)據(jù)。如果數(shù)據(jù)塊的總字節(jié)數(shù)大于8,那么需要分成多幀傳送,并且準確標示數(shù)據(jù)幀序列號,分辨出幀數(shù)據(jù)場中的數(shù)據(jù)對應(yīng)數(shù)據(jù)塊中的第幾個數(shù)據(jù)。比如在封裝時有可能遇到封裝某一兩字節(jié)數(shù)據(jù)時,本幀目前只能放下一個字節(jié)數(shù)據(jù),那么本幀將封裝低字節(jié),而高字節(jié)則被封裝進下一幀。程序中設(shè)計int型變量ordernum標示這種情況的封裝。接收時按封裝的反過程解析數(shù)據(jù)。
3.6 顯示模塊
    顯示界面如圖7所示。


    圖7中左端顯示各子系統(tǒng)ICD文件節(jié)點名稱,右上方顯示該子系統(tǒng)從其他子系統(tǒng)接收到的最新數(shù)據(jù),右下方顯示收到最新數(shù)據(jù)的物理值及在ICD文件中的屬性。狀態(tài)欄顯示系統(tǒng)狀態(tài)。
3.7 應(yīng)用層協(xié)議
    應(yīng)用層協(xié)議并不屬于軟件編程的范疇,但是CAN 2.0協(xié)議只規(guī)定物理層和鏈路層的標準,沒有規(guī)定應(yīng)用層通信協(xié)議,而數(shù)據(jù)的通信必須按照應(yīng)用層協(xié)議來封裝幀、解析幀。目前有很多成熟的工業(yè)協(xié)議可以選擇,但不完全符合本系統(tǒng)的要求,為此,專門制定了針對本系統(tǒng)的應(yīng)用層協(xié)議。
    本軟件采用擴展格式的數(shù)據(jù)幀進行通信,擴展幀的29位標識符結(jié)構(gòu)設(shè)計如表1所示,應(yīng)用層信息幀格式如表2所示。


    利用本應(yīng)用層協(xié)議傳輸數(shù)據(jù),可以從信息幀中獲取數(shù)據(jù)來源、順序、是否為最后一幀等信息,完全滿足了仿真系統(tǒng)通信的需要,較好地完成了各個子系統(tǒng)之間的通信。

4 結(jié)論
    CAN總線具有很好的應(yīng)用前景,它采用非破壞基于優(yōu)先權(quán)仲裁技術(shù),可實現(xiàn)多主工作方式,傳輸時間短,受干擾概率低,系統(tǒng)靈活、可擴展性強,報文摒除了傳統(tǒng)的源地址、目標地址的概念,僅用標識符來指示功能信息、優(yōu)先級信息,安裝簡單,易于維護,經(jīng)濟性好。該仿真系統(tǒng)已交付使用。使用結(jié)果表明,CAN總線局域網(wǎng)通信卡工作良好,系統(tǒng)工作正常,實現(xiàn)了各子系統(tǒng)之間的通信,人機界面友好,為大客飛機航電綜合控制系統(tǒng)不斷發(fā)展做好技術(shù)和物質(zhì)準備。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉