此程序完成的是接收上位机发送的多字节串口数据的工作,并把不同的字节分配给不同的寄存器,以完成相应的控制工作。因此有必要说明一下上位机发送的数据结构。
上位机通过串口给FPGA发送两组信号,每一组发送5个字节(可根据自己的实际需要修改),不同字节控制不同的功能。
第一组是根据选择的波形、填写的频率以及选择输出信号的时域还是频域,给FPGA发送不同的参数。点击发送数据按钮后一共发送5个字节的数据。第一个字节发送监测信号,设为0x00,标识发送的是波形设置的数据;第二个字节发送的是进行波形选择的信号;第三和第四个字节发送的是波形频率的低8位数据和高8位数据;最后一个字节发送的是选择输出是时域还是频域的信号。
第二组是根据填写的频率给FPGA发送不同的参数。点击开始滤波按钮后一共发送5个字节的数据。第一个字节发送监测信号,设为0x01,标识发送的是滤波器设置的数据;第二和第三个字节发送的是频率1的低8位和高8位数据;第四和第五个字节发送的是频率2的低8位和高8位数据。
所以本程序中rs_receive模块接收数据部分需按照串口发送的数据格式进行接收:(这部分应根据自己的实际需要设计)
当接收到的第一个字节是0时,下面接收的数据都是波形设置信号。当接收到的第一个字节是1时,下面接收的数据都是滤波器的输入波形设置数据。
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
串口接收多字节.rar (4个子文件)
串口接收多字节
rs_clk_gen.v 2KB
rs_top.v 1KB
rs_receive.v 5KB
串口说明.txt 1KB
共 4 条
- 1
资源评论
- jindizhiwa2021-03-30不是我想要的不定长数据帧的接收,和网上看到的大多数资料类似
- clly511112019-06-21我觉得这个代码有错误,接收时序有误, always @(posedge clk or negedge rst) begin if(!rst) num<='d0; else if(rx_int) begin if(rs_clk)//在接收中断的情况下,到来一次采样时钟进行一次如下运算, begin 难道你们都没看出来
- xitaiyulun2019-02-26不错,可以使用的
- gaoyuan11439429692018-07-04我先试试再评论
- luhukong31282018-05-28程序是乱码 打不开巧笑倩兮zq2018-07-03上传的是.v文件啊,用相应软件打开啊
巧笑倩兮zq
- 粉丝: 6
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功