新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > 基于LAN的高集成度數據采集設備研制

        基于LAN的高集成度數據采集設備研制

        作者: 時間:2013-12-13 來源:網絡 收藏
        e="margin: 0px; padding: 0px; border: 0px; ">

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

        FPGA 內部邏輯控制功能切換、實現MAX134內部寄存器的讀寫,進而實現數字多用表功能。

        3 軟件設計

        3.1 網絡通訊功能實現方法

        本設計利用DSP/BIOS 結合NDK 實現網絡通訊功能。DSP/BIOS 是TI 公司為C28x,C5000 和C6000 系列DSP開發的可剪裁實時多任務操作系統,同時也是CCS提供的一套多任務開發、硬件抽象、實時分析和系統配置的專用工具。DSP/BIOS以其功能豐富的APIs綜合管理系統內存,實現任務分配和調度,實時監測分析系統運行,并提供方便的數據通信接口和外設驅動開發工具。NDK是TI專門為網絡應用開發提供的網絡開發工具包,利用其TCP/IP協議棧開發網絡應用具有成本低、開發周期短的特點。網絡性能由套接字類型、套接字緩沖區、CPU速度和CPU緩沖等幾方面決定。要使用NDK 必須在DSP/BIOS 中配置TCP/IP 協議棧,主要在DSP/BIOS的。cdb文件中做以下配置:

        (1)全局設置GBL

        設置系統初始化函數dm642_init,用于設置L2 模式,分配MAC地址;

        (2)設置MEM對象

        配置程序、數據存儲區域及堆棧大小;

        (3)設置HOOK對象

        設置NDK的TCP/IP協議棧保存空間;

        (4)設置PRD對象

        設置NDK HAL庫中的定時驅動事件;

        (5)設置線程TSK

        靜態創建2個線程:TSK_idle線程,優先級最低,當系統沒有其他任務執行時運行;TSK_main主線程,優先級最高,用于配置服務器信息及啟動HTTP服務。

        配置文件生成之后,在DSP/BIOS 中編寫網絡主線程TSK_main,用于啟動運行TCP/IP 協議棧,啟動HTTP服務,同時不斷監測和響應網絡底層事件。在主線程中可以動態創建任務,用于實現與其他網絡設備的網絡通訊功能。3.2 多任務線程管理機制

        為了優化CPU資源,實現各功能的協調運作,需要合理劃分功能、規劃任務。本設計構建了按優先級從高到低創建了高速A/D 線程、低速A/D 線程、數字多用表線程、網絡傳輸線程和網絡配置線程。其中,網絡傳輸任務是最核心的任務線程,主要完成創建線程、網絡命令解析、通道查詢和數據上傳的功能,流程圖如5所示。

        基于LAN的高集成度數據采集設備研制

        網絡傳輸任務使用套接字編程,工作在服務器模式,通訊方式采用TCP.首先調用fdOpenSession()函數建立文件描述表,調用socket()創建套接字,然后綁定IP信息、監聽,然后等待客戶端連接請求,一旦客戶端連接上,便調用fdSelect()函數檢測客戶端是否發送數據,如果有數據則接收,否則繼續檢測,除非客戶端斷開連接。在這種設計模式下,允許客戶端重復的執行斷開、連接操作,保證了系統工作的穩定性。

        DSP/BIOS 支持硬件中斷(HWI)、軟件中斷(SWI)、任務(TSK)和空閑線程(IDL)4種類型的線程,它們的線程優先級從高到低。硬件中斷線程主要用來處理響應時間要求嚴格的請求,同時它的優先級最高,能搶占當前運行的其他線程及時運行,本設計各線程運行調度狀態如圖6所示。

        基于LAN的高集成度數據采集設備研制

        圖中黑色陰影部分表示線程運行,白色不封表象線程掛起。高速A/D處理的數據量最大,對處理響應的時間要求嚴格,故將它的優先級設為最高,能搶占當前運行的其他線程及時運行,保證數據實時上傳,低速A/D線程和數字多用表線程的優先級根據其對時間的要求逐次降低。

        4 測試

        為了測試接口板的網絡通訊功能,使用PC 機作為客戶端,與設備通過路由器連在局域網內。設備作為服務器端,在PC機端采用VS2005編寫上位機網絡通訊程序,每次傳輸46 720 B數據,在開始和結束數據傳輸時刻讀取系統時間,并計算出網絡傳輸的速率,如圖7所示。

        基于LAN的高集成度數據采集設備研制

        DM642中L2的Cache大小會影響網絡傳輸速度,實驗發現,當Cache大小在128 KB是,傳輸速率達到了最佳,為89.2 Mb/s,由于在局域網中網絡環境相對復雜等原因,沒有達到理想的100 Mb/s的傳輸速率。A/D



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 依兰县| 灌南县| 满洲里市| 丘北县| 施秉县| 铁岭县| 开江县| 万山特区| 达拉特旗| 政和县| 济源市| 昂仁县| 广元市| 金堂县| 阆中市| 滕州市| 嘉善县| 翁牛特旗| 台东市| 博乐市| 灵川县| 临泉县| 玛曲县| 榕江县| 延吉市| 扶风县| 光山县| 准格尔旗| 永寿县| 怀来县| 丰都县| 沁水县| 永胜县| 汾西县| 新昌县| 含山县| 安陆市| 利津县| 永城市| 石棉县| 扶沟县|