1、第七章 智能仪器仪表相互通道技术z主要内容y7.1 并行通讯设计()y7.2 串行通讯技术()y7.3 数据校验算法()y7.4 计算机控制网络7.1 并行通讯设计z主要内容y7.1.1 用8255实现并行通讯y7.1.2 利用IDT7132/34双口RAM实现并行通讯y7.1.3 利用DS1609双口RAM进行并行通讯7.1.1 用8255实现并行通讯ABABC 0-3C 4-78 2 5 58 2 5 5甲乙ABABC 1C 48 2 5 58 2 5 5甲乙C 1C 4C 0C 0E X I N TE X I N T图7.1利 用8 2 5 5的 并 行I/O口 实 现 并 行 通 讯7
2、.1.2 利用IDT7132/34双口RAM实现并行通讯z双口RAM是具有两组独立的地址线、数据线和控制线的双端口RAM。利用它可以简单可靠地实现主从机之间的数据共享。z硬件通讯协议(IDT7132)z软件通讯协议双口RAM硬件原理图z GND24CEL-1R/WL-2BUSYR-45BUSYL-3A10R44A10L4OER-43OEL-5A0R42A0L6A1R41A1L7A2R40A2L8A3R39A3L9A4R38A5R37A5L11A6R36A6L12A7R35A7L13A8R34A8L14A9R33I/O0L16I/O7R32I/O6R31I/O1L17I/O3L19I/O4R29
3、I/O4L20I/O3R28I/O5L21I/O2R27I/O6L22I/O1R26A4L10A9L15I/O2L18I/O7L23VCC48CER-47R/WR-46I/O5R30I/O0R25U6IDT7132PCS1CE7132GNDSA9SA8SA7SD1SD2SD3SD4SD5SD6SD7SD0SA0SA1SA2SA3SA4SA5SA6SWRSRDWRRDA0A1A2A3A4A5A6A7A8A9GNDD0D1D2D3D4D5D6D7RDYVCCGNDCEL-1R/WL-2A11R45A11L3A10R44A10L4OER-43OEL-5A0R42A0L6A1R41A1L7A2R40A
4、2L8A3R39A3L9A4R38A5R37A5L11A6R36A6L12A7R35A7L13A8R34A8L14A9R33I/O0L16I/O7R32I/O6R31I/O1L17I/O3L19I/O4R29I/O4L20I/O3R28I/O5L21I/O2R27I/O6L22I/O1R26A4L10A9L15I/O2L18I/O7L23CER-47R/WR-46I/O5R30I/O0R25PU2IDT7134SA0A112SA12SD1SD2SD3SD4SD5SD6SD7SD0DPRAM2D72D62D52D42D32D22D12D02A102A92A82A72A62A52A42A32A22
5、A12A02RD2WR2SRDSWRSA6SA5SA4SA3SA2SA1SA7SA8SA9SA10PCS1硬件通讯协议(IDT7132/4)z两端都有独立的数据线、地址线和控制线,两端都可对双口RAM的任意单元进行操作。只要两端不同时对同一地址单元进行操作就不会发生冲突,发生硬件冲突时,后操作一端的BUSY信号有效,常和CPU的READY线相连,迫使CPU插入等待周期。(原理图)软件通讯协议z 表7.1可读写标记55H可操作,AAH等待(或跳出)覆盖次数写者读出“+1”写入,读者读出后清“0”通讯内容发送和接收的数据备用字节用于以后扩充通讯的内容(写入0FFH)校验字节从系统状态到备用字节的垂
6、直异或或CRC校验,写者生成,读者再生成后比较甲写入乙读出7.1.3 利用DS1609双口RAM进行并行通讯硬件原理图z AD7A1AD6A2AD5A3AD4A4AD3A5AD2A6AD1A7AD0A8-WEA9-CEA10-OEA11GND12AD7B13AD6B14AD5B15AD4B16AD3B17AD2B18AD1B19AD0B20-WEB21-CEB22-OEB23VCC24U?DS1609图 7.3 DS1609 引脚图利用DS1609双口RAM进行并行通讯(续)通讯时序逻辑图z A D 0-7A D D R ESS V A LIDD O N T C A R ED A TA V A
7、 LID-C E-O EA D 0-7A D D R ESS V A LIDD O N T C A R ED A TA V A LID-C E-W EDuring Readcycle-WE=VihDuring Writecycle-OE=Vih图 7.4 DS1609 读 写 时 序 逻 辑 图利用DS1609双口RAM进行并行通讯(续)z以I/O口方式读写DS1609z以总线模式操作DS1609AD0-7AD0-7-CE-RD-WRALE-RD-WR图 7.6 以总线模式操作 DS1609地址译码通过地址译码和ALE锁存地址7.2 串行通讯技术z主要内容y7.2.1 串行异步通讯方式下的三种
8、同步机制y7.2.2 PC机和单片机之间的双机串行通讯技术y7.2.3 80C196单片机和单片机之间的多机通讯7.2 串行通讯技术(续)z主要内容y7.2.4 PC机为主机的多机通讯y7.2.5 RS-485、RS-422通讯技术7.2.1 串行异步通讯方式下的三种同步机制z一、依靠相同的波特率完成位同步z二、依靠预定的起始位和停止位完成帧同步z三、数据包(数据块)的同步z(详细)一相同的波特率一相同的波特率z 只是一个相对的概念,并不要求完全意义的相同,只要一帧数据BIT中误差不超过1 BIT即可,即在一帧数据中不错位即可由预定的停止位和起始位校准一次。二预定的起始位和停止位二预定的起始位
9、和停止位z同步预定的停止位和起始位可以在每帧数据之间同步一次。预定的停止位和起始位个数必须相同,如1个起始位1个停止位,或1个起始位2个停止位等。三数据包(数据块)的同步三数据包(数据块)的同步z1、每帧多发1BIT,如可依靠可编程的第9位为1来作为数据包的“头”,其后的数据可编程的第9位为0来实现数据包的同步。z2、也可以依靠多发特定的数据帧组合来实现,例如,可以发连续的99H、99H、99H、66H来识别数据包的头。z3、还有一种方式可以将数据转换为ASCII码进行通讯,如要发送1234,可以将其转换为4BYTE的ASCII码进行通讯,分别为:31H、32H、33H、34H,在数据通讯中如
10、果出现了55H则认为是数据的头。因为,09的ASCII码为30H(09)不可能为55H。7.2.2 PC机和单片机之间的双机串行通讯技术96 系列单片机电平变换PC 机TXDRXDRXDTXDGNDTTL 电平EIA 电平232 口图 7.7 PC 机和单片机的串行接口7.2.3 80C196单片机和单片机之间的多机通讯z主要内容一、半双工通讯的原理及过程二、“块首”的定义和通讯数据块三、通讯软件一半双工多机通讯的原理及过程一半双工多机通讯的原理及过程1、主机和从机全部工作于方式2,即只有可编程第9位TB8=1时才中断;z2、主机以方式2发送地址码(即从机号码),特征是可编程第9位TB8=1;
11、z3、全部从机接收中断并判断主机是否呼叫自己,是则立即转入方式3接收随后主机发送的数据,不是则仍工作于方式2,不响应随后的数据(可编程第9位TB8=0);z4、主机发完地址码后改以方式3(TB8=0)发送数据给指定从机,指定从机以方式3响应接收数据中断;z5、主机发完数据后转入方式3接收从机返回的数据,从机接收完数据后转入方式3发送给主机数据;z 6、接收和发送完毕后,主机和从机再转入方式2待命。二二“块首块首”的定义和通讯数据的定义和通讯数据块块z在多机通讯中完全可以以地址码(TB8=1)来判定数据的头,而且十分的方便。z 通讯数据块的内容为:z 地址码(TB8=1)通讯内容(TB8=0)校
12、验字节(TB8=0)zz应注意的是:在双机通讯过程中也可以以多机通讯的方式来完成,这样在程序“块首”的判断方面更加可靠和方便。7.2.4 PC机为主机的多机通讯z一利用8250控制寄存器实现z二利用VB的MSCOMM控件实现y1.MSCOMM控件及其属性设置y2.Timer 定时器的应用一、利用8250的控制寄存器控制TB8z D3:奇偶校验 0无 1有z D4:奇偶校验类型 0奇 1偶校验z D5:附着奇偶校验 0该位无效 z 1奇偶校验位恒为1(若D3=1、D4=0)z 奇偶校验位恒为0(若D3=1、D4=1)z 无奇偶校验位 (若D3=0)z发送地址码时:使D0=1 D1=1 D2=0
13、D3=1 D4=0 D5=1 D6=0 D7=0使奇偶校验位恒为1,相当于使可编程第9位TB8=1;z发送数据码时:使D0=1 D1=1 D2=0 D3=1 D4=1 D5=1 D6=0 D7=0使奇偶校验位恒为0,相当于使可编程第9位TB8=0。二利用二利用VB的的MSCOMM控件实现控件实现z 1.通讯设置 Setting:z 接收时设为38400,S,8,1,含义为波特率为38400,一个空位(为0,TB8=0),没有奇偶校验位,8个数据位,1个停止位;z 在发送时设为:38400,N,8,2,含义为波特率为38400,没有奇偶校验,8个数据位,2个停止位;设置2个停止位主要是为了配合单
14、片机的方式2通讯,第9位为1(TB8=1)的需要。二利用二利用VB的的MSCOMM控件实现(续)控件实现(续)z2.Timer 定时器的应用z在TIMER定时器中主要完成的功能为定时发送从机地址。发送时采用8个数据位,2个停止位的方式。所有从机均接收此字节,并和自身的地址相比较,是呼叫自己,则转为发送状态,向PC机发送数据。下面给出VB的例程。VB例程zPrivate Sub Timer1_Timer()yDim j(0)As ByteyDim bb As Variantyj(0)=CjNumybb=jyMSComm1.Settings=38400,n,8,2yMSComm1.Output=b
15、bySleep(5)yMSComm1.Settings=38400,s,8,1yCjNum=CjNum+1zEnd Sub7.2.5 RS-485、RS-422通讯技术z一、RS-232和RS-422、RS-485通讯特性比较(详细)z二、RS-422和RS-485通讯接口电路y1、MAX483y2、MAX1480(完整的,电气隔离器件)y3、MAX1490一、1、RS-232通讯zRS-232虽然使用很广,但因推出较早,在现代网络通信中已暴露出明显的缺点:数据传输速率慢,最快传输速率可达20KB/S;传送距离短,RS-232接口一般装置之间电缆长度为15m,即使有较好的线路器件、优良的信号质
16、量,电缆长度也不会超过60m。一、2、RS422通讯z为了进一步提高数据传输率和传送距离,又研制出了RS-422标准。RS-422规定了双端电气接口型式,其标准是双端线传送信号。其中一条线是逻辑1状态,另一条为逻辑0。RS-422最快传输速率可达10MB/S,最大距离为300m,适当降低速度,距离可达1200m。一、3、RS232和RS422比较z 因为232采用单端线路传送,传送过程中有电压的降落和干扰影响电压,而422采用的双端线路传送模式,把逻辑电平转变为两条线路上的电位差。RS-422电路由发送器、平衡连接电缆、电缆中断负载、接收器几部分组成。在电路中规定只许有一个发送器,可有多个接收
17、器,因此通常采用点对点通讯方式。该标准允许驱动器输出为26V,接收器可以监测到的输入信息电平可低到200mV。一、4、RS422和485比较zRS-485是一种多发送器的电路标准,它扩展了RS-422的性能,允许双导线上一个发送器驱动32个负载设备。负载设备可以是被动发送器、接收器或收发器。RS-485电路允许共用电话线通讯。二二 RS-422和和RS-485通讯接口电路通讯接口电路z 为了将逻辑电平转变为电位差值,常用的芯片有MAX481、483、485、MAX1480、MAX1490等。二、1、MAX483(非隔离半双工)z RXD R0 1-RE 2DE 3I/OTXD DI 47 B
18、B 76 A A 6DI TXDDE-REI/OR0 RXD8 VCC5 GND图 7.8 以 MAX483 完成 485 通讯MAX483甲方乙方二、1、MAX483(引脚及逻辑)z 引脚 名称 功能 1 RO 接收器输出:如果 AB200mV,RO 为高电平;如果 AAY-B7.3 数据校验算法z主要内容y7.3.1 数据奇偶校验y7.3.2 累加和校验和垂直异或校验y7.3.3 CRC校验算法y(详细)数据校验概述z在智能仪器仪表系统通讯和数据处理过程中,为了提高系统抗干扰能力和系统可靠性,常需要对数据进行校验,校验的算法多种多样,例如,单字节范围内的奇偶校验和多字节数据包范围内的累加和
19、校验、垂直异或校验、8位CRC校验、16位CRC校验。数据校验概述(续)z数据校验的基本过程是发送者生成校验码,将发送数据和校验码一并发送给接收者,接收者收到数据后,将接收到的数据采用相同的校验算法再生成一个校验码,和接到的校验码相比较,若两者一致,则认为接收数据正确,若不同,则认为接收数据不正确。z需要说明的是,所有的校验算法不能百分之百地保证接收数据的正确性,也就是说,如果校验正确,则不一定接收到的数据完全正确可靠,但如果校验不正确,则可以百分之百地说接收数据有错误。从概率上讲,累加和校验和垂直异或校验的纠错能力差,而CRC校验的纠错能力强。7.3.1 7.3.1 数据奇偶校验数据奇偶校验
20、奇偶校验分奇校验和偶校验。z奇校验:使N+1位中“1”的个数为奇数;z偶校验:使N+1位中“1”的个数为偶数。z例如:8位数据 10100111 z奇校验为:“0”10100111 附加的第9位“0”使全部“1”的个数为奇数z偶校验为:“1”10100111 附加的第9位“1”使全部“1”的个数为偶数z再如:5位数据 10010z奇校验为:“1”10010z偶校验为:“0”100107.3.2 7.3.2 累加和校验和垂直异或校验累加和校验和垂直异或校验z累加和校验和垂直异或校验比较简单,基本算法如下:z累加和 DATA(N+1)=DATA(0)+DATA(1)+DATA(N)z垂直异或 DA
21、TA(N+1)=DATA(0)Xor DATA(1)Xor Xor DATA(N)7.3.2 CRC7.3.2 CRC校验算法校验算法一数学模型一数学模型z CRC(Cyclic Redundancy Check)校验常有8_CRC和16_CRC,校验的数学模型为:z8_CRC=X8+X5+X4+1z16_CRC=X16+X15+X2+1二逻辑框图二逻辑框图z D7 D6 D5 D4 D3 D2 D1 D0 INPUT 图 7.11 8_CRC 校验码生成的示意图 XOR XOR XOR 三三参参考考源源程程序序z BYTE_CRC:LDB AH,#08 ;AH=BIT NUM OF ONE
22、BYTEz BT_CRCL:ANDB AL,BHH,#00000001B;AL=取BHH最低位z ;(BHH=DATA TO CRC)z XORB AL,BL;BL=CRC VALUEz SHRB BL,#1;BL=CRC VALUE 逻辑右移一位z ANDB AL,#00000001B;取AL=AL XORB BHH 的最低位z CMPB AL,R0z JE BT_CRCNz XORB BL,#10001100B;若AL.0=1(移出位=1)z ;则BL=CRC.2.3.7 XORB 1z BT_CRCN:DECB AHz CMPB AH,R0z JE BT_CRCEz SHRB BHH,#
23、1z SJMP BT_CRCLz BT_CRCE:RET D7 D6 D5 D4 D3 D2 D1 D0 INPUTXORXORXORBHH:D7 D6D0BL:CRC VALUE7.4 计算机控制网络z主要内容7.4.1 局部网络7.4.2 网络的组成一、概述二计算机网络协议及其层次结构三局部网络的标准化(详细)控制网络概述z 一个较大规模的复杂的工业测控系统,常有几十、几百甚至更多的测量和控制对象,对系统有很多的可靠性、灵活性要求,即使一台速度快、容量大、配置全、性能强的高档计算机也难以满足上述要求。为此,使控制系统分散化,即负载分散、危险分散、功能分散和地域分散就势在必行。z 80年代以
24、来,以微型机为核心的分布式计算机系统(又称集散控制系统)顺应了工业测控系统分散化的发展趋势,同以往的分散型仪器控制系统和集中计算机控制系统相比,它具有很大优点。z系统内计算机、工作站互相连接网络和数据通信,是分散式测控系统的关键技术之一。7.4.1 7.4.1 局部网络局部网络 我们把以传输信息为主要目的,用通信线路连接起来的计算机群称为计算机通信网络。计算机网络化是充分发挥计算机资源的利用率(资源共享)和便于使用计算机的有效途径。计算机网络技术包括硬件、软件、网络体系结构和通信技术。z计算机网络通常分为三大类:多机系统、局部网络和广域网络(远程网络)。z局部网络是在远程网络技术和计算机多机系
25、统技术基础发展起来的。远程网技术提供了计算机通信的经验,多机系统提供了计算机内部各部件之间高速数据传送和同步控制的经验。7.4.2 网络结构与组成 图7.12 网络的拓扑结构z(a)星形;(b)总线形;(c)环形.7.4.2 网络结构与组成 续z 1.物理层z物理层在信道上传输未经过处理的信息。该层协议涉及通信双方的机械、电气和连接规程。如接插件的型号,每根线的作用,高低电平的电压大小,一位占多宽,传输能否在两个方向同时进行,如何进行初始的连接,如何拆除连接等。2.链路层z数据链路层的任务是将可能有差错的物理链路改造成对网络层来说是无差误的传输线路。它把输入数据组成数据帧,并在接收端检验传输的
26、正确性。若正确则回送确认信息,若不正确则抛弃该帧,等待发送端超时重发。同步数据链路控制(SDLC)高级数据链路控制(HDLC)以及异步串行数据链路协议都属于此层范围。3.网络层z网络层的任务是使网络中传输分组。网络层规定了分组(第三层的信息单位)在网络中是如何传输的。网络层控制网络上信息的切换和路由选择。因此,本层要为数据从源点到终点建立物理和逻辑的连接。4.传送层z传送层的任务是在源主机和目的主机之间实现进程间通信。它通常由主机操作系统来完成,实现发送端和接受端之间的传输连接和控制。5.对话层z它控制建立或结束一个通信会话的进程。这一层检查并决定一个正常的通信是否正在发生。如果没有发生,这一
27、层必须在不丢失数据的情况下恢复会话,或根据规定,在会话不能正常发生的情况下终止会话。z用户(即两个表示层进程)之间的连接称为会话。为了建立会话,用户必须提供它希望连接的远程地址(会话地址)。会话双方首先需要彼此确认,以证明它有权从事会话和数据接收,然后两端必须同意在该会话中的各种选择项(如半双工或全双工)的确定,在这以后才开始数据传输。6.表示层z表示层实现不同信息格式和编码之间的转换。如文本压缩、代码转换、文件格式变换、不兼容终端的行长、屏幕行数、移行习惯、换页方式、字符集和光标寻址之间的变换等工作。7.应用层z应用层的内容视对系统的不同要求而定。它规定在不同的应用情况下所允许的报文集合对每个报文所采取的动作。z这一层负责与其他高级功能的通信,如分布式数据库和文件传输。这一层解决了数据传输完整性的问题或与发送/接受设备的速度不匹配的问题。本章小结z随着智能仪器仪表的发展,智能化网络化的基于多CPU的智能仪表不断出现,增强了智能仪表的功能。z本章主要讲述了并行和串行的相互通道技术,包括:UP和UP,UP和PC,PC和PC的多机通讯技术,并简述了现场控制网络技术本章作业z设计基于工业PC机PC/AT总线的智能插卡(采用并行通讯技术)。