《第五章通信原理及接口电路设计_智能仪表原理与设计.ppt》由会员分享,可在线阅读,更多相关《第五章通信原理及接口电路设计_智能仪表原理与设计.ppt(97页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第五章第五章 通信原理及接口通信原理及接口 电路设计电路设计华东理工大学信息学院自动化系华东理工大学信息学院自动化系5.1概述概述本章主要内容:本章主要内容:5.2串行总线通信串行总线通信5.3并行通信及接口电路并行通信及接口电路5.4通用串行总线接口通用串行总线接口USB5.5蓝牙(蓝牙(Bluetooth)技术)技术5.6现场总线通信标准现场总线通信标准控制系统的发展推动了智能仪表通信接口的控制系统的发展推动了智能仪表通信接口的发展。仪表之间要进行信息交换和传输,这是通发展。仪表之间要进行信息交换和传输,这是通过仪表的通信接口、按照一定的协议来实现的。过仪表的通信接口、按照一定的协议来实现
2、的。通信接口是各台仪表之间或仪表与通信接口是各台仪表之间或仪表与PC机之间进行机之间进行信息交换和传输的联络装置。信息交换和传输的联络装置。5.1概述概述异步串行通信接口异步串行通信接口并行通信接口并行通信接口USB接口(通用串行总线)接口(通用串行总线)现场总线接口现场总线接口以太网接口以太网接口电力网络电力网络蓝牙技术:无线通信网络蓝牙技术:无线通信网络通信接口主要有以下类型:通信接口主要有以下类型:5.1概述概述5.2串行总线通信串行总线通信5.2.1串行总线介绍串行总线介绍5.2.2串行通信的基本概念串行通信的基本概念5.2.3串行通信接口标准串行通信接口标准5.2.4典型的串行通信接
3、口器件典型的串行通信接口器件5.2.5串行多机通信串行多机通信传统的通信接口传统的通信接口包括包括并行并行和和串行串行通信接口,通信接口,控制系统普遍使用串行通信方法。串行通信接口控制系统普遍使用串行通信方法。串行通信接口标准有标准有RS-232C、RS-422、RS-485等。等。5.2串行总线通信串行总线通信5.2.1串行总线介绍串行总线介绍RS-232C以位串型方式传输数据,以位串型方式传输数据,1位起始位、位起始位、58位位ASCII码数据及码数据及12位停止位,逻辑位停止位,逻辑1的电的电平是平是-15-5V,逻辑,逻辑0的电平的电平+5+15V。RS-232C的接口信号有:数据信号
4、、控制信号和信的接口信号有:数据信号、控制信号和信号地等,通常使用号地等,通常使用9芯扁平插头座来连接串行通信芯扁平插头座来连接串行通信线路。线路。5.2.1串行总线介绍串行总线介绍工业上普遍使用工业上普遍使用RS-485串行接口标准串行接口标准,因采用平因采用平衡差分信号线衡差分信号线,故其数据传送率较故其数据传送率较RS-232C高高,传送距离也长。传送距离也长。单片机有串行口单片机有串行口UART,可以可以RS-232或或RS-485标标准传输数据。准传输数据。5.2.2串行通信的基本概念串行通信的基本概念串行通信的特点串行通信的特点主要适用于长距离、低速率的通信中。主要适用于长距离、低
5、速率的通信中。数据在单条数据在单条1位宽的传输线上按时间先后一位一位位宽的传输线上按时间先后一位一位地传送;节省传输线(地传送;节省传输线(优点优点);数据传输率较低();数据传输率较低(缺缺点)。点)。通信线路工作方式通信线路工作方式单工方式单工方式(Simplex):单行线():单行线(onewayroad)计算机在进行数据的发送和接收时,线上的数据流动计算机在进行数据的发送和接收时,线上的数据流动只有一个方向。只有一个方向。半半双双工工方方式式(Half-duplex):数数据据的的流流动动为为双双向向,但但同同一一时时刻刻只只能能一一个个方方向向传传输输。即即交交替替地地进进行行双双向
6、向数数据据传送。传送。全全双双工工方方式式(Full-duplex):同同时时可可以以进进行行双双向向数数据据传输。传输。通信线路的连接方式通信线路的连接方式每秒传输的二进制位数,单位为每秒传输的二进制位数,单位为bps(bitpersecond)也称也称比特率比特率。波特率波特率每秒传输的每秒传输的“符号符号”(也称离散状(也称离散状态)的个数。态)的个数。【例如,每秒传送例如,每秒传送1个符号,则波特率为个符号,则波特率为1波特波特】在计算机中,一个在计算机中,一个“符号符号”的含义为的含义为高、低两种高、低两种电平电平,分别代表逻辑值,分别代表逻辑值“1”和和“0”,所以每个,所以每个符
7、号的信息量为符号的信息量为1比特,此时波特率与比特率刚好比特,此时波特率与比特率刚好一致。一致。但在其他一些场合(例如通信中采用的但在其他一些场合(例如通信中采用的“相相幅幅”复合调制技术,复合调制技术,一个一个“符号符号”的信息含量就不的信息含量就不是一个比特,此时,是一个比特,此时,波特率就不等于波特率就不等于比特率比特率。数据传输率数据传输率F(时钟频率)(时钟频率)波特率因子波特率因子波特率波特率波特率因子波特率因子:数据传输率:数据传输率(波特率)(波特率)与时钟频率之与时钟频率之间的比例系数间的比例系数给定时钟频率,选择不同的给定时钟频率,选择不同的波特率因子波特率因子可得到不同可
8、得到不同的波特率。的波特率。例如:例如:f=19.2kHz,若选波特率因子为,若选波特率因子为16,则波特率,则波特率为为1200bps。若选定波特率因子和波特率,则相应的确定了对若选定波特率因子和波特率,则相应的确定了对时时钟频率钟频率的要求。的要求。12001619200(时钟频率)(时钟频率)波特率因子波特率因子异步通信方式异步通信方式(Asynchronous)串行通信接收方式串行通信接收方式同步通信方式同步通信方式(Synchronous)异步通信方式:也称异步通信方式:也称“起止同步式起止同步式”。异步通信规程异步通信规程:一个字符(若干个字位)作为一个独立的信息单元;一个字符(若
9、干个字位)作为一个独立的信息单元;信息单元内是同步的,但信息单元之间是异步的;信息单元内是同步的,但信息单元之间是异步的;发送器和接收器可以没有共同的时钟;发送器和接收器可以没有共同的时钟;目前智能仪表与微机测控系统中大多采用异步通信目前智能仪表与微机测控系统中大多采用异步通信方式。方式。异步传输数据格式:异步传输数据格式:1/0001115-8位数据位1/0停止位或空闲位1 1起始位奇偶校验第n个字符空闲位第n+1个字符低位高位同步通信规程同步通信规程:发送器和接收器使用同一时钟源来同步发送器和接收器使用同一时钟源来同步用二进制系列(同步字符)来表示开始发送有用二进制系列(同步字符)来表示开
10、始发送有效数据效数据如暂无数据发送,用同步字符填充如暂无数据发送,用同步字符填充成批发送的数据,成为数据流或数据场成批发送的数据,成为数据流或数据场两类:面向字符型(两类:面向字符型(BSC);面向比特();面向比特(SDLC,HDLC)传输速率高,适用于设备间工作速度比较接近传输速率高,适用于设备间工作速度比较接近的场合。的场合。同步通信方式同步通信方式同步通信信息格式同步通信信息格式同步字符(SYN1)同步字符(SYN2)数据(DATA)校验:串行通信重要环节,衡量通信系统的校验:串行通信重要环节,衡量通信系统的指标指标奇偶校验(奇偶校验(ParityCheck)CRC校验(校验(Cycl
11、icRedundancyCheck)差错校验差错校验信号远距离传输时,利用普通电话线进信号远距离传输时,利用普通电话线进行传输。行传输。现在的电话网是模拟通信系统,它是为现在的电话网是模拟通信系统,它是为传输话音信息而设计的。要在电话网上传输话音信息而设计的。要在电话网上传送数字信号,必须经过调制和解调传送数字信号,必须经过调制和解调调制调制(Modulate):数字信号:数字信号-模拟(音频)模拟(音频)信号信号解调解调(Demodulate):模拟信号:模拟信号-数字信号数字信号信号的调制与解调信号的调制与解调方法方法:选取音频范围某一频率的正(余)弦选取音频范围某一频率的正(余)弦模拟信
12、号作为模拟信号作为载波载波,用以运载所要传送的数,用以运载所要传送的数字信号。要用传送的数字信号改变载波信号字信号。要用传送的数字信号改变载波信号的的幅值、频率或相位幅值、频率或相位,使之在信道上传送;,使之在信道上传送;到达信道另一端,再将数字信号从载波中取到达信道另一端,再将数字信号从载波中取出。出。调制技术调制技术FSKfrequencyshiftkeying,PSKPhase-Shift-KeyingPAMPulseAmplitudeModulation收发双方的同步方式收发双方的同步方式传输控制步骤传输控制步骤差错检验方式差错检验方式数据编码数据编码数据传输速度数据传输速度通信报文格
13、式及控制字符的定义通信报文格式及控制字符的定义5.2.3串行通信接口标准串行通信接口标准1969年,年,EIA制定的适合于制定的适合于DTE和和DCE之间相互之间相互连接与通信的串行通信规程。连接与通信的串行通信规程。最初为解决利用电话网进行通信的问题而提出。最初为解决利用电话网进行通信的问题而提出。DTEDataTerminalEquipment(Computer):数据终端设备:数据终端设备DCEDataCommunicationEquipment(MODEM):数据通:数据通信设备信设备-DataCircuit-terminalEquipment数字电路终端设备数字电路终端设备EIARS
14、232C标准标准1.1.数据传送格式数据传送格式RS232C总线上传输的异步通信典型数据格式总线上传输的异步通信典型数据格式标志位:标识位。一个字符在开始传输前,输出线必标志位:标识位。一个字符在开始传输前,输出线必须在逻辑上处于须在逻辑上处于“1”状态。状态。标识位标识位起始位起始位数据位数据位校验位校验位停止位停止位(1)采用采用负逻辑负逻辑:5V15V逻辑逻辑05V15V逻辑逻辑1(2)目的:目的:补偿传输线上的损耗补偿传输线上的损耗抗噪声干扰抗噪声干扰“0”转换区“1”“0”转换区“1”2V噪声容限15V5V5V15V15V3V3V15V2.2.电气信号特性(信号电平的规定)电气信号特
15、性(信号电平的规定)(3)RS-232C电平与电平与TTL电平之间的转换电平之间的转换TTL:+5V:10V:0RS-232:-15V-3V:1+3V+15V:0TTL电平电平RS-232C电平:电平:MC1488RS-232C电平电平TTL电平:电平:MC1489(a)MC1488(b)MC1489MC1488/1489是功能单一的发送是功能单一的发送/接受器,在双向数接受器,在双向数据传输中各端都要同时使用这两个器件,此外,又必据传输中各端都要同时使用这两个器件,此外,又必须同时具备正负两组电源,因此在很多场合很不方便。须同时具备正负两组电源,因此在很多场合很不方便。现在有一些新型的现在有
16、一些新型的RS-232C电平转换电路芯片。例如:电平转换电路芯片。例如:美国美国MAXIM公司生产的公司生产的MAXRS-232C收发器芯片收发器芯片系列十分丰富。系列十分丰富。MAX220,MAX222,MAX223,MAX225,MAX230,MAX231,MAX232,MAX232A,MAX233,MAX233A,MAX234,MAX235,MAX236,MAX237,MAX238,MAX239,MAX240,MAX241,MAX242,MAX243,MAX244,MAX245,MAX246,MAX247,MAX248,MAX249 标准最初制定时采用标准最初制定时采用25根线根线25个
17、功能引脚仅定义了个功能引脚仅定义了22个,个,22个信号分成两个信号分成两个信道组个信道组主信道组主信道组(第一信道第一信道)和辅信道和辅信道组组(第二信道,较少使用第二信道,较少使用)3.3.接口信号接口信号分类分类符号符号名称名称引脚引脚说明说明地线地线机架保护地(屏蔽地)机架保护地(屏蔽地)1信号地(公共地)信号地(公共地)7数据信数据信号线号线TXD数据发送线数据发送线2在在 无无 数数 据据 信信 息息 传传 输输 或或 收收/发发 信信 息息 间间 隔隔 期期,RXD/TXD电电平平为为1。辅辅助助信信道道传传输输速速率率较较主主信信道道低。其余同低。其余同RXD数据接收线数据接收
18、线3TXD辅助信道数据发送线辅助信道数据发送线14RXD辅助信道数据接收线辅助信道数据接收线16定时定时信号信号线线DCE发送信号定时发送信号定时15指示被传输的每个指示被传输的每个bit信息的中心位置信息的中心位置DCE接收信号定时接收信号定时17DTE发送信号定时发送信号定时24控控制制线线RTS请求发送请求发送4DTE发给发给DCECTS允许发送允许发送5DCE发给发给DTEDSRDCE装置就绪装置就绪6DTRDTE装置就绪装置就绪20DTE发给发给DCEDCD接收信号(载波)检测接收信号(载波)检测8DTE收到满足标准的信号时置位收到满足标准的信号时置位振铃指示振铃指示22由由DCE收
19、到振铃时置位收到振铃时置位信号质量检测信号质量检测21由由DCE根据数据信息是否有错而置位根据数据信息是否有错而置位/复位复位数据信号速率选择数据信号速率选择23指定两种传输速率中的一种指定两种传输速率中的一种RTS辅助信道请求发送辅助信道请求发送19CTS辅助信道允许发送辅助信道允许发送13RCD辅助信道接收检测辅助信道接收检测12备备用用线线9未定义,保留供未定义,保留供DCE装置测试使用装置测试使用10111825DB-9andDB-25RS-232PinDesignationsSignalDB-9DB-25DCD18RxD23TxD32DTR420GND57DSR66RTS74CTS8
20、5RI922硬件握手使用硬件握手使用DSR、CTS、DTR和和RTS四条硬件线路。四条硬件线路。其中其中DTR和和RTS指的是计算指的是计算机上的机上的RS-232端;而端;而DSR和和CTS则是指带有则是指带有RS-232接口接口的智能设备。的智能设备。通过四条线的通过四条线的交互作用,计算机主控端与交互作用,计算机主控端与被控的设备端可以进行数据被控的设备端可以进行数据的交流,而在数据传输太快的交流,而在数据传输太快而无法处理时,可以通过这而无法处理时,可以通过这四条握手线的高低电位的变四条握手线的高低电位的变化来控制数据是继续发送还化来控制数据是继续发送还是暂停发送。是暂停发送。右图描述
21、了计算机向设备传右图描述了计算机向设备传输数据时的硬件流量控制。输数据时的硬件流量控制。直接连接的最长距离为直接连接的最长距离为1515米(米(5050英尺)英尺)超过超过1515米需连米需连MODEMMODEM最高传输速率为最高传输速率为20Kbps20Kbps 1 25 13 141596DB9连接器连接器DB25连接器连接器4.4.机械接口特性机械接口特性(1)全双向标准电缆全双向标准电缆(2)三线经济方式三线经济方式(3)零调制解调器(零调制解调器(NullModem)采用交叉采用交叉(2-3,20-6)反馈反馈(4-5)方式进行连接方式进行连接5.5.通信系统结构通信系统结构全双向标
22、准电缆连接全双向标准电缆连接计算机与计算机与Modem相连相连本 地 Modem远 程 Modem 计 算 机终 端123456782022机壳地发送数据接收数据请求发送允许发送Modem就绪信号地载波检测终端就绪呼叫指示载波检测呼叫指示电话线三线方式信号连接三线方式信号连接简单的应用场合,如双机通信等简单的应用场合,如双机通信等三线方式信号连接Null modem方式信号连接零调制解调器(零调制解调器(NullModem)采用交叉采用交叉(2-3,20-6)反馈反馈(4-5)方式进行连接方式进行连接(1)EIARS-422A,采用,采用“平衡接口电路平衡接口电路”,输入差分电压,平衡驱动(全
23、双工)输入差分电压,平衡驱动(全双工)传输率传输率10Mbps传输距离传输距离10m(10Mbps)1000m(100kbps)(2)EIARS-423A,采用,采用“非平衡接口电路非平衡接口电路”传输率传输率300kbps传输距离传输距离10m(300kbps)1000m(3kbps)RS-422A,RS-423A和和RS-485采用平衡式发送,差分式接收的数据收发器来驱动采用平衡式发送,差分式接收的数据收发器来驱动总线总线速度速度(最大(最大10MB/S),传送距离传送距离(90KB/S下可传下可传1200米)米)以以差差分分平平衡衡方方式式传传输输信信号号具具有有很很强强的的抗抗共共模模
24、干干扰扰的的能力能力降降低低传传输输线线成成本本允允许许一一对对双双绞绞线线上上一一个个发发送送器器驱驱动动多个负载设备多个负载设备当前自动控制系统中常用的网络,如现场总线当前自动控制系统中常用的网络,如现场总线CAN、Profibus、INTERBUS-S以及以及ARCNet的物理层都是的物理层都是基于基于RS-485的总线进行总结和研究的总线进行总结和研究(3)EIARS-485A,采用,采用“平衡接口电路平衡接口电路”RS-232C,RS-422和和RS-485比较比较RS232C:2条数据线条数据线、单端输入、全双工方式单端输入、全双工方式RS422:4条数据线、差动输入、全双工方式条
25、数据线、差动输入、全双工方式RS485:2条数据线条数据线、差动输入、半双工方式差动输入、半双工方式串串行行通通信信是是靠靠发发送送器器、接接收收器器、控控制制器器和和线线缆缆等等部部分分来来实实现现的的。在在程程序序控控制制下下它它主要完成以下任务:主要完成以下任务:数据的串数据的串并及并并及并串转换。串转换。线路和线路和MODEMMODEM的控制及状态检测。的控制及状态检测。信号电平信号电平TTLTTL与与EIAEIA电平的转换。电平的转换。发送和接收数据。发送和接收数据。5.2.4典型的串行通信接口器件典型的串行通信接口器件(1)(1)芯片类型芯片类型标准标准LSI芯片按功能分为芯片按功
26、能分为:USART通用同步异步接收器通用同步异步接收器/发送器发送器UniversalSynchronousAsynchronousReceiver/TransmitterUART-通用异步收发报机通用异步收发报机UniversalAsynchronousReceiverTransmitterUSRT-通用同步收发报机通用同步收发报机UniversalSynchronousReceiverTransmitter典型芯片:典型芯片:Intel8251,ZilogSIO(USART)MotorolaMC6850,INS8250(UART)MC6852(USRT)。Intel 8251AIntel
27、8251A通用同步异步接收器通用同步异步接收器/发送器发送器主要引线信号说明主要引线信号说明RESET:复位信号:复位信号,为高时强迫为高时强迫8251A进入空闲状态进入空闲状态,等待接收模式字。等待接收模式字。CLK:时钟输入时钟输入,内部定时用内部定时用,大小高于通信速率。大小高于通信速率。C/D#:命令命令/数据数据,参与对内部寄存器寻址参与对内部寄存器寻址,C/D#为为1时主机对时主机对8251A写入控制字写入控制字,C/D#为为0时时,写入数据,接收地址线最低位。写入数据,接收地址线最低位。RTS#(Requesttosend):请求发送、输出。请求发送、输出。CTS#(Cleart
28、osend):允许发送、输出允许发送、输出DTR#(DataTerminalReady):本方准备好,输出本方准备好,输出DSR#(DataSetReady):对方准备好,输出。对方准备好,输出。(8251A与通信对方的另一对联络信号与通信对方的另一对联络信号)TxD:串行数据发送,输出,串行通信线。串行数据发送,输出,串行通信线。RxD:串行数据接收,输入,串行通信线。串行数据接收,输入,串行通信线。TxRDY:发送器准备好,输出,表明发送器准备好,输出,表明8251的状态。的状态。TxEMPT:发送缓冲器空,输出,表明发送缓冲器空,输出,表明8251的状态。的状态。RxRDY:接收器准备好
29、,输出,表明接收器准备好,输出,表明8251的状态。的状态。TxC,RxC:接收发送的时钟,一般用同一脉冲源。接收发送的时钟,一般用同一脉冲源。在异步方式下在异步方式下,此频率为波特率的若干倍此频率为波特率的若干倍.(波特率因子波特率因子);在同步方式下在同步方式下,此频率与波特率相同。此频率与波特率相同。SYNDET/BRKDET:同步检测同步检测/断路检测,双向断路检测,双向DATA BUSBUFFERREAD/WRITECONTROLLOGICMODEMCONTROLTRANSMITBUFFERP PS STRANSMITCONTROLRECEIVEBUFFERRECEIVECONTRO
30、LS SP PI IN NT TE ER RN NA AL LD DA AD DA AB BU US STxDTxDD7-D7-D0D0RESETRESETCLKCLKC C/D DRDRDWRWRCSCSDSRDSRDTRDTRCTSCTSRTSRTSTxRDYTxRDYTxEMPTTxEMPTTxCTxCRxDRxDRxRDYRxRDYRxCRxCSYNDET/SYNDET/BRKDETBRKDETI/OI/O缓冲器缓冲器状态缓冲器(状态缓冲器(databusbuffer):):用来存放用来存放8251内部内部的工作状态,供的工作状态,供CPU查询。查询。接收缓冲器(接收缓冲器(recei
31、verbuffer):):存放接收器已经装配存放接收器已经装配完毕的字符,准备送给完毕的字符,准备送给CPU。发送缓冲器发送缓冲器(transmitbuffer):存放存放CPU送入送入8251的的数据或命令。该缓冲器是发送数据和命令的共同寄存数据或命令。该缓冲器是发送数据和命令的共同寄存器,但必须分时使用。器,但必须分时使用。CPU向向8251送入命令字是为了控制送入命令字是为了控制8251的内部操作,的内部操作,使它建立起所需要的工作方式。命令字一旦送入,使它建立起所需要的工作方式。命令字一旦送入,8251立即执行。立即执行。CPU向向8251送入数据,目的是让送入数据,目的是让8251通
32、过发送器将数通过发送器将数据以串行形式输出,据以串行形式输出,并并串转换的时间较长串转换的时间较长,因此,因此,一旦给发送数据一旦给发送数据/命令缓冲器送入发送数据,发送器的命令缓冲器送入发送数据,发送器的TXRDY信号就变低,表示发送器正将该数据输出,信号就变低,表示发送器正将该数据输出,CPU不能向不能向8251送入新的命令字或数据,只有当送入新的命令字或数据,只有当TXDRY=1,发送器完成数据输出后,才允许送入新,发送器完成数据输出后,才允许送入新的数据或命令字。的数据或命令字。因此,因此,CPU向向8251发送数据或命令时,要不断监视发送数据或命令时,要不断监视TXDRY信号,对信号
33、,对TXDRY的监视通过查询的监视通过查询8251的状态的状态字来实现。字来实现。RESET:复位信号:复位信号,为高时强迫为高时强迫8251A进入空闲状态进入空闲状态,等待接收模式字。等待接收模式字。CLK:时钟输入时钟输入,内部定时用内部定时用,大小高于通信速率。大小高于通信速率。CS:片选信号,当片选信号,当CS=0时,允许时,允许CPU对对8251进行进行读写。读写。C/D#:命令命令/数据数据,参与对内部寄存器寻址参与对内部寄存器寻址,C/D#为为1时主机对时主机对8251A写入控制字写入控制字,C/D#为为0时时,写入数据,接收地址线最低位。写入数据,接收地址线最低位。RD:RD=
34、0时,时,CPU对对8251进行读操作。进行读操作。WR:WR=0时,时,CPU对对8251进行写操作。进行写操作。读读/写控制逻辑写控制逻辑8251A的读的读/写控制真值表写控制真值表8251A方式选择控制字方式选择控制字8251操作命令控制字操作命令控制字操作命令控制字直接让操作命令控制字直接让8251A实现某种操作或实现某种操作或进入规定的工作状态,它只有在设定了方式选择控进入规定的工作状态,它只有在设定了方式选择控制字后,才能由制字后,才能由CPU写入,写入,8251A的操作命令控制的操作命令控制字格式如下图所示。字格式如下图所示。8251状态字状态字CPU可在可在8251A工作过程中
35、利用输入指令(工作过程中利用输入指令(IN指令)读取当前指令)读取当前8251A的状态字,从而可以检测接的状态字,从而可以检测接口和数据传输的工作状态。口和数据传输的工作状态。8251A的状态字格式如的状态字格式如下图所示。下图所示。2.两台两台8031采用采用RS232C总线通信总线通信两台8031采用RS232C总线通信(1)双机串行异步通信)双机串行异步通信单片机与单片机间的串行异步通信接口设计单片机与单片机间的串行异步通信接口设计5.2.5串行多机通信串行多机通信两台两台8031直接通信直接通信错误连接图正确连接图单片机与单片机与PC系列微机间的异步串行通信接口设计系列微机间的异步串行
36、通信接口设计单片机与单片机与PC系列微机间的异步串行通信接口设计系列微机间的异步串行通信接口设计多机串行异步通信多机串行异步通信原理原理 串串行行口口控控制制寄寄存存器器SCONSCON中中的的SMSM2 2为为多多机机通通信信接接口口控制位。控制位。在在方方式式2和和方方式式3工工作作时时,利利用用SCON中中的的SM2,可可实实现现多多机机通通信信。例例如如,当当主主机机要要向向某某一一个个从从机机发发送送一一组组数数据据时时,地地址址字字节节第第9位位是是1,数数据据字字节节第第9位位是是0。从从机机先先置置SM2为为“1”,主主机机向向从从机机发发送送地地址址,因因第第9位位为为1,中
37、中断断标标志志RI置置“1”,于于是是从从机机中中断断,执执行行中中断断服服务务程程序序,判判断断主主机机送送来来的的地地址址是是否否与与本本系系统统地地址址相相符符,若若为为本本机机地地址址,则则置置SM2为为“0”,准准备备接接收收主主机机的的数数据据,若若地地址址不不一一致致则则保保持持SM2为为“1”状状态态。接接着着主主机机发发送送数数据据,第第9位位为为0,只只有有地地址址相相符符的的从从机机(SM2已已为为0)才才能能接接收收数数据据。其其余余从从机机因因SM2=1,不不能能进进行行中中断断处处理理,从而可实现主机与从机的一对一通信。从而可实现主机与从机的一对一通信。单片机之间的
38、通信(多机通信)单片机之间的通信(多机通信)n#TXDRXD80C51TXDRXD80C511#TXDRXD80C51TXDRXD80C512#主机主机从机置从机置SM2=1,主机发地址码,主机发地址码(第第9位位TB8为为1),以便同某一从机沟通联络。以便同某一从机沟通联络。所有从机判断此地址码是否与本机符合,相符者建所有从机判断此地址码是否与本机符合,相符者建立一标志(立一标志(SM2=0),并向主机发回答信号。),并向主机发回答信号。主机发数据(第主机发数据(第9位位TB8为为0),),沟通联络的从机可沟通联络的从机可接收,并发数据给主机。接收,并发数据给主机。TXD8031RXDTXD
39、8031RXD14881489RXDPCTXD14881489o-12VPC机机与单片机的通信接口与单片机的通信接口普通普通PC机要接入机要接入RS-485总线,可用总线,可用MAX202E、232E等(等(RS232与与TTL电平转换)和电平转换)和MAX488、491、1487等(等(TTL与与RS485电平转换)。电平转换)。通信双方所用的波特率必须相同,因波特率通信双方所用的波特率必须相同,因波特率误差会引起偏移。异步通信在约定的波特率误差会引起偏移。异步通信在约定的波特率下,传送和接收的数据不需要严格保持同步,下,传送和接收的数据不需要严格保持同步,允许有相对的延迟,当频率差不大于允
40、许有相对的延迟,当频率差不大于1/161/16时,时,可以正确的完成通信。可以正确的完成通信。PC机的波特率是通过对机的波特率是通过对8250内部寄存器初始化内部寄存器初始化来实现的,即对来实现的,即对8250的除数锁存器置值。该除数锁的除数锁存器置值。该除数锁存器为存器为16位,由高位,由高8位和低位和低8位锁存器组成。位锁存器组成。若时钟输入为若时钟输入为1.8432MHz,除数与波特率之间的关系为:除数与波特率之间的关系为:除数除数=当对当对8250初始化并预置了除数之后,初始化并预置了除数之后,波特率发生器波特率发生器方可产生规定的波特率(方可产生规定的波特率(bps)。)。下表列出了
41、可获得下表列出了可获得15种波特率所需设置的除数。种波特率所需设置的除数。表表IBMPC波特率波特率要求的波特要求的波特率率除数除数误差误差要求的波特要求的波特率率除数除数误差误差十进制十进制十六进制十六进制十进制十进制十六进制十六进制5023040900-1800640040-7515360600-200058003A0.69110104704170.0262400480030-134.585703590.0583600320020-1507680300-4800240018-3003840180-7200160010-60019200C0-960012000C-1200960060-通信采
42、用主从方式,由通信采用主从方式,由PC机确定与哪个单机确定与哪个单片机进行通信。片机进行通信。在通信软件中,应根据用户的要求和通信在通信软件中,应根据用户的要求和通信协定来对协定来对8250初始化,即设置通信参数:初始化,即设置通信参数:波特率(波特率(9600波特)、数据位数(波特)、数据位数(8位)、奇偶位)、奇偶校验类型和停止位数(校验类型和停止位数(1位)。位)。注意:注意:这里的奇偶校验位用作发送地址码(通这里的奇偶校验位用作发送地址码(通道号)或数据的特征位(道号)或数据的特征位(1表示地址),表示地址),而数而数据通信的校核采用累加和校验方法。据通信的校核采用累加和校验方法。数据
43、传送可采用数据传送可采用查询方式查询方式或或中断方式中断方式。若若采用查询方式,在发送地址或数据时采用查询方式,在发送地址或数据时,先用输,先用输入指令检查发送器的保持寄存器是否为空。若为入指令检查发送器的保持寄存器是否为空。若为空,则用输出指令将一个数据输出给空,则用输出指令将一个数据输出给8250即可,即可,8250会自动地将数据一位一位地发送到串行通信会自动地将数据一位一位地发送到串行通信线上。线上。接收数据时接收数据时,8250把串行数据转换成并行数据把串行数据转换成并行数据,并并送入接收数据寄存器中送入接收数据寄存器中,同时把同时把“接收数据就绪接收数据就绪”信号置于状态寄存器中。信
44、号置于状态寄存器中。CPU读到这个信号后,读到这个信号后,就可以用输入指令从接收器中读入一个数据了。就可以用输入指令从接收器中读入一个数据了。若采用若采用中断方式:中断方式:发送时,发送时,用输出指令输出一个数据给用输出指令输出一个数据给8250。若。若8250已将此数发送完毕,则发已将此数发送完毕,则发出一个中断信号,说明出一个中断信号,说明CPU可以继续发可以继续发数。数。若若8250接收到一个数据,则发一个中断接收到一个数据,则发一个中断信号,表明信号,表明CPU可以取出数据。可以取出数据。接收接收采用查询方法发送和接收数据的程序框图如下图所示:采用查询方法发送和接收数据的程序框图如下图
45、所示:通信软件通信软件(单片机的通信程序见讲义单片机的通信程序见讲义p122,PC通信软件可通信软件可用用C+、Delphi、VB等编制等编制)VB演示程序的通信设置演示程序的通信设置:MSComm1.CommPort=1MSComm1.Settings=9600,n,8,1MSComm1.PortOpen=True通信发送、接收程序通信发送、接收程序:b=b+1Ifb=20Thenb=0EndIfText1.Text=Str$(b)MSComm1.Output=Str$(b*2)Fori%=1To20000Nexti%Text2.Text=MSComm1.Input单片机采用中断方式发送和接
46、收数据。串行口单片机采用中断方式发送和接收数据。串行口设置为工作方式设置为工作方式3,由第,由第9位判断是地址码或数位判断是地址码或数据。当某台单片机与据。当某台单片机与PC机发出的地址码一致时,机发出的地址码一致时,就发出应答信号给就发出应答信号给PC机,而其它几台则不发应机,而其它几台则不发应答信号。这样,在某一时刻答信号。这样,在某一时刻PC机只与一台单片机只与一台单片机传输数据。机传输数据。单片机与单片机与PC机沟通联络后,先接收数据,再将机沟通联络后,先接收数据,再将机内数据发往机内数据发往PC机。机。定时器定时器T1作为波特率发生器作为波特率发生器,将其设置为工作方将其设置为工作方
47、式式2,波特率同样为,波特率同样为9600。单片机的通信程序框图见下图:单片机的通信程序框图见下图:单片机的通信程序如下:(假设某单片机地址为单片机的通信程序如下:(假设某单片机地址为03H)COMMN:MOVTMOD,#20H;设置设置T1工作方式工作方式MOVTH1,#0FDH;设置时间常数设置时间常数,确定波特率确定波特率MOVTL1,#0FDHSETBTR1SETBEASETBES;允许串行口中断允许串行口中断MOVSCON,#0F8H;设置串行口工作方式设置串行口工作方式MOVPCON,#80HMOV23H,#0CH;设置接收数据指针设置接收数据指针MOV22H,#00HMOV21H
48、,#08H;设置发送数据指针设置发送数据指针MOV20H,#00HMOVR5,#00H;累加和单元置零累加和单元置零MOVR7,#COUNT;设置字节长度设置字节长度INCR7CINT:JBCRI,REV1;若接收若接收,转转REV1RETIREV1:JNBRB8,REV3MOVA,SBUFCJNEA,#03H,REV2;若与本机地址不符若与本机地址不符,转转REV2CLRSM2;0SM2MOVSBUF,#00H;与本机地址符合与本机地址符合,回送回送“00”REV2:RETIREV3:DJNZR7,RT;若未完若未完,继续接收和发送继续接收和发送MOVA,SBUF;接收校验码接收校验码XRL
49、A,R5JZRIGHT;校验正确校验正确,转转RIGHTMOVSBUF,#0FFH;校验不正确校验不正确,回送回送“FF”SETBF0;置错误标志置错误标志CLRES;关中断关中断RETIRIGHT:MOVSBUF,#00H;回送回送“00”CLRF0;置正确标志置正确标志CLRES;关中断关中断RETI RT:MOVA,SBUF;接收数据接收数据MOVDPH,23HMOVDPL,22HMOVXDPTR,A;存接收数据存接收数据ADDA,R5MOVR5,A;数据累加数据累加INCDPTRMOV23H,DPHMOV22H,DPLMOVDPH,21HMOVDPL,20HMOVXA,DPTR;取发送
50、数据取发送数据INCDPTRMOV21H,DPHMOV20H,DPLMOVSBUF,A;发送发送ADDA,R5MOVR5,A;数据累加数据累加RETI并行通信的主要特点:并行通信的主要特点:(1)数数据据在在多多条条并并行行传传输输线线上上各各位位同同时时传传送送;和和串串行行传传送送相相比比,在在同同样样的的时时钟钟速速率率下下,并并行行传传送送的的信信息传输率较高;但所用信号线数量较多。息传输率较高;但所用信号线数量较多。(2)适用于信息传输率要求较高,而传输距离较短的适用于信息传输率要求较高,而传输距离较短的场合(如打印机)。场合(如打印机)。(3)采用采用IEEE-488(GP-IB,