1 前 言
嵌入式系统是先进的计算机技术、半导体技术、电子技术与各个行业的具体应用相结合后的产物, 它是硬件与软件是紧密捆绑在一起的系统, 这一特点就决定了它必然是一个技术密集、高度分散、不断创新的知识集成系统。目前的嵌入式系统人才多数是在工作岗位上培养起来的, 国内高校还很少设立嵌入式系统这个本科专业, 只是为了适应社会的需要, 对某些专业的学生开设了相关课程, 学习。嵌入式系统设计是一门实践性非常强的课程, 其理论还在不断的发展当中, 如果没有很好的实践平台, 嵌入式系统技术很难掌握, 学生的技能就得不到提高, 培养的学生就不能适应市场的需要。
现有的一些嵌入式系统实验平台已经非常成熟,产品也覆盖了ARM7至ARM9的各大公司芯片。这些平台在一块实验板上,不仅实现了ARM芯片的全部功能,而且进行了相关扩展,在实验板上提供了几乎所有的接口,使得学生能够充分接触到类型的接口的编程,能够很好的在实验板上进行各种软件的实验和开发。但是,这类平台也存在相当的不足。学生在其提供的实验平台上,只能完成软件部分的练习,对于硬件部分的分析和设计却不能得到很好的锻炼。ARM开发是一项软硬件相结合的技术,在ARM硬件设计方面,学生普遍还存在相当的不足,而在这方面的教育资源目前比较匮乏,需要一个合适的ARM实验平台来全面提高学生的软硬件水平。本设计关于ARM实验平台的构建提出一些参考意见。
2 LPC2368嵌入式实验平台的硬件实现
为了能让学生充分接触到ARM板的硬件设计,更好的实现教学目的,该实验平台采用核心板和扩展板硬件分离设计(如图1所示)。核心板上只设计一个ARM最小系统,并且引出端口以便扩展,而在扩展板上根据需要扩展相关接口。这样化繁为简,使得学生在实验时,不仅能够对简单的ARM最小系统有比较深入的理解,也能动手设计出外围扩展电路,最后进行编程,软件和硬件的能力同时得到提高,加深学习的印象和兴趣。
根据方案设计,考虑到教学要求、成本问题和开发的难易程度等,本系统采用NXP公司(原PHILIPS半导体公司)出品的基于ARM7TDMI处理器核的 32位处理器LPC2368。它内嵌高达512KB的ISP/IAP Flash和高达58KB的SRAM,能够在不扩展存储和内存的条件下运行uclinux和uc/OS-II,在满足实验平台要求的前提下简化设计,降低成本。同时LPC2368还支10/100 Ethernet、全速(12Mbps)USB 2.0和CAN 2.0B、多个串行通信接口(3个II C、1个IIS、4个UART和3个SPI/SSP)增强了设计的灵活性,提供了更大的缓冲区,并且具有更高的处理能力;10位A/D和D/A转换器和一个IRC振荡器,还带有SD存储卡接口可供选择。 功能强大,接口丰富,非常适合用来构建实验平台。
2.1 核心板的设计
要使一个嵌入式处理器工作起来,必须要有电源部分,必须加上时钟信号,并提供复位信号。如果芯片没有片内存储器或者内部存储器容量不够,则还需要加上存储器系统,然后嵌入式处理器芯片才能正常工作。这些提供嵌入式处理器运行所必须的条件的电路与芯片一起构成了最小系统。核心板中将LPC2368的I/O接口全部引出,以方便在主板上进行硬件扩展和接口设计。所以,这次设计的核心板部分包括ARM芯片,电源,时钟,复位,以及I/O引出口。
2.2扩展板设计
扩展板在该实验平台中,主要通过学生自行设计相关外围接口硬件,来提高学生的硬件动手能力。主板的I/O口通过插槽引出,可以方便的在扩展电路设计实验所需要的外围硬件接口。LPC2368功能强大,接口非常丰富,自身就带有多个串行通信接口,USB设备,网络接口和SD卡接口。
本次设计只完成部分硬件单元电路,学生可以根据实际情况,自行设计好每个接口部分的硬件电路,然后画图PCB并制版,通过反复验正至成功。这样可以提高学生的实际动手能力,防止了纸上谈兵,在硬件电路的设计流程,以及具体的设计细节方便得到很好的煅练机会。然后可以将自己设计的外围接口与I/O口相连,移植操作系统至主板上,并学习编写驱动程序来驱动外部电路。硬件设计和软件编程同时得到巩固和提高。
2.2.1 UART串口设计
LPC2368具有四个串行接口。除标准的数据传输和接受外,UART1还提供全modem控制握手信号。UART3还具有红外模式,可用来进行红外通讯。
本次设计采用RS232的电平转换芯片MAX232,实现UART0的串口通信。URAT1采用SP3243ECA转换芯片将信号转换成RS232电平,即可与MODEM连接,控制MODEM拨号、通信等。电路图如图2所示。
2.2.2 SD/MMC接口设计
SD/MMC接口包括两部分:
(1)多媒体存储卡接口适配器模块对SD/MMC存储卡提供特定功能包括时钟产生单元,电源管理控制与数据传输;
(2)APB接口访问MCI适配器注册,产生中断和DMA要求信号。
LPC2368含有1个SD/MMC存储卡接口。LPC2368在芯片内部已经集成了SD/MMC控制器,只需在外部加入存储卡适配器即可。电路图如图3所示。
2.2.3调试与测试接口
JTAG调试是采用最多的一种调试方法,它是一个标准的测试接口,用于测试和系统未正常工作前的下载。它可以通过现有的JTAG边界扫描ARM CPU核进行通信,属于完全非插入式调试。调试主机PC负责对ARM源程序进行编译连接,然后使用调试程序进行JTAG调试。LPC2368有一个内置 JTAG调试口,通过这个接口可以控制芯片的运行并获取内部信息。调试接口电路图如图4所示。
3 LPC2368嵌入式实验平台的软件设计
嵌入式系统实验平台建设的一个重要内容就是嵌入式操作系统的确定。目前嵌入式教学主要是以源码开放的uC/OS-II和uCLinux为主。uC/OS- II结构简单,很容易通过阅读源码达到彻底掌握嵌入式操作系统的目的。uCLinux是现在最热门的嵌入式操作系统之一,继承了Linux网络支持良好,文件系统多等优点。本实验平台可以很好的支持以上两种操作系统的运行,学生可以在该平台上进行操作系统的移植、驱动程序开发等相关内容的学习。
底层硬件驱动程序是嵌入式系统软件开发的一个难点,它紧密地将软硬件衔接在一起。涉及到许多硬件相关的知识。如果完全让学生开发,将有很大的困难,不利于教学。一些成熟的开发平台提供了各方面的设备驱动程序,在其基础之上学生能够很方便的进行二次开发。可同时,底层的硬件细节被屏蔽,当遇到新的设备需要驱动时,学生就会束手无策。为了达到高校教学要求,本系统提供主要硬件部件的底层驱动程序,既方便学生进行深入的二次开发,学生也可以以此为蓝本,在自主设计硬件接口时,深入的学习和掌握设备驱动程序的编写。
完成以上两步就完成了一个良好的软件开发平台,学生可以在该平台上开发基于特定应用的用户程序,这也是嵌入式系统学习的重要内容。本系统提供在 uCLinux和uC/OS-II的应用程序开发示例,通过对这些示例的实验和学习,学生可以完全掌握在嵌入式平台上的应用程序开发过程。
4 结束语
基于目前嵌入式的快速发展与高校在嵌入式教育方面的相对落后,本文设计了一款基于ARM7的嵌入式实验平台。该平台结构简单,接口丰富,功能完善,可满足高校嵌入式教育的需求,一改目前大多数嵌入式平台在一块主板上集成各类接口大而全的设计,采用核心板加扩展板设计理念,使不同专业的学生都能从中学到相应的知识,培养软件编程技术的同时提高了硬件设计能力,使之系统全面地掌握嵌入式系统开发各项技术,尽快成为合格的嵌入式系统开发人才。
参考文献
江俊辉 基于ARM的嵌入式系统硬件设计. 微计算机信息,2005,2卷7-2期:120-122
蔡型. 基于ARMS3C2500的硬件开发平台设计.电子质量,2004,09期:64-66
蒋祖力,李维谦,吴耀彬. 基于ARM嵌入式系统的设计及其应用.福建电脑,2004,4期:95-108
季昱,林俊超,宋飞.ARM嵌入式应用系统开发典型实例
周立功. ARM嵌入式系统基础教程