新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于CAN的大客飛機航電系統局域網通信設計

        基于CAN的大客飛機航電系統局域網通信設計

        作者: 時間:2012-06-01 來源:網絡 收藏

        2.2 控制部分
        總線控制部分如圖4所示,主要由總線控制器SJA1000、單片機AT89S52和雙口RAMIDT7006組成,負責整個總線控制以及和PCI局部總線的互連。雙口RAM作為CAN總線和PCI局部總線交換數據時的一個緩沖存儲區。單片機AT89S52是該通信卡通信控制的核心,它負責與雙口RAM以及CAN控制器SJA1000之間的通信。

        本文引用地址:http://www.104case.com/article/154762.htm

        e.JPG


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

        3 仿真的軟件
        軟件設計是在Windows XP環境下,用VisualC++6.0開發,采用面向對象的設計方法。軟件主要包括主模塊、初始化模塊、控制模塊、數據管理模塊、通信模塊、顯示模塊和通信接口驅動軟件等。軟件可以通過友好界面為用戶提供通過CAN總線進行通信的雙方的設備號、端口號、波特率、數據等,可以初始化芯片,可以進行復位操作,可以設置波特率。向用戶展示CAN總線的通信過程和結果,體現CAN線協議的功能。軟件流程圖如圖6所示。

        f.JPG



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 新邵县| 安平县| 蒙城县| 黑龙江省| 修水县| 庄浪县| 手游| 武川县| 乐安县| 连云港市| 兴义市| 稻城县| 西乡县| 祥云县| 天门市| 大连市| 尼木县| 惠安县| 富蕴县| 长垣县| 灵武市| 常熟市| 赤水市| 西青区| 上犹县| 文山县| 乌兰浩特市| 连山| 宁国市| 明溪县| 蓬莱市| 衡南县| 武宣县| 辉县市| 东明县| 宝山区| 鄂州市| 泉州市| 怀柔区| 类乌齐县| 来宾市|