C的串行接口
什么是232和485,两者的区别

什么是232和485,两者的区别一、什么是RS-232 接口(1) RS-232 的历史和作用在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。
RS-232-C接口(又称EIA RS-232-C)是目前最常用的一种串行通讯接口。
(“RS-232-C”中的“-C”只不过表示RS-232的版本,所以与“RS-232”简称是一样的)它是在1970 年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。
它的全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准"该标准规定采用一个25 个脚的DB-25 连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。
后来IBM的PC 机将RS-232 简化成了DB-9 连接器,从而成为事实标准。
而工业控制的RS-232 口一般只使用RXD、TXD、GND 三条线。
(2)RS-232 接口的电气特性在RS-232-C 中任何一条信号线的电压均为负逻辑关系。
即:逻辑"1"为-3 到-15V;逻辑"0"为+3 到+15V 。
RS-232-C 最常用的9 条引线的信号内容如下所示DB-9 1 2 3 4 5 6 7 8 9DB-25 8 3 2 20 7 6 4 5 22定义DCD RXD TXD DTR GND DSR RTS CTS RI(3) RS-232 接口的物理结构RS-232-C 接口连接器一般使用型号为DB-9 插头座,通常插头在DCE端,插座在DTE端.PC 机的RS-232 口为9 芯针插座。
而波士RS-232/RS-485转换器的RS-232 为DB-9 孔插头。
一些设备与PC 机连接的RS-232 接口,因为不使用对方的传送控制信号,只需三条接口线,即"发送数据TXD"、"接收数据RXD"和"信号地GND"。
串行EEPROM(24C02)接口方法

串行EEPROM(24C02)接口方法在新一代单片机中,无论总线型还是非总线型单片机,为了简化系统结构,提高系统的可靠性,都推出了芯片间的串行数据传输技术,设置了芯片间的串行传输接口或串行总线。
串行总线扩展接线灵活,极易形成用户的模块化结构,同时将大大简化其系统结构。
串行器件不仅占用很少的资源和I/O 线,而且体积大大缩小,同时还具有工作电压宽,抗干扰能力强,功耗低,数据不宜丢失和支持在线编程等特点。
目前,各式各样的串行接口器件层出不穷,如:串行EEPROM,串行ADC/DAC,串行时钟芯片,串行数字电位器,串行微处理器监控芯片,串行温度传感器等等。
串行EEPROM 是在各种串行器件应用中使用较频繁的器件,和并行EEPROM 相比,串行EEPROM 的数据传送的速度较低,但是其体积较小,容量小,所含的引脚也较少。
所以,它特别适合于需要存放非挥发数据,要求速度不高,引脚少的单片机的应用。
这里绍串行EEPROM 芯片,以及它们和单片机的接口技术。
1、串行EEPROM 及其工作原理串行EEPROM 中,较为典型的有ATMEL 公司的AT24CXX 系列以及该公司生产的AT93CXX 系列,较为著名的半导体厂家,包括Microchip,国家半导体厂家等,都有AT93CXX系列EEPROM 产品。
AT24CXX 系列EEPROMAT24CXX 系列的串行电可改写及可编程只读存储器EEPROM 有10 种型号,其中典型的型号有AT24C01A/02/04/08/16 等5 种,它们的存储容量分别是1024/2048/4096/8192/16384位,也就是128/256/512/1 024/2048 字节。
这个系列一般用于低电压,低功耗的工业和商业用途,并且可以组成优化的系统。
这个系统还有多种电压级别,包括5V(4.5~5.5V),2.7V(2.7~5.5V),2.5V(2.5~5.5V),1.8V(1.8~5.5V)等4 种电压级别。
串行通信接口标准详解

几种串行通信接口标准详解在数据通信、计算机网络以及分布式工业控制系统中,经常采用串行通信来交换数据和信息。
1969年,美国电子工业协会(EIA)公布了RS-232C作为串行通信接口的电气标准,该标准定义了数据终端设备(DTE)和数据通信设备(DCE)间按位串行传输的接口信息,合理安排了接口的电气信号和机械要求,在世界范围内得到了广泛的应用。
但它采用单端驱动非差分接收电路,因而存在着传输距离不太远(最大传输距离15m)和传送速率不太高(最大位速率为20Kb/s)的问题。
远距离串行通信必须使用Modem,增加了成本。
在分布式控制系统和工业局部网络中,传输距离常介于近距离(<20m=和远距离(>2km)之间的情况,这时RS-232C(25脚连接器)不能采用,用Modem又不经济,因而需要制定新的串行通信接口标准。
1977年EIA制定了RS-449。
它除了保留与RS-232C兼容的特点外,还在提高传输速率,增加传输距离及改进电气特性等方面作了很大努力,并增加了10个控制信号。
与RS-449同时推出的还有RS-422和RS-423,它们是RS-449的标准子集。
另外,还有RS-485,它是RS-422的变形。
RS-422、RS-423是全双工的,而RS-485是半双工的。
RS-422标准规定采用平衡驱动差分接收电路,提高了数据传输速率(最大位速率为10Mb/s),增加了传输距离(最大传输距离1200m)。
RS-423标准规定采用单端驱动差分接收电路,其电气性能与RS-232C几乎相同,并设计成可连接RS-232C和RS-422。
它一端可与RS-422连接,另一端则可与RS-232C连接,提供了一种从旧技术到新技术过渡的手段。
同时又提高位速率(最大为300Kb/s)和传输距离(最大为600m)。
因RS-485为半双工的,当用于多站互连时可节省信号线,便于高速、远距离传送。
许多智能仪器设备均配有RS-485总线接口,将它们联网也十分方便。
RS232的最大传输距离

RS 232的最大传输距离RS-232的最大传输距离2010-09-06 10:01RS-232的最大传输距离是()。
*A、2米B、5米C、10米D、15米(顺便解释一下额~~)*传输距离有限,最大传输距离标准值为50米,实际上也只能用在15米左右。
所以选D在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。
RS-232-C接口(又称EIA RS-232-C是目前最常用的一种串行通讯接口。
("RS-232-C"中的'-C'只不过表示RS-232的版本,所以与"RS-232"简称是一样的)它是在1 970年由美国电子工业协会(EIA联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。
它的全名是"数据终端设备"(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准",该标准规定采用一个25个脚的DB-25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。
后来IBM的PC机将RS-232简化成了DB-9连接器,从而成为事实标准。
而工业控制的RS-232口一般只使用RXD、TXD、GND三条线。
(2)RS-232接口的电气特性在RS-232-C中任何一条信号线的电压均为负逻辑关系。
即:逻辑"1"为-3到-15V.逻辑"1"为+3到+5V。
RS-232-C最常用的9条引线的信号内容如下所示DB-9 12 34 56 78 9DB-25 83 220 76 45 22定义DCD RXD TXD DTR GND DSR RTS CTS RI(3)RS-232接口的物理结构RS-232-C接口连接器一般使用型号为DB-9插头座,通常插头在DCE端,插座在DTE端.PC机的RS-232口为9芯针插座。
串口是串行接口

串口是串行接口(serial port)的简称,也称为串行通信接口或COM接口。
串口通信是指采用串行通信协议(serial communication)在一条信号线上将数据一个比特一个比特地逐位进行传输的通信模式。
串口按电气标准及协议来划分,包括RS-232-C、RS-422、RS485等。
1.串行通信在串行通信中,数据在1位宽的单条线路上进行传输,一个字节的数据要分为8次,由低位到高位按顺序一位一位的进行传送。
串行通信的数据是逐位传输的,发送方发送的每一位都具有固定的时间间隔,这就要求接收方也要按照发送方同样的时间间隔来接收每一位。
不仅如此,接收方还必须能够确定一个信息组的开始和结束。
常用的两种基本串行通信方式包括同步通信和异步通信。
1.1串行同步通信同步通信(SYNC:synchronous data communication)是指在约定的通信速率下,发送端和接收端的时钟信号频率和相位始终保持一致(同步),这样就保证了通信双方在发送和接收数据时具有完全一致的定时关系。
同步通信把许多字符组成一个信息组(信息帧),每帧的开始用同步字符来指示,一次通信只传送一帧信息。
在传输数据的同时还需要传输时钟信号,以便接收方可以用时针信号来确定每个信息位。
同步通信的优点是传送信息的位数几乎不受限制,一次通信传输的数据有几十到几千个字节,通信效率较高。
同步通信的缺点是要求在通信中始终保持精确的同步时钟,即发送时钟和接收时钟要严格的同步(常用的做法是两个设备使用同一个时钟源)。
在后续的串口通信与编程中将只讨论异步通信方式,所以在这里就不对同步通信做过多的赘述了。
1.2串行异步通信异步通信(ASYNC:asynchronous data communication),又称为起止式异步通信,是以字符为单位进行传输的,字符之间没有固定的时间间隔要求,而每个字符中的各位则以固定的时间传送。
在异步通信中,收发双方取得同步是通过在字符格式中设置起始位和停止位的方法来实现的。
Linux_C_C++串口读写串口读写

Linux C/C++串口读写串口简介串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。
常用的串口是RS-232-C 接口(又称EIA RS-232-C)它是在1970 年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。
它的全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准"该标准规定采用一个25 个脚的DB25 连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。
传输距离在码元畸变小于4% 的情况下,传输电缆长度应为50 英尺。
Linux 操作系统从一开始就对串行口提供了很好的支持串口操作打开串口在Linux 下串口文件是位于/dev 下的串口一为/dev/ttyS0串口二为/dev/ttyS1设置串口最基本的设置串口包括波特率设置,效验位和停止位设置。
设置这个结构体很复杂,我这里就只说说常见的一些设置:波特率设置设置波特率的例子函数:/***@brief 设置串口通信速率*@param fd 类型 int 打开串口的文件句柄*@param speed 类型 int 串口速度*@return void*/int speed_arr[] = { B38400, B19200, B9600, B4800, B2400, B1200, B300,B38400, B19200, B9600, B4800, B2400,B1200, B300, };int name_arr[] ={38400, 19200, 9600, 4800, 2400, 1200, 300, 38400, 19200, 9600, 4800, 2400, 1200, 300, }; void set_speed(int fd, int speed){int i;int status;struct termios Opt;tcgetattr(fd, &Opt);for ( i= 0; i < sizeof(speed_arr) / sizeof(int); i++) {if (speed == name_arr[i]) {/*** tcflush函数刷清(抛弃)输入缓存(终端驱动程序已接收到,但用户程序尚未读)或输出缓存(用户程序已经写,但尚未发送)。
串行通信接口详细

数据的发送和接收分别由两根可以在两个不同的站点同
时发送和接收的传输线进行传送,通信双方都能在同一时刻
进行发送和接收操作,选择的传送方式称为全双工制。
A站
B站
发送器
接收器
接收器
特点:①每一端都有发送器和接收器 ②有二条传送线
应用:交互式应用,远程监测控制
发送器
(三)信号的调制和解调(远程通讯)
计算机的通信是要求传送数字信号,而在进行远程数据通 信时,线路往往是借用现有的公用电话网,但是,电话网是为 音频模拟信号的设计的。一般为300~3400Hz,不适合于数据 信号。
4 5 6 20
2.远距离连接(>15m)
4 5 6 20
1)需用MODEM和专用电话线
2)需用2~9条信号线(在接口与MODEM之间)
计 算 机
接 口
2
TXD RXD RTS
调
┇ CTS DSR
制 解
SG 调
DCD 器
调
制
专用电话线
解 调
器
TXD
RXD 2
RTS
终
CTS DSR ┇
SG
端
DCD
采用MODEM时RS-232信号线的使用
RS-485标准只对接口的电气特性做出规定(只规 定了平衡驱动器和接收器的电特性),而不涉及 接插件、电缆或协议,在此基础上用户可以建立 自己的高层通信协议。
RS-485需要2个终接电阻,其阻值要求等于传输 电缆的特性阻抗。终接电阻接在传输总线的两端。 (大多数双绞线特性阻抗大约在100Ω至120Ω之 间)
3.RS-232C接口信号的定义。见书134表5.2 。 25线:数据线4条(2,3,14,16) 控制线11条(4,5,6,8,12,13,19,20,22,23) 定时信号线3条(15,17,24) 地线2条(1,7) 备用5条(9,10,11,18,25) 未定义
SPI、I2C、UART三种串行总线的区别

c中没有引用————char &c =b ;上面的式子在c里面是错误的,提示错误:error: expected ‘;’, ‘,’ or ‘)’ before ‘&’ tokenc中没有引用,c++中才有,如果你用的是gcc编译器,将会出错,如果改为g++,就可以了;如果不想改,那么就只能用指针来传要改变的参数了SPI、I2C、UART三种串行总线的区别SPI:高速同步串行口。
3~4线接口,收发独立、可同步进行UART:通用异步串行口。
按照标准波特率完成双向通讯,速度慢SPI:一种串行传输方式,三线制,网上可找到其通信协议和用法的3根线实现数据双向传输串行外围接口Serial peripheral interfaceUART:通用异步收发器UART是用于控制计算机与串行设备的芯片。
有一点要注意的是,它提供了RS-232C数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了。
作为接口的一部分,UART还提供以下功能:将由计算机内部传送过来的并行数据转换为输出的串行数据流。
将计算机外部来的串行数据转换为字节,供计算机内部使用并行数据的器件使用。
在输出的串行数据流中加入奇偶校验位,并对从外部接收的数据流进行奇偶校验。
在输出数据流中加入启停标记,并从接收数据流中删除启停标记。
处理由键盘或鼠标发出的中断信号(键盘和鼠票也是串行设备)。
可以处理计算机与外部串行设备的同步管理问题。
有一些比较高档的UART还提供输入输出数据的缓冲区,现在比较新的UART是16550,它可以在计算机需要处理数据前在其缓冲区内存储16字节数据,而通常的UART是8250。
现在如果您购买一个内置的调制解调器,此调制解调器内部通常就会有16550 UART。
I2C:能用于替代标准的并行总线,能连接的各种集成电路和功能模块。
I2C是多主控总线,所以任何一个设备都能像主控器一样工作,并控制总线。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RXD 80C51
TXD
P1.0
A
B 74LS164
CLK CLR
GND
RXD 80C51
TXD
P1.0
方式0接收和发送电路
第19页/共43页
Q
74LS165
CLK S/L
GND
方式0掌握:
1、8位数据,波特率为F0SC/12 2、低位在前,高位在后 3、TI,再发送数据,软件清0,CLR
TI 4、RI,再接收数据,软件清0,CLR
第17页/共43页
2、PCON :
PCO
N
SMOD
(97H)
SMOD, 波特率倍增位。 在方式1、2、3时,波特率与SMOD有关: SMOD=1时,波特率提高一倍。复位时SMOD=0。
第18页/共43页
四、80C51串行口的工作方式
1.方式0_ 8位数据
串行接口工作方式0为同步移位寄存器 方式,多用于I/O口的扩展,其波特 率是固定的,为fosc/12。TXD引脚 输出同步移位脉冲,RXD引脚串行输 入/输出。
1 1:11位异步收发器(9位数据),波特率可变
第14页/共43页
SM2,多机通信控制位。
主要用于方式2和方式3。对于接收机 SM2=0,收到RB8(0或1)既可使收到的数据进入SBUF, 并激活RI。 SM2=1,收到的RB8=0时,收到的信息丢弃,不激活RI ; 若收到的RB8=1时,收到的数据进入SBUF,并激活RI,进 而在中断服务中将数据从SBUF读走。 方式0时,SM2必须是0。 方式1时,SM2=1时,只有接收到有效停止位时,RI才激活。
传输距离与传输速率的关系: 传输距离随传输速率的增加而减小。
第7页/共43页
二、串行通信接口标准
1、RS-232C接口
EIA(美国电子工业协会)1969年修订RS-232C 标准,它定义了DTE与DCE间的物理接口标准。
1
13
1
5
14
25
6
9
第8页/共43页
机械特性 使用25针连接器,连接器的尺寸及每个插针
字符之间是异步的,但同一字符内是同步的(各位 间距均为”位间隔”的整数倍)
第4页/共43页
同步通信:发送方时钟与接收方时钟同步。 既保持位同步,也保持字符同步。
01101
计 数据
计
算
算
机
机
甲 时钟
乙
时钟
计 数据 0 1 1 0 1
计
算
算
机 数据+时钟
机
甲
乙
外同步
保持位同步,也保持字符同步.
自同步
第5页/共43页
三、串行接口的结构
主要由两个数据缓冲寄存器SBUF和一个输入移位寄存器,以及一 个串行控制寄存器SCON(TI\RI)等组成。
波
特
CPU
率 发
A
生
器
T1
SBUF
门
发送控制器 TI
串行口中断 +
SBUF
接收控制器 RI
移位寄存器
第13页/共43页
TXD
S C O N
RXD
1、80C51串行口的控制寄存器-SC0N
RI 5、同步通信,无起始位和停止位
第20页/共43页
2.方式1_ 10位数据
在方式l时,串行口被设置为波特率可 变的8位异步通信接口。发送/接收1 帧数据为10位,其中1位起始位、8 位数据位(先低位后高位)和
REN,允许串行接收位。
置REN=1,启动串口接收过程 置REN=0,则禁止串口接收
第15页/共43页
TB8,在方式2、3中,是发送数据的第9位 数据的奇偶校验位 地址帧/数据帧的标志位
RB8,在方式2、3中,是接收到数据的第9位 奇偶校验位 地址帧/数据帧的标志位。
方式1时,若SM2=0,则RB8是接收到的停止位。
第2页/共43页
串行通信:数据字节一位一位在一条传输 线上逐个传送。
接
发
收
D0
D7
送
设 备
8位顺次传送
设 备
传输线少,可利用电话网,但传送控制复杂。
第3页/共43页
异步通信:收、发设备使用各自时钟 。
接 收 设101001001 备
0 101001001
间隙任意 发 送
0 111001101 0 1110011设0 备
串行通信的传输方向
发送
接收
单工 例如:广播
发送 时间1 接收 接收 时间2 发送
半双工 大哥大
发送
接收
接收
发送
全双工
手机
第6页/共43页
传输速率与传输距离
传输速率 比特率:每秒钟传输二进制代码的位数bps 波特率:每秒钟调制信号变化的次数。
单位是:波特(Baud)。
例如:数据传送的速率为120个字符每秒,每个字符由1个起始位、8个数据位和1个停 止位组成,则其传送波特率为: 10b×120/s=1200b/s=1200波特
的排列位置都有明确的定义。(阳头)
功能特性:
电气特性 : 负逻辑,DC(-3~-15v)为1。 DC (+3~+15v)为0, DC(-3~+3v)为过 渡区。
过程特性
规定了信号间的时序关系 。
第9页/共43页
TXD
M 计 RXD O
算 RTS 机
D E
DSR M
电话线
TXD
M
O RXD 计
D E
第16页/共43页
TI,发送中断标志位。
方式0时,串行发送第8位数据结束时 其它方式,串行发送停止位的开始时 硬件使TI置1,发中断申请。必须在中断服务程序中 用软件将其清0。
RI,接收中断标志位。
方式0时,串行接收第8位数据结束时 其它方式,串行接收停止位的中间时 硬件使RI置1,发中断申请。必须在中断服务程序中 用软件将其清0。
RTS 算 机
M DSR
TXD
计 RXD 算 机 甲
远程通信连接
TXD
RXD 计 算 机 乙
TXD
RXD 计4 算5 机6 甲 20
TXD
RXD 4
计
5算
6机
20 乙
近程通信连接
第10页/共43页Βιβλιοθήκη 2、PC与外设的RS-232直接连接
第11页/共43页
PC机与单片机串行通信接口示意图
第12页/共43页
一、 串行通信基本概念
通讯:信息交换
计算机 计算机
计算机 外设
应用:多机系统、计算机网络
方
并行通信
式
异步通信方式—按字符传输
串行通信 同步通信方式—按数据块传输
单工 半双工 全双工
第1页/共43页
并行通信:数据多位同时传送
8位同时传送 1
0
接
1
发
0
收 设
1
送
1 0
设
备
0
备
询问
应答
控制简单,传输速度快,传输线较多
设定工作方式、接收/发送控制以及设置状态标志
SCO
N
SM0 SM1 SM2 REN TB8 RB8 TI RI
(98H)
SM0、SM1:工作方式设置位
0 0:移位寄存器
,fosc/12
0 1:10位异步收发器(8位数据),波特率可变
1 0:11位异步收发器(9位数据),fosc/64或fosc/32