把网络引进嵌入式控制系统
扫描二维码
随时随地手机看文章
OEM厂商把强大的网络功能引进到嵌入式应用系统中。现在,自动装配线的监控人员可以坐在台式计算机前面,通过Web浏览器,监控和调整总装线上的每一个设备部件;医生则可以通过Web浏览器把一系列上网诊断设备的数据调集在一起,进行综合分析。
许多OEM厂家对产品上网有些顾虑,怕拖延产品上市时间、怕需要一笔可观的起动资金、怕会有长远的维修费用。
Bright Start Engineering公司率先实现了一项既简单、价格又不贵的上网技术。这就是集软硬件和必要的开发环境于一身的垂直式网络引擎,我们叫ipEngine。
对于多种控制应用系统,ipEngine可以作为控制器使用。ipEngine用FPGA构成虚拟接口,可动态地配置内部功能和外部接口,以适应各种用户的应用需要。图1给出了ipEngine在生产厂中的应用示例。作为混合罐的控制器,ipEngine以M型模块方式装在混合罐主接口电子线路板上。它和传感器相连以测量温度、压力,与执行机构相连以控制转动部分的工作和速度。ipEngine板上的软件完成闭环控制所需的任一功能,板上嵌入的Web服务器支持在intranet或Intenet网上的任意地方,都可通过浏览器对设备进行监视和控制。为防止对设备进行非授权的访问,Web网页设有口令字,保证Web网服务的安全。
IpEngine还可提供对原有的控制系统提供上网能力。譬如,对于图1中的焊接机器人,ipEngine安装在原有的控制系统内。有的控制系统多数都有标准总线接口。将ipEngine上的FPGA配置成对应的标准总线协议,如PC机的ISA、PCMCIA或VME总线等。ipEngine可经总线与已有控制系统相连,虽然软件的闭环控制部分用不着,但是它却担当起焊接机器人已存在的接口协议与Internet网之间的网关作用。
与ipEngine硬件相配套的有两种预集成的、不需付版权费的操作系统。一个是实时的基于POSIX的网络操作系统;一个是Linux嵌入版本。两个操作系统都支持完备的TCP/IP连网和Web服务器。
结构
图2是ipEngine的硬件结构图。微处理器是Motorola生产的 嵌入式MPC823型PowerPC。之所以选MPC823是因为它有丰富的外围接口,包括Ethernet、USB、和I2C,还有两个串行口和一个LCD控制器。MPC823有适合于电池供电片上的许多低功耗工作模式。
ipEngine板上有16MB DRAM,2MB FLASH(快闪)存储器,使应用软件足以从网上下载,或存于FLASH。板上有专门的开关电源,除自用外还可以向用户的电子电路供电。开关电源的输入为5~18V的单一直流电源。
虚拟接口
ipEngine板上采用由FPGA构成的介于MPC823和用户电子电路之间的虚拟接口。FPGA选用Altera公司的EPF6016,具有1300 个用户可配置的触发器。因为FPGA的配置数据每次上电要重装一次,或运行中进行配置,重装约需10ms。虚拟接口的外引接插件有132引脚,其中82引脚接FPGA,其余接时钟、电源和MPC823的外围功能。另有128K×16位高速同步SRAM挂在FPGA上,作为虚拟接口的高速缓冲。FPGA中有专门为MPC823和FPGA访问SRAM时所需的仲裁电路。SRAM也用做高速同步I/O与处理器内核之间的缓冲,和存放输出波形的查表数据。板上的锁相环电路能合成任意频率的时钟信号,为PowerPC提供片上波特率信号源和FPGA所需的低时滞时钟,还留有一路经虚拟接口的插头方便用户的使用。
传感器及执行机构接口
ipEngine提供的典型I/O接口有:串行I/O,并行总线及I/O,波形输入/输出。见图3。
串行I/O 对于串行设备的同步 (如AD/DA变换器)使用内部移位寄存器加上一些控制逻辑,因此,串行模拟变换器可由FPGA上8/16位寄存器的读和写来操作。现在MPC823用的是查询方式,将来可以用中断或DMA方式。典型的同步串行口大约耗用20~30个触发器。
并行I/O及总线 并行AD/DA变换器及分立的I/O设备的接口FPGA的寄存器来实现。复杂的双向存储器接口和处理器总线式接口也由FPGA的内部逻辑来实现。
波形输入
主要用于输入波形的测量和比较,如脉冲的频率、脉宽和多路脉冲的相位等。它们用输入波形对内部的计数器进行门控或钟控来实现。
波形输出
主要是PWM驱动和控制步进马达等的输出。它们用计数器、寄存器、比较器或方向控制电路来实现。用更复杂的逻辑还可实现加速和制动输出。
虚拟接口的讨论
以FPGA为基础的虚拟接口能省去连接用户传感器和执行机构等的附加硬件,可节省开发调试的时间。因为FPGA的各种配置软件可以事前开发或更新,使用时可在现场升级。 但是虚拟接口的缺点是,虽然可向用户硬件提供灵活的接口,但缺少工业标准总线(即PC/104和VME),而不能为现成的标准I/O卡提供接口。现BSE 公司完成了FPGA上的ISA总线接口,以及PC/104模板。虽然FPGA可以实现很多复杂的功能,但是用户要花很多时间去开发。为此,BSE公司打算提供上千种预先编辑好的fpgaWare库,其中包括标准的内部外设和外部接口,fpgaWare库可通过自动处理向用户提供。
操作系统
BSE公司首选的是自己的pKernel实时操作系统,pKernel提供POSIX操作,以及上网应用的开发环境。它集成了TCP/IP网络协议和 Apache Web server嵌入式版本。第二个选用的操作系统是Linux嵌入式版本。ipEngine上装有Linux全部内核和网络实用程序,但节省了几百兆的硬盘,用起来还是方便的。除上述Linux内核和实用程序外,ipEngine的板上闪存还装有Apache Web server,Java虚拟机等,存储空间最后还有剩余。
BSE能提供嵌入式Linux和pKernel环境下的开发工具套件。还有开发者立即可用的硬件和软件,它们有:ipEngine板、电源、PowerPC成套交叉编译工具、Linux或pKernel、机箱、文件和技术支持等。