实验目的
本教程是基于创龙教仪DSP教学实验箱:TL6748-PlusTEB完成录制的。
本节视频的目的是了解 UART 的功能和结构,学习RS485 串口通信协议,并实现RS485 串口收发功能。
实验原理
RS485
RS485是通信物理层的标准接口,一种信号传输方式,OSI(开放系统互连)模型的第一级。 创建 RS485 是为了扩展 RS232 接口的物理功能。
RS485是使用两根或三根电线的电缆完成的:一根数据线、一根带反转数据的电线,通常还有一根零线(接地,0 V)。主要思想是通过两根电线传输一个信号。 当一根电线传输原始信号时,另一根电线传输其反向副本。 用作传输线的双绞线可以是屏蔽或非屏蔽的。
RS485接口的主要优点
(1)通过一对双绞线进行双向数据交换;
(2)支持连接到同一条线路的多个收发器,即创建网络的能力;
(3)通讯线长;
(4)高传输速度。
RS485通信的主要特点
(1)双向半双工数据传输
串行数据流可以在一个方向传输,数据传输到另一侧需要使用收发器。
(2)对称通信通道
接收或传输数据需要两条等效的信号线。 电线用于在两个方向(交替)交换数据。 在双绞线电缆的帮助下,对称通道显着提高了信号的稳定性并抑制了有用信号产生的电磁辐射。
(3)多点通信
RS485通讯线可以连接多个接收器和收发器。 同时,一个发送器和多个接收器一次可以连接到一根通信线路上。 所有其他需要连接的发送器应等待通信线路空闲以进行数据传输。
RS485接口
控制管脚分别为: UART1_RXD 和 UART1_TXD。 CON16 是由 UART1 通过 ISO3082DW 串口转换芯片得到的 RS485 串口。
UART
全称Universal Asynchronous Receiver/Transmitter,通用异步收发传输器。 UART是一种通用串行数据总线,用于异步通信,异步通信以一个字符为传输单位,通信中两个字符间的时间间隔多少是不固定的,但在同一个字符中的两个相邻位间的时间间隔是固定的。该总线双向通信,可以实现全双工传输和接收。串行通信是指利用一条传输线将资料一位位地顺序传送,特点是通信线路简单,利用简单的线缆就可实现通信,降低成本,适用于远距离通信,但传输速度慢的应用场合。在嵌入式设计中,UART用于主机与辅助设备通信,如PC机通信包括与监控调试器和其它器件。
UART特点
(1)通用异步
(2)串行低速总线
(3)全双工
(4)需要约定通信速率
(5)只能点对点通信
UART功能框图
接收器的FIFO,可以缓冲一部分数据,能提高接收速率的效率
中断控制逻辑单元,用于产生中断信号让CPU响应
串转并的数据接收口
并转串的发送口
UART通信的整体流程是数据通过UARTn_RXD接收数据通过移位寄存器将串行通信转并行通信后经过一系列的协处理后最后通过发送寄存器将并行通信转为串行通信由UARTn_TXD发送出去
UART通信模式
(1)单工:数据传输仅能沿一个方向,不能实现反向传输。
(2)半双工:数据传输可以沿两个方向,但需要分时进行(RS485)
(3)全双工:数据可以同时进行双向传输。
UART通信协议
起始位 : 发出一个逻辑 0 信号,表示传输字符的开始。
数据位 : 数据位的个数可以是 5、6、7、8 等,构成一个字符。通常采用ASCII码(7位),从最低位开始传送。
校验位 : 数据位加上这一位后,使得 1 的位数应为偶数(偶校验)或奇数(奇校验),以此来校验传输的正确性。
停止位 : 数据的结束标志。可以是 1 位、1.5 位、2 位的高电平。
空闲位 : 处于逻辑 1 状态,表示当前线路上没有数据传送。
波特率
指的是串口通信的速率,也就是串口通信时每秒钟可以传输多少个二进制。譬如每秒钟可以传输9600个二进制位,波特率就是9600。
串口通信的波特率不能随意设定,而应该在一些值中选择,一般常见的波特率是9600和115200(低端单片机如51常用9600,高端单片机和嵌入式SoC一般用115200)。
(1)通信双方必须事先设定相同的波特率这样才能成功通信,如果发送方和接受方按照不同的波特率通信则根本收不到,因此比特率最好是大家熟知的而不是随意指定的
(2)常用的波特率经过长久发展,就形成了共识,常用9600 和115200。
数据配置源码
配置GPIO输出值的函数源码和函数使用说明可以查看gpio.c。其中,第一个参数是GPIO的基地址,第二个参数是GPIO的编号,第三个参数设置GPIO的电平。
数据发送源码
配置UART数据发送的函数源码和函数使用说明可以查看uart.c。其中,第一个参数是UART正在使用的内存地址,第二个参数是要传输的字节。
数据接收源码
配置UART数据接收的函数源码和函数使用说明可以查看uart.c。输入的参数是UART正在使用的内存地址。
操作现象
实验设备
软件
本实验所需使用的软件是CCS5.5和串口调试工具Xshell。
本实验使用的硬件接口为RS485接口,所需硬件为实验板、仿真器、RS485转串口模块、USB转RS232串口线和电源。
硬件连接
(1)使用 RS485 转串口模块和 USB 转 RS232 串口线连接实验板的 RS485 串口和电脑的 USB
口。
(2)连接仿真器和电脑的USB接口,
(3)将拨码开关拨到DEBUG模式01111,连接实验箱电源,拨动电源开关上电。
软件操作
(1)先在设备管理器查看串口的端口号;
(2)再设置串口调试工具,波特率设置为115200。
导入工程,选择Demo文件夹下的对应工程
编译工程
将CCS连接实验箱并加载程序
点击运行程序,串口终端会打印相关信息
通过电脑键盘输入任意字符, 可在串口终端回显。
标签:教程,教仪,UART,RS485,通信,传输,串口,波特率 From: https://blog.51cto.com/u_16123606/6528025