严国志
(武汉大学电气工程学院,湖北武汉 430072)
ARM嵌入式技术和产品已经广泛渗入到工业测控系统、仪器仪表、信息家电、通信设备、军事技术以及人们日常生活的各个领域。电力系统实时测控装置也正在向嵌入式系统的方向发展[1-4]。ARM目前已成为32位通用嵌入式处理器的标准[5],其大的存储器容量、快的处理速度和丰富的可编程逻辑资源,可对器件的功能结构进行重新配置,从而满足测控系统的各种应用要求。电力系统实时测控装置已越来越多地使用ARM作为主处理器。为了培养的学生适应社会需要,在本科教育中尽快开展ARM嵌入式系统的相关理论与实验课程教学,并通过对其研究、探讨与实践,逐渐形成较规范的教学体系已成为当前迫切需要解决的重要问题。
为了在本科生中有效开展ARM嵌入式系统的课程教学、课程设计和毕业设计等教学活动,我们必须认真研究嵌入式系统技术的现状,跟踪世界嵌入式系统技术的发展,合理选择ARM处理器芯片类型,正确制订安排教学内容和设计好实验平台。
1)ARM处理器芯片的选型
ARM公司专门从事基于RISC技术的芯片开发,但公司本身不直接从事芯片生产,主要出售芯片设计技术的授权。半导体生产商从ARM公司购买ARM微处理器核,根据各自应用领域加入外围功能模块,形成自己的ARM 微处理器芯片进入市场。
ARM处理器目前具有下面几个系列:ARM7系列、ARM9系列、ARM9E系列、ARM10E系列、SecurCore系列、Intel的Xscale系列及StrongARM系列等。其中,ARM7、ARM9、ARM9E和 ARM10为四种通用处理器系列。
ARM嵌入式系统已广泛应用于电力系统测控领域,而ARM7又是嵌入式系统中使用最广泛的32位处理器,它的性能优越,入门容易,内部配置资源多样,兼容封装管脚,非常适合教学的需要。ARM9在性能和功能方面比ARM7有很大提高,但系统复杂,更适合作为高端产品的开发平台。因此,采用32位ARM7 TDMI核作为高校嵌入式系统教学的主要内容是很合适的。我们认为,现阶段选用NXD公司的LPC2000系列ARM7微处理器作为教学机型,能比较好地体现出典型性、基础性和实用性的选型目标要求。
2)课程教学内容的制订
LPC2000系列教学机型的课程教学内容主要包括三个部分:①理论部分—主要是嵌入式系统的基本概念。包括嵌入式系统的含义、特点、组成、结构、发展趋势以及ARM处理器内核和器件。②基础部分—主要是ARM7体系结构、ARM微处理器的结构原理及指令系统。③应用部分—主要是ARM嵌入式系统设计,包括硬件及软件的设计、嵌入式软件开发环境以及软件开发平台的建立方法和嵌入式操作系统等。
3)实验平台的设计
根据电力测控的教学要求,实验内容主要有三个部分:①ADS集成开发环境及仿真器应用。②基础实验—主要练习ARM芯片的片上各功能模块的原理及应用。③应用设计实验—主要是基于电力测控的嵌入式系统应用设计。诸如数据采集、存储及处理、参数控制、开关量采集和处理、开关量控制、数据通信和人机接口等。
我们以此为目标设计及构建了基于LPC2000系列LPC2378芯片的教学综合实验平台。该平台采用了核心主板加实验板的设计方式。核心主板只提供最小系统的基本电路,如:ARM微处理器、电源电路、复位电路、时钟电路和JTAG接口,将微处理器所有的I/O口线全部以接口方式引出。实验板上提供芯片各功能模块的外围接口电路,如人机接口模块(包括LED数码显示器、LCD点阵显示器和按键)、开关量接口、ADC模块、DAC模块、定时器/计数器接口模块、PWM 接口模块、I2C模块、SPI接口模块和各种通信接口模块等。除此之外,实验板上还提供SD/MMC卡接口模块、以太网接口模块、GPS接口模块、USB接口模块和汉字库模块等。
通过这样的综合式实验平台,学生既可以直接在实验平台上进行相关的软件设计实验,也可以借助核心主板进行硬件电路设计实验,搭建自己的应用系统。以提高学生的ARM嵌入式系统的软硬件设计能力。
我校本科目前还未专门开设ARM嵌入式系统课程,我们是在已有选修课程“微计算机硬件及应用”中进行ARM 嵌入式系统课程教学实践探索,包括教学方案的可行性,教学内容设计的合理性和有效性等。我们采用了如下两种实践方案。
第一种教学实践方案安排在单片机原理课程内容讲完之后,再讲述ARM嵌入式系统。由于学生已经建立了微机系统的基本概念,在此基础上进行ARM嵌入式系统教学,具有循序渐进的效果。但这种方案也有严重的问题。由于微机类课程学时很少,运行该方案会发现学时严重不足。而且,学生刚刚学完了单片机原理,课程依托MCS-51系列,接着又要学习ARM芯片,在一门课程中讲述两种型号的芯片,难以将两种芯片的内容消化。
第二种教学实践方案是越过单片机原理介绍,直接进行ARM嵌入式系统教学,这是我们一个大胆尝试的方案。我们放弃了“单片机原理”而直接将“ARM嵌入式系统原理”作为微机原理启蒙课程。根据多年“单片机原理”的教学经验,我们在介绍ARM嵌入式系统原理之前,先详细介绍一个微机的模型机,使学生建立起微机的基本概念再进行ARM的微处理器基本结构及编程学习,继而进行各功能模块的学习。该方案可将有限的学时主要用于ARM的内核基本结构及编程学习上,使学生达到掌握ARM内核的基本要求,对于各功能模块的学习,可视学时的情况合理选择。该方案克服了第一种方案学时与内容的矛盾,达到了使学生掌握ARM内核的基本目的。对于初学的学生来讲,该方案入门门槛较高,要求教师做好充分和有效的入门铺垫。
由于微处理器技术(特别是ARM嵌入式系统)日新月异地发展,我们跟踪国际嵌入式系统技术的现状,将最新的ARM嵌入式系统技术吸收并应用到教学活动中。我们修订了教学内容、多媒体教学课件及实验内容,甚至修订实验平台硬件系统。这是一项长期且艰巨的工作,这些都需要相当的时间、精力以及经费和政策方面的支持。
我们认为,教学不应总是停留在80X86或MCS-51的水平上,也没有必要总是从 80X86或MCS-51出发。我们在基于电气工程专业的ARM嵌入式系统的探索性教学实践,就是希望尽早实现把“ARM嵌入式系统原理及应用”课程作为微机原理课程的新的标准。
[1] 黄新波等.输电线路在线监测与故障诊断[M].北京:中国电力出版社,2008
[2] 张志俊等.嵌入式智能电力测控仪设计[J].北京:测控技术,2008年第27卷第10期
[3] 严桂等.基于嵌入式系统的电力故障录波器[J].沈阳:仪表技术与传感器,2008年01期
[4] 王鲁进等.基于ARM9的嵌入式电力RT U的设计[J].广州:科协论坛(下半月),2009年 02期
[5] 周立功等.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2005