嵌入式Internet技术应用
2006-05-07
摘要:主要从嵌入式Internet技术的应用出发,说明这种技术成本低廉,极具推广价值;介绍几种实用电路模块的结构特点及使用情况。
关键词:Internet 网关(Gateway) TCP/IP协议 Webchip PSM2000ACD网络模块 IP2022网络连通处理器
当今社会逐渐步入网络时代,Internet已成功重要的基础信息设施。这方面的技术进步对于社会的各个方面产生了积极影响,很多领域都在不断探索开发和利用网络的潜力。目前,大部分网络终端仍以PC的形式出现,但是从计算机应用普及情况看,嵌入式系统也是一个不可忽视的方面。近20年来,PC机CPU的产品仅是MCU的1%,并且由于MCU的成本低廉,应用非常普及。在工业测探系统、智能仪器、安防系统、智能家电和信息家电等领域,MCU应用系统已经无处不在。在这些场合中,以MCU为核心的设备同样也需要解决接入Internet网的问题。如果MCU应用系统能够连接到Internet上面,则可以方便、低廉地将信息传送到世界的任何一个地方。我们将嵌入式设备与Internet的结合称为嵌入式Internet技术,它代表着网络技术的未来。
目前一些生产厂家,也在积极探讨利用MCU实现嵌入式上网的途径;而实现这一技术的关键在于如何利用现有资源实现TCP/IP等协议处理。各种通信协议对于计算机存储器、运算速度等的要求比较高,而嵌入式系统中,除部分32位处理器以外,大量存在的是8位和16位MCU,TCP/IP等Internet协议将占用大量系统资源,因此实现嵌入式上网存在比较大的困难。面对这些处理速度、机器位数、容量等指标稍差的MCU,如何解决它们接入Internet网问题正成为当前的重要课题。本文将介绍目前几种新型的嵌入式上网电路、模块的结构和特点。
1 PSM2000ACD网络模块
PSM2000ACD是由力源公司开发的网络接口模块,可以实现MCU系统与基于PC平台的网关(Gateway)接口。这个模块电路内部包含网络通信(Gateway)接口。这个模块电路内部包含网络式调制解调器模块,及1个外接标准调制解调器接口,如图1所示。其中PS2000是Webchip接口电路,它与MCU系统交换信息通过17条指令完成,与MCU系统的软件接口比较方便;同时,它的内部驻留网络协议解释和编译程序,与基于PC机网关通信时负责对于网络协议进行必要的规范和解释,而PC机网关能够提供HTTP服务,可以与计算机浏览器接口。PS2000这种Webchip接口电路的结构和原理已有详细介绍,见参考文献[4],这里不再重复。
PSM2000ACD主要用于智能设备的网络接口,一方面用1个标准串行外围接口与用户单片机应用系统连接;另一方面与PC平台连接有多种选择,即可用RS-232、RS-485接口,或者采用调制解调器。MCU应用系统通过PSM2000ACD模块连接上网十分方便。图2为其典型连接方法。其中DS2401集成电路为专用电子标签接口,作为设备的唯一标识。MCU应用系统与PSM2000ACD的连接,既可以满足点-点通信或者点-多点通信的要求,也能实现远/近程通信的要求,结构比较简单,另外,由于它的内部驻留网络协议解释和编译程序,系统设计人员不必熟悉网络协议,将这个模块作为一个“灰匣子”处理即可,使得开发和应用工作周期缩短,成本也比较低。
使用Webchip进行网络系统设计的步骤是:
(1)建立MCU系统中需要控制的对象,并确定其中需要通过Internet进行远程控制的对象;
(2)建立MCU系统变量表(VAR-TABLE);
(3)建立MCU系统状态性能表(CAP-TABLE);
(4)MCU解释并执行Webchip传送来的命令。
当建立了系统变量表(VAR-TABLE)和系统状态性能表(CAP-TABLE)后,通过Webchip的连接,在网关(Gateway)和MCU系统之间建立起面向对象的控制,即Gateway与MCU的通信是通过变量表和状态性能表进行的。MCU是通过Webchip与Gateway建立联系,实现MCU与Internet的连接。一旦建立起连接后通过Internet进行远程监测或控制都成为可能。在这种连接中,必须遵守一种“主-从”关系,保证它们之间可靠的工作,即按照下述原则:
(1)高级别的设备可以主动向低级别的设备发送命令、数据和请求,拒绝低级别的设备一切主运信号。
(2)低级别的设备只能被动接受高级别的设备发送命令、数据和回答请求,不能主动向高级别的设备发送信号。
由前面介绍中可以看到,这种形式是将多个MCU通过PSM2000ACD模块与1台PC Gateway相连后再与Internet连接,需要利用PC机网关提供的HTTP服务,不能直接将MCU与Internet连接。这是这种形式的一个弊端。
2 IP2022网络连通处理器
IP2022是Ubicom公司的产品。它是一种处理速度很快的单片机,可以实现实时多任务操作,不依赖PC机可直接接入Internet的应用方案。它能实现软件模块形式的外设、通信和控制功能,这种形式比传统硬件提供更大的系统设计灵活性。它还提供TCP/IP网络协议堆栈,并开发一系列端到端连接方案所必需的软件。
图3为IP2022组成框图。根据图3的内部结构说明如下:
(1)CPU特性
IP2022是基于RISC结构的,指令速率可达到100MIPS,大多数指令为单周期指令,因此它能够执行虚拟软件模块直接驱动普通I/O口实现硬件外设功能,如UART、I2C、SPI、FSK等。它的内部有16级硬件椎栈,提供高性能的子程序连接。
IP2022的内部有64KB(32K×16)的Flash程序存储器,还有16KB(8K×16)的(程序/数据)RAM。由于程序存储器为闪速Flash存储器,所以这还具有自我编程的能力,即自身读、写和擦除指令。存储器内软件实现的协议处理可以在不改变硬件的情况下,通过改变内置程序使整个系统能升级。
(3)其他硬件资源
包含8/16位并行接口、8个通道的10位A/D、PLL时钟乘法器、定时器等等。
此外介绍Ubicom有关软件的情况。Ubicom的软件开发环境包括编辑器、汇编程序、调试程序、仿真器和编程工具。现在的ipModules库(预创建软件模块)有:
ipOS-操作系统;
ipStack-TCP/IP椎栈;
ipWeb-Web Server;
ipFile-文件系统;
ipIO-MII,I2C,SPI,UART。
由于IP2022属于速度比较高的一类单片机,可以实现多任务的操作,即MCU在完成数据采集或控制的同时把数据打包发送到Internet,这是它的显著优点。此外,这个系统所需要的外围器件少,系统成本不高,加上片内还包含存储器、A/D、串行I/O口等硬件资源供用户使用,这些配置可以应用到很多场合中。由于这个系统还能提供用于Internet处理的软件模块,开发周期也可以大大缩短。
(4)IP2022应用情况
目前,IP2022通信系统产品还是采用评估套件的形式提供给用户使用。同时也有相应软件模块提供给用户使用,这些软件模块主要存储在内速存储器,它可以进行加载和调整,使用的灵活性比较好。由于应用在不同的场合,产品有两种基本形式:一种是以太网协议堆栈评估套件,另一种是Internet协议堆栈评估套件。
基于以太网协议的堆栈套件是按照通信控制器要求配置的。它支持包括TCP、UDP、IP、ICMP、DHCP、ARP、HTTP和STMP在内的协议,主要是供给有一定应用经验的用户接入以太网。这种套件包括完整的网络服务器(web server)和电子邮件(email)应用,使之能够实现HTTP(超文本传送协议)和SMTP(简单邮政协议)应用协议。ARP协议(地址确定协议)和DHCP协议(动态主机控制协议)则是用于处理地址以适应特定的以太网环境的。这种通信控制器具有系统自身修改程序的能力,当能这还需要另外购置专用的设计工具进行加载和程序重调。
另一种是适应Internet协议的堆栈评估套件。它也是按照通信控制器要求配置的标准Internet协议层组合物,支持包括PPP、TCP/IP、HTTP、STMP和POP3在内的Internet协议,供给有一定应用经验的用户接入Internet。套件也包括了网络服务器和电子邮件应用这种具体应用形式,前者是实现超文本传送协议(HTTP)和实现与网络浏览器通信;后者提供在应用层的SMTP和POP3协议的电子邮件应用。这两种具体应用形式可以在不改变电路结构的情况下进行软件重新装配。
在实际的(Internet协议堆栈)应用板上包括以下的基本部件:
通信控制器-P2022;
扩展存储器-用于存储网页内容的存储器;
2个DB-的串行连接器,1个接MODEM、1个作为调试接口;
另外还有时钟电路、LED显示器、复位按钮和直流电源插头。
在应用板上装有相应的Internet协议,它通过DB-9串行连接器接一个MODEM就可以与远程的PC通信。一旦建立了拨号上网连接之后,在远程的PC浏览器就能够观察到应用板上存储器内保存的网页内容。
3 其他同类型器件模块
除上述电话外,目前也出现了一部分比较新的电路和软件,限于篇幅只能简要介绍它们的主要特性。
(1)EM2000系列以太网模型路由器
由单片机实现的微型路由器,支持RS-232、RS-485、CAN Bus设备和以太网的连接并实现TCP/IP协议到用户网络协议的转换。可以使用户现有的设备非常容易连接到以太网,从而缩短用户的产品开发时间;可以快速将用户原有的设备连入到因特网(见参考文献[5])。
(2)Nport Express
具备1个RS-232/422/485三合一串口和1个10/100Mbps的TCP/IP网络连接,可让串口设备立即连接网络。Express体积只有香烟盒大小,模块只有信用卡大小,容易集成在系统或设备内。它还提供完整的Windows2000/NT/95/98/ME、Linux、UNIX的程序和TCP/IP Socket工具,使系统开发者无须更改现有的应用软件或程序,即可如同使用COM口一样,透过网络直接控管RS-232/422/485设备,保障现有的软件投资。此外,串口通信应用开发工具软件及函数库和完整的监控程序,使串口通信应用程序的开发和数据传输监控更为简单(见参考文献[6])。
(3)RABBIT2000微处理器、TCP/IP开发工具包
提供1个带有8位高性能微处理器的工具平台和动态C语言软件开发包。该工具是开发加强型10 M-BASE以太网应用中必不可少的。RABBIT2000微处理器可以进行直接软件开发,用户程序由动态C语言创建,软件开发环境包括编辑程序、编译程序和调试程序。程序的编译和执行可通过动态C语言和编程电缆来实现,而无需电路仿真程序。使用RABBIT2000微处理器工具包内的开发板,可以直接评估开发TCP/IP应用,执行码可下载到内存或SRAM中。该工具包还提供TCP/IP协议的全部源代码(见参数文献[7])。
目前嵌入式Internet应用还属于起步阶段,有很多工作需要我们不断开拓,包括电路研究和应用开发都需要投入大量工作。但可以肯定的是,不久的将来在这方面是一定会有比较大的变化的。
- 祛魅固态电池:一文看懂这项大火的技术