--- 停止位輸出--- tre <= ''1'' ;
---發(fā)送完畢標(biāo)志置“1”
--- end if ;
---發(fā)送器仿真波形如圖4 所示。

圖 4
2、 UART 接收器
串行數(shù)據(jù)幀和接收時(shí)鐘是異步的,發(fā)送來(lái)的數(shù)據(jù)由邏輯1 變?yōu)檫壿? 可以視為一個(gè)數(shù)據(jù)幀的開始。接收器先要捕捉起始位,確定rxd輸入由1到0,邏輯0要8個(gè)CLK16時(shí)鐘周期,才是正常的起始位,然后在每隔16個(gè)CLK16時(shí)鐘周期采樣接收數(shù)據(jù),移位輸入接收移位寄存器rsr,最后輸出數(shù)據(jù)dout。還要輸出一個(gè)數(shù)據(jù)接收標(biāo)志信號(hào)標(biāo)志數(shù)據(jù)接收完。
---接收器的端口信號(hào)如圖5 所示。

圖 5
---實(shí)現(xiàn)的部分VHDL 程序如下。
--- elsif clk1x''event and clk1x = ''1'' then
---if std_logic_vector(length_no) >= “0001” and std_logic_vector(length_no) <= “1001” then
---數(shù)據(jù)幀數(shù)據(jù)由接收串行數(shù)據(jù)端移位入接收移位寄存器
---rsr(0) <= rxda ;





