当前位置: 首页 > article >正文

FPGA上板项目(五)——UART测试,串口发送

目录

  • 实验内容
  • 串口发送模块
    • 模块框图
    • 时序波形
    • 仿真结果
  • 顶层模块设计
    • 时序波形
    • 仿真结果
    • 上板验证


实验内容

  • 每隔1s,串口发送一次 “HELLO!”

UART 相关的原理 野火FPGA跟练(四)——串口RS232、亚稳态、串口RS485 中做过阐述,本篇文章将在此基础上优化,并进行上板验证。

串口发送模块

模块框图

在这里插入图片描述

引脚方向位宽说明
clkin1时钟
rst_nin1同步低复位
tx_datain8发送数据
tx_validin1发送数据有效标志位
tx_pinout1发送端引脚
tx_readyout1发送端准备标志位
  • tx_valid:表征 tx_data 的有效性,tx_valid 为高时表示 tx_data 可用,可以进行后续的并串转换。

  • tx_ready:tx_ready 为高时表示发送缓冲区为空, tx_data 已经并串转换为 tx_pin,一帧数据转换已结束,发送端已准备好发送下一帧数据。

时序波形

在这里插入图片描述

状态变量分析:

  • IDLE:空闲状态,此时 TX_PIN 为高,TX_READY 为高。
  • START:发送起始位(TX_PIN 为低)
  • DATA:发送数据位,此时 BIT_CNT 开始计数,从 0-7。
  • STOP:发送停止位(TX_PIN 为高)

仿真结果

对编写的 HDL 代码进行仿真,仿真时序图如下。逐个信号进行比对后,可以看出,仿真结果与预想的时序波形相同。

在这里插入图片描述

下面检验比特信息是否正确,对上面的波形图进行比特位截取。此时,这一帧要发送的数据为11,即 0000 1011,低位先发则顺序调整为 1101 0000,可以从图中看出,比特信息发送正确。

在这里插入图片描述

顶层模块设计

实验内容回顾:每隔一秒,串口发送一次“HELLO!”

时序波形

在这里插入图片描述

  • 1s_CNT 计数达 MAX 后,TX_VALID 拉高,开始发送数据
  • 每发送完一个字符(即 TX_READY 为高,TX_READY_2 为低时),TX_CNT 计数加一
  • TX_DATA 依据 TX_CNT 的数值变化而更新
  • 当 TX_CNT 不为零且 TX_READY_2 为高的时候(即 TX_DATA 更新的时候),TX_VALID 再次将自己拉高

仿真结果

对编写的 HDL 代码进行仿真,仿真时序图如下。逐个信号进行比对后,可以看出,仿真结果与预想的时序波形相同。

在这里插入图片描述

  • one_sec_cnt 达到 MAX 后,tx_valid 被拉高,开始发送数据

在这里插入图片描述在这里插入图片描述

  • 发送完一个字符后,tx_valid 被重新拉高。
  • 发送完最后一个字符后,tx_valid 保持为低,等待下一个 one_sec_cnt 计数结束

上板验证

在这里插入图片描述

  • 通过串口助手可以看到,每隔1s,串口发送了一次“HELLO!”

http://www.kler.cn/a/403720.html

相关文章:

  • XLNet——打破 BERT 局限的预训练语言模型
  • 通过vite+vue3+pinia从0到1搭建一个uniapp应用
  • 2411rust,1.75.0
  • HarmonyOs鸿蒙开发实战(17)=>沉浸式效果第二种方案一组件安全区方案
  • 算法学习笔记(六):二叉树一创建、插入、删除、BFS
  • java: spire.pdf.free 9.12.3 create pdf
  • 中间件--laravel进阶篇
  • 网络安全、Web安全、渗透测试之笔经面经总结
  • 浏览器插件调试方法总结
  • Apple Vision Pro开发001-开发配置
  • 【java基础】消息中间件篇
  • Linux应用项目之量产工具(四)——UI系统
  • GPTZero:高效识别AI生成文本,保障学术诚信与内容原创性
  • leetcode-12-整数转罗马数字
  • 马铃薯叶部病害图像分类数据集
  • 【Swift】运算符
  • 小程序接入腾讯地图并使用(完整版带api示例)
  • 插入排序insertsort
  • YOLO入门教程(三)——训练自己YOLO11实例分割模型并预测【含教程源码+一键分类数据集 + 故障排查】
  • 通义千问综合代码能力测试:制作web版五子棋
  • MFC线程管理类
  • Python设计模式详解之4 —— 建造者模式
  • 【Anomaly Detection论文阅读记录】PaDiM与PatchCore模型的区别与联系
  • 内网渗透-隧道判断-SSH-DNS-icmp-smb-上线linux-mac
  • 网络安全问题概述
  • 三十一、构建完善微服务——API 网关