如今,嵌入式系统正逐渐向嵌入式网络发展

   2023-01-05 工业品商城273
核心提示:ARM架构最初是为便携式PC开发的,其操作系统管理中断处理并设置处理的优先级。但是它从来没有面向确定性的实时应用。为了克服将代码存储在外部非易失性存储器中导致的性能下降,PC处理器在缓存中采用代码屏蔽技术。然而,当某个所需的指令代码不在高速缓存中时,这种技术将导致意外的延迟。如果不使用操作系统连接外设,就

ARM架构最初是为便携式PC开发的,其操作系统管理中断处理并设置处理的优先级。但是它从来没有面向确定性的实时应用。为了克服将代码存储在外部非易失性存储器中导致的性能下降,PC处理器在缓存中采用代码屏蔽技术。然而,当某个所需的指令代码不在高速缓存中时,这种技术将导致意外的延迟。如果不使用操作系统连接外设,就需要中断屏蔽和额外的软件支出。总之,这种让ARM适合PC应用的结构,也让它不适合实时应用。AT91SAM7器件是ARM7微控制器中的独特产品,配备了一整套支持实时应用的功能,包括八个优先级的中断控制器、基于硬件的精细位操作、上电复位电路、单电源电压、欠压监控器和实时时钟。

实时控制应用通常是中断驱动的,其特点是有多个中断源和对每个中断的可预测响应。ARM核结构采用简单的双中断机制。在这种机制中,其中一个中断负责处理所有非紧急中断任务,并且没有硬件来设置优先级。这在高度互连的嵌入式系统中是不可接受的,因为这种互连环境中的高吞吐量通信接口要求快速中断处理与低优先级系统功能并行。Atmel的AT91ARM7通过一组独立屏蔽的中断向量源和一个具有八个优先级的中断控制器解决了这个问题。它的基本中断处理程序永久驻留在SRAM中,负责判断每个中断源的优先级。一旦需要,它会执行一条指令,通过使用中断号(每个中断源都分配了一个特殊的中断号),直接将相应的中断服务程序的向量加载到程序计数器中。不幸的是,ARM7架构没有详细的位操作指令,因此需要15条指令(即15个时钟周期)来完成这些置位/复位操作。ARM7首先用6条指令取消中断,然后用9条指令执行RMW运算完成复位,最后用6条指令重新激活中断。这涉及到大量的编程、调试和处理操作,尤其是当支持这些操作的指令来自8位或16位处理器时,工作量更大。

在当今对成本敏感的应用中,节省代码和数据空间是首要考虑因素,因此设置和清除I/O空间中的各个位和字是理想的。如果不具备这种位操作的能力,需要在目标I/O地址进行一次读-修改-写(RMW)操作;即,将I/O空间读入SRAM,修改目标位,然后将结果写回I/O寄存器。当然,这消耗了闪存、SRAM等系统资源,也增加了功耗。使用位的另一个好处是激活和取消中断。如果你想用RMW操作来激活或取消一个中断,你必须首先取消所有的中断,然后执行RMW操作来激活或取消一个特定的中断,然后重新激活所有的中断。Atmel扩展了ARM7架构,允许在I/O空间中设置和清除位字。每个外设都有一个“置位”控制寄存器和一个“清零”控制寄存器。这样,一个6周期的加载/移动/存储序列可用于处理所有中断屏蔽和位设置及清零操作,从而将处理成本和代码减少60%。

随着工艺技术规模越来越小,微控制器核心电源的电压范围必须合适。在0.18微米工艺节点,核心电源通常为1.8V。然而,为了与传统的8位系统兼容,32位微控制器必须由单个电源供电,电压范围为3.0V至3.6V。新的微控制器使用片上稳压器来产生核心和其他片上子系统所需的1.8V电压。有了这个带外部连接的1.8V电源,就可以根据系统板提供的功能更好地控制每个电源。是使用这种片内稳压器,还是使用效率更高或待机功耗更低的外部电源,完全可以由最终用户决定和控制。这种调压器具有在CPU低速(500Hz到1.5MHz)时进入待机模式的特性,可以降低调压器的功耗,将电流降低到20mA。在这种情况下,最大输出电流为1mA,足以驱动CPU和大多数外设,这有助于弥补32位微控制器的高待机电流。

 
 
更多>同类新闻资讯
推荐图文
推荐新闻资讯
点击排行

新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服