项目驱动的嵌入式实验室实践模式探讨

2014-09-22 21:26田华,宗晓萍,刘鑫
教育教学论坛 2014年6期
关键词:项目驱动嵌入式

田华,宗晓萍,刘鑫

摘要:实践环节在嵌入式学习中占有非常重要的地位,针对目前我院嵌入式实践教学中存在的问题,制定了相应的改革措施,提出项目驱动的嵌入式实验室开放模式,并对运行结果进行了评价。

关键词:嵌入式;实验室开放;项目驱动

中图分类号:G420 文献标志码:A 文章编号:1674-9324(2014)06-0277-03

近年来随着嵌入式产品在军事、医疗、工业等领域的迅猛发展,具备嵌入式开发技术在学生就业过程中显示出较强的竞争力。嵌入式技术是一种软、硬件高度结合的新兴技术,既涉及到芯片体系结构问题,又涉及到操作系统相关知识,所以学生在学习过程中普遍反映学习内容多、难度大、不易掌握。实践环节在嵌入式学习中占有非常重要的地位,在培养学生创新意识、创新精神、创新能力和工程实践能力等方面,具有理论教学不可替代的作用。随着我校“教学质量工程”建设和实践教学改革的不断深入,如何深化实践教学内容、提高学生的创新实践能力,成为嵌入式实践教学中值得思考和探索的问题。

一、嵌入式实践教学中存在的问题

1.实验学时不足,综合性实验少。我院嵌入式实验课程安排18学时,包括3个体系结构的实验项目和3个操作系统的实验项目,学生通过这6个实验可以初步掌握ARM体系结构芯片的基本部件的功能以及Linux操作系统下驱动程序和应用程序的开发流程。实验课程深化了学生课堂所学的理论知识,但实验学时相对不足导致一些综合性实验项目无法在实验课上完成。

2.开放内容单一,能力提升受限。开放嵌入式实验室可以部分缓解想深入研究嵌入式技术的学生的需求。学生根据自己的时间预约进入嵌入式实验室,登记相关信息及实验内容,保证自身及设备安全的情况下,进行实验操作。这种开放模式对丰富和深化实验内容,提高学生的嵌入式开发能力起到了一定的推动作用。但也会普遍出现实践内容只是简单复现实验手册提供的独立项目,仍然缺乏综合项目的训练和提升。

二、项目驱动的嵌入式实验室开放

1.开放模式的基本思路。为了明确学生的实践任务目标,提高嵌入式开发能力,培养团队合作的科学素质,在嵌入式实验室开放过程中逐渐建立起一种以项目为依托的实验室开放模式。其基本思路是把教师的科技课题或大学生创新实践项目适当调整后作为实验室开放课题。感兴趣的学生通过报名分组结队,在明确项目全局任务的情况下,各队负责不同模块的具体任务。为避免各队受固定任务局限,不了解环节衔接及项目整体进度,采取定期集中汇报,加强队间沟通的项目管理方法。在实验室管理方面,为了充分发挥嵌入式实验室作用,并保障其安全运行,根据目前实验中心的实际运行情况,对嵌入式实验室确定了“师生共管,学生为主”的管理模式,教师负责研究方向的把握,筛选爱好嵌入式开发、责任心强的学生负责开放实验室的日常管理,并制定切实可行的实验室运行管理监督制度。

2.项目实施案例。明确实验室开放基本思路后,嵌入式实验室两年来共引入教师承担的各级项目及学生承担的校院级项目5项。下面以学生完成的校级实验室开放项目“基于S3C6410的嵌入式图像处理系统”,说明所提项目驱动方案的实施效果。

项目主要研究内容:该项目以S3C6410嵌入式开发板为硬件平台,以嵌入式Linux操作系统为软件开发环境,通过设计驱动程序及图像采集、显示和网络传输等应用程序,实现了下位机(开发板)和上位机(PC机)同步实时显示采集图像的功能。

(1)系统硬件平台,本设计基于嵌入式系统进行视频采集,对硬件平台有一定的要求,即除了要具备较高的工作主频和丰富的外围电路扩展接口外,还要具备编解码多媒体的能力,要有足够的内存资源用于图像处理,同时还必须要具备网络接口。所以选择了基于ARM920T内核的S3C6410芯片作为处理器,此外系统还包括两片三星K4X1G163PQ组成256M的Mobile DDR内存、一片三星K9GAG08U0E的2G固态硬盘、NEC的4.3寸LCD、ZC301P的640*480像素的摄像头、三个Uart和10/100M自适应DM9000以太网卡以及电源模块等部件构成嵌入式硬件环境。系统硬件结构如图1所示。

(2)嵌入式Linux下视频采集、显示及网络传输程序,本设计构建嵌入式操作系统过程中,使用U-Boot作为Boot loader,使用标准内核Linux 2.6.38经过内核的配置裁剪作为嵌入式操作系统的内核,使用工具Busybox制作的根文件系统。嵌入式Linux系统为视频图像采集、网络远程数据传输和本地视频显示提供了方便的编程接口,其中包括针对硬件编解码的操作接口、软件编解码库、Qt图形库支持等等。在嵌入式设备上运行的应用程序模块要完成不同的功能,但是各模块间又存在共享资源,所以程序设计为多线程的工作方式,使用互斥量和条件变量消除线程间对共享资源的竞争问题。多线程方式提高了程序运行速率,实现了并发操作。程序中分为三个线程:图像采集线程、LCD图像显示线程和网络数据传输线程,主进程作为线程管理。远程接收端工作于x86体系PC机上,使用Qt编程实现图像化界面应用程序,显示嵌入式设备采集的视频。在Linux2.6.38内核里,摄像头驱动接口为Video4Linux2,这种接口定义了多种摄像头工作方式,包括camera capture、camera tune、camera encoder等。Frame buffer是内核驱动提供的显示驱动技术,利用它提供给用户的接口很容易实现图像在LCD上的显示。网络数据传输使用UNIX网络套接字,使用两条TCP连接实现视频数据传输与数据同步。系统软件流程如图2所示。

(3)按系统功能模块进行学生任务划分,程序设计按照系统的基本功能模块划分为4部分,由四组学生分别承担:①摄像头图像捕获。摄像头操作主要在用户态实现,其中包括:摄像头参数设置启动硬件JPEG压缩,图像缓存队列建立,图像帧的出队和再入队以及对摄像头队列状态的select操作。②嵌入式设备上LCD图像显示。本设计图像格式为JPEG,而嵌入式设备上只能直接显示RGB或者YVU格式图像。在获取到图像帧后,通过Linux内置多媒体库对图像解码为RGB后再和SMDK6410显示控制器格式匹配,最终实现LCD上的图像显示。③以太网数据传输。本设计主要目的是用嵌入式设备采集图像,在远端PC上进行获取,传输方式选择为以太网。本模块主要实现了针对本设计图像传输的基于TCP应用层协议。其中也包括了socket连接请求、数据发送、出错处理等。④PC端在Qt creator环境下使用C++编写图像显示程序。该程序分为网络数据接收和图像解码显示两部分。网络数据接收部分主要是对从两条Socket连接中收到的网络数据做协议解析,从TCP流内提取完整单帧图像;图像显示部分使用了QPixmap类,内存里完整的图像帧直接由该类成员函数处理,降低了图像解码中的复杂程度。④系统运行测试结果

本文通过具体案例,对项目驱动的嵌入式实验室实践运行模式进行了的可行性分析。课题组同学以实验室开放项目为依托,通过全程参与、协同合作,增强了开拓创新能力,培养了科研意识和团队合作精神,为今后从事科学研究工作奠定了基础。实验室开放是实验教学的一种有效的补充和提升,随着高校实验教学改革的深入以及高校创新人才实践技能要求的逐渐提升,探讨有效的实践教学方式将成为持续的研究热点。

参考文献:

[1]周勤,张微,温光浩.高校实验室工作的探究与实践[J].实验室研究与探索,2011,30(11):371-374.

[2]陈淑洁.实验室开放模式的探索与实践[J].中国现代教育装备,2011(21):31-34.

基金项目:河北大学实验室开放项目基金资助(2012029)。河北大学电子信息工程学院教改项目资助。

作者简介:田华(1973-),女,工学硕士,河北大学电子信息工程学院实验中心高级实验师。endprint

摘要:实践环节在嵌入式学习中占有非常重要的地位,针对目前我院嵌入式实践教学中存在的问题,制定了相应的改革措施,提出项目驱动的嵌入式实验室开放模式,并对运行结果进行了评价。

关键词:嵌入式;实验室开放;项目驱动

中图分类号:G420 文献标志码:A 文章编号:1674-9324(2014)06-0277-03

近年来随着嵌入式产品在军事、医疗、工业等领域的迅猛发展,具备嵌入式开发技术在学生就业过程中显示出较强的竞争力。嵌入式技术是一种软、硬件高度结合的新兴技术,既涉及到芯片体系结构问题,又涉及到操作系统相关知识,所以学生在学习过程中普遍反映学习内容多、难度大、不易掌握。实践环节在嵌入式学习中占有非常重要的地位,在培养学生创新意识、创新精神、创新能力和工程实践能力等方面,具有理论教学不可替代的作用。随着我校“教学质量工程”建设和实践教学改革的不断深入,如何深化实践教学内容、提高学生的创新实践能力,成为嵌入式实践教学中值得思考和探索的问题。

一、嵌入式实践教学中存在的问题

1.实验学时不足,综合性实验少。我院嵌入式实验课程安排18学时,包括3个体系结构的实验项目和3个操作系统的实验项目,学生通过这6个实验可以初步掌握ARM体系结构芯片的基本部件的功能以及Linux操作系统下驱动程序和应用程序的开发流程。实验课程深化了学生课堂所学的理论知识,但实验学时相对不足导致一些综合性实验项目无法在实验课上完成。

2.开放内容单一,能力提升受限。开放嵌入式实验室可以部分缓解想深入研究嵌入式技术的学生的需求。学生根据自己的时间预约进入嵌入式实验室,登记相关信息及实验内容,保证自身及设备安全的情况下,进行实验操作。这种开放模式对丰富和深化实验内容,提高学生的嵌入式开发能力起到了一定的推动作用。但也会普遍出现实践内容只是简单复现实验手册提供的独立项目,仍然缺乏综合项目的训练和提升。

二、项目驱动的嵌入式实验室开放

1.开放模式的基本思路。为了明确学生的实践任务目标,提高嵌入式开发能力,培养团队合作的科学素质,在嵌入式实验室开放过程中逐渐建立起一种以项目为依托的实验室开放模式。其基本思路是把教师的科技课题或大学生创新实践项目适当调整后作为实验室开放课题。感兴趣的学生通过报名分组结队,在明确项目全局任务的情况下,各队负责不同模块的具体任务。为避免各队受固定任务局限,不了解环节衔接及项目整体进度,采取定期集中汇报,加强队间沟通的项目管理方法。在实验室管理方面,为了充分发挥嵌入式实验室作用,并保障其安全运行,根据目前实验中心的实际运行情况,对嵌入式实验室确定了“师生共管,学生为主”的管理模式,教师负责研究方向的把握,筛选爱好嵌入式开发、责任心强的学生负责开放实验室的日常管理,并制定切实可行的实验室运行管理监督制度。

2.项目实施案例。明确实验室开放基本思路后,嵌入式实验室两年来共引入教师承担的各级项目及学生承担的校院级项目5项。下面以学生完成的校级实验室开放项目“基于S3C6410的嵌入式图像处理系统”,说明所提项目驱动方案的实施效果。

项目主要研究内容:该项目以S3C6410嵌入式开发板为硬件平台,以嵌入式Linux操作系统为软件开发环境,通过设计驱动程序及图像采集、显示和网络传输等应用程序,实现了下位机(开发板)和上位机(PC机)同步实时显示采集图像的功能。

(1)系统硬件平台,本设计基于嵌入式系统进行视频采集,对硬件平台有一定的要求,即除了要具备较高的工作主频和丰富的外围电路扩展接口外,还要具备编解码多媒体的能力,要有足够的内存资源用于图像处理,同时还必须要具备网络接口。所以选择了基于ARM920T内核的S3C6410芯片作为处理器,此外系统还包括两片三星K4X1G163PQ组成256M的Mobile DDR内存、一片三星K9GAG08U0E的2G固态硬盘、NEC的4.3寸LCD、ZC301P的640*480像素的摄像头、三个Uart和10/100M自适应DM9000以太网卡以及电源模块等部件构成嵌入式硬件环境。系统硬件结构如图1所示。

(2)嵌入式Linux下视频采集、显示及网络传输程序,本设计构建嵌入式操作系统过程中,使用U-Boot作为Boot loader,使用标准内核Linux 2.6.38经过内核的配置裁剪作为嵌入式操作系统的内核,使用工具Busybox制作的根文件系统。嵌入式Linux系统为视频图像采集、网络远程数据传输和本地视频显示提供了方便的编程接口,其中包括针对硬件编解码的操作接口、软件编解码库、Qt图形库支持等等。在嵌入式设备上运行的应用程序模块要完成不同的功能,但是各模块间又存在共享资源,所以程序设计为多线程的工作方式,使用互斥量和条件变量消除线程间对共享资源的竞争问题。多线程方式提高了程序运行速率,实现了并发操作。程序中分为三个线程:图像采集线程、LCD图像显示线程和网络数据传输线程,主进程作为线程管理。远程接收端工作于x86体系PC机上,使用Qt编程实现图像化界面应用程序,显示嵌入式设备采集的视频。在Linux2.6.38内核里,摄像头驱动接口为Video4Linux2,这种接口定义了多种摄像头工作方式,包括camera capture、camera tune、camera encoder等。Frame buffer是内核驱动提供的显示驱动技术,利用它提供给用户的接口很容易实现图像在LCD上的显示。网络数据传输使用UNIX网络套接字,使用两条TCP连接实现视频数据传输与数据同步。系统软件流程如图2所示。

(3)按系统功能模块进行学生任务划分,程序设计按照系统的基本功能模块划分为4部分,由四组学生分别承担:①摄像头图像捕获。摄像头操作主要在用户态实现,其中包括:摄像头参数设置启动硬件JPEG压缩,图像缓存队列建立,图像帧的出队和再入队以及对摄像头队列状态的select操作。②嵌入式设备上LCD图像显示。本设计图像格式为JPEG,而嵌入式设备上只能直接显示RGB或者YVU格式图像。在获取到图像帧后,通过Linux内置多媒体库对图像解码为RGB后再和SMDK6410显示控制器格式匹配,最终实现LCD上的图像显示。③以太网数据传输。本设计主要目的是用嵌入式设备采集图像,在远端PC上进行获取,传输方式选择为以太网。本模块主要实现了针对本设计图像传输的基于TCP应用层协议。其中也包括了socket连接请求、数据发送、出错处理等。④PC端在Qt creator环境下使用C++编写图像显示程序。该程序分为网络数据接收和图像解码显示两部分。网络数据接收部分主要是对从两条Socket连接中收到的网络数据做协议解析,从TCP流内提取完整单帧图像;图像显示部分使用了QPixmap类,内存里完整的图像帧直接由该类成员函数处理,降低了图像解码中的复杂程度。④系统运行测试结果

本文通过具体案例,对项目驱动的嵌入式实验室实践运行模式进行了的可行性分析。课题组同学以实验室开放项目为依托,通过全程参与、协同合作,增强了开拓创新能力,培养了科研意识和团队合作精神,为今后从事科学研究工作奠定了基础。实验室开放是实验教学的一种有效的补充和提升,随着高校实验教学改革的深入以及高校创新人才实践技能要求的逐渐提升,探讨有效的实践教学方式将成为持续的研究热点。

参考文献:

[1]周勤,张微,温光浩.高校实验室工作的探究与实践[J].实验室研究与探索,2011,30(11):371-374.

[2]陈淑洁.实验室开放模式的探索与实践[J].中国现代教育装备,2011(21):31-34.

基金项目:河北大学实验室开放项目基金资助(2012029)。河北大学电子信息工程学院教改项目资助。

作者简介:田华(1973-),女,工学硕士,河北大学电子信息工程学院实验中心高级实验师。endprint

摘要:实践环节在嵌入式学习中占有非常重要的地位,针对目前我院嵌入式实践教学中存在的问题,制定了相应的改革措施,提出项目驱动的嵌入式实验室开放模式,并对运行结果进行了评价。

关键词:嵌入式;实验室开放;项目驱动

中图分类号:G420 文献标志码:A 文章编号:1674-9324(2014)06-0277-03

近年来随着嵌入式产品在军事、医疗、工业等领域的迅猛发展,具备嵌入式开发技术在学生就业过程中显示出较强的竞争力。嵌入式技术是一种软、硬件高度结合的新兴技术,既涉及到芯片体系结构问题,又涉及到操作系统相关知识,所以学生在学习过程中普遍反映学习内容多、难度大、不易掌握。实践环节在嵌入式学习中占有非常重要的地位,在培养学生创新意识、创新精神、创新能力和工程实践能力等方面,具有理论教学不可替代的作用。随着我校“教学质量工程”建设和实践教学改革的不断深入,如何深化实践教学内容、提高学生的创新实践能力,成为嵌入式实践教学中值得思考和探索的问题。

一、嵌入式实践教学中存在的问题

1.实验学时不足,综合性实验少。我院嵌入式实验课程安排18学时,包括3个体系结构的实验项目和3个操作系统的实验项目,学生通过这6个实验可以初步掌握ARM体系结构芯片的基本部件的功能以及Linux操作系统下驱动程序和应用程序的开发流程。实验课程深化了学生课堂所学的理论知识,但实验学时相对不足导致一些综合性实验项目无法在实验课上完成。

2.开放内容单一,能力提升受限。开放嵌入式实验室可以部分缓解想深入研究嵌入式技术的学生的需求。学生根据自己的时间预约进入嵌入式实验室,登记相关信息及实验内容,保证自身及设备安全的情况下,进行实验操作。这种开放模式对丰富和深化实验内容,提高学生的嵌入式开发能力起到了一定的推动作用。但也会普遍出现实践内容只是简单复现实验手册提供的独立项目,仍然缺乏综合项目的训练和提升。

二、项目驱动的嵌入式实验室开放

1.开放模式的基本思路。为了明确学生的实践任务目标,提高嵌入式开发能力,培养团队合作的科学素质,在嵌入式实验室开放过程中逐渐建立起一种以项目为依托的实验室开放模式。其基本思路是把教师的科技课题或大学生创新实践项目适当调整后作为实验室开放课题。感兴趣的学生通过报名分组结队,在明确项目全局任务的情况下,各队负责不同模块的具体任务。为避免各队受固定任务局限,不了解环节衔接及项目整体进度,采取定期集中汇报,加强队间沟通的项目管理方法。在实验室管理方面,为了充分发挥嵌入式实验室作用,并保障其安全运行,根据目前实验中心的实际运行情况,对嵌入式实验室确定了“师生共管,学生为主”的管理模式,教师负责研究方向的把握,筛选爱好嵌入式开发、责任心强的学生负责开放实验室的日常管理,并制定切实可行的实验室运行管理监督制度。

2.项目实施案例。明确实验室开放基本思路后,嵌入式实验室两年来共引入教师承担的各级项目及学生承担的校院级项目5项。下面以学生完成的校级实验室开放项目“基于S3C6410的嵌入式图像处理系统”,说明所提项目驱动方案的实施效果。

项目主要研究内容:该项目以S3C6410嵌入式开发板为硬件平台,以嵌入式Linux操作系统为软件开发环境,通过设计驱动程序及图像采集、显示和网络传输等应用程序,实现了下位机(开发板)和上位机(PC机)同步实时显示采集图像的功能。

(1)系统硬件平台,本设计基于嵌入式系统进行视频采集,对硬件平台有一定的要求,即除了要具备较高的工作主频和丰富的外围电路扩展接口外,还要具备编解码多媒体的能力,要有足够的内存资源用于图像处理,同时还必须要具备网络接口。所以选择了基于ARM920T内核的S3C6410芯片作为处理器,此外系统还包括两片三星K4X1G163PQ组成256M的Mobile DDR内存、一片三星K9GAG08U0E的2G固态硬盘、NEC的4.3寸LCD、ZC301P的640*480像素的摄像头、三个Uart和10/100M自适应DM9000以太网卡以及电源模块等部件构成嵌入式硬件环境。系统硬件结构如图1所示。

(2)嵌入式Linux下视频采集、显示及网络传输程序,本设计构建嵌入式操作系统过程中,使用U-Boot作为Boot loader,使用标准内核Linux 2.6.38经过内核的配置裁剪作为嵌入式操作系统的内核,使用工具Busybox制作的根文件系统。嵌入式Linux系统为视频图像采集、网络远程数据传输和本地视频显示提供了方便的编程接口,其中包括针对硬件编解码的操作接口、软件编解码库、Qt图形库支持等等。在嵌入式设备上运行的应用程序模块要完成不同的功能,但是各模块间又存在共享资源,所以程序设计为多线程的工作方式,使用互斥量和条件变量消除线程间对共享资源的竞争问题。多线程方式提高了程序运行速率,实现了并发操作。程序中分为三个线程:图像采集线程、LCD图像显示线程和网络数据传输线程,主进程作为线程管理。远程接收端工作于x86体系PC机上,使用Qt编程实现图像化界面应用程序,显示嵌入式设备采集的视频。在Linux2.6.38内核里,摄像头驱动接口为Video4Linux2,这种接口定义了多种摄像头工作方式,包括camera capture、camera tune、camera encoder等。Frame buffer是内核驱动提供的显示驱动技术,利用它提供给用户的接口很容易实现图像在LCD上的显示。网络数据传输使用UNIX网络套接字,使用两条TCP连接实现视频数据传输与数据同步。系统软件流程如图2所示。

(3)按系统功能模块进行学生任务划分,程序设计按照系统的基本功能模块划分为4部分,由四组学生分别承担:①摄像头图像捕获。摄像头操作主要在用户态实现,其中包括:摄像头参数设置启动硬件JPEG压缩,图像缓存队列建立,图像帧的出队和再入队以及对摄像头队列状态的select操作。②嵌入式设备上LCD图像显示。本设计图像格式为JPEG,而嵌入式设备上只能直接显示RGB或者YVU格式图像。在获取到图像帧后,通过Linux内置多媒体库对图像解码为RGB后再和SMDK6410显示控制器格式匹配,最终实现LCD上的图像显示。③以太网数据传输。本设计主要目的是用嵌入式设备采集图像,在远端PC上进行获取,传输方式选择为以太网。本模块主要实现了针对本设计图像传输的基于TCP应用层协议。其中也包括了socket连接请求、数据发送、出错处理等。④PC端在Qt creator环境下使用C++编写图像显示程序。该程序分为网络数据接收和图像解码显示两部分。网络数据接收部分主要是对从两条Socket连接中收到的网络数据做协议解析,从TCP流内提取完整单帧图像;图像显示部分使用了QPixmap类,内存里完整的图像帧直接由该类成员函数处理,降低了图像解码中的复杂程度。④系统运行测试结果

本文通过具体案例,对项目驱动的嵌入式实验室实践运行模式进行了的可行性分析。课题组同学以实验室开放项目为依托,通过全程参与、协同合作,增强了开拓创新能力,培养了科研意识和团队合作精神,为今后从事科学研究工作奠定了基础。实验室开放是实验教学的一种有效的补充和提升,随着高校实验教学改革的深入以及高校创新人才实践技能要求的逐渐提升,探讨有效的实践教学方式将成为持续的研究热点。

参考文献:

[1]周勤,张微,温光浩.高校实验室工作的探究与实践[J].实验室研究与探索,2011,30(11):371-374.

[2]陈淑洁.实验室开放模式的探索与实践[J].中国现代教育装备,2011(21):31-34.

基金项目:河北大学实验室开放项目基金资助(2012029)。河北大学电子信息工程学院教改项目资助。

作者简介:田华(1973-),女,工学硕士,河北大学电子信息工程学院实验中心高级实验师。endprint

猜你喜欢
项目驱动嵌入式
TS系列红外传感器在嵌入式控制系统中的应用
嵌入式系统通信技术的应用
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
项目驱动教学法在机械制造工程学课程教学中的应用
基于“红色之旅”项目驱动的《调酒与咖啡》工作室制人才培养机制探讨
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器