C的串行接口
- 格式:pptx
- 大小:845.71 KB
- 文档页数:43
什么是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)接口方法在新一代单片机中,无论总线型还是非总线型单片机,为了简化系统结构,提高系统的可靠性,都推出了芯片间的串行数据传输技术,设置了芯片间的串行传输接口或串行总线。
串行总线扩展接线灵活,极易形成用户的模块化结构,同时将大大简化其系统结构。
串行器件不仅占用很少的资源和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总线接口,将它们联网也十分方便。
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++串口读写串口简介串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。
常用的串口是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函数刷清(抛弃)输入缓存(终端驱动程序已接收到,但用户程序尚未读)或输出缓存(用户程序已经写,但尚未发送)。
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是多主控总线,所以任何一个设备都能像主控器一样工作,并控制总线。
串口通讯—RS-232-C详解 电子工程师网站串行通信接口标准经过使用和发展,目前已经有几种。
但都是在RS-232标准的基础上经过改进而形成的。
所以,以RS-232C为主来讨论。
RS-323C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。
它适合于数据传输速率在0~20000b/s范围内的通信。
这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定。
由于通行设备厂商都生产与RS-232C制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用。
在讨论RS-232C接口标准的内容之前,先说明两点:首先,RS-232-C标准最初是远程通信连接数据终端设备DTE(Data Terminal Equipment)与数据通信设备DCE(Data Communication Equipment)而制定的。
因此这个标准的制定,并未考虑计算机系统的应用要求。
但目前它又广泛地被借来用于计算机(更准确的说,是计算机接口)与终端或外设之间的近端连接标准。
显然,这个标准的有些规定及和计算机系统是不一致的,甚至是相矛盾的。
有了对这种背景的了解,我们对RS-232C标准与计算机不兼容的地方就不难理解了其次,RS-232C标准中所提到的“发送”和“接收”,都是站在DTE立场上,而不是站在DCE的立场来定义的。
由于在计算机系统中,往往是CPU和I/O设备之间传送信息,两者都是DTE,因此双方都能发送和接收。
一、RS-232-CRS-232C标准(协议)的全称是EIA-RS-232C标准,其中EIA(Electronic Industry Association)代表美国电子工业协会,RS(ecommeded standard)代表推荐标准,232是标识号,C代表RS232的最新一次修改(1969),在这之前,有RS232B、RS232A。
它规定连接电缆和机械、电气特性、信号功能及传送过程。
摘要:adμc812是一种新型的集成12位数据采集系统。
它的串行外设接口spi(serial peripheral interface)可进行主机和多片从外围器件的信息传递,即主机对从机的控制及从机向主机提供各种信息等,从而实现系统之间的各种控制和操作。
关键词:adμc812 串行通信 spi串行端口概述adμc812是一种全集成的12位数据采集系统。
它在单个芯片内包含了高性能的自校准多通道adc、2个12位dac以及可编程的8位mcu(与8051兼容)。
为便于mcu与各种外围设备进行通信,adμc812提供了3种串行i/o端口:uart接口、i2c兼容的串行接口和串行外设接口(spi)。
其中,spi接口是工业标准的同步串行接口,是一种全双工、三线通信的系统。
它允许mcu与各种外围设备以串行方式(8位数据同时、同步地被发送和接收)进行通信。
在spi接口中,数据的传输需要1个时钟信号和两条数据线。
spi可工作在主模式或从模式下。
在主模式,每一位数据的发送/接收需要1次时钟作用;而在从模式下,每一位数据都是在接收到时钟信号之后才发送/接收。
1个典型的spi系统包括1个主mcu和1个或几个从外围器件。
spi接口可设置成在发送/接收1个字节的结束时产生1次中断。
主时钟可以通过编程而成为不同的状态,既可编程为4种不同主波特率的任一种,又可对时钟的极性和相位进行编程。
spi也可用于那些需要比微控制器上的并行i/o端口更多输入或输出端的场合中。
spi提供了一种扩展i/o功能的最简单的办法,只需使用最少的微控制器引脚。
一、工作原理1.spi的信号说明spi系统使用4条线可与多种标准外围器件直接接口:串行时钟线(sclock)、主机输入/从机输出数据线miso、主机输出/从机输入数据线mosi和低电平有效的从机选择线ss。
sclock是主机的时钟线,为miso数据的发送和接收提供同步时钟信号。
每一位数据的传输都需要1次时钟作用,因而发送或接收1个字节的数据需要8个时钟的作用。