新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > FPGA實現UART和MCU一體化設計

        FPGA實現UART和MCU一體化設計

        作者: 時間:2011-03-30 來源:網絡 收藏

        2.1.1 模塊的設計與實現
        串行數據格式如圖3所示,串行數據包括5~8位數據(可更改設置)、1位起始位、1~2位停止位、1位校驗位。該模塊主要由發送模塊和接收模塊兩部分構成。在各自模塊中分別由接收緩沖器、接收控制電路、發送緩沖區、發送控制電路、數據總線緩沖器、讀寫控制電路組成,邏輯框圖如圖4所示。

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

        3.JPG

        模塊的發送模塊和接收模塊公用復位信號、時鐘信號和并行數據線,并且有各自的輸入/輸出模塊和控制電路單元。
        (1)發送模塊的設計。發送模塊將從微控制器送來的8位并行數據轉換成圖3所示的數據幀格式的串行數據發送出去。該模塊分為3種工作模式:空閑模式、載入數據模式、移位模式輸出模式。當并行的8位數據從微控制器通過數據線寫入發送FIFO(在以下2.1.2節實現)中時,發送模塊自動將并行數據裝入鎖存器THR中,首先發送起始位0,然后根據LCR定義的數據格式將數據移位,并通過狀態機和節拍器實現完整的發送序列,并以相應的波特率從TX發送出去。發送模塊的狀態機FSM如圖5所示。
        (2)接收模塊的設計。接收模塊接收串行輸入的數據(見圖3),然后將其轉換為并行數據送給微控制器。與發送模塊相同,也分為3種工作模式:空閑模式,檢測起始位模式、移位輸入模式。首先接收模塊在接收時鐘的控制下,不斷地在RX端口檢測輸入數據的起始位,當檢測到起始位后,接收模塊由空閑模式轉變為移位輸入模式。此時通過RX端口進來的串行數據可能存在著些許抖動,因此需要添加消抖電路進行處理。消抖處理一般有兩種辦法,一種是在前端添加非門的R8觸發器來完成,一種是類似軟件的方式控制采集輸入端的數據,并將前后采集的數據值進行比較,相同則保持,否則繼續采集比較,這里采用的是后者。當接收完數據,更新接收緩沖區狀態,以提供微控制器MCU查詢,方便讀取數據。接收模塊的狀態機FSME如圖6所示。

        4.JPG



        關鍵詞: FPGA UART MCU

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 高唐县| 仙桃市| 阿克| 临桂县| 当阳市| 凭祥市| 嘉义县| 邢台县| 思茅市| 郸城县| 高唐县| 鄱阳县| 秦皇岛市| 库车县| 察隅县| 茌平县| 乌兰县| 张家界市| 资兴市| 景东| 大同市| 龙州县| 广南县| 甘南县| 小金县| 历史| 家居| 太仆寺旗| 保康县| 高密市| 花垣县| 津市市| 桂阳县| 中江县| 孝昌县| 莱州市| 出国| 尖扎县| 江门市| 桐庐县| 台南县|