UART串口通信实验

一.通信种类

1.1按照数据通信方式

1.1.1串行通信

优点:占用的引脚少,成本低

缺点:传输速度慢

适用场合长距离、低速率的通信场合

1.1.2并行通信

优点:传输速率快

缺点:占用引脚多,成本高

适用场合:短距离的场合。

1.2按照数据传输方向

1.2.1单工通信:

      数据只能沿一个方向传输。

1.2.2半双工通信:

      数据可以沿两个方向传输,但需要分时进行。

1.2.3全双工通信:

      数据可以同时进行双向传输。

1.3按数据同步方向分类

1.3.1同步通信

      带时钟端口的数据传输

1.3.2异步通信

     没有时钟端口,发送方和接收方使用各自的时钟控制数据的收发过程。

二.UART串口

             含义:通用异步收发器,是一种串行数据总线,它在发送数据时将并行数据转换成串行数据来传输,在接收数据时将接收到的串行数据转换成并行数据。需要两根信号线来实现,一根用于串口发送,另外一根负责串口接收,两个设备间的TXD和RXD,必须交差连接。

1.物理层:接口类型,电平标准等

2.协议层:通信协议(包括数据格式、传输速率等)

         UART 在发送或接收过程中的一帧数据由 4 部分组成,起始位、数据位、奇偶校验位和停止位 。

        起始位:一帧的开始,必须保持一个低比特的低电平0.

        数据位:传输的数据位,数据位可选5~8位,LSB在前,MSB在后。

        校验位:可选位,占用一个比特位,也可以没有校验。

        停止位:一帧的结束,必须有,可选占用0.5/1/1.5/2个比特位,保持逻辑高电平。

波特率:串口通信的速率用波特率表示,它表示每秒传输二进制数据的位数。单位是bps(位/秒).常用的波特率有 96001920038400、 57600 以及 115200 等。

      UART 负责完成数据的串并转换,而信号的传输则由外部驱动电路实现。电信号的传输过程有着不同的电平标准和接口规范,针对异步串行通信的接口标准有 RS232RS422、RS485 等,它们定义了接口不同的电气特性,如 RS-232 是单端输入输出,而 RS-422/485 为差分输入输出

等。

三.实验任务

        本节实验任务是上位机通过串口调试助手发送数据给启明星开发板,启明星开发板 PL 端通过 USB_UART 串口接收数据并将接收到的数据发送给上位机,完成串口数据环回。UART波特率:115200。停止位:1,数据位8,无校验位。

四.绘制系统框图

             uart_rx模块中:uart_rxd是串口接收到的数据,uart_rx_done表示数据转换完成(数据由并行数据转为串行数据)。uart_rx_data表示转换完成后的串行数据。注意:接收到的并行数据是1位,转换后的串行数据是8位。

            uart_tx模块中:uart_tx_dat表示转换完成的8位串行数据,uart_tx_en表示的是数据由并转串转换完成,uart_txd表示的是转换后的并行数据,uart_tx_busy表示的是数据由串转并正在转换中。

       

五.绘制波形图

                  因为uart_rxd是异步信号,并且起始位是低电平,这里需要捕捉下降沿变,因此需要对其打三拍进行处理,由此就可以得到数据接收起始位信号start_en信号,表示并行数据要来了,接下来可以进行并转串的工作了;

                  rx_flag表示并行数据转串行数据正在进行中,从start_en开始,到rx_cnt=9和baud_cnt到216结束。这里是因为避免该帧数据还没结束下帧数据起始位就来临的情况,因此把停止位控制在0.5个比特位;

                 baud_cnt:系统时钟为50Mhz,即50000000,而这里波特率选择115200,故50000000/115200=434,即传输一位数据需要434个系统时钟周期,故需要baud_cnt这个计数器。

                 rx_data:因为串行数据是8位,最好加个索引,方便找到某一位的数据,方便赋值。因此需要rx_cnt。

                 rx_data_t:转换好的串行数据。

                                                                uart_rx波形图 

uart_tx_en:表示串行数据转换完毕,即uart_rx_done信号。

uart_data_t:暂存转换完成的串行数据位,便于后续传输。

 baud_cnt:同上一样。

 tx_cnt:同上一样。

                                                                 uart_tx波形图 

六.仿真

                                                                    uart_rx仿真波形 

                                                                     uart_tx波形仿真

                                                                     uart整体波形图 

七.板级验证

              打开串口调试工具

 对需要调试的信号添加debug属性,将程序烧录到开发板上,串口助手中输入以下信息。

因为55 66 77的四位16进制码分别是 0101 0101  ,0110 0110,0111 0111.

             

       

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/45358.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【开源项目的机遇与挑战】探索、贡献与应对

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:《热点时事》 期待您的关注 目录 引言 一:开源项目的发展趋势 🍃开源项目的蓬勃发展现状 🍃开…

VSCode 远程反复输入密码不能链接问题解决

通过 vscode 远程连接服务器时出现了连接不上,而且一直要循环输入密码的问题,可能是因为上次异常退出导致。 主要解决思路是删除当前 vscode 远端服务后,重新建立连接。 解决方法一 在 vscode 端接口删除 vscode 服务。 View->Commond…

vue 使用腾讯地图 标点 自定义瓦片 折线配置

vue 使用腾讯地图 标点 自定义瓦片 折线配置 申请腾讯地图秘钥 key 腾讯地图开发者 https://lbs.qq.com/dev/console/application/mine 腾讯地图开发文档 https://lbs.qq.com/webApi/javascriptGL/glGuide/glOverview 添加 key 代码中引入 // 入口文件 index.html // 填…

【通信原理】其实QPSK就是一种特殊的QAM,即4-QAM

文章目录 幅度调制和相位调制QPSK(Quadrature Phase Shift Keying)QAM(Quadrature Amplitude Modulation)QPSK作为4-QAMQPSK(Quadrature Phase Shift Keying)和QAM(Quadrature Amplitude Modulation)都是数字调制技术,用于在无线信号中传输数据。要理解“QPSK其实就是…

新旧电脑数据转移方法

随着科技的发展和电脑性能的不断提升,许多用户在工作和生活中都需要更换新电脑。当我们购买了一台新电脑后,如何将旧电脑中的数据转移到新电脑上成许多用户关注的问题。本文将详细介绍几种有效的电脑数据转移方法,帮助大家顺利完成数据迁移。…

国产麒麟、uos在线编辑word文件并控制编辑区域(局部编辑)

windows系统也适用,该插件可同时支持windows和国产系统 在实际项目开发中,以下场景可能会用到Word局部编辑功能: 合同审批公文流转策划设计报告汇签单招投标(标书文件)其他,有模板且需要不同人员协作编辑…

06.TMS570LC43入门指南——中断操作

06.TMS570LC43入门指南——中断操作 文章目录 06.TMS570LC43入门指南——中断操作一、简介二、中断(VIM)介绍2.1 VIM架构2.2 CPU 中断处理2.3 VIM中断通道映射2.4 中断请求默认分配 三、项目实现3.1 硬件部分3.2 软件部分3.2.1 HALCoGen 配置3.2.2 CCS 配…

RK3588部署YOLOV8-seg的问题

在使用YOLOV8-seg训练出来的pt模型转为onnx的时候,利用以下仓库地址转。 git clone https://github.com/airockchip/ultralytics_yolov8.git 在修改ultralytics/cfg/default.yaml中的task,mode为model为自己需要的内容后, 执行以下语句 cd …

在Linux上搭建服务器之综合实验(web,dns,防火墙,SELinux)

其实验简图如下: 解读: 本实验需要完成4部分内容,web服务器的搭建,主从dns服务器的搭建,防火墙的开启,以及SELinux设置为强制模式。 首先dns主服务器上配置web服务(其中我本机的IP为192.168.5.…

thinkphp 生成邀请推广二维码,保存到服务器并接口返回给前端

根据每个人生成自己的二维码图片,接口返回二维码图片地址 生成在服务器的二维码图片 控制器 public function createUserQRcode(){$uid = input(uid);if

深度学习编码解码结构-以及kreas简单实现

图像分割中的编码解码结构(Encoder-Decoder Model)是一种广泛应用的网络架构,它有效地结合了特征提取(编码)和分割结果生成(解码)两个过程。以下是对图像分割中编码解码结构的详细解析&#xff…

通过vagrant与VirtualBox 创建虚拟机

1.下载vagrant与VirtualBox【windows版本案例】 1.1 vagrant 下载地址 【按需下载】 https://developer.hashicorp.com/vagrant/install?product_intentvagranthttps://developer.hashicorp.com/vagrant/install?product_intentvagrant 1.2 VirtualBox 下载地址 【按需下载…

lvs集群、NAT模式和DR模式、keepalive

目录 lvs集群概念 集群的类型:三种类型 系统可靠性指标 lvs集群中的术语 lvs的工作方式 NAT模式 lvs的工具 算法 实验 数据流向 步骤 一 、调度器配置(test1 192.168.233.10) 二、RS配置(nginx1和nginx2)…

物理层与数据通信基础:构建稳定网络的关键

本章主要讨论物理层的基本概念、数据通信的基础知识、几种常用的信道复用技术以及互联网接入技术。对于具备通信基础知识的读者,可以有选择地学习本章内容。 本章重点内容 物理层的任务数据通信的基本概念常用的信道复用技术常用的互联网接入技术 2.1 物理层的基…

深入理解FFmpeg--libavformat接口使用(一)

libavformat(lavf)是一个用于处理各种媒体容器格式的库。它的主要两个目的是去复用(即将媒体文件拆分为组件流)和复用的反向过程(以指定的容器格式写入提供的数据)。它还有一个I/O模块,支持多种…

5G与未来通信技术

随着科技的迅猛发展,通信技术也在不断演进。5G技术作为第五代移动通信技术,已成为现代通信技术的一个重要里程碑。本文将详细介绍5G及其对未来通信技术的影响,重点探讨超高速互联网和边缘网络的应用。 一、超高速互联网 1. 低延迟 5G技术最显…

Seven layers of the metaverse

看到一篇关于元宇宙的文章,分享给大家,供大家参考。 随着物理世界和数字世界的融合,元宇宙正在推动我们数字能力的新边界。从人类身份、个性和声誉到资产、情感和历史,元宇宙的虚拟现实中可以以全新的方式进行交互、控制和体验。因…

NFS服务器、autofs自动挂载综合实验

综合实验 现有主机 node01 和 node02,完成如下需求: 1、在 node01 主机上提供 DNS 和 WEB 服务 2、dns 服务提供本实验所有主机名解析 3、web服务提供 www.rhce.com 虚拟主机 4、该虚拟主机的documentroot目录在 /nfs/rhce 目录 5、该目录由 node02 主机…

【pbootcms】新环境搭建环境安装时发生错误

【pbootcms】新环境搭建环境安装时发生错误 提示一下内容: 登录请求发生错误,您可按照如下方式排查: 1、试着删除根目录下runtime目录,刷新页面重试 2、检查系统会话文件存储目录是否具有写入权限; 3、检查服务器环境pathinfo及伪静态规则配置; 先按照…

LabVIEW阀门运动PCT测试

开发了一套基于LabVIEW的阀门运动PCT(Pressure-Composition-Temperature)测试方法。该系统通过控制阀门运动,实现对氢气吸附和解吸过程的精确测量和控制。所用硬件包括NI cDAQ-9174数据采集模块、Omega PX309压力传感器、SMC ITV2030电动调节…