FPGA 您所在的位置:网站首页 uart信号时序图 FPGA

FPGA

2023-11-24 06:21| 来源: 网络整理| 查看: 265

FPGA-结合协议时序实现UART收发器(三):串口接收模块uart_rx

串口接收模块uart_rx的功能实现

文章目录 FPGA-结合协议时序实现UART收发器(三):串口接收模块uart_rx一、功能实现二、uart_rx代码总结

一、功能实现

对照代码,串口接收模块uart_rx实现功能包括:

r_cnt计数信号,计数数据ro_user_rx_data 寄存用户接收数据,采用移位拼接方式依次获取数据ro_user_rx_valid 用户接受有效,通过判断是否接收完毕来赋值validr_rx_check 校验位,采用异或方法 二、uart_rx代码 `timescale 1ns / 1ps // // Company: // Engineer: // // Create Date: 2023/09/09 13:14:22 // Design Name: // Module Name: uart_rx // Project Name: // Target Devices: // Tool Versions: // Description: // // Dependencies: // // Revision: // Revision 0.01 - File Created // Additional Comments: // // module uart_rx#( //串口可调参数 parameter P_SYSTEM_CLK = 50_000_000, parameter P_UART_BUADRATE = 9600, parameter P_UART_DATA_WIDTH = 8, parameter P_UART_STOP_WIDTH = 1, parameter P_UART_CHECK = 0 //0未开启校验位,1奇校验,2偶校验 )( //串口驱动输入输出 input i_clk , input i_rst , input i_uart_rx, output [P_UART_DATA_WIDTH - 1 : 0] o_user_rx_data ,//用户输入数据,作为驱动的输出,即先经过驱动输出再输入到用户 output o_user_rx_valid ); reg [P_UART_DATA_WIDTH - 1 : 0] ro_user_rx_data; reg ro_user_rx_valid; reg [1:0] r_uart_rx; reg [15:0] r_cnt; reg r_rx_check; assign o_user_rx_data = ro_user_rx_data; assign o_user_rx_valid = ro_user_rx_valid; //处理打两拍情况,即取延迟一个周期的数 //使用时钟动态纠正,此处打两拍没用到 always @(posedge i_clk or posedge i_rst) begin if(i_clk) r_uart_rx


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有