微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请教一下uart的问题以及校验功能!(有代码)

请教一下uart的问题以及校验功能!(有代码)

时间:10-02 整理:3721RD 点击:
module uart_top
(
// Global signal definition
input      rst    ,
input      sys_clk   ,
input      pci_clk   ,
input      pci_wren  ,
input [7:0]    pci_wrdat  ,
input      pci_rden  ,
output [7:0]    pci_rddat  ,                              
// Local bus register              
input      SEND_CMD  ,      
input      RCV_EN   ,  

output      RCV_IRQ   ,  
input      PARITY_BIT_EN ,
input      PARITY_SEL  ,  
output      PARITY_ERROR ,
//output                      uart_ok       ,   
output                      xmit_busy       ,
output                      xmit_ok         ,
output                      xmit_fifo_empty ,
output      rcv_fifo_empty ,
// Uart interface
input      rxd    ,
output      txd   
);        
这是使用依元素学习板来实现      用到了spartan的芯片     uart调用了fifo 还有一些寄存器。
从代码中看到的Local bus register  ,不知道怎么使用。
还有校验功能    在哪里会实现呢!
谢谢    发现会再补充!

没人救我啊    怎么实现校验功能啊!

查所有的数据位加上校验位后1的个数,偶校验有偶数个1,奇校校有奇数个1
具体电路的做法可以按位异或,防止串行delay太大可以先两两组合异或,8bit只需要3级即可。


你好 请问一下  如果实现奇校验 那么要确定数据有奇数个1   例如输入00110011  要输入校验位为1才能进行奇数校验   如果输入00110010  要输入校验位为0  才能进行奇数校验。那么校验位  就不确定了!

校验位的值当然是根据数据的不同改变了,校验的时候把数据和校验位合在一起位异或得到的才应该是固定值,这样来判断数据是否正确。



    谢谢你,这个我知道。主要是如果你不知道数据是啥的时候,你是怎么输入校验位呢?

校验位是边过数据边计算出来的呀,只要收发协议一致,管数据是什么

使用过某公司的UART IP,有奇校验,偶校验,1校验,0校验,无校验。这些都是可选择的。当然,对通的两个UART必须设置成一致的,这样才能协商上哦。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top