SX微控制器的虚拟外设及Internet应用
扫描二维码
随时随地手机看文章
摘 要:主要介绍美国Ubicom公司的新一代微控制器——SX系列微处理器的特点、体系结构、应用范围,并着重阐述它的虚拟外设思想和Internet应用解决方案。
关键词:SX微控制器 TCP/IP 嵌入式系统 虚拟外设
随着Internet的发展,现在的应用系统常和网络联系在一起。然而,对嵌入式系统设计人员来说,由于他们中的大部分人对Internet协议和相关协议不是太了解,开发面向 Internet的应用程序是一项艰难复杂的任务。如何解决这项问题也是现在世界上很多微控制器厂商所关注的。
目前,世界上有很多公司都在大力发展嵌入式微控制器技术,并提供多种嵌入式 Internet应用解决方案。Ubicom公司是美国一家从事Internet 接入应用的微控制器制造公司,为嵌入式Internet应用提供了高性能微控制器和通信软件。
随着芯片技术的迅速发展和系统设计水平的不断提高,芯片集成度按照摩尔定律不断发展、 CPU速度不断提高、RISC技术和虚拟技术的应用越来越广、外部电路逐渐地内部集成化,嵌入式系统的价格不断下降,体积不断缩小。嵌入式系统也逐渐趋向于经济型、微型化和智能化,不断地从航天、工业应用走向家庭、社区。可以相信,将来的Internet不再仅仅是大型机和 PC机的天下,它会更加广阔地运用在每一个地方。
1 SX微控制器介绍
Ubicom公司的SX系列可配置通信控制器是采用现代CMOS 工艺制造,体系结构与传统的微控制器不同,它的内部没有硬件实现的接口电路,受外界的干扰比较小,可以突破传统微控制器时钟频率33 MHz的限制,达到100 MHz,并且它基于RISC的结构,具有高速的计算能力、灵活的 I/O控制、高效的数据处理能力,能够进行高级的处理过程。它 100 MHz的频率和优化的单周期指令集可以大幅提高它的吞吐量。它的结构是确定的而且是可以重新设计的。这些独特的特征使得SX芯片可以通过软件模块(虚拟外设 )实现硬件的实时功能。由于用虚拟外设来实现硬件的功能,需要的时候才进行加载,有利于资源的充分利用。而且,它利用快速闪存来存放软件模块,对程序设计来说具有很大的灵活性。
2 虚拟外设
虚拟外设(virtual peripheral)是指通过软件来实现硬件功能的软件模块,即把许多需要硬件来实现的功能接口,借助处理器的高速处理能力,通过编写相应的软件模块来实现。这种虚拟外设的思想,由于应用系统大部分功能采用软件实现,从而大大减少了硬件的数量和开发周期,降低了系统的成本。而SX是一种快速的具有完全控制能力的单片控制芯片,能够完全通过虚拟外设实现硬件的实时功能。目前,Ubicom已经实现了PWM、A/D、LCD模块控制、频率发生与测量、频谱分析、 DTMF发生与检测、开关控制、Internet协议栈,以及串行通信接口、USB接口等多种接口。其中Internet协议栈是最重要的,因为它可以构造与互联网相连的微控制器系统。这些虚拟外设通过函数调用的形式提供给用户,方便了用户设计、缩短了开发应用系统的周期。由于这些函数库把源代码提供给了用户,使得用户通过修改已有的系统,很容易构造自己的应用系统,大大增加了系统的灵活性。
SX的虚拟外设作为中断服务子程序在应用软件中运行,由于 SX具有消除抖动和确定性的中断响应能力,每次都可在精确的时钟周期内响应中断。应用软件只需在中断时简单设置或清除相应的虚拟外设功能标志,并将主要的寄存器自动地存储到特殊的硬件堆栈中,就可使虚拟外设像外围硬件电路一样不受内部应用程序的干扰而正确执行,起到真正外设的作用。
3 Internet协议栈
Internet协议栈是SX虚拟外设的一个重要的实现,是基于 SX处理器的应用系统实现与Internet互联的基础。在Internet 上的多个计算机和应用程序的通信是通过不同的通信协议来实现的。这些协议定义了解释数据传输的规则,是由世界上不同的人员和组织来定义开发的。从根本上说, Internet是基于报文分组的网络,对于每一个东西,它最后都被分成大小不同的带有数据和头的报文。然而,程序员更愿意使用基于流的数据传输机制。 UDP(User Datagram Protocol)协议是基于报文分组的,而TCP协议是基于流的传输机制的协议。在应用中,要根据不同的要求来选用相应的合适的协议。
SX系列芯片之所以称之为Internet通信控制器,就是因为凭借它高速的处理功能,从软件上实现了Internet协议——TCP/IP协议栈。通过这些协议栈,程序员可以更加方便地开发基于 Internet的嵌入式应用系统。Internet协议栈包括TCP、UDP 、PPP等虚拟外设,这些协议通过应用程序接口(API),可以方便地同应用程序连接起来。
图1所示为Ubicom公司用汇编语言实现的以太网协议栈,即 TCP/IP软件的四层抽象分层:最底层,是专门用来传输IP包的物理层,即NIC设备驱动程序;向上一层,是网络层,负责数据在网上的端到端传输;再向上,是我们熟悉的TCP、UDP的传输层,一般的应用程序都是建立在传输层上的,例如Web服务、简单邮件服务。
由于SX芯片的高效性和高速处理能力,它提供的Internet 协议栈,可以很方便地构造Internet应用系统。例如,用HTTP 协议可以构造Web服务器,用SMTP协议可以构造邮件服务的客户端,用 PPP协议构造点到点的系统。利用这些服务,就可以方便地实现远程控制系统,应用于诸如智能家电、机顶盒、远程监控系统、防盗系统等系统中去。
4.1 Web服务器
Web的工作基于客户机/服务器模型,由Web浏览器和Web 服务器构成,两者之间采用HTTP协议进行通信。基于SX的嵌入式 Web服务器包含了IP/ICMP协议、PPP协议、TCP协议及HTTP协议,能和Internet上的任何类型的Web浏览器进行交互式通信,并能够提供各种类型的网络资源服务,如:HTML、文本文档、图像、Java脚本、Java applets、PDF文档等。这些资源通过虚拟外设存储在外部扩展的EEPROM里。
当浏览器与Web服务器交互时,HTTP通过统一资源定位器URL(Uniform Resource Locator)来确定Web服务器应该为浏览器提供哪些资源。为了节省空间,在SX系统上的文件系统不同于传统的计算机文件系统,它是通过一种灵活的 Hush算法来实现的。EEPROM中的每一个文件都有一个不同的 Hush值与之相对应,存取的时候很快可以计算出文件的地址,因此,既可以节省空间,又提高了存取文件的速度。此外,它可以根据网页中嵌入的特殊标志,来实现动态网页,即显示实时采集的数据和进行控制操作。下面是用来读取系统温度的动态网页程序,其中的“瘃? ”字符是用来在网页中插入温度的标志,网页存放在EEPROM中。
<HTML>
<HEAD>
<TITLE> 实时温度监视器</TITLE>
</HEAD>
<BODY BGCOLOR=#404040 text=#80FF00>
<center>现在的温度是:<font size=+2color=#FF99FF> 瘃</font></center>
<P>
<font color=#FFFFFF>按‘F5‘键,刷新网页来查看现在的温度</font>
</BODY>
</HTML>
当用户发出页面请求时,程序判断“瘃颉闭饧父鲎址"这几个字符,在将TCP包的时候,把温度值嵌入到网页中去,从而实现通过网页读取系统的温度。不过,要注意“瘃颉弊址“? 字符是不在网页上显示的。
4.2 邮件客户端
发送邮件的客户端也可以通过TCP API来实现,即通过TCP协议的上一层协议SMTP(简单邮件传输协议)来完成邮件的发送。Web服务器使用TCP 连接2,邮件客户端使用的是连接1。邮件客户端不同于Web服务器需要等待远程请求来建立TCP连接,它初始化并打开一个远程处在监听状态的SMTP(简单邮件传输协议)服务器的TCP连接。监听指的是远端服务器的半个Socket(套接字),它只包括远程SMTP服务器的TCP端口,通常是25。一旦连接建立,SMTP服务器就将请求连接的客户端的IP地址和端口号填充Socket。此时,邮件客户端就可以接收、发送数据了。SMTP协议是基于文本的用来实现简单命令响应的语言。下面的例子演示了 SMTP是如何工作的
220 Eserv/2.92 ESMTP server ready.
HELO sx
250 Hello 10.1.1.20
MAIL FROM:
250 OK
RCPT TO: joe@demo.sx
250 OK
DATA
354 send the mail data, end with.
Subject: Simple SX message
现在温度是 28 摄氏度.
250 OK message accepted for delivery
QUIT
221 Service closing transmission channel
综上所述,可以看出,如果把这种芯片嵌入到家电里,就可以通过网页查看、控制空调、热水器, 下班的时候打开家里的热水器,回家以后,就可洗个舒服的热水澡;如果把这种芯片嵌入到环境比较恶劣的实验环境里,就可以脱离辐射、高温对人体的危害,而能得到实时的实验数据。
5 嵌入式网络产品的未来展望
由于近年来Internet及通信产业的迅猛发展,半导体制造商都试图将各种通信协议集成在一个芯片内。但是,这种方法在实现过程中存在着很多问题,唯一的解决方案是利用软件来完成协议处理功能。由于SX单片机具有100 MIPS的指令处理速度,加上它的虚拟外设软件模块,能够满足通常的嵌入式产品的对处理性能的要求;同时,由于该单片机采用软件来实现各种协议处理,便于将来在不改变硬件的情况下,只需改变内置程序即可升级整个嵌入式系统的功能。现在Ubicom公司发布的新产品 IP2022更是体现了它的这种思想,而且,软件模块的选择更加方便,功能也更加强大,相信未来的电器都会贴上“Web Inside”的标志。
参考文献
1 乐德广,郭东辉,等. 基于SX微处理器的嵌入式Internet技术及其应用系统的设计. 嵌入式系统论文集,2000.11
2 Ubicom, Inc. Application Note 37(Web Server & Send Email Client Implementation with Ethernet as the Physical Layer). January 2000