--- parity <= parity xor rsr(7) ;
--- elsif std_logic_vector(length_no) = “1010” then --- rbr <= rsr ;
--- 接收移位寄存器數(shù)據(jù)進(jìn)入接收緩沖器
---
--- end if ;
---接收器仿真波形如圖6 所示。

圖 6
3、 波特率發(fā)生器 --- UART 的接收和發(fā)送是按照相同的波特率進(jìn)行收發(fā)的。波特率發(fā)生器產(chǎn)生的時鐘頻率不是波特率時鐘頻率,而是波特率時鐘頻率的16倍,目的是為在接收時進(jìn)行精確地采樣,以提出異步的串行數(shù)據(jù)。---根據(jù)給定的晶振時鐘和要求的波特率算出波特率分頻數(shù)。
---波特率發(fā)生器仿真波形如圖7 所示。

圖 7
三、小 結(jié)
通過波特率發(fā)生器、發(fā)送器和接收器模塊的設(shè)計與仿真,能較容易地實現(xiàn)通用異步收發(fā)器總模塊,對于收發(fā)的數(shù)據(jù)幀和發(fā)生的波特率時鐘頻率能較靈活地改變,而且硬件實現(xiàn)不需要很多資源,尤其能較靈活地嵌入到FPGA/CPLD的開發(fā)中。在EDA技術(shù)平臺上進(jìn)行設(shè)計、仿真與實現(xiàn)具有較好的優(yōu)越性。





