資源描述:
《FPGA串口通信例程.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、`timescale1ns/1ps//////////////////////////////////////////////////////////////////////////////////Company://Engineer:////CreateDate://DesignName://ModuleName:my_uart_top//ProjectName://TargetDevice://Toolversions://Description:////Dependencies:////Revision://Revision0.01-FileCreated//Additiona
2、lComments://////////////////////////////////////////////////////////////////////////////////modulemy_uart_top(clk,rst_n,rs232_rx,rs232_tx);inputclk;//25MHz主時(shí)鐘inputrst_n;//低電平復(fù)位信號(hào)inputrs232_rx;//RS232接收數(shù)據(jù)信號(hào)outputrs232_tx;//RS232發(fā)送數(shù)據(jù)信號(hào)wirebps_start1,bps_start2;//接收到數(shù)據(jù)后,波特率時(shí)鐘啟動(dòng)信號(hào)置位wireclk_bps1,clk
3、_bps2;//clk_bps_r高電平為接收數(shù)據(jù)位的中間采樣點(diǎn),同時(shí)也作為發(fā)送數(shù)據(jù)的數(shù)據(jù)改變點(diǎn)wire[7:0]rx_data;//接收數(shù)據(jù)寄存器,保存直至下一個(gè)數(shù)據(jù)來(lái)到wirerx_int;//接收數(shù)據(jù)中斷信號(hào),接收到數(shù)據(jù)期間始終為高電平//----------------------------------------------------//下面的四個(gè)模塊中,speed_rx和speed_tx是兩個(gè)完全獨(dú)立的硬件模塊,可稱之為邏輯復(fù)制//(不是資源共享,和軟件中的同一個(gè)子程序調(diào)用不能混為一談)/////////////////////////////////////////
4、///speed_selectspeed_rx(.clk(clk),//波特率選擇模塊.rst_n(rst_n),.bps_start(bps_start1),.clk_bps(clk_bps1));my_uart_rxmy_uart_rx(.clk(clk),//接收數(shù)據(jù)模塊.rst_n(rst_n),.rs232_rx(rs232_rx),.rx_data(rx_data),.rx_int(rx_int),.clk_bps(clk_bps1),.bps_start(bps_start1));///////////////////////////////////////////sp
5、eed_selectspeed_tx(.clk(clk),//波特率選擇模塊.rst_n(rst_n),.bps_start(bps_start2),.clk_bps(clk_bps2));my_uart_txmy_uart_tx(.clk(clk),//發(fā)送數(shù)據(jù)模塊.rst_n(rst_n),.rx_data(rx_data),.rx_int(rx_int),.rs232_tx(rs232_tx),.clk_bps(clk_bps2),.bps_start(bps_start2));Endmodule`timescale1ns/1ps////////////////////////
6、//////////////////////////////////////////////////////////Company://Engineer:////CreateDate:17:11:3208/28/08//DesignName://ModuleName:my_uart_rx//ProjectName://TargetDevice://Toolversions://Description:////Dependencies:////Revision://Revision0.01-FileCreated//AdditionalComments:////////////////
7、//////////////////////////////////////////////////////////////////modulemy_uart_rx(clk,rst_n,rs232_rx,rx_data,rx_int,clk_bps,bps_start);inputclk;//25MHz主時(shí)鐘inputrst_n;//低電平復(fù)位信號(hào)inputrs232_rx;//RS232接收數(shù)據(jù)信號(hào)inputclk_bps;//clk_bps的高電平為接