1引言
随着Internet应用日益普及,信息共享的程度不断进步,如何通过Internet共享以单片机应用系统为中心的小型嵌进式设备的信息,成为当今电子界的热门话题。传统的Internet应用是以PC为中心,现在的Internet应用正在转到以嵌进式设备为中心。据网络专家猜测,将来在Internet上传输的信息中,有70%的是来自小型嵌进式系统 。
利用单片机实现嵌进式互联网方案的技术难点是如何利用单片机本身有限的资源对信息进行TCP/IP协议处理,使之变成可以在互联网上传输的IP数据包。从解决这个技术题目出发,目前普遍存在以下两种方案 :
(1)“PC网关+专用网”方案:采用专用网络(如RS232,RS485,CAN Bus等)把一小批单片机连接在一起,然后再将专用网络接到一台 PC上。这台PC起网关的作用,将专用网络上的信息转换为TCP/IP协议数据包,然后发到网上实现信息共享。这个方案可以连接多种单片机,但存在以下缺点:它依靠PC机作为网关进行协议转换在多个单片机系统分散的情况下,专用网络布线极为不便;需要在PC机上安装专门的协议转换软件,而这些软件通常是由第三方软件商提供,用度较高。
(2)“32位MCU+RTOS”方案:采用32位高档单片机,在RTOS(实时多任务操纵系统)的平台上进行软件开发,在嵌进式系统中实现TCP/IP 的协议处理。由于采用高档单片机,这个方案可以完成很多复杂的功能。它的缺点是:高档单片机价格较高,开发周期较长;并需要购买昂贵的RTOS开发软件,对开发职员的开发能力要求较高。
鉴于上述两种方案的缺点,提出了“MCU+虚拟软件包”的方案,即采用UBICOM公司的8位超高速单片机SX52BD,通过用软件固化TCP/IP协议来实现互联网接进功能。由于SX52BD单片机的速度极高,能够实现实时多任务操纵,可以在 MCU执行数据采集和控制功能的同时把数据打包并传送到互联网上。其优点很明显:用8位微控制器通过ISP接进互联网,不需要使用PC机或高档单片机;硬件电路相对简单,系统本钱低;由于UBICOM公司免费提供用于互联网处理的软件模块,可以大幅度的缩短开发周期并降低开发本钱。
2 具体应用方案
2.1 基于SX52BD的Web服务器方案
基于SX52BD的Web服务器的硬件平台如图1
2.2 主要芯片先容
(1)SX52BD:SX52BD 是UBICOM公司生产的一款RISC指令集的单片机,片上带有4k×16 位的Flash存储器和256×12位的SRAM,具有在线系统编程调试功能。由于采用CPU并行流水线方式及单时钟周期指令,在50MHz晶振驱动下指令执行速度可达50MIPS。该单片机的最大特点就是虚拟外设功能,即CPU通过执行虚拟软件模块直接驱动普通I/O口实现硬件外设功能(如UART、I 2C、SPI、Caller ID、FSK等)。
(2)RTL8019AS:RTL8019AS是RealTek公司生产的一种全双工以太网控制器。它内置16KB的SRAM,收发可同时达到10Mbps的速率,支持Ethernet II和IEEE802.3、 10Base5、10Base2、10BaseT。
(3)AT24C256:AT24LC256是ATMEL公司生产的一种串行256KB的 EEPROM存储器,采用CMOS工艺,通过2根数据线和外界通讯,兼容I 2C总线接口,可分别设为硬件和软件写保护,10万次的擦写,40年以上的数据保护。在此方案,主要用来存储Web服务器的网页信息,它可以处理Web页面、图象文件、PDF文档记忆其他文件。
2.3 Internet协议栈
Internet协议栈是SX52BD虚拟外设的一个重要的实现,是基于 SX52BD的应用系统实现与Internet互联的基础。SX52BD可以运行流行的各种互联网协议栈,如HTTP、SMTP、POP3、TCP、UDP、ICMP、IP及PPP,还可以实现Ethernet (IEEE802.3)协议。
由于以太网作为物理非常普及,目前大部分的局域网都使用以太网。图2所示为用汇编语言实现的以太网协议栈 [3,4],即 TCP/IP软件的四层抽象分层:最底层,是专门用来传输IP包的物理层,即 NIC设备驱动程序;向上一层,是网络层,负责数据在网上的端到端传输;再向上,是我们熟悉的 TCP,UDP的传输层,一般的应用程序都是建立在传输层上的,例如Web服务、简单邮件服务;在应用层,用户可以选择HTTP,SMTP,DHTP中的任意一种作为单片机系统与Internet远程治理终端之间的通讯协议,例如,用HTTP 协议可以构造Web服务器,用SMTP协议可以构造邮件服务的客户端。
对应图1所示的硬件平台,其运行的协议栈结构如下:应用层 HTTP;传输层 TCP;网络层 IP/ICMP;物理层 Ethernet NIC Driver。
2.4 工作流程和软件设计
RJ45为单片机系统与局域网的接口。RTL8019AS是处理以太网协议的,它使此系统可以直接通过RJ45连到以太网上。其数据的流向为:请求信息从局域网中来,通过RJ45送到 RTL8019AS,处理后的数据包送进SX52BD协议栈,由协议栈对数据包进行解析,得到原始请求信息。请求信息再经过SX52BD的处理,产生回复信息。回复信息到以太网的过程与上面正好相反。
整个系统的软件流程如图3所示。
3 以太网控制应用
该方案真正实现将8位SX52BD单片机系统直接与Internet相连。可以使用PC机通过Internet远程访问单片机系统;也可以使用单片机系统将有用的信息通过Internet发送到远真个PC或其它终端上。例如在Internet上可以通过网页浏览方式与单片机系统进行远程数据交换。在产业控制方面,可以实现基于Internet的远程数据采集及环境自动监测,例如,可以用在变电站、继电器的状态参数远程监测。在交通运输体系中,可以开发出电子警察从而实现交通关卡无人值守,或者可以远程监视自动售货机的商品的数目。在智能小区治理方面则可以实现更多的功能,例如小区治理中心可以通过小区内联网实现网络自动抄表。
网络家电控制界面可用java语言编写的Applet 程序,配以各种发射和接收控制芯片,来实现家电电源控制、电视远控和电风扇远控等功能。
参考文献:
[1] 夏克国.SCENIX单片机嵌进式Internet方案[EB]. http://www.21ic.com.
[2] 彭少熙,等. 家庭网络的嵌进式Internet方案[J]. 电子技术应用,2001.10.
[3] 乐德广,等. 基于SX微处理器的嵌进式Internet技术及其应用系统的设计[C]. 嵌进式系统论文集,2000.11.
[4] 陆雪莹,等译. TCP/IP详解,卷2[M]. 北京:机械产业出版社,2000.
[5] RTL8019AS datasheet. http://www.realtek.com.cn.
[6] AT24C256 datasheet. http://www.atmel.com.