串口通信实验——RS-232

实验任务:

一. 了解串口协议和RS-232标准,以及RS232电平与TTL电平的区别;了解"USB/TTL转232"模块(以CH340芯片模块为例)的工作原理。

实验过程:

一、串口协议和RS-232标准
1.串口通讯
串口通讯 (Serial Communication)是一种设备间非常常用的串行通讯方式,电子工程师在调试设备时也经常使用该通讯方式输出调试信息。 通讯协议,我们以分层的方式来理解,最基本的是把它分为物理层和协议层。物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。

2.RS-232
RS-232是现在主流的串行通信接口之一。由于RS232接口标准出现较早,难免有不足之处,主要有以下四点:
(1)接口的信号电平值较高,易损坏接口电路的芯片。RS232接口任何一条信号线的电压均为负逻辑关系。即:逻辑“1”为-3— -15V;逻辑“0”:+3— +15V ,噪声容限为2V。即要求接收器能识别高于+3V的信号作为逻辑“0”,低于-3V的信号作为逻辑“1”,TTL电平为5V为逻辑正,0为逻辑负 。与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。
(2)传输速率较低,在异步传输时,比特率为20Kbps;因此在51CPLD开发板中,综合程序波特率只能采用19200,也是这个原因。
(3)接口使用一根信号线和一根信号返回线与地线构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。
(4)传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在15米左右。

3.RS232电平与TTL电平的区别
(1).TTL电平标准
输出 L: 《0.8V ; H:》2.4V。

输入 L: 《1.2V ; H:》2.0V

TTL器件输出低电平要小于0.8V,高电平要大于2.4V。输入,低于1.2V就认为是0,高于2.0就认为是1。于是TTL电平的输入低电平的噪声容限就只有(0.8-0)/2=0.4V,高电平的噪声容限为(5-2.4)/2=1.3V。

(2)具体区别
1.电平的上限和下限定义不一样,CMOS具有更大的抗噪区域。 同是5伏供电的话,ttl一般是1.7V和3.5V的样子,CMOS一般是2.2V,2.9V的样子,不准确,仅供参考。

2.电流驱动能力不一样,ttl一般提供25毫安的驱动能力,而CMOS一般在10毫安左右。

3.需要的电流输入大小也不一样,一般ttl需要2.5毫安左右,CMOS几乎不需要电流输入。

4.很多器件都是兼容TTL和CMOS的,datasheet会有说明。如果不考虑速度和性能,一般器件可以互换。但是需要注意有时候负载效应可能引起电路工作不正常,因为有些ttl电路需要下一级的输入阻抗作为负载才能正常工作。

TTL电路和CMOS电路的逻辑电平
VOH: 逻辑电平 1 的输出电压
VOL: 逻辑电平 0 的输出电压
VIH : 逻辑电平 1 的输入电压
VIH : 逻辑电平 0 的输入电压
6.TTL和CMOS的逻辑电平转换
CMOS电平能驱动TTL电平
TTL电平不能驱动CMOS电平,需加上拉电阻。

二、USB/TTL转232"模块(以CH340芯片模块为例)的工作原理。
TXD:发送端,一般表示为自己的发送端,正常通信必须接另一个设备的RXD。

RXD:接收端,一般表示为自己的接收端,正常通信必须接另一个设备的TXD。
正常通信时候本身的TXD永远接设备的RXD!

自收自发:正常通信时RXD接其他设备的TXD,因此如果要接收自己发送的数据顾名思义,也就是自己接收自己发送的数据,即自身的TXD直接连接到RXD,用来测试本身的发送和接收是否正常,是最快最简单的测试方法,当出现问题时首先做该测试确定是否产品故障。也称回环测试。

电平逻辑:

TTL电平:通常数据表示采用二进制,规定+5V等价于逻辑“1”,0V等价于逻辑“0”,称作TTL信号系统,是正逻辑

RS232电平:采用-12V到-3V,等价于逻辑“0”,+3V到+12V的逻辑电平,等价于逻辑“1”,是负逻辑的。

产品说明:

1、主芯片为CP2102,安装驱动后生成虚拟串口

2、USB取电,引出接口包括3.3V(《40mA),5V,GND,TX,RX,信号脚电平为3.3V,正逻辑

3、板载状态指示灯、收发指示灯,正确安装驱动后状态指示灯会常亮,收发指示灯在通信的时候会闪烁,波特率越高亮度越低

4、支持从300bps~1Mbps间的波特率

5、通信格式支持:1)5,6,7,8位数据位;2)支持1,1.5,2停止位;3)odd,even,mark,space,none校验

6、支持操作系统:windowsvista/xp/server2003/200,MacOS-X/OS-9,Linux

7、USB头为公头,可直接连接电脑USB口

8、贴片元件为SMT工艺生产,质量稳定

9、不含USB头体积为:33*15(mm)

模块与单片机请遵循以下连接:

usb转ttl电路图大全(RS232/串口/CH340T/PL2303)

usb转ttl电路图大全(RS232/串口/CH340T/PL2303)

usb转ttl电路图(一):USB转3线制RS232串口
图中也是USB转3线制RS232串口,只是输出RS232信号的电平幅度略低。CH340的R232引脚为高电平,启用了辅助RS232功能,只需外加二极管、三极管、电阻和电容就可代替7.2.节中专用的电平转换电路U5,所以硬件成本更低。

usb转ttl电路图大全(RS232/串口/CH340T/PL2303)

usb转ttl电路图(二):USB转RS232串口
图中是USB转最基本也最常用的3线制RS232串口,U5为MAX232/ICL232/SP232等。

usb转ttl电路图大全(RS232/串口/CH340T/PL2303)

usb转ttl电路图(三):USB转9线串口
下图是由CH340T实现的USB转RS232串口。CH340提供了常用的串口信号及MODEM信号,通过电平转换电路U8将TTL串口转换为RS232串口,端口P11是DB9插针,其引脚及功能与计算机的普通9针串口相同,U8的类似型号有MAX213/ADM213/SP213/MAX211等。

如果只需要实现USB转TTL串口,那么可以去掉图中的U8及电容C46/C47/C48/C49/C40。图中的信号线可以只连接RXD、TXD以及公共地线,其它信号线根据需要选用,不需要时都可以悬空。

P2是USB端口,USB总线包括一对5V电源线和一对数据信号线,通常,+5V电源线是红色,接地线是黑色,D+信号线是绿色,D-信号线是白色。USB总线提供的电源电流最大可以达到500mA,一般情况下,CH340芯片和低功耗的USB产品可以直接使用USB总线提供的5V电源。如果USB产品通过其它供电方式提供常备电源,那么CH340也应该使用该常备电源,如果需要同时使用USB总线的电源,那么可以通过阻值约为1Ω的电阻连接USB总线的5V电源线与USB产品的5V常备电源,并且两者的接地线直接相连接。

C8容量为4700pF到0.02μF,用于CH340内部电源节点退耦,C9容量为0.1μF,用于外部电源退耦。晶体X2、电容C6和C7用于时钟振荡电路。X2是频率为12MHz的石英晶体,C6和C7是容量为22pF的独石或高频瓷片电容。如果X2选用低成本的陶瓷晶体,那么C6和C7的容量必须用该晶体厂家的推荐值,一般情况下是47pF。

在设计印刷线路板PCB时,需要注意:退耦电容C8和C9尽量靠近CH340的相连引脚;使D+和D-信号线贴*行布线,尽量在两侧提供地线或者覆铜,减少来自外界的信号干扰;尽量缩短XI和XO引脚相关信号线的长度,为了减少高频干扰,可以在相关元器件周边环绕地线或者覆铜。

usb转ttl电路图大全(RS232/串口/CH340T/PL2303)

usb转ttl电路图(四)
USB转串口设计原理

usb转ttl电路图大全(RS232/串口/CH340T/PL2303)

USB接口:主要由3部分组成:USB接头、USB供电、USB数据收发,其原理如如下:

usb转ttl电路图大全(RS232/串口/CH340T/PL2303)

1.USB接头:提供USB物理接口,通过USB线与USB设备进行连接。

2.USB供电:整个USB转串口线无需外接电源,直接使用USB供电即可。

3.USB数据收发:USB接口与USB转串口芯片主芯片(PL2303)的通讯。

USB转串口主芯片:USB转串口主芯片模块,USB转串口主芯片是电路的核心部分,提供USB和串口的桥转换,它主要由三个部分组成,分别是USB转串口芯片PL2303、PL2303工作晶振和PL2303外围电路。

1.USB转串口主芯片:USB转串口芯片内部功能框图如下:

usb转ttl电路图大全(RS232/串口/CH340T/PL2303)

2.PL2303工作晶振:提供PL2303工作时钟,最大支持12M频率。

3.PL2303外围电路:依据PL2303数据手册要求添加外围电路,具体各外围电路功能,见PL2303手册。

RS232接口:RS232接口部分实现串口RS232电平与TTL电平的转换。模块原理图如下,主要由2个部分组成,SP232EH芯片、串口接口。

1.SP213EH芯片:将SP2303的TTL电平的串行接口,转换成普通的RS232电平。以及将普通的RS232电平电平转换成TTL电平串行接口。

2.标准的DB9公头,可以直接设备进行数据通信。
 

上一篇:2022-01-21 通过TTL值判断系统类型


下一篇:linux网络命令--traceroute