新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的UART設計與實現

        基于FPGA的UART設計與實現

        作者: 時間:2010-08-09 來源:網絡 收藏
        0 引言
        通用異步收發器(Universal Asynchronous Receiver/Transmitter,)可以和各種標準串行接口,如RS 232和RS 485等進行全雙工異步通信,具有傳輸距離遠、成本低、可靠性高等優點。一般由專用芯片如8250,16450來實現,但專用芯片引腳都較多,內含許多輔助功能,在實際使用時往往只需要用到的基本功能,使用專用芯片會造成資源浪費和成本提高。
        一般而言UART和外界通信只需要兩條信號線RXD和TXD,其中RXD是UART的接收端,TXD是UART的發送端,接收與發送是全雙工形式。由于可編程邏輯器件技術的快速發展,的功能日益強大,其開發周期短、可重復編程的優點也越來越明顯,在芯片上集成UART功能模塊并和其他模塊組合可以很方便地實現一個能與其他設備進行串行通信的片上系統。

        1 UART功能設計
        1.1 UART的工作原理

        異步通信時,UART發送/接收數據的傳輸格式如圖1所示,一個字符單位由開始位、數據位、停止位組成。

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


        異步通信的一幀傳輸經歷以下步驟:
        (1)無傳輸。發送方連續發送信號,處于信息“1”狀態。
        (2)起始傳輸。發送方在任何時刻將傳號變成空號,即“1”跳變到“O”,并持續1位時間表明發送方開始傳輸數據。而同時,接收方收到空號后,開始與發送方同步,并期望收到隨后的數據。
        (3)奇偶傳輸。數據傳輸之后是可供選擇的奇偶位發送或接收。
        (4)停止傳輸。最后是發送或接收的停止位,其狀態恒為“1”。
        發送或接收一個完整的字節信息,首先是一個作為起始位的邏輯“0”位,接著是8個數據位,然后是停止位邏輯“1”位,數據線空閑時為高或“1”狀態。起始位和停止位的作用是使接收器能把局部時鐘與每個新開始接收的字符再同步。異步通信沒有可參照的時鐘信號,發送器可以隨時發送數據,任何時刻串行數據到來時,接收器必須準確地發現起始位下降沿的出現時間,從而正確采樣數據。
        設計時可參考由專用芯片實現的UART的功能并進行一定精簡,如可以用的片內RAM替代UART的FIFO,不用單獨在UART模塊中實現。設計的基本原則是保留最主要的功能,基于FPGA的UART系統由波特率時鐘發生器、接收器和發送器3個子模塊組成,如圖2所示。



        上一頁 1 2 3 下一頁

        關鍵詞: FPGA UART

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 乐山市| 双辽市| 泗阳县| 九龙坡区| 西和县| 江山市| 会理县| 清水河县| 龙岩市| 遂宁市| 安龙县| 晴隆县| 阳高县| 郎溪县| 黎川县| 从化市| 仁寿县| 林州市| 清流县| 七台河市| 海安县| 夏河县| 仁寿县| 南通市| 行唐县| 思南县| 邹城市| 龙江县| 晋州市| 十堰市| 宁河县| 景德镇市| 巨鹿县| 射洪县| 丰台区| 鄄城县| 团风县| 八宿县| 香港 | 长沙市| 永福县|