(山东五岳电器有限公司 山东泰安 271000)
摘要:文章从微处理器设计、存储单元设计、外设电路设计三个角度入手,分析了基于ARM的嵌入式系统的硬件设计方案;围绕启动装载层、系统软件层、图形界面层、应用软件层四个层次,阐述了基于ARM的嵌入式系统的软件设计方案;结合硬件与软件两个方面,提出了基于ARM的嵌入式系统的实现要点。
关键词:ARM处理器;嵌入式系统;以太网接口
引言:目前,嵌入式系统已渗透到了现代社会的各个角落,小到PDA电脑、掌上游戏机、音乐播放器等终端设备,大到智能家电、车载系统,均体现出了嵌入式系统在人们生产生活中的深度融合。据有关调查显示,现阶段各类嵌入式软硬件系统的应用数量已超过传统的通用计算机设备,标志着嵌入式、隐蔽化发展的“后PC”时代来临。基于此,我们有必要对ARM微处理器应用下的嵌入式软硬件系统的设计与实现进行讨论分析。
1 基于ARM的嵌入式软硬件系统的设计与实现
1.1微处理器
微处理器是嵌入式软硬件系统的运行核心,基于ARM这一处理器系列,可进行以下几个方面的设计选择:
(1)WinCE、Linux等主流的嵌入式操作系统均以内存管理功能为运行基础,实现CPU内存访问请求的有效处理。因此,在选择具体的ARM微处理器类型时,必须要将配备MMU功能作为首要和必要条件。基于此,可选微处理器的芯片类型有ARM系列的720T、920T、922T、926EJS等[1]。
(2)系统时钟频率是嵌入式系统进行微处理器选择的又一重要指标,其频率直接决定了ARM微处理器的运行速度。从当前来看,市面上大多数7系ARM微处理器的时钟频率在20MHz至133MHz之间,大多数9系ARM微处理器的时钟频率在100MHz至233MHz之间,有极少部分9系ARM微处理器的时钟频率高达400MHz以上。
(3)为了保证系统功能需求的充分满足,相关人员还应在设计中注重微处理器接口数量的合理选择。通常来讲,嵌入式系统的计算机设备存在USB、RS232、音频外设、SD卡、LCD显示器、以太网、JTAG等多种硬件接口需求,因此必须要将ARM微处理器的芯片接口数量与上述需求达成匹配。同时,从外部接口这一角度来讲,设计选用的ARM微处理器最好具备集成性的DMA控制功能,以此实现多接口的直接访问与协调控制,为系统主体与外部设备间高速率、大量级、同步化的数据通信创造条件。
(4)为了提升嵌入式软硬件系统在硬件设计方面的经济性,还需对不同版本、不同类型ARM微处理器芯片的投入成本作出科学分析与合理把控。
1.2存储单元
存储单元的硬件质量,与嵌入式软硬件系统的内存扩展能力、信息处理速度、投用运行效率密切相关。在设计当中,相关人员应做好主存储器与辅助存储器的分别选型。具体来讲:
(1)在主存储器的设计上,以SDRAM为宜,此类存储器具有市场价格低、处理速度快、产品种类多等特点,且保有较大的选择空间。基于此,可将两个MICRON品牌的MT48LC16M16A2芯片作为系统的主存储硬件,实现内存空间为64M的SDRAM存储器应用。
(2)在辅助存储器的设计上,以NANDFLASH为宜,此类存储器在同类产品中可表现出最佳的性价比,在现阶段的嵌入式系统构建中极为常用。基于此,可将SAMSUNG品牌的K9F1208U0B西片作为系统的辅助存储硬件,实现内存空间为64M的NANDFLASH拓展存储器应用。
1.3外设电路
基于微处理器设计的各项要求,可选用S3C2440、AT91SAM9263、MC9328MX21三种芯片作为嵌入式软硬件系统的微处理器硬件,其搭载的ARM核分别为ARM920T、ARM926EJS和ARM926EJS。这三种芯片配备有良好的集成控制器,因此嵌入式系统的外围电路搭建相对简单。但需要注意的是,三种芯片的控制器均未对以太网接口的控制,因此还需对这一部分电路进行针对设计。从当前来看,在系统电路中布设CIRRUS品牌的CS8900网络控制装置,可达到良好的以太网控制效果。一方面,CS8900符合以太网的IEEE802.3应用标准,且配备有4K字节的内置存储器,符合I/O接口的应用需求。另一方面,CS8900的耗电量较低,最高不超过55mA,具有良好的经济性运行特点。
因此,CS8900是目前嵌入式系统设计中解决以太网控制问题的主流硬件工具。
1.4实现要点
在嵌入式系统的硬件平台开发过程中,应做好各类电路的调制工作。一旦相关电路板存在焊接偏误,将很可能发生芯片的虚焊、短路等故障问题。此时,若未经调试直接启动电源,将很可能导致搭载ARM处理器的主芯片发生局部过热甚高温烧毁。所以,相关人员在嵌入式硬件系统通电运行前,要通过万用表进行芯片电源转换电路输出电压的局部接电检测,查看其是否为3.3V,再根据检测结果进行电路板的焊点调整,或直接启动硬件系统。
2 基于ARM的嵌入式软件系统的设计与实现
2.1软件层次
现阶段,嵌入式系统的软件结构主要包括四个层次,即启动装载层、系统软件层、图形界面层与应用软件层。具体来讲:
启动装载层为嵌入式系统运行前的最基本加载程序,通过启动装载层,人们可以对系统进行硬件初始化、运行阻断、建立内存映射图等一系列操作处理,以此规范系统的运行环境[2]。
系统软件层是嵌入式操作系统中各类软件平台、文件信息的开发与应用基础,其主要包含操作系统与文件系统两个部分。其中,操作系统主要负责主系统软硬件资源的调度、分配与协调控制,是主系统各项功能的实现条件;文件系统主要负责主系统内各类文件信息的检索、存储与更新,是主系统响应用户操作行为的反馈条件。
图形界面层是计算机技术发展的里程碑式产物,其实现了系统功能的可视化,为各类非专业用户提供了便利性操作条件。在嵌入式系统的软件设计中,主要应关注占用资源量、可视化性能、操作便捷度、个性化水平等方面,致力于为用户构建出最直观、最简洁的窗口、按键与菜单。
应用软件层主要服务于嵌入式系统应用功能的拓展开发,以满足用户差异性、个性化的系统应用需求。与常规的应用软件相比,嵌入式应用软件除了要保证软件安装、应用的安全性、高效性与稳定性,还需要对软件所占系统资源的比重进行合理控制,以此从设计角度上预留出更多的系统空间,实现系统软硬件成本的有效节约。
2.2实现要点
在嵌入式系统软件平台的实现过程中,应将启动装载层的运行机制分为两个阶段。其中,第一阶段的流程为“开始→嵌入式系统硬件初始化→主存储器与辅助存储器初始化→复制第二阶段代码到主存储器→设置堆栈→跳转至第二阶段→结束”,第二阶段的流程为“开始→系统中央处理器初始化→环境变量初始化→串口控制器初始化→系统内存检查→辅助存储器初始化→默认环境变量输入辅助存储器→网络设备初始化→基于main_loop调整环境参数→执行cmd指令/执行串口指令→结束”。
第一阶段主要用于系统启动状态的预初始化,并推动第二阶段代码的跳转执行。在此阶段中,应将程序代码的大小控制在4K以内,以便与S3C2440中BootSRAM的4K内存相匹配;第二阶段主要基于C语言进行嵌入式系统后续软件层次的操作引导,并发出系统启动后的任务程序指令。在此阶段中,应对串口、网口、中断控制器、系统定时器、辅助存储器等嵌入式系统的启动环境要素进行流程初始化,并将系统的ARM核的镜像信息读入内置存储器当中,根据bootcmd的指令内容,决定启动数据是从系统自身的辅助存储器进行读取,还是经由以太网接口进行下载获取。
结论:综上所述,在ARM系列微处理器的应用背景下,嵌入式系统的软硬件结构设计比较复杂,且在功能、性能上具备较大的弹性选择空间。据此,相关人员在方案设计与开发实现的过程中,必须要从经济性、功能性、可操作性等多个方面出发进行协同考量,并着重关注设计方案在落实中的关键要点,以此保证嵌入式系统的整体应用质量。
参考文献:
[1]江淼.复网络通信背景下ARM嵌入式系统软件开发[J].电脑知识与技术,2019,15(29):21-22+28.
[2]刘振东.基于ARM的嵌入式软硬件系统设计与实现[J].信息记录材料,2018,19(04):105-106.
作者简介:聂兆明(1988.01--);性别:男,籍贯:山东泰安,学历:研究生,
毕业于西安工程大学;现有职称:中级工程师;研究方向:嵌入式软硬件设计。