I/O接口概念
I/O接口是一电子电路(以IC芯片或接口板形式出现 ),其内有若干专用寄存器和相应的控制逻辑电路构成。它是CPU和I/O设备之间交换信息的媒介和桥梁。CPU与外部设备、存储器的连接和数据交换都需要通过接口设备来实现,前者被称为I/O接口,而后者则被称为存储器接口。存储器通常在CPU的同步控制下工作,接口电路比较简单;而I/O设备品种繁多,其相应的接口电路也各不相同,因此,习惯上说到接口只是指I/O接口。
I/O接口基本功能
(1)进行端口地址译码设备选择。
(2)向CPU提供I/O设备的状态信息和进行命令译码。
(3)进行定时和相应时序控制。
(4)对传送数据提供缓冲,以消除计算机与外设在“定时”或数据处理速度上的差异。
(5)提供计算机与外设间有关信息格式的相容性变换。提供有关电气的适配
(6)还可以中断方式实现CPU与外设之间信息的交换。
控制方式
(1)程序查询方式
这种方式下,CPU通过I/O指令询问指定外设当前的状态,如果外设准备就绪,则进行数据的输入或输出,否则CPU等待,循环查询。
这种方式的优点是结构简单,只需要少量的硬件电路即可,缺点是由于CPU的速度远远高于外设,因此通常处于等待状态,工作效率很低
(2)中断处理方式
在这种方式下,CPU不再被动等待,而是可以执行其他程序,一旦外设为数据交换准备就绪,可以向CPU提出服务请求,CPU如果响应该请求,便暂时停止当前程序的执行,转去执行与该请求对应的服务程序,完成后,再继续执行原来被中断的程序。
中断处理方式的优点是显而易见的,它不但为CPU省去了查询外设状态和等待外设就绪所花费的时间,提高了CPU的工作效率,还满足了外设的实时要求。但需要为每个I/O设备分配一个中断请求号和相应的中断服务程序,此外还需要一个中断控制器(I/O接口芯片)管理I/O设备提出的中断请求,例如设置中断屏蔽、中断请求优先级等。
此外,中断处理方式的缺点是每传送一个字符都要进行中断,启动中断控制器,还要保留和恢复现场以便能继续原程序的执行,花费的工作量很大,这样如果需要大量数据交换,系统的性能会很低。
(3)DMA(直接存储器存取)传送方式
DMA最明显的一个特点是它不是用软件而是采用一个专门的控制器来控制内存与外设之间的数据交流,无须CPU介入,大大提高CPU的工作效率。
在进行DMA数据传送之前,DMA控制器会向CPU申请总线控制 权,CPU如果允许,则将控制权交出,因此,在数据交换时,总线控制权由DMA控制器掌握,在传输结束后,DMA控制器将总线控制权交还给CPU。
(4)无条件传送方式
(5)I/O通道方式
(6)I/O处理机方式
工业控制网络
工业控制网络一般为局域网,作用范围一般在几km之内。将分布在生产装置周围的测控设备连接为功能各异的自动化系统。控制网络遍布在工厂的生产车间、装配流水线、温室、粮库、堤坝、隧道、各种交通管系统、建筑、军工、消防、环境检测、楼宇家居等处。
工业控制网络的节点
工业控制网络的节点大都是具有计算与通信能力的测量设备。它们可能具有嵌入式CPU,但功能比较单一,其计算能力也许远不及普通PC,也没有键盘、显示等人机交互接口。有的甚至不带CPU、单片机,只带有简单的通信接口,例如限位开关、感应开关等各类开关,光电、温度、压力、流量、物位等各种传感器、变送器,各种数据采集装置等等。
控制网络的任务与工作环境
工业控制网络要面临工业生产的强电磁干扰,面临各种机械振动,面临严寒酷暑的野外工作环境,要去控制网络能适应这种恶劣的工作环境。另外,自控设备千差万别,实现控制网络的互联与互操作往往十分困难。
控制网络的实时性要求
控制网络必须满足对控制的实时性要求。实时控制对某些变量的数据往往要求准确定时刷新,控制作用必须在一定时限内完成,或者相关的控制动作一定要按事项规定的先后顺序完成[1]。
现场接口分类
基于控制网络的这些特点,其中的各种接口必须保证满足控制网络的要求。目前工业现场的接口种类有以下四类[2]:
(1)平台相关性通用协议:OPC/ DDE
OPC 是为了不同供应厂商的设备和应用程序之间的软件接口标准化,使其间的数据交换更加简单化的目的而提出的。作为结果,从而可以向用户提供不依靠于特定开发语言和开发环境的可以自由组合使用的过程控制软件组件产品。
(2)平台无关性通讯协议:ModBus、ProfiBus
Modbus 协议是应用于电子控制器上的一种通用语言。 通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。Profibus,是一种国际化、开放式、不依赖于设备生产商的现场总线标准。 Profibus 传送速度可在 9.6kbaud~12Mbaud 范围内选择且当总线系统启动时, 所有连接到总线上的装置应该被设成相同的速度。广泛适用于制造业自动化、流程工业自动化和楼宇、交通电力等其他领域自动化。Profibus是一种用于工厂自动化车间级监控和现场设备层数据通信与控制的现场总线技术。
(3)平台无关专有协议:大部分DCS协议、工业以太网协议
(4)特殊协议:编程口、打印口等特殊方式取得的协议
工业传输通讯的协议种类较多主要有历史遗留和人为垄断两方面的原因。虽然目前还有大量的现场总线标准,但没有任何一种标准比工业以太网更具生命力[2]。
各种现场总线/协议/接口总结[3]
比如:
Beckhoff的CX9000通过总线耦合器可以接出去多种总线:
EtherCAT可以集成很多现场总线:
类似的扩展其他总线的实物图是:
可以看到上面扩展出来的几个总线是:
Profibus
Profinet
CANopen
DeviceNet
参考文献
[1] 阳宪惠. 现场总线技术及其应用[M]. 清华大学出版社, 2008.
[2] 张云. 工业控制实时数据库的接口协议研究[J]. 工业控制计算机, 2011(09):18-19.
[3] 工业自动化领域各种总线+协议+规范+接口,(https://www.crifan.com/industrial_automation_field_various_bus_protocol_specification_interface/).
[4] 百度百科, I/O接口.
领取专属 10元无门槛券
私享最新 技术干货