总线是多个系统功能部件之间传输信号或信息的公共路径,是遵循同一技术规范的连接与操作方式;使用统一的总线标准,不同设备之间的互连将更容易实现。一组设备通过总线相互连接在一起就称为总线段(Bus Segment)。总线段之间可以相互连接构成一个网络系统。
总线主设备(Bus Master)是指能够在总线上发起信息传输的设备,其具备在总线上主动发起通信的能力;总线从设备(Bus Slaver)是挂接在总线上、不能在总线上主动发起通信,只能对总线信息接收查询的设备。
总线上可以有多个设备,这些设备可以作为主站也可以作为从站;总线上也可以有多个主设备,这些主设备都具有主动发起信息传输的能力。但某一设备不能同时既作为主设备又作为从设备。被总线主设备连接上的从设备通常称为响应者,参与主设备发起的数据传送。
总线上的控制信号通常有3种类型,分别如下:
1)控制设备的动作与状态。完成诸如设备清零、初始化、启动、停止等所规定的操作。
2)改变总线操作方式。例如,改变数据流的方向、选择数据字段和字节等。
3)表明地址和数据的含义。例如,对于地址,可以用于指定某一地址空间或表示出现了广播操作;对于数据,可以用于指定它能否转译成辅助地址或命令。
总线协议(Bus Protocol)是管理主、从设备工作的一套规则,是事先规定的、共同遵守的规约。
控制网络将多个分散在生产现场,且具有数字通信能力的测量、控制等设备作为网络节点,采用公开、规范的通信协议,以现场总线(包含工业以太网)作为通信连接的纽带,把现场控制设备连接成可以相互沟通信息,共同完成控制任务的网络系统。
一次总线操作包括总线上的主设备与从设备之间建立连接、数据传送、接收、脱开等操作。所谓脱开(Disconnected)是指完成数据传送操作以后,主设备与从设备之间断开连接。主设备可以在执行完一次或多次总线操作后放弃总线占有权。
通信请求是由总线上某一设备向另一设备发出传送数据或完成某种动作的请求信号,要求后者给予响应并进行某种服务。
总线的协议不同,通信请求的方式也就不同。最简单的方法是,要求通信的设备发出服务请求信号,相应的通信处理器检测到服务请求信号时就查询各个从设备,识别出是哪一个从设备要求中断并发出应答信号。该信号依次通过以菊花链方式连接的各个从设备,当请求通信的设备收到该应答信号时,就把自己的标识码放在总线上,同时该信号不再往后传递,这样通信处理设备就知道哪一个设备是服务请求者。这种传送中断信号的工作方式通常不够灵活,不适合总线上有多个进行通信处理设备的场合。
系统中可能会出现多个设备同时申请对总线的使用权,为避免产生总线“冲突”(Contention),需要由总线仲裁机构合理地控制和管理系统中需要占用总线的申请者,在多个申请者同时提出使用总线请求时,以一定的优先算法仲裁哪个申请者应获得对总线的使用权。
总线仲裁用于裁决哪一个主设备是下一个占有总线的设备。某一时刻只允许某一个主设备占有总线,只有当它完成总线操作、释放总线占有权后,其他总线设备才允许使用总线。总线主设备为获得总线占有权而等待仲裁的时间叫作“访问等待时间”(Access Latency),主设备占有总线的时间叫作“总线占有期”(Bus Tenancy)。
总线仲裁操作和数据传送操作是完全分开且并行工作的,因此总线占有权的交接不会耽误总线操作。
寻址是主设备与从设备建立联系的一种总线操作,通常有物理寻址、逻辑寻址及广播寻址3种方式。
1)物理寻址用于选择某一总线段上某一特定位置的从设备作为响应者。由于大多数从设备都包含多个寄存器,因此物理寻址常常有辅助寻址,以选择响应者的特定寄存器或某一功能。
2)逻辑寻址用于指定存储单元的某一个通用区,而不顾及这些存储单元在设备中的物理分布。某一设备监测到总线上的地址信号,看其是否与分配给它的逻辑地址相符,如果相符,它就成为响应者。物理寻址与逻辑寻址的区别在于前者是选择与位置有关的设备,后者是选择与位置无关的设备。
3)广播寻址用于选择多个响应者。主设备把地址信息放在总线上,从设备将总线上的地址信息与其内部的有效地址进行比较,如果相符则该从设备被“连上”(Connect)。能使多个从设备连上的地址称为“广播地址”(Broadcast Addresses)。为了确保主设备所选择的全部从设备都能响应,系统需要有适应这种操作的定时机构。
每种寻址方式各有其特点和适用范围,逻辑寻址一般用于系统总线,物理寻址和广播寻址多用于现场总线。有的系统总线包含上述两种甚至三种寻址方式。
如果主设备与响应者连接上,就可以进行数据的读/写操作。读/写操作需要在主设备和响应者之间传递数据。“读”(Read)数据操作是读取来自响应者的数据;“写”(Write)数据操作是向响应者发送数据。为了提高数据传送的速度,总线系统可以采用块传送等方式,以加快长距离的数据传送速度。
总线在传送信息时,有时会因传导干扰、辐射干扰等因素导致出现信息错误,使得“1”变成“0”,“0”变成“1”,影响到现场总线的性能,甚至于现场总线不能正常工作。除了要在系统的设计、安装、调试时采取必要的抗干扰措施以外,在高性能的总线中一般还设有出错码产生和校验机构,以实现传送过程的出错检测。例如,传送数据时如果有奇偶错误,通常是再发送一次信息。也有一些总线可以在保证很低的出错率的同时而不设检错机构。
为了减少设备在总线上因传送信息出错的故障对系统的影响,提高系统的重配置能力是十分重要的。例如,故障对分布式仲裁的影响要比菊花式仲裁小,菊花式仲裁在设备发生故障时会直接影响它后面设备的工作。现场总线系统能支持其软件利用一些新技术,实现如自动把故障隔离开来、实现动态重新分配地址、关闭或更换故障单元等功能。
主设备获得总线控制权以后,就进入总线操作,即进行主设备和响应者之间的信息交换,这种信息可以是地址也可以是数据。定时信号用于指明总线上的数据和地址何时有效。大多数总线标准都规定主设备可发起“控制”(Control)信号,如指定操作的类型、从设备状态响应信号等。