1第八讲仪器通信(一)P118-P160P118-P160复习内容预习内容作业2主要内容概述RS-232C接口RS485接口第八讲仪器通信(一)USB接口3概述4串行通信及串行接口串行通信是指两个功能模块之间只通过一条或两条数据线进行数据交换。发送方需要将数据按二进制位进行分解,一位、一位地分时经过单条数据线传送。接收方需要一位一位地从单条数据线上接收数据,并且将它们重新组装成一个数据。串行通信所需数据线少,在远距离传送时比并行通信的造价低。但是一个数据只有经过若干次以后才可以传送完,速度较慢。完成串行通信的接口电路称为串行接口。5并行通信及并行接口并行通信是指两个功能模块之间有多条数据信号传送线,这样两模块之间可以一次同时传送多位数据,传送速度快。由于所需的数据传送线较多,造价高,因此并行通讯适用于近距离、快速数据交换的场合,如微机系统中CPU与存储器、I/O端口之间。完成并行通信的接口电路称为并行接口。6串行通讯时,需要解决以下问题:双方约定的发送与接收速率;约定采用的数据格式(帧格式);接收方怎样知道一批数据的开始、结束(帧同步);接收方怎样从数据流中采样每位数据(位同步);接收方怎样判断接收数据的正确性(数据校验),如何处理收发错误;解决这些问题的方法大体有同步通信与异步通信两种。7异步通信异步通信依靠起始位、停止位保持通信同步。以字符为单位传送,按帧传输,一帧数据包含起始位、数据位、校验位和停止位。两个字符之间的间隔是任意的,中间可以填充空闲位(高电平)。0189只要接收方检测到数据线上出现了由高电平向低电平的跳变,并且低电平能持续一段时间,就表明已经接收到一帧数据的开始。这时接收方就可以按照接收时钟从数据线上采样数据,直到接收到了停止位,表明接收完一帧数据。接收方还可以通过奇偶校验位判断数据传送过程中是否出现错误。10异步串行接口特别适合于使用普通电话线进行远距离数据通信。异步通信对硬件要求较低,实现起来比较简单、灵活,异步传送控制比较简单,对发送与接收时钟要求不很严格(发送和接收时钟可以不用同一个,所以不必传送时钟信号),不会造成错误累积,适用于数据的随机发送/接收,但因每个字节都要建立一次同步,即每个字符都要额外附加两位,所以工作速度较低(50~9600波特),在单片机中主要采用异步通信方式。11串行通信的校验循环冗余码校验(CyclicRedundancyCheck,简称CRC)奇偶校验累加和校验12循环冗余码校验的基本原理是将一个数据块看成一个位数很长的二进制数,然后用一个特定的数去除它,将余数作校验码附在数据块后一起发送。接收端收到该数据块和校验码后,进行同样的运算来校验传送是否出错。目前CRC已广泛用于数据存储和数据通信中,并在国际上形成规范,已有不少现成的CRC软件算法。累加和校验是指发送方将所发送的数据块求和,并将“校验和”附加到数据块末尾。接收方接收数据时也是先对数据块求和,将所得结果与发送方的“校验和”进行比较,相符则无差错,否则即出现了差错。“校验和”的加运算可用逻辑加,也可用算术加。累加和校验的缺点是无法检验出字节位序(或1、0位序不同)的错误。13同步通信传输速度较快,但要求有准确的时钟来实现收发双方的严格同步,对硬件要求较高,适用于成批数据传送。同步通信同步通信以数据块为单位进行传送,为了解决帧同步,在每一批数据流之前,附加同步信息(1~2个同步字符,同步字符作为起始位以触发同步时钟开始发送或接收数据),最后以校验字符结束。如果在数据传送过程中,发生数据断流(即发送方没有数据可发送)应以同步字符填充。14接收方检测到协议要求的1~2个同步字符后,就可以认为双方已经取得一致,之后就可以在严格的时钟控制下源源不断地发送和接收数据。同步通信对双方的时钟要求很严格,并且容易造成错误累积。同步通信时发送时钟和接收时钟必须用同一个时钟信号以减少错误累积,所以,在发送数据的同时还需要将发送时钟信号发送给接收方作为接收时钟。同步通信可以根据校验字符判断所接收的一批字符是否在传送过程中出现错误。同步通信的传送速率较高(通常其传送速率为50~几百千波特)。15调制与解调计算机内使用的是数字信号,要求的频带很宽,而一般的通信线路(如电话线路)的频带只有300Hz~3400Hz。若直接用电话线传输数字信息,则会引起严重的信号失真。为了能通过电话线传送数据,必须要把数字信号变成符合线路要求的模拟信号,这就是调制。而将电话线路上的模拟信号变为计算机可以接受的数字信号就是解调。调制解调器:具有调制和解调功能器件合在的一个装置。16传输率数据传输速率称为波特率(BaudRate),是指每秒传送的二进制位的个数,单位为BPS。字符中每个二进制位持续的时间长度都一样,为数据传输速率的倒数;计算机中常用的一些标准波特率系列为:110、150、300、600、1200、2400、4800、9600、19200。通信是根据传送的波特率来确定发送和接收时钟的。收、发时钟频率和波特率之间的关系为:时钟频率=N*波特率这里的N为波特率因子,常为1、16、32、64。17串行通信的制式串行通信按照数据传送方向可分为三种制式:单工制式是指甲乙双方通信时只能单向传送数据,发送方和接收方固定。单工制式(Simplex)18半双工制式是指通信双方都具有发送器和接收器,既可发送也可接收,但不能同时接收和发送,发送时不能接收,接收时不能发送。半双工制式(HalfDuplex)19全双工制式是指通信双方均设有发送器和接收器,并且信道划分为发送信道和接收信道,因此全双工制式可实现甲乙双方同时发送和接收数据,发送时能接收,接收时也能发送。全双工制式(FullDuplex)20单工:广播双工:电话半双工:对讲机21RS-232C通信接口22在工业自动控制、智能仪器仪表中,单片机的应用越来越广泛。随着应用范围的扩大以及根据解决问题的需要,对某些数据要做较复杂的处理。由于单片机的运算功能较差,对数据进行较复杂的处理时,往往需要借助计算机系统。因此,单片机与PC机进行远程通信更具有实际意义。利用8051单片机的串行口与PC机的串行口COM1或COM2进行串行通信,将单片机采集的数据传送到PC机中,由PC机的高级语言或数据库语言对数据进行整理及统计等复杂处理;或者实现PC机对远程前沿单片机进行控制。23在实现计算机与计算机、计算机与外设间的串行通信时,通常采用标准通信接口,这样就能很方便地把各种计算机、外部设备、测量仪器等有机地连接起来,进行串行通信。RS-232C是由美国电子工业协会(EIA)正式公布的,在异步串行通信中应用最广的标准总线(C表示此标准修改了三次)。它包括了按位串行传输的电气和机械方面的规定,适用于短距离或带调制解调器的通信场合。为了提高数据传输率和通信距离,EIA又公布了RS-422,RS-423和RS-485串行总线接口作准。24RS-232C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的于1969年公布的通信协议。它是一种用来连接计算机数据终端设备DTE(DataTerminalEquipment)和数据通信设备DCE(DataCommunicationEquipment)的外部总线标准。全称为EIA—RS—232C标准(ElectoronicIndustrialAssociateRecommendedStandard—232C)RS-232C串行通信接口标准25数据终端设备(DTE)发生数据和最终接收数据的设备称为数据终端设备DTE(DataTerminalEquipment)。DTE可以是网络计算机、电脑或打印机。数据通信设备(DCE)任务是数据信号的变换和控制,在发送端,把信号转换为模拟信号(调制);在接收端,把模拟信号转换为数字信号(解调)。如调制解调器就是DCE,用来在数字和模拟信号之间进行变换。RS-232C串行通信接口标准26RS—232C标准的信号线共25根,其中只定义了20根。这22根信号线又分为主、辅两个信道,大多数微机串行通信系统中都只使用主信道的信号线。在通信中,即便是只使用主信道,也并非主信道的所有信号都要连接,一般情况下只需使用其中的9根信号线。这就是为什么我们在微机的机箱上看到的串行通信接口(如COM1、COM2)只有9根的原因。RS-232C串行通信接口标准27连接器的机械特性PGDCDDCDDB-25型DB-9型28RS-232C接口信号线PGDCD引脚号信号名缩写名1保护地PG2发送数据TxD3接收数据RxD4请求发送RTS5清除发送CTS6数传机就绪DSR7信号地SG8数据载体检出DCD20数据终端就绪DTR22振铃指示器RIDB-25型29RS-232C接口信号线PGDCD发送数据(Transmitteddata-TxD)—通过TxD终端将串行数据发送到MODEM,(DTE→DCE)。接收数据(Receiveddata-RxD)——通过RxD线终端接收从MODEM发来的串行数据,(DCE→DTE)。30RS-232C接口信号线PGDCD请求发送(Requesttosend-RTS)—用来表示DTE请求DCE发送数据,即当终端要发送数据时,使该信号有效(on状态),向MODEM请求发送。它用来控制MODEM是否要进入发送状态;(DTE→DCE)清除发送(Cleartosend-CTS)—用来表示DCE准备好接收DTE发来的数据,是对请求发送信号RTS的响应信号。当MODEM已准备好接收终端传来的数据,并向前发送时,使该信号有效,通知终端开始沿发送数据线TxD发送数据。(DCE→DTE)31RS-232C接口信号线PGDCDRTS/CTS请求应答联络信号是用于半双工MODEM系统中发送方式和接收方式之间的切换。在全双工系统中,因配置双向通道,故不需要RTS/CTS联络信号,使其变高。32RS-232C接口信号线PGDCD数传机就绪(Datasetready-DSR)——有效时(ON)状态,表明通信装置处于可以使用的状态。(DCE→DTE)数据终端准备好(Datasetready-DTR)——有效时(ON)状态,表明数据终端可以使用。(DTE→DCE)DSR、DTR这两个信号有时连到电源上,一上电就立即有效。这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行通信了,能否开始进行通信要由控制信号决定。33RS-232C接口信号线接收线信号检出(ReceivedLinedetection-RLSD)——用来表示DCE已接通通信链路,告知DTE准备接收数据。当本地的MODEM收到由通信链路另一端(远地)的MODEM送来的载波信号时,使RLSD信号有效,通知终端准备接收,并且由MODEM将接收下来的载波信号解调成数字量数据后,沿接收数据线RxD送到终端。此线也叫做数据载波检出(DataCarrierdectection-DCD)线。PGDCDRLSD34RS-232C接口信号线PGDCD振铃指示(Ringing-RI)——当MODEM收到交换台送来的振铃呼叫信号时,使该信号有效(ON状态),通知终端,已被呼叫。(DCE→DTE)SG、PG——信号地和保护地信号线,无方向。35RS-232C接口信号线引脚号功能说明缩写1数据载波检测DCD2接收数据RXD3发送数据TXD4数据终端准备DTR5信号地GND6数据设备准备好DSR7请求发送RTS8清除发送CTS9振铃指示RIDCDRxDTxDDTRSGDB-9型36RS-232C标准接口总线MODEM控制(握手)信号引脚从计算机到MODEM的信号引脚包括DTR和RTS两个:DTR信号引脚用于通知MODEM,计算机已经准备好。RTS信号引脚用于通知MODEM,计算机请求发送数据。从MODEM到计算机的信号包括DSR,CTS,DCD,RI共4个:DSR信号引脚用于通知计算机,MODEM已经准备好。CTS信号引脚用于通知计算机,MODEM可以接收传送数据。DCD信号引脚用于通知计算机,MO