在SX系列单片机上实现的虚拟技术
扫描二维码
随时随地手机看文章
虚拟技术是计算机应用的一个重要方面,单片机(MCU)领域也不例外。虚拟技术是计算机对真实情况的软件模拟。多年来,在单片机的应用中,虚拟技术也曾零星 的用于外设接口或功能单元的时序模拟、状态模拟以及控制模拟上。例如,各种串行接口的虚拟传送,频率信号源的虚拟输出,以及虚拟的LED译码控制等。
虚拟技术的本质是计算机的软件仿真,只有当软件仿真到达实时效果时,虚拟技术才能到达实用水平而得到普及推广。因此单片机虚拟技术的实用化基础是单片 机执行指令的高速度。例如当指令速度到达0.5MIPS(百万条指令/秒)时,可实现传输速度100kbps的I2C串行总线接口的虚拟,但是无法实现传输速度为1.05MH z的SPI串行总线的仿真。指令速度越高,可虚拟的对象就越广泛。在采用模拟技 术时,除了要求指令高速运行外,还要有合理的片内资源支持并实现专业化设计,对虚拟对象有彻底的了解,开发出优秀的软件包,并为虚拟对象的软件包制定出规范。
SX系列单片机
您听说过每秒执行1亿条指令的8位单片机吗?SCENIX公司的SX系列新型单片机就 是这样的单片机(详情请查网址:www.scenix.com)。在研发过程中充分考虑到基于高速指令运行下的虚拟外设(也就是软件外设)。除了极高的指令运行速度 ,极高的时钟频率外,在片内资源的配置及I/O端口的设置方面都作了专门化的考 虑,并组织了较大规模的虚拟外设软件包开发队伍。目前已有多种虚拟外设软件 模块可以免费提供。 您在项目开发过程中,您可能为提高您的系统速度而不得不改用16位的单片机或 用DSP(数字信号处理器)。当您在设计您的系统时您可能需要多个串口、几路A /D和D/A,或一个红外数据收/发器,最好还能有一个I2C/SPI串行外围接口,但您 可能很难找到一个合适的单片机满足您的要求。如果采用SX系列超高速单片机, 这些外部电路可以根据您的系统要求随时添加进您的单片机,而不会额外增加系 统的成本。
美国SCENIX公司推出的SX系列超高速单片机,其结构和指令与普通的单片机类似 ,但它利用其高速性能发展和提高了单片机“虚拟外设”这一概念的内容和实用化水平。它把许多单片机可能会用到的功能通过模块化的软件来实现。由于这种 软件模块相对独立,结构明晰,入口和出口参数已经定义好了,开发者无须知道 模块是如何实现的,只需把需要的模块加到自己的应用程序中去即可。
SCENIX公司为什么会想到这个主意呢?在8位嵌入式单片机领域中,单片机处理器 的结构与20年前仍差不多,但是更加小巧,芯片上也集成了更多的外设功能和各 种存储器,尺寸也更小。但是,如果将各种应用项目所需的功能都放在单片机内 部便会使芯片面积增大,制造成本太高。通常,设计人员只能通过修改现有设计 和重造掩膜,增加所需外设功能的芯片,才能增加单片机的功能,以满足不同领 域应用的需要。而且,单片机的供应商为满足特定应用对不同性能的需要,必须制造同一器件的不同变体。例如,用于电视机遥控的单片机采用8位内核,配置各 种片内的外围模块来实现ROM和RAM、多个可编程I/O口、时钟产生电路和用于红外(IR)接口的通用异步收发器(UART)等功能。在相同的处理器内核基础上增加 I2C总线接口等功能,就可用于录像机和摄像机。其它应用可能需要增加通信功能等等。
也有人尝试用单片机的部分能力来实现软件外设功能,但是,8位单片机的吞吐量 通常限制了软件外设的使用。尽管有时在单片机中也加入一两种软件外设功能,但这些功能必须是简单的、吞吐量较低的并且对实时性要求不太高的,而复杂外 设和高吞吐量外设功能仍需采用硬件实现。例如,8位单片机的平均吞吐量接近4 MIPS,用软件实现100kHz后台定时器约需要1.0MIPS吞吐量,19.2kbps的UART约需 要1.5MIPS,模数转换器(ADC)约需5MIPS。这些功能占用单片机资源太多,往往 只能通过硬件来实现。一些简单的功能,如I2C/SPI/MICROWIRE串行接口则可以通 过软件来实现。许多工程师经常用软件实现低速UART作为硬件UART的补充,满足 双UART的需要。但是如果需要高速或多个软件UART,普通单片机就显得有点力不 从“芯”了,更别说A/D转换器、电机控制器和双音多频(DTMF)检测等其它功能 了。对于那些实时性比较强或需要中断来实现的外围设备,普通的单片机由于速 度和其中断响应的不可预见性而应用受到限制。
SCENIX采取了另一种可行的方法,即开发一种全新的适宜执行软件外设功能的8位单片机架构。专门用软件来实现硬件外设的功能,在很多情况下无需进行专用外 围模块的开发,从而增加了设计的灵活性,降低了最终产品的整体成本,缩短了 上市周期。
有些单片机方面的专家正在致力于单片机应用标准化方面的研究,他们建议单片 机的应用要避免低水平的重复开发。虚拟外设的开发思路恰好适应了单片机软件 的标准化和模块化的设计要求。