宁波开放大学 周敏维
嵌入式系统技术是应用型高校电子信息相关专业一门重要的软硬件紧密结合的课程。与单片机接口课程相比,嵌入式系统课程具有更强的实践性,需要适合能力培养的嵌入式实验平台。市面上在售的大多数嵌入式实验系统虽然具有功能很强的高级操作系统移植,但是这些高级操作系统往往不开源,实验系统硬件设置大多也不够灵活,学生在这样的实验系统上训练,很难接触到嵌入式系统底层硬件,从而导致实际实验效果不尽如意。自制实验设备显然是解决以上问题的行之有效方法,通过自行研制实验设备,可起到改进实验设备功能、优化实验教学内容、促进实验项目创新、实行“项目化”实验模式、激发学生对实验的探究兴趣、提高学生综合实践与创新能力的效果。
为了使嵌入式实验系统具有丰富外围接口,满足学生接触系统底层硬件以及高级操作系统开源等要求,有利于学生掌握嵌入式系统的设计方法,我们自主开发了一种适合于应用型高校的嵌入式实验系统,对实验系统的核心电路与接口电路实行模块化设计,学生可根据实验需求搭建嵌入式实验平台,掌握实际应用场景硬件搭建方法,自主学习嵌入式系统开发流程。利用以太网与USB接口,学生可深入到嵌入式实际应用系统。自制的嵌入式实验系统采用完全开源的实时操作系统uC/OS II,学生不仅可以接触到实时操作系统内核文件,也可以对内核文件进行修改,完成嵌入式系统的个性化定制。除了完成规定的课程实验,学生也可以自主选择实验内容,尝试完成设计性、综合性、创新性的实验。
图1 自制嵌入式系统结构框图
嵌入式实验系统包括母板和核心板两部分。将LPC2148制成核心板,核心板上只有最基本的供电、JTAG调试、晶振、复位、USB从机接口等电路。其余接口全部引出至核心板的插槽中,可根据不同的实验需要制作相应的接口板。在实验系统母板上,将LPC2148几乎所有I/O口,如USB主控芯片CH375B、10M以太网接口ENC28J60、独立按键、红外接收头、DS18B20温度传感器、2.4in触摸彩屏TFT、独立LED、数码管、SD卡、内嵌十位A/D与D/A、RS232/RS485串口、2.4G无线通信模块nRF24L01、GPS、GSM等全部引出,这些I/O口可以挂接任何传感器,基本上涵盖了课程实验所需的硬件及接口电路,大部分实验不再需要跳线设置,免去了实验时的繁琐跳线设置,实验设计与开发变得更加简便。如图1所示是基于LPC2148的自制嵌入式实验系统结构框图。
LPC2148是一款自带512kB嵌入高速Flash程序存储器的微控制器,支持嵌入式跟踪和实时仿真的32位ARM7TDMI-STMCPU,LPC2148的封装体积很小,功耗也非常低,十分适用于POS机与访问控制等应用场景。LPC2148自带从UART、USB、SPI、SSP到I2C总线的串行通信接口,以及32kB+8kB的片内SRAM,可为通信网关、语音识别、低分辨成像等应用场景提供足够强的处理功能和足够大的缓冲区。多个32位定时器、十位DAC、十位ADC、高速GPIO、PWM通道以及边沿/电平触发的外部中断管脚,使得LPC2148尤其适用于医疗系统和工业控制等领域。
如图2所示为LPC2148最小系统框图。由于LPC2148具有片内Flash程序存储器和片内静态RAM,并没有开放地址总线与数据总线,因此存储器系统是可选的。另外,JTAG调试接口虽然是可选的,却是程序调试必不可少的,所以实验系统也设置了JTAG调试接口。
图2 LPC2148最小系统框图
自制的嵌入式实验系统基础实验模块主要包括GPIO操作、RS232/RS485电平转换、74HC595扩展、74HC165扩展结合中断、SPI控制器、串口通信、定时器与PWM、AD/DA转换、独立按键等。学生通过这些入门级的基础实验,可掌握LPC2148单片机的基本配置与操作、开发环境的搭建与使用方法;通过SCI串行接口实验,可掌握与PC机的通讯方法;学生通过SPI串行接口实验,可掌握SD卡等串行总线的使用方法;通过PWM接口实验,可掌握电机控制、D/A等使用技术;通过A/D接口实验,同时配合各种传感器,可扩展系统的应用领域,进一步拓展学生的学习兴趣。
自制的嵌入式实验系统进阶实验模块主要包括以太网接口、USB从机接口、USB主机接口、SD卡接口、nRF24L01无线数据传输、2.4in触摸彩屏TFT等。
通用接口芯片CH375,支持USB-DEVICE/SLAVE设备方式与USB-HOST主机方式。CH375厂商已将文件系统管理层封包成库。USB接口可实现主机、从机的双重通讯。
嵌入式实验系统预留了SPI接口,SD卡支持SPI总线,通过SPI接接口可操作SD卡(Secure Digital Memory Card)。SPI总线模式具有传输协议简单的特点。
LPC2148具有独特加速结构和128位存储器接口,在最大时钟速率情况下,能保证32位代码能顺畅运行,非常适合于低分辨率成像。触摸彩屏作为人机交互工具,目前已广泛应用于电子产品。嵌入式实验系统因此也配置了触摸彩屏,学生通过实验可掌握触摸彩屏的驱动原理。
嵌入式实验系统开发需要集成开发环境(IDE)及硬件设备的支持。 其中JTAG 仿真器在调试软件时可以完成很大部分的仿真调试工作,还有万用表、示波器,逻辑分析仪等的使用。自制的嵌入式实验系统的开发工具,有很多ARM开发软件可供选用,如ADS、RealView、IAR、Keil都是常用的嵌入式集成开发环境(IDE)。嵌入式实验系统采用IAR开发工具,全部实验的软件开发(含软件编译与仿真)都可以在IAR开发环境下完成。嵌入式系统开发使用C语言,也可使用C语言与汇编的混合编程。
IAR提供了应用程序和库程序的项目模板,按项目进行管理,允许为每个项目定义一个或多个编译连接配置(build),项目可以分类或分级管理源文件。在新项目生成之前,应建立一个新的工作区(Workspace)。为了存放项目工程文件夹,必须建立一个专用目录。譬如对于一个闪烁的LED程序,就要新建一个文件夹,其步骤为:
(1)选择主菜单“Project > Create New Project”,会弹出生成新项目窗口。
(2)在“Tool chain”栏中选择“ARM”,之后点击“OK”按钮。
(3)在弹出的“另存为”窗口中,浏览与选择新建的LED目录,输入文件名“LED”,点击“保存”,这时在“Workspace”窗口中将显示新建的项目名。
胰腺实性假乳头状瘤(solid pseudopapillary tumor,SPT)是一种少见的良性或低度恶性肿瘤,在所有胰腺外分泌肿瘤中占比不超过1%~2%,占全部胰腺囊性肿瘤的5%[1]。这一类肿瘤有低度恶性潜能,手术可完全切除且预后良好[2],若肿瘤较大或囊变坏死明显容易误诊为胰腺恶性肿瘤。本研究回顾性分析SPT的多层螺旋CT及3.0 T MRI影像学表现,探讨不同影像学检查的优势和局限性,指导临床合理应用影像学检查方法。
IAR EWARM提供“Debug”和“Release”这两种缺省的项目生成配置。
(4)保存工作区。先选择主菜单“File > Save Workspace”,浏览并选择LED目录。将工作区取名为“LED”,按“保存”按钮退出。这时在LED目录下将生成一个文件“LED.eww”,“LED.eww”文件中保存了用户添加到LED工作区中的全部项目。
项目文件可添加之前写好文件,比如已经封装好的驱动函数库。若要临时创建编辑,则点击“New document”,之后会出现空白编辑窗,将它另存至之前创建的目录中即可。
在“General Options”中“Device”选择“NXP -> LPC2148”。若使用了中断,那么在“C/C++ Compiler -> Code -> Generate mode”选项要打勾。
在“Linker -> Config -> Override default”选项打勾,并添加调试配置文件路径:
在“Debugger -> Setup -> Driver”中选择“J-Link/J-Trace”,“Debugger-> Download”中勾选“Verifg download”和“Use flash loader”选项。
点击工具栏中的“make”按钮,在“Messages”窗口会出现调试信息,若没有错误,就可以点击“Download and Debug”,开始下载调试程序。在实际实验过程中,一般来说会不可避免发生一些错误,这就需要学生根据实际情况,寻找错误所在并予以纠正。
系统采用JTAG方式的IAR J-LinK仿真器,支持ARM7/ARM9/Cortex-M3内核芯片仿真,可与集成开发环境IAR EWARM无缝连接,无需安装任何驱动程序。J-Link是学习开发ARM的理想开发工具,具有操作方便、连接方便、简单易学特点。
如图3所示为嵌入式系统实验流程图。实验流程主要包括实验系统硬件准备、IAR工程创建、实验例程学习、编译下载仿真、例程功能拓展、编写实验报告等。实践能力强的学生还可以依托自制嵌入式实验系统的I/O扩展接口,自主选择与拓展实验内容,完成综合性、设计性、创新性实验,也可完成与嵌入式技术相关的课程设计、毕业设计。
图3 嵌入式系统实验流程图
利用自制的嵌入式实验系统可以完成许多实验,以太网实验便是一个典型的嵌入式实验应用案例。以太网实验通过PC端的浏览器打开网页并控制实验系统上的LED硬件。以太网实验的网络连接拓扑示意图如图4所示。
图4 以太网实验的网络拓扑连接示意图
以太网数据解析流程图如图5所示。通过以太网实验,学生可掌握以太网数据传输的网络拓扑与硬件组成,熟悉在以太网之上的软件协议,例如ICMP、UDP、TCP/IP、Http等。ENC28J60接收以太网数据,输出最原始的以太网数据帧,利用LPC2148对这些数据进行解析,其中Http协议是基于TCP链接完成的。
图5 以太网数据解析流程图
结束语:自制教学实验仪器设备是应用型高校实验室建设的重要内容,是推动实验教学改革、优化实验教学内容、促进实验项目创新、激发学生实验兴趣、提升学生实践能力、激发学生创新能力、提高实验教学质量的重要手段,在促进实验技术人员水平提升、促进实验室开放共享、推动高校实验室建设、节约实验室建设经费等方面发挥积极作用。
自制的基于LPC4148的嵌入式实验系统,结构框架清楚、开发环境友好、实验流程明晰,具有内容贴近实际、接口丰富、扩展性好、实用性强、开放性好等特点,为应用型高校培养应用型人才提供了良好的自主学习实验平台。实验教学表明,以项目例程为驱动,以工程应用为内容,在模块化实验系统上,按项目化实验模式,引导学生由浅入深、循序渐进学习嵌入式开发流程,学生嵌入式应用与开发能力明显增强,从而提高了学生的实践应用和科技创新能力。