【正文】
同的波特率進行收發(fā)的。 UART系統(tǒng)組成 FPGA UART由三個子模塊組成:(1)波特率發(fā)生器;(2)接收模塊;(3)發(fā)送模塊. 頂層模塊 異步收發(fā)器的頂層模塊由波特率發(fā)生器、UART接收器和UART發(fā)送器構(gòu)成。use 。n end ponent。n bclk:out std_logic)。波特率分頻因子可以根據(jù)不同的應用需要更改。end baud。 bclk=39。end Behavioral。這時由于XMIT_CMD是一個外加信號,在FPGA之外,不可能對XMIT_CMD的脈沖寬度進行限制,如果XMIT_CMD有效在UART發(fā)完一個數(shù)據(jù)幀后仍然有效,那么就會錯誤地被認為,一個新的數(shù)據(jù)發(fā)送命令又到來了,UART發(fā)送器就會再次啟動UART幀的發(fā)送,顯然該幀的發(fā)送是錯誤的。X_STOPn 停止位發(fā)送狀態(tài),當數(shù)據(jù)幀發(fā)送完畢,狀態(tài)機轉(zhuǎn)入該狀態(tài),并發(fā)送16個bclk周期的邏輯1信號,即1位停止位。 定義輸入輸出信號 txdbuf:in std_logic_vector(7 downto 0)。 定義中間變量variable xbitt:integer:=0。139。 when x_start= 狀態(tài)2,發(fā)送信號至起始位 if xt16=01111 then state=x_wait。xbitt:=0。 xbitt:=xbitt+1。 end if。 when others=state=x_idle。 UART接收器的接收狀態(tài)圖 UART接收器程序設計文件名:。 Port (bclkr,resetr,rxdr:in std_logic。039。 定義中間變量variable rt:integer:=0。 then state=r_center。 when r_center= 狀態(tài)2,求出每位的中點 if rxd_sync=39。 end if。 when r_sample=rbufs(rt):=rxd_sync。 end case。在本次的設計中通過對波特率發(fā)生器、發(fā)送器和接收器模塊的設計與仿真,能實現(xiàn)通用異步收發(fā)器總模塊。HDL語言,結(jié)合有限狀態(tài)機的設計方法實現(xiàn)了UART的功能,將其核心功能集成到FPGA上,使整體設計緊湊、小巧,實現(xiàn)的UART功能穩(wěn)定、可靠。 state=r_start。 state=r_wait。 end if。039。 復位 elsif rising_edge(bclkr) then case state is when r_start= 狀態(tài)1,等待起始位 if rxd_sync=39。end process。signal rxd_sync:std_logic。use 。 UART發(fā)送器程序仿真 UART接收器只要每隔16個bclk周期輸出1個數(shù)據(jù)即可,次序遵循第1位是起始位,第8位是停止位。 state=x_stop。 else xt16:=xt16。 end if。 end if。 else state=x_idle。039。signal tt:integer:=0。entity transfer is generic(framlent:integer:=8)。 X_SHIFT狀態(tài)n 當狀態(tài)機處于這一狀態(tài)時,實現(xiàn)待發(fā)數(shù)據(jù)的并串轉(zhuǎn)換。n 在這個狀態(tài)下,UART的發(fā)送器一直在等待一個數(shù)據(jù)幀發(fā)送命令XMIT_CMD。 end if。039。entity baud is Port (clk,resetb:in std_logic。end Behavioral 波特率發(fā)生器實際上就是一個分頻器。n end ponent。n r_ready:out std_logic。n use 。小功率超聲探頭多作探測作用。被選通的數(shù)碼管顯示數(shù)據(jù)。在邏輯結(jié)構(gòu)上,每秒9600次的發(fā)送節(jié)拍由波特率發(fā)生器產(chǎn)生,它是一個參數(shù)化、分頻比的整數(shù)分頻器。從圖中可以看出,這種格式是靠起始位和停止位來實現(xiàn)字符的界定或同步的,故稱為起止式協(xié)議。功能較為簡單,但使用方便、占用資源少,可以靈活地嵌入到各種設計之中??梢哉fEDA產(chǎn)業(yè)已經(jīng)成為電子信息類產(chǎn)品的支柱產(chǎn)業(yè)。實現(xiàn)了基于FPGA的UART基本功能設計,并給出了UART的軟件編程實例.關鍵字:Verilog HDL;FPGA;UARTBased on SCM ultrasonic ranging system Design( YiChun University Physical science and engineering institute of technology Li Yang)Abstract: th