新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于LXI總線的1553B通訊模塊設計與開發

        基于LXI總線的1553B通訊模塊設計與開發

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

        2.5 接口
        BU-61580與控制器的接口形式非常靈活,本文根據需求和資源情況選擇16位緩沖連接方式。為了提高本的抗干擾性,論文采用變壓器耦合方式。BU-61580的外圍電路連接圖如圖5所示。

        3 軟件
        3.1 軟件結構
        軟件結構層次由NiosII處理器系統硬件、設備驅動程序、HAL API、μC/OSII、LwIP協議棧、系統初始化和應用程序7部分組成,如圖6所示。

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

        e.JPG


        1)NiosII處理器系統硬件:模型的核心,包括在FPGA中實現的NiosII軟核處理器和硬件外設;2)設備驅動程序:管理以太網、組件和其它外設的軟件函數;3)HAL API:硬件抽象層應用程序接口,對設備驅動程序提供標準化的接口,對外層提供類似于POSIX的API;4)μC /OSII:實時操作系統層,為LwIP協議棧、任務和嵌入式Web任務提供多任務和任務間服務;5)LwIP協議棧:通過套接字API為應用程序和應用系統初始化提供網絡服務;6)系統初始化:包括μC/OSII、LwIP協議棧和1553B組件初始化函數,也包括所有應用程序的任務、信號量、隊列和事件性標志等實時操作系統任務間資源的創建;7)應用程序:最外一層是建立的各項應用任務。
        應用程序工作過程如下:首先進行系統初始化,然后進入工作等待狀態。以太網任務等待客戶端通過以太網發來的數據包,當有數包到達時,經物理層處理后交于TCP/IP層處理。在TCP/IP協議層之上,建立了3個套接字接口來偵聽套接字連接:嵌入式Web端口、PING端口和1553B端口。對于1553B任務,根據客戶端不同的請求,將啟動不同的任務來完成相應的數據命令的發送或狀態的讀取。
        3.2 μC/OSII的LwIP協議實現
        輕量型IP(Light Weight IP,LwIP)協議是用于嵌入式系統開放源代碼的TCP/IP協議棧。LwIP在保持TCP協議主要功能的基礎上減少對RAM的占用,非常適合在嵌入式系統中使用。
        LwIP協議棧在設計時就考慮了移植問題,把所有與硬件、OS和編譯器相關的部分獨立了出來,因此LwIP在μC/OSII上移植只需修改目錄下的文件即可。
        3.3 1553B協議任務的實現
        為方便對BU-61580芯片操作,了BU-61580的驅動程序。驅動程序包括BU-61580芯片的初始化函數、BC發送接收命令函數、BC發送發送命令函數、BC發送接收/發送命令函數、BC發送不帶數據字的方式命令函數和BC發送帶數據字的方式命令函數。
        參考嵌入式Web服務器的實現方式,LwIP和μC/OSII建立了端口號為8000的1553B套字接口任務,流程如圖7所示。

        f.JPG


        首先建立1553B任務接口守護進程,創建TCP套接字,綁定端口,將TCP套接字轉換成偵聽套接字,進入循環結構,等待接受用戶的連接請求。當有客戶端請求連接端口8000時,調用套接字數據接收函數recv()將客戶端發送的數據讀取過來,將數據映射到定義的結構體變量alt_avalon_BU61580*bdev上;用請求解析函數int 1553B_request(alt_avalon BU61580*bdev)根據messagemode判斷需要采取什么操作方式:然后BU-61580的發送數據函數將數據內容寫到相應的寄存器或存儲器內,啟動BC發送;如果調用讀取數據函數,則將存儲器或寄存器地址傳遞給讀取函數,將讀取到的數據調用函數int 1553B_transmit(bdev[i],i)經以太網打包后發送給客戶端。

        4 儀器驅動程序
        儀器驅動程序是介于上層用戶應用程序和底層儀器硬件之間的一組函數,用戶在開發上層應用程序時,可以調用這些基本動作函數來使用儀器,而無須與底層硬件。
        參閱VPP規范,提供了VISA函數的儀器驅動程序。通過調用VISA函數,向模塊發送命令來完成模塊的功能。開發環境為LabWindo ws/CVI,而選用Agilent VISA作為VISA函數庫,主要是考慮Agilent是LxI的發起者,而且其提供的Agilent I/O Libraries封裝了許多關于LxI的功能。VISA函數所用的LxI儀器描述符有兩種:
        1)對于VXI-11規范為:TCPIPO::192.168.4.10::instO::INSTR;
        2)對于Sockets接口為:TCPIPO::192.168.4.10::8000::SOCKET。
        其中192.168.4.10為模塊地址(非固定),8000為1553B接口任務的端口號。開發的驅動程序以動態鏈接庫形式提供給上層應用程序使用。

        tcp/ip相關文章:tcp/ip是什么




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 昌平区| 肥乡县| 昌邑市| 靖边县| 达州市| 昌都县| 赣州市| 永平县| 大石桥市| 揭东县| 双桥区| 湾仔区| 涞水县| 杭锦旗| 乐亭县| 抚远县| 乐东| 板桥市| 石屏县| 璧山县| 阳山县| 榆社县| 南开区| 随州市| 克什克腾旗| 济阳县| 特克斯县| 喀什市| 富裕县| 汶川县| 文水县| 商河县| 龙陵县| 大名县| 清流县| 汕头市| 罗田县| 丹棱县| 吴川市| 涪陵区| 南召县|