新聞中心

        EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于FPGA實現(xiàn)異步串行通信

        基于FPGA實現(xiàn)異步串行通信

        作者: 時間:2013-10-23 來源:網(wǎng)絡(luò) 收藏

        1.4 數(shù)據(jù)接收模塊
        數(shù)據(jù)的接收與數(shù)據(jù)的發(fā)送相比要復(fù)雜些。在數(shù)據(jù)的接收過程中,UART的接收模塊首先要進(jìn)行的是對起始位的檢驗。一般當(dāng)接收的第一個是低電平,就標(biāo)志著一個數(shù)據(jù)幀的開始,但是在一個數(shù)據(jù)幀中間也有可能包括一個低電平的位,系統(tǒng)有可能默認(rèn)為這個低電平為起始位,這樣就會產(chǎn)生一個“假的起始位”。所以,在數(shù)據(jù)接收的過程當(dāng)中還要包括對數(shù)據(jù)起始位的判斷。所以數(shù)據(jù)的接收過程可以分為空閑狀態(tài)、起始位檢測狀態(tài)、數(shù)據(jù)位讀取狀態(tài)、讀取停止?fàn)顟B(tài)、準(zhǔn)備完成接收和停止位讀取狀態(tài)。在判斷起始位低電平后,觸發(fā)接收過程,進(jìn)入數(shù)據(jù)位讀取狀態(tài)使總線的輸入數(shù)據(jù)不斷被讀取并且保存在寄存器內(nèi),計數(shù)器也到達(dá)計數(shù)的上限時,接收完成之后并進(jìn)入準(zhǔn)備完成接收狀態(tài),UART控制器會在輸出結(jié)果之前對已經(jīng)接收的數(shù)據(jù)進(jìn)行奇偶校驗。然后進(jìn)入停止位讀取狀態(tài)。在每一種狀態(tài),如果使能信號無效時都轉(zhuǎn)回空閉狀態(tài)。最后UART控制器準(zhǔn)備下一次的數(shù)據(jù)接收并重置控制器內(nèi)的信號檢測器。
        在接收數(shù)據(jù)過程中,會有一些其他原因使信號產(chǎn)生反轉(zhuǎn)。為了消除毛刺,在接收數(shù)據(jù)時,采用3選2的方法消除誤差。也就是這個字符的值是至少有兩次采樣的值相等的值。
        采用3選2方法接收數(shù)據(jù)的程序如下:
        e.JPG
        接收一幀數(shù)據(jù)的仿真結(jié)果如圖6所示。

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

        f.JPG

        g.JPG


        在波特率為115 200情況下對UART進(jìn)行仿真,結(jié)果如圖7所示。通過仿真波形可以看出,設(shè)計結(jié)果正確地發(fā)送和接收一幀數(shù)據(jù)并產(chǎn)生相應(yīng)的中斷。

        2 結(jié)論
        本文介紹了一種功能,采用多模塊的方法功能,可以方便用戶根據(jù)需要進(jìn)行裁減、便于理解和調(diào)試。本文運用Verilog語言進(jìn)行設(shè)計串行并行收發(fā)器的IP核電路。
        UART功能,充分利用了FPGA的剩余資源,相對于專用UART芯片,減小系統(tǒng)PCB板的面積,降低系統(tǒng)的功耗,提高系統(tǒng)的穩(wěn)定性。近年來在電子設(shè)計領(lǐng)域中,這種硬件軟件化的方法已經(jīng)成為一種流行趨勢。該設(shè)計采用Xilinx公司的Spartan3E系列中器件XC3S100E。通過ISE軟件進(jìn)行時序仿真和硬件測試各項指標(biāo)均滿足要求,整個設(shè)計的正確性和完整性得到驗證,各項功能均達(dá)到預(yù)期的要求。

        fpga相關(guān)文章:fpga是什么


        通信相關(guān)文章:通信原理


        數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理

        上一頁 1 2 3 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 康乐县| 廉江市| 衡东县| 丹凤县| 佛山市| 吉木乃县| 开阳县| 彝良县| 朔州市| 同江市| 嘉峪关市| 闻喜县| 神池县| 山西省| 醴陵市| 长汀县| 沭阳县| 镇沅| 荔波县| 金川县| 龙口市| 德化县| 宁国市| 博野县| 视频| 日照市| 大洼县| 府谷县| 滁州市| 普格县| 扎鲁特旗| 罗平县| 南涧| 莲花县| 崇州市| 达日县| 育儿| 崇礼县| 东乌珠穆沁旗| 洛浦县| 梅河口市|