I/O模块范文
I/O模块范文(精选9篇)
I/O模块 第1篇
需求量最大的I/O模块具有数字化和模拟功能。通过设计方案,I/O可插入基座或机架、使更多的I/O点进行对齐,并能同时将数字化和模拟功能组合使用。AutomationDirect公司的PLC、I/O和电脑控制产品经理Jeff Payne认为,在外壳内使用、诊断功能、光隔离功能和易于扩展等功能也颇受欢迎。在预算内将用于特定用途的离散、模拟和高速I/O功能相结合是一个关键的挑战。Payne说,供应商应提供为32个和64个点的高密度I/O,通过更严格的设计为用户节省成本。
例如,Ingersoll控制工程经理Gary Munger称,Ingersoll CM系统公司的新一代深圆角滚压机的成本比以前的I/O模块减少了60%。节省成本的同时,还减少了部件和使用了更经济BallufflO-Link集线器。Munger认为通过减少部件也能降低发生故障的可能性。
被调查者表示,可编程逻辑控制器可用于大多数I/O连接器。其用量比处于第二位的分布式控制系统(DCS)或流程自动化系统(PAS)多出2倍。供应商的应对措施是扩展连接器的功能。Omega工程公司称,该公司的通用远程I/O模块可与所有PLC相连接,并采用菊链式连接将31个I/O模块连接在每个RS-485上。它们可安装于DIN导轨上,具有光隔离功能,其尺寸为0.69-in.3.94-in.4.72-in.(17.5100120mm),适用于小型面板。
你是否用智能嵌入式微处理器I/O模块(装有内嵌式微处理器)替代其它控制器(例如PLC、PAC和循环控制器)?
你需要将I/O系统用于支持哪些网络?(请查看以下所有功能)
被调查者表示,工业以太网和以太网的连接器用于半数以上的网络协议其次是现场总线、设备级和传感器级别的网络,以及无线网络。据称,无线设计还能解决其他问题。
西门子称,西门子工业公司生产的Simatic ET 200pro IWLAN通过任何I/O站和模块进行无线连接,大大减少了通讯电缆与安装费用。坚固耐用的IP67级设计可加载在机器设备上,且无须采用电器外壳。
近三分之一(30%)的被调查者表示,他们使用有嵌入式智能的I/O模块取代其它控制器。伊顿逻辑控制器(ELC)采用的新型I/O,包含了可采用分散式I/O的智能I/O适配器模块,且只需要有限的本地逻辑控制输出。ELC的分散式I/O可通过以太网/IP和Modbus TCP以太网协议,以及Modbus RS-485和DeviceNet进行通信。
关于开发读写设备的计划
被调查者的读写设备包括供应商、价格、质量、生命周期、网络、电源和接地,以及测试等内容。一位被调查者称,应使所有人尽早参与选用过程,并使该过程简化。另外还要为备用I/O和插槽预留空间。另一位被调查者称,应为接线和标记线制定标准,并观察其转换率,从而确保其符合控制要求。通过寻觅分散功能,使I/O靠近使用点,并尽量减少安装和调试时间。
研究设备的用途、位置、客户要求和未来的扩展计划。为设备定径时,确定如何在图纸中查看已完成的控制项目、识别物理点、区分点类型和使用的信号,与现有物理点进行比较,并增设必要的控制硬件将其余点连接起来。
一位被调查者说,在联网和诊断方面“在I/O和连接的设备之间进行寻址是最大的问题。看来,几乎所有供应商都有自己的寻址方案。所以要仔细使用并要考虑到设备间的兼容性和通信的容易程度。”
远程I/O在简化配置、更新速度(现在可实时更新)和成本效益方面取得了长足的进步。另一位被调查者认为,可利用新协议的优势从事研究,尤其是基于以太网的研究。Wago-I/O-System的产品经理Charlie Norz认为,与I/O模块有关的迫切问题主要是关于协议的兼容性、为多种类型I/O的设备节点的功能,以及I/O模块的尺寸等。有些产品在用于通信时,采用的协议数超过16个,并可节省机内的储存空间。
关于生命周期问题,被调查者表示要为今后预留扩展空间,而且要检查现有机型可用于生产和提供支持的时间。另外,还要确保在为应用工程提供支持和编制文件时采用当地语言。种类多样的I/O具有优先权。用于国际标准化编程的IEC-61131-3的优先权更高。ABB公司称其生产的AC500-eCo I/O模块易于维护,具有多种扩展模块和采用IEC 61131-3标准的控制器。
用线性电源代替开关电源,可避免电源和接地时产生的噪音问题。I/O应能进行热插拔,连接后无需下载文件,通道之间相互隔离,与G3具有兼容性,而且功耗较少。Dataforth公司的全国销售经理Bill McGovern说,“通过隔离可消除接地回路,在电压过高时提供防护措施。而噪音过滤,可消除I/O信号中不必要的频率。”
Python 文件I/O 第2篇
raw_input
input
raw_input函数
raw_input([prompt]) 函数从标准输入读取一个行,并返回一个字符串(去掉结尾的换行符):
#!/usr/bin/python str = raw_input(“Enter your input: ”);print “Received input is : ”, str
这将提示你输入任意字符串,然后在屏幕上显示相同的字符串。当我输入“Hello Python!”,它的输出如下:
Enter your input: Hello PythonReceived input is : Hello Python
input函数
input([prompt]) 函数和raw_input([prompt]) 函数基本可以互换,但是input会假设你的输入是一个有效的Python表达式,并返回运算结果。
#!/usr/bin/python str = input(“Enter your input: ”);print “Received input is : ”, str
这会产生如下的对应着输入的结果:
I/O模块 第3篇
研华此次将数据采集、智能处理与数据发布三个核心功能有效融合在单个I/O模块中, 以满足如环境监测、设备故障监测及智慧城市等更广泛的行业应用。
研华WISE-4000系列产品是基于以太网的无线I/O模块, 无需通过网关即可采集和传输信息。由于无限定数量的I/O模块可从传感器采集信息并连接到既有网络, 这意味着该配置将更加简单便捷。
WISE-4000系列内部集成HTML5文档, 无需任何接入点, 即可直接通过web浏览器在移动设备上进行访问和配置。由于WISE-4000采用了时下流行的RESTful API, 系统集成商可通过调整程序以满足其特定需求, 并以更少的工作量获得更多数据, 实现用户效率最大化。
通过WISE-4000系列的数据存储功能, 用户可将标记时间的数据发送到Dropbox或私有云平台, 亦可缓冲在模块中。如此, 当发生网络通信故障时, 即便暂未发送数据至管理员也不会丢失, 有效提高了数据的安全性。
8086的I/O写周期 第4篇
8086在执行输出指令时进入I/0写周期,在I/O写周期中将指定寄存器的内容输出到指定的I/O端口,图2.1l是I/O写周期的时序图。I/O写周期和存储器写周期基本相同,
区别在于两点,一是M/在I/O写周期内为低电平,表示当前进行的是I/0操作;二是I/0端口的地址只有16位,因此图2.11中T1、T2期间没有出现A19~A16。
I/O模块 第5篇
本文基于HMS公司的Anybus-s PN IO模块,设计了一种支持PROFINET协议的远程I/O装置。Anybus-s是瑞典HMS公司研发的一系列用于工业现场网络通信的产品统称,通过其完成的代理器(proxy)的作用[2],使得本不具备网络通信能力的现场装置或者设备接入控制网络。
本系统为以Anybus-s PN IO模块为通信核心,通过微控制器AT89S52设计的系统控制模块,完成其初始化功能,并将远程I/O接入PROFINET网络。这些远程I/O包括16路DI、16路DO、4路AI和2路AO。从图1中可以看出,系统的设计可分为三部分,第一部分为PROFINET接口单元,它是整个系统的核心,决定了系统工作是否正常或稳定等等;第二部分为远程I/O接口部分,这部分主要处理了数字量和模拟量,它属于系统的下位部分;最后一部分是网络侧,即PROFINET的组态和编程部分,它组成了系统的上位部分。
图1为系统的总体框图。其中,单元1为PROFINET接口单元,单元2为数字量输入电路,单元3为数字量输出电路,单元4为模拟量输入电路,单元5为模拟量输出电路。在各个部分的电源端口,接短路保护和自诊断电路。虚框内的范围为设计的远程I/O,它接入PROFINET工业以太网。
1 硬件设计
本课题的硬件包括PROFINET接口单元、I/O接口单元和短路保护和自诊断单元等等。PROFINET接口单元作为控制的核心部分,通过单片机控制模块的数据总线和地址总线等等,完成模块的初始化;I/O接口单元则通过单片机I/O扩展和隔离、AD转换和DA转换等将数字量和模拟量接入模块;在现场装置发生短路故障时,短路保护和自诊断单元可以将电路自动断开,并且在不下电的情况下,待故障排除后,电路可以自动切换到正常运转状态。
1.1 PROFINET接口单元设计
图2为PROFINET接口的电路原理图,即图1中的单元1。 Anybus-s PN IO模块的34pin接口包括了数据总线、地址总线、控制总线以及串行通信接口等。8位数据总线D0-D7接单片机的P0-P7;A0-A11为地址总线,但是由于模块中DPRAM大小为2k,即只需要其中低11位地址总线,它的低8位接单片机P0口经74HC573锁存后的输出,A8-A10接P2.0-P2.2,A11悬空;控制总线有/BUSY/IRQ等等,接单片机的中断端口INIT0和INIT1[3]。
1.2 远程I/O接口单元设计
图3为I/O接口单元中,一路数字输入电路的信号隔离电路,即图1中的单元2。由于单片机I/O口有限,本文使用8255进行I/O扩展了数字量的输入和输出通道。它的数据总线和读写控制总线分别与单片机相应的引脚相连,地址端口分别接单片机P2.6和P2.7,用于确定是属于控制字还 是端口选择。由于系统要求分别有16路DI,因此只用到了8255的A组和B组端口。外围装置或者设备的高低电平来控制8255中某一位为“1”或“0”。信号隔离电路工作原理如下:当外围装置或设备为高电平时,光耦输入侧的发光二极管截止,光耦无输出,8255为“1”; 当装置或PLC为低电平时,光耦输入侧的发光二极管导通,光耦有输出,8255为“0”。
图4为I/O接口单元中,一路数字量输出电路,即图1中的单元3。光耦输入侧,8255某一位的高低电平控制光耦是否有输出。其中,8255高电平时,发光二极管截止,光耦无输出,+24V通过5.1k电阻接8050的基极,三极管导通,电路有输出;反之,8255低电平时,发光二极管导通,光耦输出高电平导致8050截止,电路无输出。
图5为I/O接口单元中,模拟量输入电路,即模/数转换部分的电路原理图。这部分是图1中的单元4。它的地址总线依次与单片机的P0口相连;利用74HC74芯片的两个D触发器构成了一个四分频的电路,输出接ADC0809的CLOCK,为芯片的工作提供时钟频率;EOC接反相器(74LS04)后接INT1,提供给单片机来查询转换是否结束;芯片的模拟通道选择端ADDA、ADDB和ADDC接P1.0-P1.2,用来选择是哪一条通道来进行转换;P2.7和收发控制端/WR和/RD经74LS02(或非门)芯片分别输出到OE和START/ALE端,用来控制转换开始和读取转换后得到的数据。其中,选取了IN3~IN6作为四路模拟量的输入通道。
图6为I/O单元中,模拟量输出,即单片机通过AD7528完成DA转换的电路,它是图1中的单元5。AD7528的数据端接单片机P0口,后者输入数字量来进行数/模转换;写控制端与单片机/WR相连,用来控制数字量写入的时刻;/C和DAC/A/B依次接P2.4和P2.5,这样可以通过模拟单片机对外部存储器进行写操作,控制选择哪一模拟通道进行转换,为后续的控制软件设计带来便利。
这部分电路的重点在于对输出的处理上,即利用运算放大器分别对两路模拟量的输出进行电流-电压转换。AD7528是一个电流型输出的芯片,而本设计要求模拟输出是在0V~5V之间,因此使用合理的运放电路就变得尤为重要。在本设计中,使用运放LM324设计了模拟量输出的处理电路。
1.3 短路保护和自诊断单元设计
图7为短路保护电路和自诊断单元电路,它接于供电电源,当现场装置发生短路故障时进行保护。电路工作原理如下:负载工作正常时,三极管8050发射极电位大于基极电位而处于截止状态,继电器线圈不带电,P沟道MOSFET栅极经继电器常闭触点接地而导通,负载上电,并且MOSFET压降很小,电源电压几乎全部加到负载上。负载发生短路时,三极管基极-发射极电压超过0.7V而导通,继电器线圈带电,常闭触点打开,导致MOSFET截止,这样形成了继电器-三极管形成的主电路,避免了短路电流给负载带来的危害。
2 控制软件设计流程
本课题的软件设计包括模块初始化和数据交换两部分。模块初始化部分完成Anybus-s PN IO的启动,设置被利用的I/O数据的大小;数据交换部分则完成下位应用程序和上位PLC之间的通信,即单片机将扫描得到的数字量和模拟量数据放入模块DPRAM中,同时读取指定的数据输出区域,并进行输出处理。图8为控制软件的设计流程。
3 基于Step7的上位配置
在Step7开始进行硬件组态时,它的硬件库中并没有Anybus-s产品的信息,无法直接组态。所以,第一步就是下载与本课题所使用模块相对应的GSD文件,并进行安装。安装完成后,还需要对Anybus-s PN IO模块进行IP、MAC和设备名等配置。配置结束时,可以在Step7中将模块组态进PROFINET网络[5]。
其次就是进行I/O配置。根据应用的不同要求,可以配置不同的输入和输出的大小。理论上,两者的最大值可以分别达到2kB。在本课题中配置了16I+16O,共32byte大小的空间。配置完成后,可以将组态后的信息下载到PLC中去。最终,一个包含有Anybus-s PN IO模块的PROFINET通信网络就建立起来了。
4 结束语
本课题在硬件设计上分为了模块初始化和远程I/O处理两部分:只有在完成了模块初始化的前提下,Anybus-s PN IO模块才具备建立PROFINET远程接口的功能;远程I/O处理的设计,保证了数字量及模拟量连入网络。同时,在不涉及模块初始化部分的前提下,通过修改I/O处理电路参数,也可以接入其他的装置或者设备,从而减少成本,提高了灵活性[6]。调试结果表明,本课题的设计方案科学可靠,能够完成将数字量和模拟量接入PROFINET网络的要求。
摘要:作为一种尚未被广泛使用的工业通信标准,PROFINET技术在研发、应用和维护等方面,都有很大的技术难度,且需要投入较高的成本。但是,它最大的优势也显而易见,便是能够从现场的I/O级到监控级实现一网到底。文中基于Anybus-s PN IO模块,设计了一种PROFI-NET从站接口,将远程I/O(包括16路DI,16路DO,4路AI和2路AO)接入PROFINET网络,为实现开关量、模拟量与PROFINET工业以太网进行数据通信奠定技术基础。同时,通过研究PROFINET网络协议和最终产品的功能,也为PROFINET更为深入的开发提供参考。
关键词:PROFINET,Anybus-s PN IO模块,远程I/O
参考文献
[1]何芳,刘皓春,黄伟,等.支持LonWorks总线通信的Anybus-s模块的设计[J].武汉理工大学学报,2006,28(11):84-85.
[2]张永德,李鑫.PROFINET的组成及其应用[J].工业仪表与自动化装置,2006(1):25-27.
[3]HMS Corporation.Parallel Interface Design Guide Anybus-SSLAVE&MASTER[Z].Rev.2.02,2005.07.19.
[4]凡金,刘彦呈,潘新祥.PROFINET工业以太网实时通信协议分析[J].低压电器通用低压电器篇,2008(21):31-33.
[5]SIEMENS Corporation.STEP 7 V5.4 Program[Z].2006.
I/O模块 第6篇
可编程逻辑控制器(PLC)具有高可靠性、模块化结构以及编程简单等特点,可实现过程参数实时采集和逻辑控制。近些年已被广泛用于供水企业的各个生产环节中,如水源汲水、净水处理及加压供水等生产现场。分布式I/O模块采用嵌入式控制器,自身带有RS485通信接口可与GPRS等通信设备结合使用。其体积小,功能模块化,设置指令简单,运行稳定可靠,已成熟运用到各类监控和数据采集系统中(SCADA)。
水源井群一般较分散且距离各级泵站或水厂较远,使用线缆连接各种仪表传感器等设备投资成本高、系统接线复杂、可靠性低且维护难度大。各种传感器、执行器与控制器之间使用无线通信方式进行数据传输,易实现分散控制集中管理,具有结构简单、维护方便及开发成本低等特点,可有效解决线缆连接所带来的问题。因此,研究和设计无线遥测遥控系统在工业过程生产中的应用,已成为工业自动化领域重点和热点之一。
1 系统工作原理及实现方案
1.1 系统工作原理
本系统用于水生产过程控制,主要完成5口水源井的水泵电机启停控制、电机相关运行参数检测,供水管网压力、流量测量及水厂本地供水压力、出水流量和蓄水池液位等数据监测。井群与水厂半径距离大约3km,分布在水厂西南至西北两个方向。主站即为管理人员操作站(或称主控站),可以遥控远方从站设备正常启动、停止以及复位;从站即为控制站,主要负责现场电机的启动与停止功能等[1]。水厂控制室设工作主站,5口水源井设工作从站;水厂控制室向井群发启停信号,对应水源井收到水泵启动或停止信号后执行水厂工作主站操作并监测水泵电机运行状况。水务调度中心监控各水厂生产情况和供水管道是否有泄漏发生。工作主站与工作从站间、管理主站与管理从站间均采用无线通讯方式完成各站的信号联络与数据传输。
1.2 负压力波流量法泄漏定位原理
泄漏是由于密闭容器、管道及设备等内外两侧存在压力差,在使用过程中,内部介质在不允许流动的部位通过孔、毛细管等缺陷渗出、漏失或允许流动的部位流动量超出允许量的一种现象[2]。在管道发生泄漏时,泄漏处流体损失引起局部流体密度减小,产生瞬时压力降和速度差,供水管道泄漏检测以泄漏前压力作为参考标准,泄漏时产生的减压波为负压波。当管道发生泄漏时,由于管道内外的压差,泄漏点的流体迅速流失,压力下降,泄漏点两边的液体由于压差而向泄漏点处补充[3]。负压波总是沿着管道以一定速度向其上、下游两端传播,根据泄漏点的不同,负压力波到达管道上、下游两端的时间也不同。由于负压力波的传播速度近似声音在水中传播速度即1km/s以上,远大于管道中水流速度,因此可忽略水流速度。假设t1和t2分别为上下游两端接收到负压力波的时间泄漏点距离上游的位置x为:
undefined (1)
式中 Δtt1和t2的时间差值,Δt=t1-t2;
V 负压力波传播速度,m/s;
L 管道长度,m。
式(1)成立的条件是v恒定。只要能测定Δt,就可以用式(1)计算出泄漏点位置x。在管道上游站进口和下游站出口分别安装压力和流量传感器,不间断采集供水管道的压力和流量值。当管道某点发生泄漏时,上游站的出站压力有所下降,而流量有所上升,下游站的进站压力、流量都将有所下降。当调节水泵使转速升高时,上游出站压力、流量都将增大,下游站进站压力、流量都上升;当水泵转速降低时,上游站的出站压力下降、流量减小,下游站的进站压力及流量也都下降。采用压力流量联合判断方法来监测管道泄漏,可以降低误报率。
1.3 系统实现方案
根据水生产工艺流程,系统分为:水源井、水厂、供水管网、水务调度中心。水源井与水厂直线距离一般在几公里到几十公里不等,且需要测量和控制的参数实时性较高。数传电台传输速率快、实时在线、响应及时,可适用实时性要求高的场合。水源井与水厂间采用数传电台通信,可实现井群水泵的实时遥控遥测,其设计方案如图1所示。
水厂与调度中心距离较远,供水管网采集点分散,使用数传电台难以达到较为理想的数据传输效果。而GPRS使用现行移动公网运行,覆盖
范围广、传输距离远,管网监测、水厂与调度中心通信都采用了GPRS可以实现超远程数据的传输。
供水管线长加大了人工检测管道泄漏的难度,通过检测供水管道上下游的压力和流量,加以程序分析,可精确定位管网泄漏点。
系统设备间通信采用数传电台与GPRS相结合的方式。水厂工作主站控制设备采用工控机,井群取水工作从站选用OMRON公司的CPM2AH小型PLC,供水管网的压力和流量参数采集使用研华公司的ADAM4017+模拟量输入模块。
2 系统硬件设计
2.1 硬件设备组成
由于水厂各生产系统所承担任务不同,各站点要测量参数也有所不同,测量参数见表1。
取水站主要任务是控制水泵电机的启停,检测电机运行工况是否有过载、欠压等情况以及每个取水站的用电量、水泵电机三相电压和电流。取水站参数测量实时性高,采用PLC与数传电台相结合的方式实现取水站的控制和数据传输。通信联网是拓展PLC应用领域的一个重要方面,现代PLC的应用已从单机自动化、生产线自动化扩大到车间、工厂生产综合自动化以及计算机集成制造系统和智能制造系统。世界上各大PLC生产厂家都为自己的PLC开发了网络通信系统。欧姆龙PLC网络类型较多、功能齐全,可适用于各层次工业自动化网络的不同需要。取水站[4]选用OMRON公司的CPM2AH-20CDR-A系列小型PLC,本机为12点、24V(DC)输入、8点继电器输出,带有一个RS232C物理串口和一个外围接口,可与上位机或带RS232接口的设备连接,实现通信功能。通信设备采用MDS EL7052E型数传电台进行微波通信,其使用4电平连续相位频移键(CPFSK)调制,空中传输速率9600bps,工作频率230MHz频段。数据吞吐量大、实时性高,而且可实现点对点和点对多的系统建设,数传电台频率、功率及接口数据传输格式可通过配套软件方便设置。水泵电机三相电压、电流及用电量的测量采用STM系列电量表模块,该产品支持RS232或RS485两种通信接口,采用串行异步通信方式,可使用Modbus的ASCII方式和RTU方式,ASCII方式适用于远程传输而RTU方式适用于本地传输,系统采用ASCII方式传输三相电压、电流及用电量等参数,STM电量表模块还可以测量有功功率、无功功率、视在功率和功率因素等电量参数。
水厂控制室,主要对井群遥控遥测,以及水厂本地蓄水池液位和加压泵出水压力、流量的测量。水厂本地测量参数较多,控制量较少,使用分布式I/O模块即可达到较好的监测效果。研华ADAM4017+模拟量输入模块是16位A/D八通道模拟量输入模块,使用电压、电流等模拟量输入信号,测量电流时无需外接电阻,跳线设置即可;支持八路差分信号和Modbus协议,在工业测量和监控中性价比较高。蓄水池液位测量选用投入式液位传感器,输出4~20mA电流信号;在每个加压水泵出口加装带RS485通讯接口的电磁流量计,测量出水量;在水厂主管道出口处测量出水压力。将测量到的压力和液位信号送本地ADAM4017+,经过RS485到RS232信号转换后送水厂工控机实现本地测量数据的监测。在水厂安装捷麦G200-GPRS无线模块实现与调度管理中心的无线数据传输。
供水管网监测参数主要为管道压力和流量,在相对较直的管道上下游分别安装压力和流量传感器,若管道有弯或分支处要另外成对加装压力和流量传感器。管道测量的压力和流量信号存在噪声需对其进行滤波,滤波后的信号再从ADAM4017+模块其中一路输入,ADAM4017+模块的RS485通讯接口与G200无线模块TTL接口相连,但中间要进行RS485到TTL的转换。供水管网测得的压力和流量值即可通过GPRS无线模块传输到调度管理中心,实现整个供水管网的监控。
2.2 硬件设备通信连接
随着科学技术的不断发展特别是计算机技术及网络通信技术的突飞猛进,各种仪器仪表正向着智能化和网络化发展,他们不再是孤立的设备,需要通信、需要组网。水厂与井群遥控通信硬件系统设计如图2所示。图中PC为主站,PLC为从站,CON1、CON2为电平转换器,MDS1、MDS2分别为数传电台,F、P、H分别为水厂本地流量、压力及液位,OCS、SRS分别为CPM2AH输出控制信号和状态返回信号,MOTOR为水泵电机,CPM1A-AD041为4输入模拟量输入模块。水厂本地都使用线缆与各传感器和执行器连接,各测量信号通过RS485或RS232电平转换后汇总到控制室的工控机上,通信方式相对简单。水厂及管网监控系统与水务调度中心通信图如图3所示。
3 系统软件开发
3.1 PLC初始化与主程序
在对OMRON公司CPM2AH小型PLC进行编程前,先要对其进行通信配置。系统采用CPM2AH的无协议通信模式。使用无协议通信,需要利用TXD(48)指令发送数据、利用RXD(47)接收数据,能够发送或接收的数据最大为259个字节。当串行设备通过RS232C端口与PLC连接时,RS232C端口的通信方式和通信参数存储在寄存器DM6645~DM6649中[5]。初始化程序是在PLC上电之后,利用“第一次循环标志位”在程序第一次循环时对发送和接收程序所涉及的寄存器进行清零以及数据传输帧格式的设置。主程序实现数据发送、接收、模拟量输入检测,以及开关量输出控制等功能。PLC程序流程如图4所示。
3.2 上位机程序
监控与管理系统是整个供水系统的软件支柱,目前这方面使用较多的软件可分为两种:一种是通用性组态软件,如WinCC、组态王、MCGS等;另一种是用户利用VB、VC、VC++等编程开发工具自己编写的工业监控软件。
Visual Basic 6.0(VB6.0)具有面向对象的可视化编程工具,采用“事件驱动”的编程机制,提供了易学易用的集成开发环境。VB中创建的部件可在其他开发环境中(如VC++)使用,还可以引用其他开发工具建立部件[6]。水厂监控系统采用Visual Basic开发,水厂要对取水站及水厂本地的测量参数进行监控,对各取水站水泵遥控启停、水泵故障报警、供水系统自动与手动运行切换,及水厂运行设备数据查询等。根据监控界面友好、画面布局合理、操作简单方便的原则对水厂监控画面进行了开发。水厂监控程序关键之一是串口通信程序,它是工控机与各设备通信的桥梁,串口通信程序直接影响整个水厂系统的运行。Visual Basic6.0提供了MSComm控件可方便编写串口通信程序,MSComm控件全称为Microsoft Communications Control,是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简单方法[7]。
水务调度管理中心主要调控本区域内各水厂生产,统计水厂出水量,监测供水管网运行情况。利用VB6.0开发的水务管理监控系统可分为:管道泄漏检测报警模块、数据库查询模块及地形图库模块3部分。
4 结束语
本系统用于水厂井群控制、水厂生产及供水管网监控。通过实验和实际工程检验,系统能满足水厂生产的要求,可适应各种恶劣工作环境,对水生产过程参数测量无误、控制稳定、管网泄漏定位准确,对水厂安全运行、提高供水质量和节能降耗等方面起到关键作用。可视化编程语言VB开发的上位机界面一目了然操作方便。系统中各设备间通信良好、数据传输误码率低、故障响应及时。系统采用了数传电台与GPRS相结合的通信方式,运行成本较低,在中小型水厂或城镇集中供水工程中有较高的使用价值,稍加改进可广泛应用于其他生产的过程控制。
参考文献
[1]张继红,郭荣祥.基于CPM系列PLC的微波通信设计[J].电气传动,2006,36(9):51~53.
[2]郭文辉,曾宪云.管道泄漏检测技术[J].工业安全与环保,2007,33(2):40~42.
[3]彭柯,王立坤,李健等.基于SCADA系统的泄漏监测与定位[J].化工自动化与仪表,2004,31(1):50~52.
[4]李占英,姚丽君,梅彦平.零基础学欧姆龙CPM2PLC[M].北京:机械工业出版社,2010.
[5]王成福.可编程序控制器及其应用[M].北京:机械工业出版社,2006.
[6]刘新民,蔡琼,白康生.Visual Basic 6.0程序设计[M].北京:清华大学出版社,2004.
I/O模块 第7篇
1 虚拟地址映射
对外设进行I/O操作即读写外设的寄存器,WinCE系统启动后,无法直接访问其物理地址,因此,我们要理解WindowsCE下的虚拟地址映射。
在WindowsCE中有两种类型的地址:物理地址和映射的虚拟地址[1]。
物理地址是需要被操作系统访问的实际的RAM或设备存储器,它由来自于CPU的物理地址定义,一旦MMU启动,CPU就不能直接访问。内核只能管理512MB的物理内存。
不同架构的CPU硬件上的区别导致虚拟地址映射也不同。SHx和MIPS处理器,不采用MMU,在CPU和内核里定义1G的物理地址,能对其直接进行操作;而ARM和X 86带有MMU单元,在OEMAddressTable中定义物理地址到虚拟地址间的映射关系或者是操作系统启动后调用函数CreateStaticMapping和NKCreateStaticMapping来实现从虚拟地址到物理地址的静态映射。经过静态映射的地址,可以由操作系统内核用于ISR(InterruptServiceRoutine)访问设备。如果我们要在应用程序中访问外设,必须在物理地址和虚拟地址间建立动态映射关系,我们可以使用VirtualAlloc和VirtualCopy(或者直接调用MmmapIoSpace函数)来实现。
静态映射允许OAL,尤其是中断服务历程ISR访问连接到系统的设备。物理的内存块在被映射到虚拟地址空间时,通常被映射两次,分别映射到两个不同的区域,位于512MB使用缓冲(Cached)的区域和512MB不使用缓冲(Uncached)的区域,如图1所示。OEMAddressTable负责创建第一个基于Cached的映射,而操作系统负责自动创建第二个基于Uncached的映射。
如果是操作通过总线挂接的I/O或者存储器,必须先把总线地址转化成CPU上的系统地址,再做物理地址到虚拟地址的映射。这里需要查CPU的Datasheet,找出所要操作的I/O地址。先调用HAL-TranslateBusAddress()把总线地址转化成CPU上的系统地址,再调用MmmapIoSpace函数实现虚实映射;也可以使用TransBusAddrToVirtual()直接把总线上的地址转化成系统的虚拟地址。
在一般的应用程序中访问I/O是访问它的缓存段虚拟地址,而驱动中必须访问无缓存段虚拟地址。缓存段虚拟地址与无缓存段虚拟地址之间的偏移量为0x20000000,即无缓存段虚拟地址=缓存段虚拟地址+0x20000000。
2 关键函数
在动态虚拟地址的映射过程中,需要用到以下3个函数:VirtualAlloc、VirtualCopy、VirtualFree。
VirtualAlloc用于在当前进程的虚拟地址空间中保留或者提交空间,在保留时以64kB为单位,提交时以4kB为单位。其函数原型为
这里需要注意的是fdwProtect参数。如果是驱动程序访问,需要设置为PAGE NOCACHE,以访问无缓存段虚拟地址。如果映射的物理地址范围在0x1FFFFFFF之上,必须使用PAGE PHYSICAL,此时必须把lpvSrc右移八位,实现地址对齐。(这是由内核中VirtualCopy的实现决定的,在那个函数中会判断如果是PAGE PHYSICAL就将PHYSADDR左移8位移回来,源代码位于private/winceos/coreos/nk/kernel目录下的virtmem.c中的DoVirtual-Copy)
3 实例操作
以S3C 2440为例,GPIO的基地址为0x56000000,映射到虚拟地址空间为0xB 1600000,通过对这段虚拟地址空间的操作,就能够完成对GPIO或者其他片内资源的控制、输入输出工作。
(1)首先在BSP中的s2440.h文件,找到虚拟地址映射以及操作GPIO的寄存器结构体(这个在自己制作一些特殊设备的BSP时,会依据需要而发生更改)。
(2)在EVC中建立一个应用程序工程,由于VirtualCopy函数没有在头文件中定义,但是在coredll.lib里面提供了符号连接,所以我们在工程头文件中直接添加一个函数定义就可以了。
v pIOPRegs->rGPFCON=0x5555;
这3个步骤之后,对v pIOPRegs的操作将直接和GPIO的寄存器关联。例如:设置GPF的控制寄存器为全部Output
v pIOPRegs->rGPFDAT=0xFF;
4 结束语
WindowsCE作为实时嵌入式窗口操作系统,是当今应用最多、增长最快的嵌入式操作系统。研究其I/O操作方法,对进一步深入开发具有一定的指导意义。
摘要:介绍Windows CE系统的虚拟地址映射机制,以I/O操作为基础,通用性较强。对关键函数进行了说明,并以S3C2440为例详细介绍了GPIO的操作步骤。
关键词:Windows CE,地址映射,I/O操作
参考文献
[1]张冬泉,谭南林,王雪梅,等.Windows CE实用开发技术.北京:电子工业出版社,2006
I/O模块 第8篇
随着微电子工业和半导体加工技术的不断发展,集成电路的规模不断增大。这使得将复杂系统集成在单个芯片上成为可能,于是便出现了片上系统SOC(System on a Chip)。SOC极大地缩小了系统体积;SOC减少了板级系统SOB(System on Board)中芯片与芯片之间的互连延时,从而提高了系统的性能;SOC采用基于IP(Intellectual Property)核的设计(Core-based Design),它允许在芯片设计过程中复用(Reuse)已经经过验证的高性能的IP核,从而提高了设计效率[1]。FPGA的飞速发展为SOC的发展开辟了新的方向SOPC(System On a Programmable Chip)。对于比较复杂的系统,仅仅使用基于硬件的FPGA对其进行协调控制还是比较困难的,因此通常把一个微处理器内核嵌入到FPGA芯片中,采用软硬件协同设计的技术,不仅使得对设备的控制更加灵活,调试也更加方便,并缩短了开发周期。
MicroBlaze是由Xilinx公司推出的一款32位RISC微处理器IP核,具有很高的可配置度,可以将外部存储器,液晶显示屏、键盘接口等外部设备连接在一起并协调它们的工作,适合设计针对网络、电信、数据通信等应用背景的复杂嵌入式系统。
本文以嵌入式I/O系统为例,介绍了基于MicroBlaze进行嵌入式系统设计开发的方法,给出了一种输入/输出系统的设计实现方案,分析了其开发流程,并讨论了设计开发过程中相应的软硬件设计问题。
2.嵌入式I/O系统总体设计
2.1 MicroBlaze的体系结构
MicroBlaze采用功能强大的32位流水线结构,包含32个32位通用寄存器和1个可选的32位移位器,时钟频率可达150 MHz[3]。MicroBlaze软核的结构框图如图1所示。它具有以下基本特征:
(1)32个32位通用寄存器和2个专用寄存器(程序计数器和状态标志寄存器)。
(2)32位指令系统,支持3个操作数和2种寻址方式。
(3)分离的32位指令和数据总线,符合IBM的OPB总线规范(与外设相连接的低速总线)。
(4)通过本地存储器总线(LMB,本地高速总线)直接访问片内块存储器(BRAM)。
(5)具有高速的指令和数据缓存(cache),三级流水线结构(取址、译码、执行)。
(6)具有硬件调试模块(MDM)。
(7)带8个输入和8个输出快速链路接口(FSL)。
2.2 MicroBlaze嵌入式开发工具EDK
Xilinx公司提供了完善的嵌入式开发工具EDK(Embedded Development Kit)。EDK是Xilinx公司于2003年推出的SOPC系统开发套件。该套件集成了丰富的开发工具和大量的IP核资源,其中集成的工具包括硬件平台生成器(Plat Gen)、硬件仿真模型生成器(Sim Gen)、硬件调试工具(XMD)、软件库生成器(Lib Gen)、应用软件编译工具(GNU Compilers)、软件调试工具(GNU Debuggers)等;IP核资源包括LMB和OPB总线接口、外部存储器控制器(EMC)、SDRAM控制器、UART接口、中断控制器、定时器等[2]。
所有这些工具和资源都由EDK中的XPS(Xilinx Platform Studio)集成开发环境统一管理。XPS提供一个友好的图形用户界面(GUI),使用非常方便。
2.3 系统的设计开发流程
在嵌入式系统的开发中,软硬件协同设计的方法可以降低开发成本,缩短开发时间,并使得设计更加灵活,从而逐步取代了传统的设计流程。其中涉及到的关键问题是系统资源的规划和利用,所以在系统设计前首先要考虑系统功能的软硬件划分,清楚地界定系统内部各项功能的最终实现形式;而在进行软硬件分割时,若想达到系统性能的最佳化,就必须考虑到各功能部件之间数据交换的性能以及不同功能部件之间的同步,确保系统在执行时能满足所需的时间约束(timing constraint)[3]。
EDK工具包括XPS工具和SDK工具,XPS工具完成主要软/硬件设计调试工作,SDK工具用于设计和调试应用软件。ISE工具,用于混合编程和定制IP核。ChipScope Pro工具,用于在线调试硬件系统。第三方工具,如Modelsim工具,用于仿真硬件系统。
在本系统的设计开发过程中就采用了软硬件协同设计的方法,其流程如图2所示。
3.系统的关键硬件模块实现
3.1 44键盘模块的硬件实现
键盘是计算机系统中最常用的人机交互输入设备,然而在应用中都采用通用的键盘扫描器件是不现实的,需要单独设计成专用的小键盘。
(1)44键盘工作原理
44键盘的工作原理如图3所示,其中P0~P3为输出口,P4~P7为输入口。无按键按下时,输入口被上拉为高电平。输出口以一定频率循环输出0111、1011、1101、1110。通过读输入口的状态,便可判断击键情况。键盘扫描电路键盘上的每一个按键其实是一个开关电路,当某键被按下时,该按键的接点会呈现逻辑0状态,反之,未被按下时则呈现逻辑1的状态。当尚未按下键盘时,依据表1所示编码方式逐一扫描键盘按键,键盘输入到按键检测电路的值均为1,使键盘无论扫描哪个键时,都检测到尚未按下键盘;当使用者按下键盘按钮,则键盘输入到按键检测电路的值为0,直到键盘扫描到此键时,检测到已按键。
(2)按键的去抖动问题
按键大多是机械式开关结构,在开关切换的瞬间会在接触点出现抖动的现象。因此,必须加上抖动消除电路。如果要防抖动,就不能用时钟去检测按键的按下状态,而要去检测按键按下或者抬起的边沿。例如按键按下的时候就检测与按键连接的FPGA管脚的下降沿,按键松开的时候就检测与按键连接的FPGA管脚的上升沿。这样就可以不用理会按键按下的时间长度,根据按键按下或者抬起的次数来确定计数。
(3)硬件实现
虽然EDK提供的IP核非常丰富,但不可能满足所有用户的需求,根据实际需求定制IP核是嵌入式设计中常需要的,也是实现“量身定制”系统的前提。EDK工具提供了简单的界面帮助用户完成IP核定制过程,其中非常重要的方式是通过IPIF接口定制IP核。IPIF(IP Interface)是EDK提供的标准IP接口,允许用户在系统内总线上构建自己的IP核,用户只需关注自己想要的功能逻辑,EDK工具会根据用户选择的总线方式实现相应的总线接口逻辑,合成完整的IP核模块[4]。
在接口电路设计中,我们使用IPIF接口定制一个KEY_IP核,用于对键盘进行扫描进而采样键盘输出,最终生成扫描码以及产生中断请求。键盘扫描信号频率只需在几百赫兹左右即可,实现时将50MHZ OPB总线频率分频,上升沿循环扫描,下降沿采样,根据采样结果生成扫描码。
考虑到机械式按键的不稳定性,需要对扫描结果进行防抖处理,故在扫描到有键按下时启动一个计数器,计数若干次同一键被扫描到后,即可认为此键已被人为按下,将其存储于本地寄存器后,产生一个中断请求通知CPU调度键盘中断处理程序。
3.2 LCD液晶显示模块的硬件实现
(1)工作原理
TS1620-1 LCD为162字符型液晶显示器,可显示两行,每行可显示16个字符,通过发送指令,可配置成不同模式。接口部分有1个8位的数据寄存器、1个8位的指令寄存器、一个7位的地址计数(AC)寄存器和1位的忙标志(BF);指令寄存器用于控制LCD内部电路,完成LCD读写、扫描、显示等功能;数据寄存器用于暂存LCD与外部数据的通信数据。基本操作时序如下:
1)读状态:
RW=H,RS=L,E在读状态期间应保持高电平;
2)读数据:
RW=H,RS=H,E在读数据期间应保持高电平;
3)写指令:
RW=L,RS=L,D0-D7指令码,E在指令码稳定后要产生一个下降沿触发LCD执行此指令;
4)写数据:
RW=L,RS=H,D0~D7为待写数据,E在指令码稳定后要产生一个下降沿触发LCD执行此指令;
AC6~AC0的值为CGRAM还是DDRAM地址取决于最近一次向AC写入的是DDRAM还是CGRAM地址。地址只有7位,在进行传的时候,要并上DB7,组成8位一并传,状态同样通过D0~D7读出,格式如表2所示。
(2)硬件实现
在接口电路的设计中,我们使用IPIF接口定制一个LCD_IP核,通过OPB总线对显示设备进行控制和数据传输。LCD_IP与液晶显示模块之间需要连接的主要有数据线和控制信号线,如图4所示,具体为:RS、R/W、EN、DB7-DB0共11位。
Data_I与数据端口连接,负责采集液晶的状态数据。Data_O与数据端口连接,负责将控制指令和显示数据送至液晶。用DataCmdSelect、Execute、Data_T分别控制EN、RS、R/W信号,通过对这些引脚的组合控制,按照一定的时序关系实现对LCD的控制。
LCD_IP核中需要实现以下四种操作:
(1)读状态:
检测忙标志以及AC的值;
(2)读数据:
读出最近一次由DDRAM地址设置指令处DDRAM单元的内容;
(3)写指令:
设置LCD的工作模式、AC值以及显示方式等;
(4)写数据:
向LCD的DDRAM写入要显示的数据,写之前需要设置DDRAM地址;
四种操作中除读状态外都需对忙标志位检测;若BF为高电平,则LCD正在工作中,此时LCD接口部分被锁定,任何指令都将不处理,故需等待知道BF为低时方可进行下一个操作。
在IP核模板的基础上,用周期计数延时获得读、写操作时序,将指令直接传送至LCD,读写操作在IP核中占用几个总线周期,为了防止应用软件在发送指令期间再次发送新指令,IP核提供一个标志位供应用软件读取,以指示是否正在进行读写操作,若是则应用软件需适当延时等待再通知IP核发送下一条指令。
3.3 系统硬件平台的创建
在键盘和LCD液晶的硬件接口设计完成后,我们利用Xilinx公司提供的EDK开发软件XPS中的工具Create and Import Peripheral将其以IP核的方式挂到OPB(On-Chip Peripheral Bus)总线上。创建IP核时,在IPIF提供的服务中选择用户逻辑中断支持以及软件用户逻辑地址寄存器支持,前者使得外围设备可以管理由用户逻辑产生的中断,后者使得外围设备的用户逻辑部分拥有可寻址的寄存器[1]。按照前面所介绍的连接关系进行硬件搭建后,键盘以及LCD液晶显示模块的硬件详细信息都保存在MHS文件中。该文件定义了系统结构、外围设备和嵌入式处理器,也定义了系统的连通性以及系统中每个外围设备的地址分配和对每个外围设备的可配置选项。平台生成工具将MHS文件用于输入,创建了硬件平台。在XPS中选择Generate bit stream,即可以产生硬件配置文件*.bit文件。硬件平台如图5所示。
4.系统的软件设计与实现
4.1 44键盘软件实现
在建立系统时,在OPB总线上添加EDK提供的中断IP核INTC_IP,该IP核INTC可控制多个中断信号。把键盘的用户逻辑产生的中断信号输入到INTC_IP核中,然后INTC_IP核将这个中断信号输入到MicroBlaze的中断端口上,由MicroBlaze进行中断管理。当有中断发生的时候,MicroBlaze会跳转到地址0x10。这是C运行库的一部分,它包括缺省时跳转到中断句柄(interrupt handler)函数,此功能是由Xilinx提供的BSP(Board Support Package)(它是一个最基本的核,为应用程序提供最基本的功能)完成的[7],由于在MSS文件中已经对中断操作路线进行了设置,因此它会跳转到中断处理函数中进行中断处理。同时在引入IP核后,系统会自动生成相关的驱动程序,可以方便使用软件对寄存器进行读写操作。中断处理程序主要是进行了扫描码和ASCII码的转换,并把ASCII码显示在LCD上。
引入中断IP核后,系统会自动生成相关的中断请求号,以及提供与此中断号相关联的默认中断处理句柄(interrupt handler),随后即可在系统初始化时调用XIntc_Register Handler函数注册自定义中断处理句柄替换默认处理句柄。MicroBlaze提供的通用中断处理机制通过XIntc,可以管理多个中断控制器,XIntc中CfgPtr为数组类型,数组元素类型为XIntc_Config用于为中断控制器提供中断管理。XIntc_Config中的HandlerTable用于管理中断请求号与中断处理句柄的关系,所以每个中断控制器可以接收多个中断请求。在发生中断时,MicroBlaze会根据产生中断的中断控制器设备,找到与此设备相关联的XIntc_Config结构,再取出中断发生时的中断请求号,在XIntc_Config结构中找到相应的中断处理句柄,并跳入此处理程序处理中断请求。
4.2 LCD液晶显示模块软件实现
系统上电后,首先根据液晶显示器模块的结构通过写寄存器的方式对各项控制指令代码和参数(如液晶的行数、光标的位置光标、光标是否闪烁等)进行设置,从而完成对液晶显示模块的初始化过程。在对系统进行正确的初始化以后,就可以通过MicroBlaze将数据送至LCD进行显示了。在初始化程序中设置系统控制指令及其参数的方法为:根据用户硬件电路的设计,将指令及参数送到LCD_IP核对应的寄存器地址。系统中每个外设都有自己对应的唯一地址,这个地址是XPS在添加了LCD_IP核后选择Generate Addresses自动产生的。
CheckBF()函数用于通知LCD_IP核发送读取忙标志指令,此函数运行后,LCD_IP核会发出读状态操作指令,在数据有效后,将数据(BF和AC)先缓存于IP核的本地寄存器,而后供应用软件读取;Send Cmd(cmd)函数用于向LCD写入控制命令,从而达到配置LCD和显示字符的目的。需传入有正确命令格式的参数,确定将要执行的操作,在发送之前,需要一直等待CheckBF()检测到BF为低电平;为方便写入数据设有WriteChar、WriteString等函数,此类函数直接调用Send Cmd发出写数据操作;若没有设置LCD工作方式为自动递增AC,则在每次写之前都需要先发出设置DDRAM地址指令。
需要注意的是LCD在写数据之前需发送一系列初始化命令,以配置其工作模式、显示方式等,都是间接通过Send Cmd(cmd)实现。
4.3 应用程序的实现
本系统中应用程序设计部分主要功能为读取按键值,通过查找表的方式完成扫描码到ASCII码的转换,并把键码转换后的值显示在LCD液晶显示模块上。由于前面已经创建好键盘的IP核,又通过LCD_IP核对LCD液晶进行了控制,在此仅需编写主函数即可。按键扫描码的获取可以使用查询或者中断的方式。在具体实现中我们采用中断驱动模式来接收键盘扫描码。采用这种方式,既提高了响应速度,又可实现程序的模块化设计,并便于以后系统的扩充。应用程序调试运行成功之后便会产生.elf可执行文件。
5.系统的开发调试经验
我们更多的采用硬件调试的方法,将系统通过JTAG接口连接到目标板上的XMD调试接口,并把软件代码可执行文件(*.elf)和FPGA硬件配置文件(*.bit)通过Data2Mem转换成新的FPGA位流文件(*.bit)下载到系统中后,通过设置断点,读写内存和寄存器的值等手段来进行调试。最后将调试通过的位流文件,下载到目标芯片上,系统即可正常工作。
另外,结合系统调试过程中的经验,我们发现在进行程序编写时,需要特别注意以下两点:
(1)MicroBlaze为big-endian模式,且其内部总线宽度为32位,因此在对寄存器进行读写时需要注意其数据格式及宽度。
(2)在软件设计中要注意,对于FPGA来说LCD是一个低速设备,因此对于指令的响应需要一定的延迟,需要写一个有延迟作用的函数。
6.结论
本文采用软硬件协同设计的思想,设计并实现了一种基于MicroBlaze处理器的I/O系统。在进行完软硬件功能划分并创建好硬件平台后,对于输入设备键盘的控制以及输出设备LCD液晶显示器的功能设置可以通过软件的方式进行更改。本设计已在Xilinx Spatan3开发板上进行了验证,取得了良好的效果。通过本设计的实现可以看出,MicroBlaze是一个功能强大、应用灵活的嵌入式软处理器,特别是其强大的用户自定义逻辑功能,极大地方便了系统设计。可以预见,基于嵌入式软处理器的SOPC开发方法,必将拥有广阔的应用前景。
摘要:随着微电子工业的不断发展和FPGA技术的不断提高,SOPC技术逐渐成为嵌入式系统技术发展的新方向。本文介绍了XILINX公司的SOPC集成开发环境EDK,以及在EDK中开发和利用用户IP的方法;利用ISE及EDK设计工具设计开发了I/O系统中常用的IP模块,并通过了仿真验证。
关键词:SOPC,MicroBlaze,IP核,软硬件协同设计
参考文献
[1]董代洁,郭怀理等.基于FPGA的可编程Soc设计[M].北京:北京航空航天大学出版社,2006.
[2]Xilinx,“MicroBlaze Processor Reference Guide”EDK(v8.1)[S].January,2006.
[3]Xilinx,“Embedded System Tools Guide”EDK(v8.1)[S].January,2006.
I/O模块 第9篇
如果你是一名摄影爱好者或媒体制作人, 那么工作间里放的一定是苹果公司的MacBook Pro或iMac。原因不在于你是苹果的“粉丝”, 而在于其所具备的高速数据传输和高清显示集成技术Thunderbolt (开发代号为“Light Peak”) 。
这项由英特尔中国研究院研发出来的新型高速互联技术, 能够同时串联多达6部外接设备, 包括高性能的存储设备、高分辨率显示器, 以及高比特率的视频采集设备等, 即便面对超大规模的媒体数据流, 拥有10Gbit/s速率的传输接口也能轻松应对。这对媒体制作者来说, 无疑是巨大的诱惑力。
尽管当下PC传输互联领域已是群雄逐鹿, 但Thunderbolt所具备的10Gbit/s速率绝对算是揭开了业界的“高铁时代”仅通过一个单独而精致的端口, 就可支持高分辨率显示屏和高性能数据设备。
同时在速度、灵活性和简约程度上, Thunderbolt技术也都为业界开创了新的技术先河。据实测数据显示, Thunderbolt技术传输一部全高清长电影 (6G~8G) 的时间还不到30秒。
据悉, 英特尔在2011年2月24日正式发布了这项新型高速PC连接技术Thunderbolt, 现已使用于苹果公司的新款Mac Book Pro系列笔记本电脑中。
苹果公司M a c硬件工程高级副总裁B o b Mansfield也评价道:“Thunderbolt具有超高传输速度、支持高分辨率显示并兼容现有I/O技术, 这将是整个行业的突破。相信苹果爱好者都会喜欢上它。”
从趋势到现实
在业界看来, 传输速率的不断提升将是不可逆转的发展趋势, 以创新著称的英特尔公司研发出10Gbit/s速率的Thunderbolt技术也在情理之中, 但对于当时的英特尔中国研究院而言, 如何将一个技术趋势化为商业现实, 则是经历了诸多不为人知的艰辛。
参与过该项目的英特尔中国研究院嵌入式IO系统实验室研究经理吴向斌告诉记者:“刚刚接手工作就遇到了不少难题, 首先是技术协议存在空白, 其次一些模块还处在研发阶段, 尤其在光模块方面, 基本与技术开发处于并行状态。还有些工作交由外部供应商来做, 我们需要将时间风险降到最低。”
“另外, 因为研究院的很多项目都是前瞻性的, 研发过程中势必伴随的风险。我们在实施项目的同时, 还要不断打消那些持怀疑态度的人的想法, 坚定信念走下去, 这对于我们项目组的每个人都是一次关于意志力的考验。”吴向斌补充道。
融合两种通信协议
据介绍, Thunderbolt技术在研发之初, 就设立了明确的目标, 即更快速地传输媒体数据、简化设备之间的连接并推动开发与使用PC的新方式。
如何把高速数据和高清视频连接整合到一条线缆上对于实现这个目标至关重要。
对此, Thunderbolt技术融合了两种通信方法 (协议) 用于数据传输的PCI Express以及用于显示的DisplayPort。PCI Express可以灵活地连接几乎任何类型的设备, DisplayPort用于显示, 能同步传输超过1080p分辨率的显示内容以及最多八声道音频。Thunderbolt技术兼容现有的Display Port显示器和适配器。它是一种所有设备通用的接口, 能够以菊花链的方式通过电缆或光缆方便地连接多种设备。
对于普通的移动PC用户而言, 它意味着超薄笔记本电脑上只需有一个接口, 就能在家或办公室实现高速数据媒体和高清显示功能。
产业规模2年内爆发
不过, 10Gbit/s的传输速率是否过于前沿, 除高端专业用户以外的普通PC用户何时能够真正用上该技术, 业界也存在不小的疑虑。
面对这一问题, 吴向斌倒是格外乐观。“市场对于前沿技术从来都是照单全收, 还记得最早的摄像机接口都是1394, 但没过多久, 就变成了USB。而现在, 很多摄影爱好者都嫌传输太慢, 可见用户需求的增长绝不亚于新技术的研发速度。”
据了解, 目前全球几大创新企业已经推出了基于Thunderbolt技术的产品或正计划推出支持Thunderbolt技术的产品, 包括Aja、Apogee、Avid、Blackmagic、LaCie、Promise、西部数据等。
“新技术的传递速度是很快的, 我们相信, 苹果公司率先采用Thunderbolt技术, 是一个良好的开端, 现在西部数据已经在研制基于Thunderbolt技术的硬盘产品, 而佳能等公司也在考虑使用, 我们相信, 在未来2年内, Thunderbolt技术的产业链将会有一个较大规模的集体爆发。”吴向斌如是说。
Thunderbolt:满足媒体制作者的高速需求
处理高清媒体是PC上要求最为苛刻的工作之一。通过Thunderbolt技术, 英特尔提供了创新的技术, 帮助专业人士和消费者更快捷地处理音乐和高清电影等越来越多的媒体内容。
I/O模块范文
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。


