生活随笔
收集整理的這篇文章主要介紹了
UART232
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
UART232
`timescale 1ns/1ns
module uart_rx
#(parameter UART_BPS = 'd9600, //串口波特率parameter CLK_FREQ = 'd50_000_000 //時鐘頻率
)
(input wire sys_clk , //系統(tǒng)時鐘50MHzinput wire sys_rst_n , //全局復位input wire rx , //串口接收數(shù)據(jù)output reg [7:0] po_data , //串轉(zhuǎn)并后的8bit數(shù)據(jù)output reg po_flag //串轉(zhuǎn)并后的數(shù)據(jù)有效標志信號
);
//localparam define
localparam BAUD_CNT_MAX = CLK_FREQ/UART_BPS ;//reg define
reg rx_reg1 ;
reg rx_reg2 ;
reg rx_reg3 ;
reg start_nedge ;
reg work_en ;
reg [12:0] baud_cnt ;
reg bit_flag ;
reg [3:0] bit_cnt ;
reg [7:0] rx_data ;
reg rx_flag ;//插入兩級寄存器進行數(shù)據(jù)同步,用來消除亞穩(wěn)態(tài)
//rx_reg1:第一級寄存器,寄存器空閑狀態(tài)復位為1
always@(posedge sys_clk or negedge sys_rst_n)if(sys_rst_n &
總結(jié)
以上是生活随笔為你收集整理的UART232的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。