verilog 怎么写一个串口能够一次性发送多个字节

verilog 怎么写一个串口能够一次性发送多个字节,第1张

你是要用非标的uart还是用标准的串口协议?

如果用非标的uart自己编写一个就是了,很简单的,当然接收和发送都要非标uart

如果还用标准串口, 32位数据按照字节顺序发四次不就成了,当然要用报文方式组织存储,这不是什么问题啊

1、硬件上FPGA板肯定要有RS232接口与PC连接才行,没有的话,一切免谈。 2、软件上写一个串口接收模块,设置好波特率和数据位宽。 就这两点东西。 我有验证过的串口verilog程序,可直接拿去用。

你如果是用FPGA逻辑实现的串口收发控制器的话应该是用状态机实现的串并转换,那么你加一个变量I你的发送BUF也就是并行的数据是16位的,你只用作一个8位的串并转换,再每个状态下I都加1像下面这样:

bit1 : begin dataout <= data_buf[i]; state <= bit2; i<=i+1; end

bit2 : begin dataout <= data_buf[i]; state <= bit3; i<=i+1; end

bit3 : begin dataout <= data_buf[i]; state <= bit4; i<=i+1; end

bit4 : begin dataout <= data_buf[i]; state <= bit5; i<=i+1; end

bit5 : begin dataout <= data_buf[i]; state <= bit6; i<=i+1; end

bit6 : begin dataout <= data_buf[i]; state <= bit7; i<=i+1; end

bit7 : begin dataout <= data_buf[i]; state <= bit8; i<=i+1; end

bit8 : begin dataout <= data_buf[i]; state <= over; i<=i+1; end

再搞一个控制I的值的判断向控制I的值在0-15之间就可以了。

当然你如果是用NIOS2实现的话就更简单了,你去看看资料或者去网上找点例程一看就明白我这里就不说了。

1

建议首选fifo,

你还可以把它从fpga读出来,用串口助手可以验证循环读龋

在fpga接受数据的时候放入fifo中,然后fpga发送数据,把fifo中的数据通过串口发送出去。

在串口助手里很容易看出来,数据是不是错误或者丢失。验证了发送与接收

以上就是关于verilog 怎么写一个串口能够一次性发送多个字节全部的内容,包括:verilog 怎么写一个串口能够一次性发送多个字节、fpga实现串口uart自收发怎么仿真、用FPGA串口发送一个16位的数据 怎么做等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10114747.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存