新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM中基于DMA的高效UART通訊及其應用

        ARM中基于DMA的高效UART通訊及其應用

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

        5、試驗及結論

        為了驗證的有效性,筆者做了對比試驗。把負責軌跡插補的定時中斷優先級設計成最高(中斷時間間隔50毫秒,中斷服務程序執行時間約需要30毫秒),然后一個機器人采用中斷方式接收上位機連續發送的100組命令,另一個采用的方式接收上位機連續發送的100組命令。然后在機器人主程序中通過讀取的狀態寄存器判斷出現錯誤(主要是數據溢出錯誤,即緩沖區有接收數據而沒有及時讀取,被新的數據覆蓋)的次數。軟件采用C語言,用ADS1.2編譯調試。試驗結果如表2。實驗證明了第二種方式的有效性。

        表2:對比試驗結果
        5.jpg

        本文作者的創新點在于:在中,通過采取方式,直接將接收的數據轉移到設定好的RAM區,然后設置相應的全局標志,通知主程序數據可用就可以了。開發人員不需要到UART的緩沖區中讀取數據,直接讀RAM就可以了。與采用中斷方式或者查詢方式的串行口方式相比較,不僅僅可以節省CPU通訊時用于接收數據的時間,同時可以防止UART接收的數據由于沒有及時被讀取而丟失,提高了通訊的可靠性。

        參考文獻:
        (1)嵌入式系統開發與,田澤編著,北京航空航天大學出版社,2005年5月第一版;
        (2)S3C44B0X RISC MICROPROCESSOR ,SAMSUNG ElECTRONICS
        (3)微控制器基礎與實戰,周立功等編著,北京航空航天大學出版社,2003年11月第1版.
        (4) 魏永清 萬寶年,具有軟件模擬FIFO緩沖區的串口通信模塊設計,微計算機信息 2006年第7-2期:64-66


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 理塘县| 卢湾区| 新疆| 镇安县| 静宁县| 宜章县| 星座| 常德市| 江北区| 阜新市| 眉山市| 黄平县| 游戏| 静乐县| 蛟河市| 洪泽县| 望江县| 牡丹江市| 兴业县| 来宾市| 定安县| 南京市| 三门县| 沿河| 泾源县| 荥经县| 闵行区| 察雅县| 武乡县| 红河县| 嘉兴市| 攀枝花市| 宝应县| 岐山县| 大港区| 樟树市| 河源市| 清远市| 沙坪坝区| 华坪县| 璧山县|