FPGA Uart串口例子

發(fā)布時(shí)間:2012-10-18 09:45    發(fā)布者:hanxing0
關(guān)鍵詞: FPGA , Uart收發(fā)
一、編程環(huán)境
軟件:    Quartus 12.0 Web
硬件:    DE2開(kāi)發(fā)板
二、例程功能描述
本例程實(shí)現從CPUPCPCPC兩種典型的串口通信模式之間的切換及傳輸,其中切換方式為通過(guò)按鍵切換,具體為:
Key0按下:PC->PC的傳輸,即FPGA通過(guò)接收PC串口發(fā)送的數據并將其反饋給PC端。
Key1按下:CPU->PC的傳輸,即FPGA中發(fā)送的測試數據行“Welcome to UseUART\r\n"按大約每?jì)擅胍淮蔚男问桨l(fā)送至PC端。
其中uart的傳輸模塊采用了crazy Bingo的傳輸模塊,因為串口僅支持單工通信,故設置兩個(gè)模式分別進(jìn)行測試。
二、總體RTL綜合后框圖及具體描述(因綜合后圖比較大,清晰的圖請放大)
file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-32359.png
本例程所包含模塊與功能:
1)clk_generator
本例所使用的系統時(shí)鐘為50MHz通過(guò)本分頻模塊產(chǎn)生發(fā)送數據時(shí)的時(shí)鐘115200Hzclk_bps)以及采用時(shí)鐘16*115200Hz(clk_smp)。
2)key_scan
通過(guò)計數方式消抖并返回key0key1的值,同時(shí)產(chǎn)生一個(gè)時(shí)鐘周期的收到按鍵信號key_flag。
3)mode_switcher
根據收到按鍵信號key_flag以及當前key_value切換傳輸狀態(tài),并生成當前狀態(tài)信號。
4)uart_receiver
    利用狀態(tài)機進(jìn)行接收數據的采樣,同時(shí)采樣點(diǎn)設置在7的位置(因為采樣頻率為發(fā)送頻率的16倍)獲取更加穩定的信號值,產(chǎn)生接收一個(gè)字符成功以及接收數據信號等。
5)cpudata
模擬產(chǎn)生發(fā)送串口數據的模塊,可以每隔兩秒鐘進(jìn)行發(fā)送,設計時(shí),延時(shí)注意提前一個(gè)結束字符進(jìn)行重新開(kāi)始計數,并且區分清楚什么時(shí)候對相關(guān)變量進(jìn)行賦值。
6)mux2
多位數據Mux2選擇器,根據Send_Mode選擇當前應當送至發(fā)送模塊的數據。
7)uart_transfer
Uart發(fā)送數據模塊,用于發(fā)送串口數據。
附串口設置:
file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-14838.png
testuart.zip (1 MB, 售價(jià): 2 積分)

本文地址:http://selenalain.com/thread-99325-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
csc57 發(fā)表于 2012-12-30 18:41:40
好好研究
aquasnake 發(fā)表于 2013-9-20 01:05:27
謝謝。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页