新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM的高速數據采集卡

        基于ARM的高速數據采集卡

        作者: 時間:2012-04-17 來源:網絡 收藏

        在手動采集方式下,TRIENO為低電平,TRIEN1高電平,當緩存器為空即FWr_FUL為高電平,通過LabVIEW制作的界面控制QSTART為高電平時,FWr_EN被拉高進行。當緩存器滿時FWr_FUL被拉低,停止采集數據。

        在輸入信號觸發方式下,TRIEN0和QSTART為低電平,當緩存器為空即FWr_FUL為高電平,輸入信號電壓高于比較器的參考電壓時, TOUT被拉高,FWr_EN被拉高進行。當緩存器滿時FWr_FUL被拉低,停止采集數據。拉高TRIEN1后讀取緩存數據。

        采集周期信號和輸入信號觸發方式相似,只是保持TRIEN1為高電平。在讀取緩存數據時.觸發信號到來后采集數據。

        4 卡的軟件設計

        4.1 μC/OS-II的USB驅動編程

        μC/OS-II提供了多任務實時操作系統的內核。在應用該操作系統時,通常需要用戶自己編寫μC/OS-II的外圍器件驅動程序,以使外圍器件能在操作系統的協調下更好地為用戶服務。為了使軟件可移植性強、易維護,筆者在編寫LPC2142 USB固件時綜合考慮USB協議、LPC2142 USB硬件條件,把驅動程序分為5層,如圖3所示。圖中的雙向線表示用戶軟件與USB固件之間存在著數據交換,單向線表示上層軟件對下層軟件的調用,這樣使得固件結構分明。

        54.jpg

        擁有了USB驅動程序,用戶可在此平臺上完成用戶軟件所要實現的任務,如圖4所示。單向線表示主任務對讀寫任務的控制。主任務通過信號量控制讀/寫任務的運行狀態,從而實現對FIFO緩存器的讀和寫;雙向線表示各個模塊之間存在著數據交換。為了加快大量數據的收發,本程序把LPC2142USB的邏輯端點1作為控制命令的傳輸通道,把端點2作為數據的傳輸通道。

        55.jpg



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 深水埗区| 沂源县| 乐亭县| 军事| 会东县| 闵行区| 洪雅县| 睢宁县| 平舆县| 万山特区| 凉山| 汾阳市| 肥乡县| 曲沃县| 平谷区| 黑龙江省| 寿阳县| 新泰市| 抚顺市| 泊头市| 美姑县| 七台河市| 南宫市| 济宁市| 福清市| 绿春县| 卓资县| 河南省| 赤水市| 汾西县| 鹰潭市| 万州区| 乌什县| 卢湾区| 驻马店市| 双江| 广平县| 舟曲县| 沽源县| 新河县| 酒泉市|