@【TOC]
一、串口通信
1、串口协议
(1)串口通信的特点:数据逐位传输,传输线少,长距离传输时成本少,但数据的传输控制比较复杂。按照实现数据的同步方式可分为同步串行和异步串行。
同步串行:数据传输以数据块为单位,在一个数据块内,字符与字符间无间隔,收发双方依靠独立的时钟线进行信号的同步,适用于大批量的数据传输。
异步串行:数据传输以单个字符为单位,字符与字符之间的间隙任意,字符内部每一位持续的时间相同,收发双方没有专门的时钟信号,而是依靠事先预定的字符格式和通信速率来完成通信
异步串行通信数据的接受过程:
(2)串口通信的数据传输方向: 单工传输:数据传输仅能沿一个方向传输,不能实现反方向的传输,只有一条通信线路,比如广播、电视 半双工传输:数据传输可以沿两个方向,但需要分时进行,也只有一条通信线路,比如对讲机 全双工传输:数据可以同时进行双向传输,具有两条通信线路,比如移动手机,UART(STM32)
2、RS-232、485标准
(1)RS-232是现在主流的串行通信接口之一。由于 RS232接口标准出现较早,难免有不足之处,主要有以下四点: ●接口的信号电平值较高,易损坏接口电路的芯片。RS232接口任何一条信号线的电压均为负逻辑关系。即:逻辑“1”为-3–15V;逻辑“0”:+3-+15V,噪声容限为2V。 ●传输速率较低,在异步传输时,比特率为20kbps; ●接口使用一根信号线和一根信号返回线而构成。共地的传输形式,这种共地传输容易产生共模于扰,所以抗噪声于扰性弱。传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在15米左 (2)RS485概述 RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能 检测低至200mV的电压,故传输信号能在千米以外得到恢复。 RS-485的电气特性:逻辑“1”以两线间的电压差+2~+6V表示,逻辑“0”以两线间的电压差-6V ~-2V表示。接口信号电平比RS-232-C降低了,就不容易损坏接口电路芯片,且该电平与TTL电平兼容,刻方便与TTL电路连接。 ●数据最高传输速率为:10MbPS ·RS-485接口采用平衡驱动器和差分接收器的组 合,抗共模于扰能力强,即抗噪声性能好。 ·RS-485接口的最大传输距离标准值4000英尺, 实际上可达3000米。 ·RS-485接口在总线上只允许连接多达128个收发器,即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立设备网络。 (3)RS232、485之间的差异 **a、**传输方式不同,rs232和rs485的区别即差分传输方式。RS-232采取不平衡传输方式,即所谓单端通讯。收、发端的数据信号是相对于信号地,如从DTE设备发出的数据在使用DB25连接器时是2脚相对7脚(信号地)的电平。 b、传输距离不同,RS-232适合本地设备之间的通信,传输距离一般不超过20m。而RS-485的传输距离为几十米到上千米。 c、传输单位不同,RS-232 只允许一对一通信,而RS-485 接口在总线上是允许连接多达128个收发器。 d、电平标准不同:典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5~+15V,负电平在-5~-15V电平。
3、RS232电平与TTL电平的区别
根据通讯使用的电平标准不同,串口通讯可分为 TTL标准及RS-232标准
●以下为TTL 电平标准与RS232 电平标准 通讯标准 电平标准(发送端) 5V TTL 逻辑 1:2.4V-5V 逻辑 0:0~0.5V RS-232 逻辑1:-15V~-3V 逻辑 0:+3V~+15V TTL 电平标准在理想状态下,使用5V表示二进制逻辑1,使用OV表示逻辑0; 为了增加串口通讯的远距离传输及抗于扰能力,它使用-15V表示逻辑1,+15V表示逻辑0
4、USB/TTL转232模块的工作原理
1、原理:首先,USB大家都很熟悉了。每台 现代 数码设备几乎都有USB接口,它不仅作为一种通用的接口,还是一种重要的传输协议。咱们日常所见的数据线,以及U盘等,都是使用USB协议来保存和传输数据的。
串口和USB一样,是用来传输数据的工具。那么USB转串口就是把数据从一种形式转到另一种形式,从而适应不同的机械。比如220V电压要经过充电器转化为12V电压才能为手机充电,USB中的数据全都是虚拟的模拟信号,需要经过转化为串口当中的电信号,才能被电路识别,控制电路以及机械。
USB转串口的具体做法
USB转串口的具体做法是,从电脑等终端输入电信号,经过USB2.0协议转化USB模拟信号,以提升传输速度,然后经过串口协议转换器解析USB2.0协议,转化为普通的电信号,也就是电流在串口九针当中的流动。事实上完成了电流到模拟信号再到电流的转化,既能拥有USB快速传输,即插即用的特点,又可以使用电信号控制终端器械以及设备。
USB转串口的关键就在于两中心号之间的转化与连接,那么什东西才可以做到电信号和模拟信号之间的转化呢,那就是USB转串口当中的转化线,也可以叫转换器传输线。这一根类似于数据线的线路包含两个端口和一个转换器,两个端口分别连接USB和串口九针,中间的转换器完成信号转换。这就是USB转串口的工作原理。
二、STM32的USART串口通讯
1、USART介绍
(1)USART是一个全双工通用同步/异步串行收发模块,该接口是一个高度灵活的串行通信设备。 (2)主要特点: 1.全双工操作(相互独立的接收数据和发送数据); 2. 同步操作时,可主机时钟同步,也可从机时钟同步; 3. 独立的高精度波特率发生器,不占用定时/计数器; 4. 支持5、6、7、8和9位数据位,1或2位停止位的串行数据帧结构; 5. 由硬件支持的奇偶校验位发生和检验; 6. 数据溢出检测; 7. 帧错误检测; 8. 包括错误起始位的检测噪声滤波器和数字低通滤波器; 9. 三个完全独立的中断,TX发送完成、TX发送数据寄存器空、RX接收完成; 10.支持多机通信模式; 11.支持倍速异步通信模式。
2、功能框图:
通信状态标志位: TXE:发送数据寄存器空标志,当TDR寄存器的内容已经传输到发送移位寄存器时,该位由硬件置1,如果串口控制器CR1中的TXEIE为1,将会触发发送数据寄存器中断。注意:当TXE为1时,数据有可能还在发 TC:发送完成标志,当发送移位寄存器里的数据发送完成时,同时TDR寄存器也为空时,改为由硬件置1,表示本次数据传输已经完成,如果串口控制寄存器CR1中的TCIE为1,将会触发发送完成终端。注意:只有当TC置1时,数据才是真正发送完成 RXNE:接受数据寄存器不为空标志,当移位寄存器的内容传输到接受数据寄存器RDR时,该位由硬件置1
3、实验步骤
(1)仪器选择:STM32C8T6核心板,USB转串口一块,面包板一块 (2)操作连线: USB选取接口为GND,RXD,TXD,3V3 STM32选取G、3.3、A9、A10 对应链接:CND-G 3V3-3.3 RXD-A10 TXD-A9 (3)软件选取: 1、安装CH34驱动 2、查看是否存在端口 2.1右击我的电脑,打开管理 2.2点击设备管理器 2.3点击端口 3、打开mcuisp(此软件是绿色软件、不需安装,可直接使用) 4、生成.hex文件 5、配置 6、点击开始编程 7、打开串口调试助手 8、打开串口,观察输出 三、用逻辑分析仪关系串口输出波形 1、设置options for target (1)设置target界面: 选则晶振的大小为8MHZ
(2)设置debug界面: (3)进入debug界面,点击调试 (4)选择逻辑分析仪
(5)添加 USART1_SR引脚
(6)点击close,观察输出波形
|