• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 一種基于C8051F310的UART擴展實現

    一種基于C8051F310的UART擴展實現

    —— A Method of UART Extension Based on C8051F310
    作者:信東 趙文才 岳開封 崔洪亮 劉麗英 第二炮兵士官學校二系 時間:2010-05-19 來源:電子產品世界 收藏

      引言

    本文引用地址:http://www.czjhyjcfj.com/article/109142.htm

      數據發送協議作為一種簡單的數據發送協議,被大量的使用在當前各種數字外設的數據傳輸上。但是現在的PC機存在無接口或接口較少的問題,當需要利用PC機對于多個數字設備同時處理問題時,就需要在PC機上進行擴展,這類問題在筆記本PC上尤為突出。通常這種問題的解決方法有以下幾種方法:(1)利用USB接口通過相應的轉換設備進行轉換。(2)利用PCI總線轉換卡獲得多個UART接口的擴展。前者優點在于實現簡單設備,成本低。后者優點在于可以實現多個接口擴展且功能完善。但在實際使用中發現兩者都存在一個共同的問題,即利用擴展獲得UART接口其工作性能不夠穩定,且存在不能完全實現多個UART接口的實時通訊。

      為解決上述硬件方法在工程實現存在的不足,本文針對項目實際需要提出了一種利用實現多UART接口擴展方法。通過作為數據收發的中繼器,實現對于多個UART采集的需要。

      UART數據發送

      8位UART數據傳輸主要利用RX,TX信號線實現數據的雙向傳輸(如圖1)。

      當數據接收時,數據線RX首先處于接收準備狀態即RX呈高電平,根據UART數據發送協議,如果RX線有數據接收時,RX線被置為低電平,接收起始位,在起始位后是為數據位,當最后一幀數據接收完畢后,產生終止,終止位的作用為將RX線電平置高,是RX線處于等待狀態。

      發送通過對于TX線上信號電平的操作實現對于數據的發送,發送初始狀態下TX線處于高電平,當啟動發送后將TX線電平置低產生起始位,在一個波特率時鐘周期后將開始發送數據,數據發送完畢后重新將TX電平置高使發送機處于等待狀態。

      單個UART實現方法

      本文利用作為軟件UART實現的平臺,主要方法是通過單片機的定時器產生波特率,根據波特率確定的位時間定時讀取(或發送)位數據信號,從而模擬了硬件UART的工作過程。具體的實現方法如下所述。

      (1)硬件連接

      在UART的軟件實現中主要是利用單片機模擬硬件UART的發送過程,因此我們利用單片機中定時器T0工作的雙八位定時模式用于產生波特率,PC機A0工作在邊沿捕捉狀態以捕捉SW_RX端口的電平變化產生,判斷數據接收的初始和終止。具體的硬件連接如圖2。


    上一頁 1 2 3 4 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 洪泽县| 嵩明县| 龙江县| 金秀| 裕民县| 日喀则市| 千阳县| 专栏| 海林市| 武安市| 喀喇沁旗| 克什克腾旗| 郴州市| 乡宁县| 井冈山市| 宁武县| 信宜市| 辉南县| 个旧市| 嘉峪关市| 台南市| 郁南县| 广州市| 荣成市| 三原县| 普定县| 河南省| 吴江市| 那曲县| 信阳市| 常熟市| 湟中县| 应城市| 巴彦淖尔市| 扶绥县| 垦利县| 手游| 福建省| 泰来县| 琼结县| 青冈县|