微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > SX微控制器的虚拟外设及Internet应用

SX微控制器的虚拟外设及Internet应用

时间:06-27 来源:互联网 点击:
随着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服务、简单邮件服务。

由于在Internet中,都使用约定俗成的TCP/IP协议,因此基于 IP的TCP和UDP协议起着非常重要的作用。由于SX微控制器是一种嵌入式处理器,内存较小,TCP及UDP不可能用传统的方法来实现。因为,它们需要很大的缓冲区来构造s ocket(套接字),例如在Unix或者Windows中那样实现。由于在传输层上, TCP协议是面向流的机制,而SX控制器具有很高的处理速度,它采用下推式的工作方式,即当收发数据时,并不是将一个完整的数据包拿来处理,而是收取数据的时候,一边收取,一边进行应用层的处理。发数据的时候也是同样,应用层一边发数据, SX的虚拟外设就同时对数据进行打包发出,直到没有数据为止。这种方式极大地节约了内存资源,又有效地提高了应用程序的处理速度。通常,由于程序主要的功能是进行远程控制,真正传送的数据量很小,根本不需要巨大的缓冲空间,因此,这种处理方法是非常有效的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top