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

    EEPW首頁 > 嵌入式系統 > 設計應用 > 利用FPGA實現外設通信接口之:利用FPGA實現RS-232C串行接口

    利用FPGA實現外設通信接口之:利用FPGA實現RS-232C串行接口

    作者: 時間:2017-06-04 來源:網絡 收藏

    10.2利用實現

    10.2.1RS-232C接口概述

    RS-232C標準最初是為遠程通信連接數據終端設備DTE(DataTerminalEquipment)與數據通信設備DCE(DataCommunicationEquipment)而制定的。因此這個標準的制定,并未考慮計算機系統的應用要求。

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

    目前,RS-232C又廣泛地應用于計算機與終端或外設之間的近端連接標準。顯然,這個標準的有些規定和計算機系統是不一致的,甚至是相矛盾的。

    RS-232C標準中所提到的“發送”和“接收”,都是站在DTE立場上,而不是站在DCE的立場來定義的。由于在計算機系統中,往往是CPU和I/O設備之間傳送信息,兩者都是DTE,因此雙方都能發送和接收。

    RS-232C標準(協議)的全稱是EIA-RS-232C標準,其中EIA(ElectronicIndustryAssociation)代表美國電子工業協會,RS(Recommendedstandard)代表推薦標準,232是標識號,C代表RS232的最新一次修改(1969年)。

    10.2.2RS-232C接口的電氣標準

    RS-232C采用的不是TTL電平的接口標準,而是負邏輯,即邏輯“1”為−3V~−15V,邏輯“0”為+3V~+15V。

    RS-232C對電器特性、邏輯電平和各種信號線功能都作了規定。

    在TxD和RxD上:邏輯1(MARK)為3V~−15V,邏輯0(SPACE)為+3~+15V。

    在RTS、CTS、DSR、DTR和DCD等控制線上:

    信號有效(接通,ON狀態,正電壓)為+3V~+15V;

    信號無效(斷開,OFF狀態,負電壓)為−3V~−15V。

    RS-232C是用正負電壓來表示邏輯狀態,與TTL以高低電平表示邏輯狀態的規定不同。因此,為了能夠同計算機接口或終端的TTL器件連接,必須在RS-232C與TTL電路之間進行電平和邏輯關系的變換。

    10.2.3RS-232C的通信協議

    所謂“串行通信”是指外設和計算機間使用一根數據信號線(另外需要地線,可能還需要控制線),數據在一根數據信號線上一位一位地進行傳輸,每一位數據都占據一個固定的時間長度,如圖10.1所示。

    圖10.1RS-232C接口的數據通信方式

    這種通信方式使用的數據線少,在遠距離通信中可以節約通信成本,當然,其傳輸速度比并行傳輸慢。

    由于與接口之間按并行方式傳輸,接口與外設之間按串行方式傳輸,因此,在串行接口中,必須要有“接收移位寄存器”(串→并)和“發送移位寄存器”(并→串)。典型的串行接口的結構如圖10.2所示。

    圖10.2串行接口模塊的結構示意圖

    在數據輸入過程中,數據一位一位地從外設進入接口的“接收移位寄存器”,當“接收移位寄存器”中已接收完1個字符的各位后,數據就從“接收移位寄存器”進入“數據輸入寄存器”。

    從“數據輸入寄存器”中讀取接收到的字符,并行讀取,即D7~D0同時被讀至累加器中;“接收移位寄存器”的移位速度由“接收時鐘”確定。

    在數據輸出過程中,FPGA把要輸出的字符(并行地)送入“數據輸出寄存器”,“數據輸出寄存器”的內容傳輸到“發送移位寄存器”,然后由“發送移位寄存器”移位,把數據一位一位地送到外設。“發送移位寄存器”的移位速度由“發送時鐘”確定。

    接口中的“控制寄存器”用來容納FPGA送給此接口的各種控制信息,這些控制信息決定接口的工作方式。

    能夠完成上述串并轉換功能的電路,通常稱為“通用異步收發器”(:UniversalAsynchronousReceiverandTransmitter),包括:雙緩存發送數據寄存器、并行轉串行裝置、雙緩存輸入數據寄存器、串行轉并行裝置。

    RS232通信協議基本結構如圖10.3所示,起始位低,停止位高。波特率范圍是300~115200bit/s;8位數據位;一位或兩位停止位;奇校驗、偶校驗或無校驗位。

    圖10.3RS232通信協議基本結構

    10.2.4RS-232C接口的典型應用

    RS-232C不僅可以用來實現FPGA系統與PC之間的低速率數據傳遞,而且可以廣泛應用到工業控制和自動化儀器儀表領域。RS-485和RS-422等標準與RS-232C標準一樣,協議部分也采用了協議,因此FPGA的實現邏輯是相同的,只是接口電平不同。

    在FPGA上,可以實現多個單元。也就是說,單片FPGA可以支持多個RS-232C接口,比較適合需要多個串口的場合。傳統的單片機(MCU)或者ARM處理器一般只能支持2~3個UART接口,在這樣場合就需要外圍芯片來擴展UART。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 阜城县| 金堂县| 南江县| 岗巴县| 凤庆县| 白山市| 南丰县| 嘉荫县| 寿宁县| 香格里拉县| 民权县| 团风县| 抚顺市| 沙雅县| 平邑县| 凤翔县| 洛宁县| 佛山市| 上犹县| 南漳县| 定边县| 阜康市| 社旗县| 广汉市| 永平县| 平南县| 潮州市| 浮山县| 绩溪县| 定南县| 镶黄旗| 乐都县| 通化县| 清新县| 邳州市| 辉县市| 南部县| 伊川县| 芦溪县| 竹山县| 舞阳县|