嵌入式系统实践教学法的研究

时间:2022-10-11 08:02:03

嵌入式系统实践教学法的研究

【摘要】本文从嵌入式系统课程特点出发,针对课程实验、课程设计、毕业设计及课外科技实践活动等统筹考虑,构建出一套“基础知识和实验环境、基本技能训练和综合应用”三层次实践教学体系。教学实践表明,该方法全面提高了工科学生实际动手能力、强化学生工程实践素质、有效培养学生创新意识和综合能力,更符合高校培养应用型和开发型人才的目标,符合市场的人才需求。

【关键词】嵌入式系统 S3C2410 实践教学

【中图分类号】G424.31 【文献标识码】A 【文章编号】1009-9646(2008)08-0227-02

1 引言

在我国,嵌入式系统的最新成果不断被应用在航空航天、工业控制、仪器仪表、消费电子等领域, 直接导致了我国嵌入式系统的市场需求快速增长,嵌入式领域中的人才需求日益旺盛,人才缺口在逐渐扩大,而大部分高校的嵌入式系统课程教学存在诸多该改进的地方,最突出的是学生没有使用工程方法来构建符合需求的系统的能力,导致了用人企业不得不对学生进行再培训。由于嵌入式系统课程涉及的知识面宽、实践性强,对实验教学的要求较高,包括实验教师、硬件配置、实验项目的设置等。因此,应大力加强嵌入式系统实验教学建设,这对嵌入式系统的学习、研究与开发可以起到事半功倍的效果,更好的促进创新型人才的培养。

2 S3C2410微处理器

针对我校的实际情况,我们自行开发了基于S3C2410微处理器的实践教学平台,S3C2410微处理器是一款由Samsung半导体公司为手持设备等相关应用设计的低功耗、高集成度的微处理器,采用272脚FBGA封装,包含一个ARM920T内核。其内部包含以下功能模块:1.8V/2.0V内部供电,3.3V存储器,3.3V外部I/O供电。具有16KB一体化的Cache/MMU;具有外部存储器控制器(SDRAM控制和片选逻辑);LCD 控制器(支持高达4K色的STN屏和256K色的TFT型液晶屏,具有1路LCD专用DMA);4路DMA,具备外部请求脚;3路UART(支持IrDA1.0,16字节的发送FIFO,16字节的接收FIFO)/2通道SPI;1路多主模式的IIC总线,1路IIS总线控制器;兼容V1.0的SD主接口协议和V2.11的MMC卡协议;2路全速 USB主设备,其中1路可以作为USB从设备(V1.1协议)。4路PWM定时器和一路内部定时器;具有看门狗定时器;共提供117个通用I/O,24路外部中断;电源控制:正常模式,SLOW模式,空闲模式和掉电模式。8路10位ADC,其中2路可以作为触摸屏接口;具有日历功能的RTC时钟;片内倍频锁相环PLL。

3 实验系统的组成

我们研制的嵌入式系统教学实验平台采用了核心主板加扩展板的设计方式,提供基于微处理器的核心主板,将微处理器所有的I/O口全部引出,在核心主板上面只提供S3C2410,FLASH,SDRAM和LED 等最基本部分,而对于一些特殊用途的USB接口、以太网接口、TFT型液晶屏接口、触摸屏接口、音频接口、SD卡接口、GPRS 接口和GPS 接口等是以底板形式提供的。这样,学生需要的话,可以在实验平台上进行主流技术硬件电路设计实验,切实掌握部分硬件工作原理。系统功能模块框图如图1 所示。

4 可开设的实验

实践性教学环节,对于培养具有创新性精神的高素质人才起着非常重要的作用。在这一方面,我们将实验、课程设计、毕业设计及课外科技实践活动相结合,从整体出发,构建了相应的嵌入式系统课程实践教学体系,即基础知识和实验环境、基本技能训练和综合应用3个层次,三个层次的实验项目分布在不同的实践教学环节当中,所起到的作用和性质各有不同。

在第一层次的课程实验中,要求熟悉软硬件开发环境、完成硬件实验程序的编写、掌握基本外设接口程序的编写方法、操作系统等基础实验,开设的主要实验有:ADS1.2集成开发环境实验;汇编语言与C语言编程实验;GPIO输入、输出实验;外部中断实验;定时器实验;串口通讯实验;中断实验;步进电机实验;键盘、LED、LCD及触摸屏实验;BootLoader实验;Linux内核移植及裁减实验;构建Windows CE 5.0实验。在这些实验中,要求在对基本原理验证的基础上,进一步扩展完成简单的设计性实验。

在第二层次的课程设计(时间为2周) 环节中,以设计性实验项目为主,让学生掌握基本技能和方法。该环节由教师布置题目、设计内容及要求,学生自行完成。可开设的题目有:

4.1 UART实验

考虑到串口在嵌入式系统中的应用非常广泛,设置了本实验。通过理论学习和上机操作,实验者可以学习串行接口和串行通信原理,掌握S3C2410芯片的内部UART的使用方法,了解Linux和Windows CE 5.0下的串口驱动程序,学会Linux和Windows CE 5.0下的串口编程方法。本实验要求实验者能利用开发板编程实现串口与主机之间的通信和文件传输。

4.2 LCD实验

实验者可以了解LCD的基本原理,理解LCD的控制和驱动原理以及常用LCD控制芯片的基本使用方法,掌握S3C2410内置的LCD控制器方式驱动LCD的基本原理和方法掌握Linux和Windows CE 5.0下编写LCD控制器的驱动程序和LCD应用程序的方法。要求实验者调用Linux和Windows CE 5.0提供的LCD API函数实现简单的图文显示和动画效果。

4.3 LED和键盘控制实验

实验者可以了解LED 显示和控制原理,掌握矩阵键盘软件扫描原理和抖动、重键问题的解决方法,了解S3C2410的片选功能,理解使用CPLD扩展系统总线控制LED和键盘的方法。要求实验者编写列扫描键盘处理程序,与CPLD配合将用户所按的键转换成从1到16的数字显示在2个LED上,并能实现用键盘输入控制LCD显示动画。

4.4 触摸屏实验

实验者可以了解电阻式触摸屏的原理和触摸屏与LCD的配合使用方法,理解嵌入式系统中同步IO接口的工作原理,重点掌握如何在Linux和Windows CE 5.0下编写触摸屏程序。要求实验者通过分析手写板程序,编写一个简单的触摸屏计算器程序来掌握触摸屏应用程序的工作原理。

4.5 A/ D 转换实验

实验者可以了解A/D转换的原理,掌握S3C2410芯片中AD转换器的使用方法。要求实验者编程实现在8路输入中任意指定一路进行A/D转换,并根据转换结果在LCD上实时描绘输入信号。该实验用到了LCD 实验中的基本知识,在理解本实验内容的同时加深了对LCD 实验的理解。

4.6 进程间通信实验

实验者可以了解操作系统中进程的概念,理解和掌握Linux和Windows CE 5.0下中进程间通信的方法,包括管道及有名管道、信号、消息队列、共享内存、信号量等。要求实验者用信号、有名管道和消息队列编程实现进程间的通信,在进行编程前需要对Linux和Windows CE 5.0操作系统内核作相应的配置。

4.7 中断和驱动程序实验

实验者可以理解S3C2410的中断系统原理和中断寄存器设置,理解应用程序和驱动程序交互的方法,掌握在Linux和Windows CE 5.0系统中编写设备驱动程序的方法以及如何在驱动程序中挂接中断。要求实验者编写阻塞和非阻塞方式中断处理例程。

4.8 GUI实验

实验者可以了解图形用户界面的基本概念,嵌入式系统下常用的图形用户界面以及它们各自的特点,掌握Mirowindows 的体系结构和图形引擎的特点及实现,掌握Mirowindows 配置文件的结构和各个功能选项。要求实验者会利用Linux 内核、应用程序配置工具对Mirowindows 进行定制,重点掌握Mirowindows 提供的应用程序编程接口Nano-XAPI,会利用Nano-XAPI编写简单的图形用户界面,实现时钟效果。

4.9 TCP/ UDP实验

实验者可以了解TCP/ IP 协议的基本内容,重点掌握IP 协议、TCP 协议以及UDP 协议,理解套接字的基本概念和编程原理,包括网间进程通信、客户/ 服务器作用模式、套接字基本类型和系统调用等,掌握套接字编程的基本方法。要求实验者使用Linux和Windows CE 5.0提供的一系列套接字相关的系统调用,通过开发板的网口实现与主机通信以及文件传输。

4.10 CGI实验

实验者可以了解Web 服务器的基本概念,特别是嵌入式Web 服务器Boa 的配置和使用,了解静态页面和动态页面、CGI、JavaScript 等基本概念,能够使用C语言进行CGI 编程。要求实验者用CGI编写URL解码程序对用户表格输入进行处理,使用JavaScript制作一个智能化的页面。此外,对能力较强的实验者,还要求创建一个简单的嵌入式Web服务器,页面用中英文两种语言显示,该服务器允许授权用户查看服务器配置文件,查看并修改服务器上的用户文件和个人信息、密码。

第三层次中包含了针对课外科技实践活动及毕业设计,加强学生创新能力和综合能力的培养。我们把这一环节也纳入到实践教学环节中,以充分调动学生开发嵌入式应用系统的积极性。由于毕业设计的时间相对较长,所以可以进行较大规模的创新性综合项目的开发。在课外科技实践活动中,可以设计嵌入式视频监控系统,可以通过网络进行远距离图像监控等;在毕业设计中,开发的项目可有手持式电子图书阅读器、Linux 下的媒体播放器、嵌入式指纹采集装置、基于WinCE的嵌入式系统注册表的研究及基于ARM和WINCE的嵌入式热流计的设计等。目前本系统已经在大学生电子科技大赛中得到应用,收到很好的效果。

5 结论

嵌入式课程连贯性强,对学生的基础和技能要求较高,在实践环节上采取循序渐进的方式,把实践环节分为基础知识和实验环境、基本技能训练和综合应用3个层次。其中基本知识和实验环境主要目的是让学生掌握基本概念、原理以及实验环境和实验设备的操作,比如在嵌入式软件设计中首先让学生掌握硬件平台、软件开发环境的建立;基本技能训练部分的主要目的是让学生掌握基本技能和方法,如在嵌入式软件设计中要求学生掌握软件设计方法、调试方法、分析方法以及软件开发工具的使用;综合应用部分主要是让学生把所学知识应用起来,其内容不一定局限于某门具体的课程,主要用来考核学生综合知识应用、协作和嵌入式项目的开发能力,如在嵌入式设计中要求学生完成一个实际项目的开发,包括资料查阅、方案设计、硬件设计、软件编程及调试等,使学生的工程应用能力、创新能力有很大的提高,对培养本科生科研能力有很大帮助并收到很好的效果。

上一篇:文化链与建筑文化链浅析 下一篇:当代人与文化的矛盾及其对策