<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于FPGA 的簡(jiǎn)化UART 電路設計

基于FPGA 的簡(jiǎn)化UART 電路設計

作者: 時(shí)間:2009-03-10 來(lái)源:網(wǎng)絡(luò ) 收藏

發(fā)送模塊主要實(shí)現對并行數據的緩存,并串轉換,然后把串行數據按照既定數據幀格式進(jìn)行輸出,其機構如圖3 所示:

圖3 發(fā)送模塊

a) data_input[7:0]是8 位并行數據的輸入端,轉換成串行數據后從txd 輸出;
b) wrn 是寫(xiě)控制信號,為1 時(shí)禁止數據輸入,為0 時(shí)允許輸入;
c) reset 為系統復位輸入端,低電平有效;
d) clk 為系統時(shí)鐘信號輸入端,由波特率發(fā)生器產(chǎn)生;
e) tser 是并串轉換過(guò)程的標志:在沒(méi)有數據轉換時(shí)保持為1,在并串轉換開(kāi)始時(shí)變成0,

并在轉換過(guò)程中保持為0; f) tbre 是整個(gè)工作過(guò)程的標志。實(shí)驗中串行數據結構為1 位起始位,8 位數據位,1 位奇偶校驗位,1 位停止位。數據 的發(fā)送由外部接收模塊控制,接收模塊給出wrn 信號, 發(fā)送模塊根據此信號將并行數據data-input 鎖存進(jìn)發(fā)送緩沖,并通過(guò)移位寄存器進(jìn)行并串轉換,在轉換結束后加上奇偶校驗位,發(fā)送到端口txd 進(jìn)行串行輸出。在整個(gè)工作過(guò)程中,輸出信號tbre 作為標志信號,在串行數據全部輸出完畢之后變成0, 并在發(fā)送模塊未工作時(shí)保持為0。
2.4 接收模塊
接收模塊的結構如圖4 所示。接收模塊的作用是把收到的串行數據轉換成并行數據進(jìn)行輸出,并判斷收到數據是否有錯。接收模塊的內部結構及工作過(guò)程與發(fā)送模塊類(lèi)似,只不過(guò)接收模塊的工作和發(fā)送模塊的工作相反,是進(jìn)行數據的串并轉換。


圖4 接收模塊
a) rxd 接收串行數據輸入;
b) rdn 為輸入控制端,只有rdn 為0 時(shí),并行數據才允許輸出;
c) data-ready 為數據是否準備好的標志;
d) parity-error 為校驗位是否出錯的標志;
e) framing-error 為幀是否出錯的標志;
f) data-out[7:0]為并行數據輸出端。


接收模塊從捕捉到數據串的第一個(gè)0 開(kāi)始工作,然后把隨后依次輸入的8 個(gè)數據位通過(guò)移位在寄存器中完成竄并轉換,并將并行數據輸出至端口data-out 。將8 個(gè)數據位移位至寄存器后,接收模塊將檢測輸入數據串的最后一位是否為1(停止位)來(lái)判斷接收到的數據幀是否出錯,若不為1,就將輸出framing-error 置1。
3 仿真驗證在實(shí)驗中,作者選用Altera 公司的Cyclone 系列產(chǎn)品中的EP1C12Q240C8 芯片,硬件描述語(yǔ)言采用Verilog HDL,用Quartus 5.1 進(jìn)行邏輯綜合,仿真工具則使用ModelSim6.0 。發(fā)送模塊和接收模塊的仿真結果分別如圖5 所示。發(fā)送的數據能夠嚴格按照串行通信協(xié)議進(jìn)行傳輸;接收的數據也完全正確。通過(guò)仿真測試后,將程序下載到 芯片中運行,結果通信數據正確,電路工作穩定、可靠。

圖5 發(fā)送和接收模塊仿真


4 結束語(yǔ)
實(shí)現了UART 通信功能,可以實(shí)現對數據的接收和發(fā)送,并可以在接收 數據時(shí)對其校驗位、停止位進(jìn)行判斷,在發(fā)送數據時(shí)可以形成完整的一幀數據格式。本 文利用 設計實(shí)現了UART 的核心功能,可以和上位機進(jìn)行異步串行通信。實(shí)驗 證明該UART 設計占用資源少,工作穩定可靠。
本文作者創(chuàng )新觀(guān)點(diǎn):本文對UART 系統結構進(jìn)行了模塊化分析,可以根據實(shí)際的需要可選擇地實(shí)現相應的通信功能,簡(jiǎn)化了,提高了系統的可靠性,可以靈活地嵌入到各個(gè)通信系統當中。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: FPGA UART 電路設計

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>