基于嵌入式课程设计(共8篇)
基于嵌入式课程设计 篇1
课程设计
课 程 名嵌入式软件开发技术
题 目 基于嵌入式Linux的温度监测系统的
设计与实现
专 业 计算机科学与技术(嵌入式系统方向)班 级 13计算机嵌入式系统班 学 号 学生姓名
2016年6月
摘要
温度是个很普遍而又非常重要的参数,在日常生活、工农业生产以及科研领域都有着广泛的应用。因此,研制能够准确地测量和记录这个参数值的系统具有十分重要的意义。
基于ARM的嵌入式温度监测系统是采用嵌入式Linux作为操作系统,针对以S5PV210为处理器的开发板设计的一个嵌入式温度监测系统。论文在分析了Linux设备驱动程序的基本工作原理基础上,讨论了开发中经常会碰到的中断处理、拥塞处理、I/O端口,并在此基础上实现了基于S5PV210嵌入式处理器的开、读、写、关外部RAM的字符设备驱动和网络驱动。结合高精度温度传感器DS18B20,实现温度的正确采集,并通过以太网络将数据上传给上位机客户端。
论文首先介绍了通信网络中各种设备特性、总线结构及传输技术,然后根据单片机与PC机之间的串行通信原理,用ubantu完成温度监测系统的软件设计与实现,为用户提供一个友好的人机界面,对监测系统进行控制并显示采集后的数据。本系统还通过多线程实现了多个客户端与服务器的通信。
关键词:S5PV210;嵌入式Linux操作系统;DS18B20;网络编程
I
Abstract
Temperature is a very common and very important parameter, in daily life, industrial and agricultural production and scientific research fields have a wide range of applications.Therefore, it is very important to develop a system that can accurately measure and record the value of this parameter.The temperature monitoring system of base on the ARM is use of embedded Linux as the operating system for the processor to S5PV210 development board designed for an embedded temperature monitoring system.Based on the analysis of the basic working principle based on the Linux device drivers discussed development often encounter interrupt handling, congestion handling, I / O ports, and on this basis to achieve the embedded processor based on open S5PV210 reading, writing, characters off the external RAM device driver and network drives.Combined with precision temperature sensor DS18B20, to achieve the correct temperature acquisition, and upload the data via Ethernet to a PC client.At first,the paper introduces the characteristics of various devices in a communication network, the bus structure and transmission technology, and according to the principle of serial communication between SCM and PC, with ubantu complete temperature monitoring system software design and implementation, to provide users with a friendly man-machine interface, the monitoring system to control and display the data after collection.The system also enables communication via a plurality of multi-threaded client and the server.Key words:S5PV210;embedded Linux operating system;DS18B20;Network programming
II
1.引言.......................................................................................................................................1 1.1 设计背景及意义...............................................................................................................1 1.2 设计的主要内容................................................................................................................2 2.相关技术...............................................................................................................................2 2.1 嵌入式Linux......................................................................................................................2 2.2 S5PV210.............................................................................................................................3 2.3 socket网络编程..............................................................................................................3 3.具体实现功能.......................................................................................................................4 3.1总体框架图........................................................................................................................4 3.2客户端功能........................................................................................................................5 3.3 服务器功能........................................................................................................................5 3.4 实验板输出信息...............................................................................................................5 4.具体实现过程.......................................................................................................................6 4.1 交叉编译工具的安装.......................................................................................................6 4.2 客户端模块的设计...........................................................................................................7 4.3 服务器模块.......................................................................................................................8 4.4 LED点亮模块..................................................................................................................10 4.5 温度感应模块.................................................................................................................11 5.测试结果分析.....................................................................................................................13 5.1 各模块运行的效果.........................................................................................................13 5.2 可扩展功能......................................................................................................................15 6.总结与展望.......................................................................................................................15
第一章 引言
1.1 设计背景及意义
温度作为工业、农业、国防和科研等部门最普遍的测量项目。它在工农业生产、现代科学研究以及高新技术开发过程中也是一个极其普遍而又非
常重要的参数。因此,在这些领域中,对于这个参数的测量与控制就显得尤为重要,特别是在纺织工业、冶金、化工、食品、温室种植,汽车制造以及气象预报和科研实验室等许多地方,都具有举足轻重的作用。
以往这些工作大多是由人工完成,不但工作量大,记录的数据少,对温度的调节缺乏实时性,而且电路复杂,标定和校准也比较麻烦,难以满足现代温度测量的要求[1]。自从传感器技术、微控制器技术和计算机技术日渐成熟之后,现代的温度测量与控制系统克服了以往系统中存在的一些问题,比如对环境温度的控制与调节以及数据的记录都由微控制器或计算机自动完成,人们的工作量大大地降低,而且测得的数据也更加的精确,对环境温度的调节更具有实时性[2]。
1.2 设计的主要内容
此次主要采用嵌入式Linux作为操作系统,针对以S5PV210为处理器的开发板设计的一个嵌入式温度监测系统。在Linux设备驱动程序的基本工作原理基础上,讨论了开发中经常会碰到的中断处理、拥塞处理、I/O端口,并在此基础上实现了基于S5PV210嵌入式处理器的开、读、写、关外部RAM的字符设备驱动和网络驱动。结合高精度温度传感器DS18B20,实现温度的正确采集,并通过以太网络将数据上传给上位机客户端。
温度监测系统根据Linux中的网络通信技术和串口通信技术来传输数据。用ubantu完成温度监测系统的软件设计与实现,为用户提供一个友好的人机界面,对监测系统进行控制并显示采集后的数据。本系统还通过多线程实现了多个客户端与服务器的通信。
第二章 相关技术
2.1 嵌入式Linux Linux是UNIX系统的一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它诞生与1991年的10月5日。以后借助与Internet
网,并进过全世界各地计算机爱好者的共同努力下,现已成为世界上使用最多的一种UNIX类操作系统,并且使用人数还在迅猛增涨。
本次设计采用Linux作为嵌入式操作系统的原因有以下几点:[3] 1)低成本开发系统: 2)可应用于多种硬件平台 3)可定制的内核 4)性能优异 5)良好的网络支持
2.2 S5PV210
S5PV210又名“蜂鸟”(Hummingbird),是三星推出的一款适用于智能手机和平板电脑等多媒体设备的应用处理器。
S5PV210采用了ARM CortexTM-A8内核,ARM V7指令集,主频可达1GHZ,64/32位内部总线结构,32/32KB的数据/指令一级缓存,512KB的二级缓存,可以实现2000DMIPS(每秒运算20亿条指令集)的高性能运算能力。
包含很多强大的硬件编解码功能,内建MFC(Multi Format Codec),支持MPEG-1/2/4,H.263,H.264等格式视频的编解码,支持模拟/数字TV输出。JPEG硬件编解码,最大支持8000x8000分辨率
内建高性能PowerVR SGX540 3D图形引擎和2D图形引擎,支持2D/3D图形加速,是第五代PowerVR产品,其多边形生成率为2800万多边形/秒,像素填充率可达2.5亿/秒,在3D和多媒体方面比以往大幅提升,能够支持DX9,SM3.0,OpenGL2.0等PC级别显示技术。
具备IVA3硬件加速器,具备出色的图形解码性能,可以支持全高清、多标准的视频编码,流畅播放和录制30帧/秒的1920×1080像素(1080p)的视频文件,可以更快解码更高质量的图像和视频,同时,内建的HDMIv1.3,可以将高清视频输出到外部显示器上。
2.3 socket网络编程
Socket是进程通讯的一种方式,即调用这个网络库的一些API函数实现分布在不同主机的相关进程之间的数据交换。[4] 几个定义:
(1)IP地址:即依照TCP/IP协议分配给本地主机的网络地址,两个进程要通讯,任一进程首先要知道通讯对方的位置,即对方的IP。
(2)端口号:用来辨别本地通讯进程,一个本地的进程在通讯时均会占用一个端口号,不同的进程端口号不同,因此在通讯前必须要分配一个没有被访问的端口号。
(3)连接:指两个进程间的通讯链路。
(4)半相关:网络中用一个三元组可以在全局唯一标志一个进程:(协议,本地地址,本地端口号)
这样一个三元组,叫做一个半相关,它指定连接的每半部分。(4)全相关:一个完整的网间进程通信需要由两个进程组成,并且只能使用同一种高层协议。也就是说,不可能通信的一端用TCP协议,而另一端用UDP协议。因此一个完整的网间通信需要一个五元组来标识:(协议,本地地址,本地端口号,远地地址,远地端口号)
这样一个五元组,叫做一个相关(association),即两个协议相同的半相关才能组合成一个合适的相关,或完全指定组成一连接。
第三章 具体实现功能
3.1总体框架图
图1 项目总体框架图
3.2客户端功能
1)显示简单的用户界面 2)发送命令给服务器 3)接收服务器传输的数据 4)显示温度数据
3.3 服务器功能
1)接收客户端发送的命令 2)处理命令
3)把命令转发给硬件 4)获取硬件处理所得的数据 5)把该数据传给客户端
3.4 实验板输出信息
1)LED灯按照客户端的指令亮灭 2)蜂鸣器唱歌
3)核心板控制输出温度传感器的数据到服务器
第四章 具体实现过程
个应用系统要完成各项功能,首先必须有较完善的硬件作保证。同时还必须得到相应设计合理的软件的支持,尤其是微机应用高速发展的今天,许多由硬件完成的工作,都可通过软件编程而代替。甚至有些必须采用很复杂的硬件电路才能完成的工作,用软件编和有时会变得很简单。因此充分利用其内部丰富的硬件资源和软件资源。
程序设计语言有三种:机器语言、汇编语言、高级语言。本系统运用的是高级语言所编写,也就是C语言。所用到的开发平台为ubuntu系统。
4.1 交叉编译工具的安装
(1)考虑到现今Linux平台发展,交叉编译平台编统一为arm-linux-gcc-4.4.3(2)在windows系统下,建立一个共享目录,如:e:/linux_file(3)将光盘目录linux中的arm-linux-gcc-4.4.3.tar.gz 复制到e:/linux_file(4)注意在进行虚拟机设置时使共享目录的有效,并添加共享目录e:/linux_file(5)进入linux操作系统,root目录下建立一个Armcode的子目录,将共享目录下的文件arm-linux-gcc-4.4.3.tar.gz复制到该目录(6)然后进入到该目录,执行解压命令:#cd /root/Armcode;#tar xvzf arm-linux-gcc-4.4.3.tgz –C /;注意:C 后面有个空格,并且C 是大写的,它是英文单词“Change”的第一个字母,在此是改变目录的意思。(7)执行
该
命
令,将
把
arm-linux-gcc
安
装
到/opt/FriendlyARM/toolschain /4.4.3/bin 目录。
(8)把编译器路径加入系统环境变量,运行命令:#gedit /root/.bashrc 编辑/root/.bashrc 文件,在最后一行添加:export PATH=$PATH: /opt/FriendlyARM/toolschain/4.4.3/bin(9)重新登录系统(不必重启机器,开始->logout 即可),使以上设置生效,在命令行输入:arm-linux-gcc –v,会出现如下信息,这说明交叉编译环境已经成功安装。
4.2 客户端模块的设计
用户界面的显示:
void interface_print(char *temp){ system(“clear”);printf(“e[31m*******************2016梧*********************e[0mn”);printf(“e[31m*
*e[0mn”);printf(“e[31m*e[0m e[32m点亮LED1: on1
on2e[0me[31m
*e[0mn”);printf(“e[31m*e[0m e[33m关闭LED1: off1
off2e[0me[31m
*e[0mn”);printf(“e[31m*e[0m e[34m开蜂鸣器: onb
songe[0me[31m
*e[0mn”);printf(“e[31m*e[0m e[35m获取温度: get
e[31m *e[0mn”,temp);printf(“e[31m*e[0m e[36m退
出: e[0me[31m
*e[0mn”);printf(“e[31m*
*e[0mn”);printf(“e[31m******************未
来**********************e[0mn”);}
发送命令给服务器:
/*5.调用I/O函数(read/write)与客户端通讯。*/ int i = 5;int pos;while(1){
ret = poll(pfd,2,-1);
if(ret > 0){
if(pfd[0].revents == POLLIN){
interface_print(temp);
/*从终端读取数据*/
memset(buf,0,sizeof(buf));
ret = read(pfd[0].fd,buf,sizeof(buf)-1);7
州学院
|
点亮LED2:
|
关闭LED2:
|
播放音乐:
|
温度:[%s]e[0m quit
|
的大
神
们
} if(ret > 0){
}
/*发送数据给服务器*/ write(sockfd,buf,ret);
接受服务器传输的数据:
if(pfd[1].revents == POLLIN){
if(!strncmp(buf,“get”,3)){
/*接收服务器发送的信息*/
memset(temp,0,sizeof(temp));
ret = read(pfd[1].fd,temp,sizeof(temp)-1);
if(ret > 0){
temp[ret-1] = ';
/*把信息显示到终端*/
interface_print(temp);
}
} } 4.3 服务器模块
接收客户端发送的命令:
/*读取客户端信息*/
memset(buf,0,sizeof(buf));
ret = read(newfd,buf,sizeof(buf)-1);
if(ret > 0){
把命令转发给硬件:
/*发送命令给硬件*/
if(!strncasecmp(buf,“on1”,3)){
cmd = LED_ON;
val = 3;
}else if(!strncasecmp(buf,“on2”,3)){
cmd = LED_ON;
val = 4;
}else if(!strncasecmp(buf,“off1”,4)){
cmd = LED_OFF;
val = 3;
}else if(!strncasecmp(buf,“off2”,4)){
cmd = LED_OFF;
}
val = 4;
}else if(!strncasecmp(buf,“onb”,3)){
pwm_on();
}else if(!strncasecmp(buf,“song”,4)){
pwm_music_fun();
}
if(ioctl(fd_led,cmd,(unsigned long)val)< 0){
perror(“ioctl failedn”);
exit(1);
} } } return(void *)0;
获取硬件处理所得的数据:
void *do_temp(void *arg){ int newfd = *(int *)arg;char buf[100];int dev_fd;unsigned int temp[2];float tempvalue=0;unsigned pos;
dev_fd = open(“/dev/fs210_gpio”,O_RDWR | O_NONBLOCK);if(dev_fd < 0){
perror(“open”);
exit(1);}
while(1){
temp[1]= ioctl(dev_fd,GPIO_ON,temp);
/*
temp[1]&=0xffff;
tempvalue=(float)(temp[1])*0.0625;
*/
if(temp[1]&0x8000)
{
temp[1]= ~temp[1]+1;
temp[1]&=0xffff;
tempvalue=(float)(temp[1])*0.0625;
} } else {
temp[1]&=0xffff;
tempvalue=(float)(temp[1])*0.0625;} memset(buf,0,sizeof(buf));sprintf(buf,“%f”,tempvalue);strcat(buf,“n”);write(newfd,buf,strlen(buf));memset(buf,0,sizeof(buf));sleep(1);} return(void *)0;4.4 LED点亮模块
/*参考内核,采用静态的方式实现点灯和灭灯*/ void led_on(unsigned long val){ printk(“ %ld %sn”,val,__func__);gpio_set_value(S5PV210_GPC0(val),1);}
void led_off(unsigned long val){ printk(“ %ld %sn”,val,__func__);gpio_set_value(S5PV210_GPC0(val),0);}
long test_ioctl(struct file *file, unsigned int cmd, unsigned long data){ unsigned long val = data;switch(cmd){
case LED_ON:
led_on(val);
break;
case LED_OFF:
led_off(val);
break;
default:
break;
}
} return 0;/*向系统注册申请设备号*/ ret = register_chrdev(LED_MAJOR,LED_NAME,&led_fops);if(ret){ printk(“register chrdev failed!n”);errno =-EBUSY;
goto err1;}
/*创建一个设备类*/ led_dev->led_class = class_create(THIS_MODULE, LED_MODULE);if(IS_ERR(led_dev->led_class)){ printk(“class create failedn”);errno = PTR_ERR(led_dev->led_class);goto err2;} /*创建一个设备文件,之后系统会自动在/dev目录下自动创建一个设备文件*/ led_dev->led_device = device_create(led_dev->led_class,NULL,MKDEV(LED_MAJOR,0),NULL,“led”);if(IS_ERR(led_dev->led_device)){
printk(“class create failedn”);
errno = PTR_ERR(led_dev->led_device);
goto err3;} led_init();
return 0;
4.5 温度感应模块
static void WriteOneChar(unsigned char dat){ unsigned char i=0;
writel((readl(gph1con)& 0xFFFFFFF0)| 0x1, gph1con);//gph1_0,output spin_lock(&lock);for(i=0;i<8;i++){
writel(readl(gph1dat)&(0xFFFFFFFE), gph1dat);
__udelay(15);
if(dat&0x01){
writel(readl(gph1dat)| 0x1 , gph1dat);
}
else{
writel(readl(gph1dat)&(0xFFFFFFFE), gph1dat);
}
__udelay(45);
writel(readl(gph1dat)| 0x1 , gph1dat);
__udelay(1);
dat>>=1;} spin_unlock(&lock);}
static unsigned int ReadTemp(void){ unsigned char T_h=0;unsigned char T_l=0;unsigned int temp=0;
writel((readl(gph1pud)& 0xFFFc)| 0x02, gph1pud);//gph1_0,pull-up enabled
spin_lock(&lock);Init_DS18B2O();spin_unlock(&lock);__udelay(400);writel((readl(gph1con)& 0xFFFFFFF0)| 0x1, gph1con);//gph1_0,output writel(readl(gph1dat)| 0x1 , gph1dat);WriteOneChar(0xcc);WriteOneChar(0x44);mdelay(100);spin_lock(&lock);Init_DS18B2O();spin_unlock(&lock);__udelay(400);writel((readl(gph1con)& 0xFFFFFFF0)| 0x1, gph1con);//gph1_0,output writel(readl(gph1dat)| 0x1 , gph1dat);WriteOneChar(0xcc);WriteOneChar(0xBE);T_l=ReadOneChar();//L T_h=ReadOneChar();//H
temp=(unsigned int)(((unsigned int)T_h<<8)|T_l);
printk(“temp=%xrn”,temp);
return temp;}
第五章5.1 各模块运行的效果
客户端:
测试结果分析13
图2 客户端运行效果
服务器:
图3 服务器运行效果
开发板:
图4 开发板的显示效果
5.2 可扩展功能
本项目的只是完成其中的一些功能,其可扩展性强,对进行加强完善,还可作如下扩展:
1.拓展成温度报警器,设定一个上限值和下下限值,当温度达到某个值时,如低于20摄氏度时,LED灯亮,高于40摄氏度时,蜂鸣器发出报警提示音。
2.可使开发板的核心板链接生活中的物件,如台灯,或者房间的灯,从而控制生活中物件的开关。
3.找到家庭电器中的接口,连接相应接口可实现远程控制家电。
第六章 总结与展望
通过这次的课程设计,让我受益匪浅,让我对智能硬件有了更深一层的了解,也体会了智能化在现实生活中的重要性,也让我了解和掌握了一些编程思想。让
我把理论知识用在实践中,实现了理论和实践相结合,从中更懂得理论的是实践的基础,实践有能检验理论的正确性,更激发了我对专业知识的渴求,这些对我以后参加工作或者继续学习都会有很大的帮助和影响。通过这次课程设计,让我意识到了自己的一些不足,从而让我认识到了学习的重要性。
虽然这次实训是那么短暂的1周时间,但是这几天我所学到的还是很多的,通过此次培训学生运用本专业所学的理论知识和专业知识来分析解决实际问题的重要教学环节,是对三年所学知识的复习和巩固。同时通过这次培训让我明白了一个很深刻的道理,让我意识到了团队合作的重要性,一个人不能完成的事情,团队能完成。团队精神有利于提高组织整体效能,只有通过发扬团队精神,才能取得更好的成绩。
因时间及精力有限,系统做的还不是很完善,还是有不足的地方,如果时间充足的话,还可以做得更完善,对其进行功能扩展。
以上这些收获对我来说是非常有帮助的,让我受益匪浅,它也是我人生中一笔宝贵的财富。
参考文献
[1] 李勇, 艾竹君, 刘巧云等.一种新型温度测量系统的设计[J].低温与超导, 2007, 35(5):451-454 [2] 马净, 李晓光,宁伟.几种常用温度传感器的原理及发展[J].中国仪器仪表, 2004,(6):1
[3] 曹忠明, 程姚根.从实践中学嵌入式Linux操作系统[M].北京:电子工业出版社, 2014:8-9 [4] 陈刚 , 冯利美.从实践中学嵌入式Linux应用程序开发[M].北京:电子工业出版社, 2012:193-192
基于嵌入式课程设计 篇2
关键词:CDIO模式,嵌入式系统,课程改革
嵌入式技术发展迅速,广泛应用于工业控制系统、汽车电子、医疗仪器、信息家电、通信设备等领域,近年新兴的物联网、车联网、智能家居等都是依托嵌入式技术发展起来的。市场对嵌入式人才的需求十分庞大,越来越多的高校在相关工科专业开设嵌入式系统课程,并取得了一些开创性成果。
但是,由于嵌入式系统发展速度快、课程内容覆盖面广、实践性强,导致学生入门较难,各高校讲授内容差异较大,各种教学问题凸显。为更好地改进嵌入式系统的教学,贵州民族大学测控技术与仪器专业在CDIO教学改革中对嵌入式系统教学进行一些尝试与探索。CDIO是构思(Conceive)、设计(Design)、实现(Implement)、运作(Operate)四个英文单词的缩写,它是“做中学”和“基于项目教育和学习”的集中概括和抽象表达。本次教改结合CDIO模式的项目驱动特点,对嵌入式系统的课程体系、师资力量、教学内容、实验平台、课堂模式等多方面进行调整,全面提升学生的工程实践能力,满足社会对应用型人才的需求。
1当前嵌入式系统的教学现状及问题
嵌入式系统作为许多工科专业的专业选修课程,主要开设在大三下或大四上,课时一般是30~40学时;教学方式多为理论课程与实验课程;教学内容尚无统一规范,各高校的嵌入式系统课程,或注重概念性、基础性的入门教学;或侧重ARM体系结构、指令系统;或偏重嵌入式操作系统,以Linux或u C/OS-II为主讲内容;同时学生基础差异大,有的是计算机专业,软件知识扎实,但硬件知识缺乏,有的是自动化或仪器仪表专业,硬件知识学习的多,而软件工程、操作系统方面的软件知识缺乏。这些现状使得在教学过程中产生了较多的问题,需要我们去改善:
(1)教师对嵌入式技术知识掌握不够。高校教师普遍重理论、轻实践,而嵌入式技术要求教师有较高的实践研发水平;同时,嵌入式技术发展迅速,老教师使用的嵌入式技术多还停留在8位单片机,没有重新备课讲授较新的嵌入式相关知识。而青年教师缺乏项目经验,嵌入式理论知识不够扎实、实践能力较弱。
(2)教学内容陈旧。嵌入式技术是一种发展很快的应用技术,而教材一般落后实用技术五年左右,这就导致嵌入式教学不能反映当前市场广泛使用的嵌入式技术,不满足社会对嵌入式人才需求的培养。
(3)教学内容多,而学时较少。嵌入式技术涉及多门学科,知识点繁杂,而且实验项目耗时长。目前,高校嵌入式课程的学时一般为30~40小时,实验学时一般为10小时。学时较少,教学无法覆盖嵌入式系统的主要知识内容。
(4)传统教学方式课堂枯燥,学生学习兴趣小。传统教学的教学手段单一,多以课堂讲解为主,知识概念抽象,学生缺乏实践动手锻炼。课余时间没有实验平台以供学习,学习兴趣不高,教学效果不佳。
(5)没有合适的实验平台。实验平台是学生进行实验和项目开发的硬件平台,实验项目缺乏系统性,学生难以建立完整的嵌入式知识体系。并且由于嵌入式技术发展快,嵌入式实验平台使用时间一般只有5~10年。所以,应该选择当前较新的嵌入式实验平台,并且教学内容上以操作系统和软件开发为重点,这样既保证实验平台能长久使用,同时符合市场对嵌入式软件人才需求更大的现实情况。
(6)课堂缺少动手机会。虽然很多高校开设嵌入式实验课,但是嵌入式系统的实验或者项目步骤复杂,耗时长,仅开设十多小时的实验课,学生难以完成规定实验。嵌入式系统中的基础性实验模块化严重,学生难以理解该实验在嵌入式开发中的作用。所以,应当在实验中添加一些设计性、综合性的大项目,让学生能全局性的掌握嵌入式技术,在项目中学会解决问题的方法。同时,这些实验项目学生不可能在规定学时内完成,因此实验平台需要对学生开放,让学生课余时间能够在嵌入式实验平台上做实验、做项目。
2嵌入式系统教学体系建设与CDIO模式教改
嵌入式系统课程是一门市场需求迫切,学生学习难度大的应用型、综合型课程。对其进行基于CDIO模式教学改革不仅能使学生在实践中学习、在项目中学习,而且符合了企业对嵌入式人才的技能需求。
2.1师资队伍建设
师资力量是嵌入式系统的教学的基础,师资力量从三个方面进行加强:一是引进具有扎实的理论基础,又有较强的实际动手能力的从事嵌入式技术方向的硕士及博士;二是加强教师培训,挑选教师参加嵌入式教育培训机构的培训班,丰富教师的知识结构,提高实践能力;三是联合嵌入式产品研发公司,定期聘请具有深厚嵌入式研发经验的研发人员介绍该公司产品,以及具体研发过程中需要注意的问题和所涉及的关键技术等。形成校企合作关系,让优秀的学生到公司实习。
2.2课程体系及教学内容调整
嵌入式系统覆盖知识面广,要求学生具备嵌入式基础知识,然后再学习嵌入式系统。因此,需要构建一个结构合理、层次清晰、课程间相互连接的课程体系。嵌入式的课程体系由专业基础课程、专业课程、创新实践课程三部分组成,专业基础课程包括电路分析、模拟电路、数字电路、微机原理、C/C++语言;专业课程包括单片机与接口技术、数据结构与算法、操作系统原理;创新实践课程就是以教师讲授与学生项目实践同时进行的嵌入式系统课程。
嵌入式系统教学内容需要结合目前市场的人才需求来进行选择。我系选择以基于ARM Cortex-A8内核的三星S5PV210为微处理器,以Linux为操作系统,讲授ARM架构及汇编指令、Linux编程基础、交叉编译环境搭建、Bootloader分析及移植、Linux内核分析及移植、根文件系统分析及移植、文件I/O及多线程编程、Linux设备驱动开发、Qt应用程序开发,其中重点讲解是Linux用户空间软件开发和应用程序开发。同时,市面上大多数嵌入式教材内容落后,因此,嵌入式系统课程不指定固定教材,而是以实训项目指导书为主,参考书为辅。
2.3课堂模式改革
嵌入式系统将教师讲授与学生项目实践相结合,将项目驱动模式贯穿整个教学过程中。学生3~4人一组,开始阶段为基础类实训项目,后期阶段为综合性实训项目,最后由学生自主设计一个综合性项目作为期末考查项目。学生成绩以项目验收方式考核。教学过程中实时跟进每组实际情况,其中选择优秀的小组进行PPT演示讲解,期末进行综合性项目答辩,同时结合学生的课堂研讨表现、作品实物演示效果、作品设计报告、答辩表现为依据,通过综合评判给出课程成绩,使成绩能合理反映学生的工程实践能力、技术写作能力、口头表达及人际交流能力。
教学内容及教学方式的改革,激发学生学习兴趣,提供更多动手实践机会,让学生边做边学,经过多个项目的训练,养成较强的实践能力,对嵌入式系统有较深入的理解。
3结束语
对嵌入式技术人才的培养需要结合市场需求、课程特点、本校教学资源、学生实际情况等,对教学培养方案进行科学规划,设立专业方向,配套对应的课程体系,不断提高师资水平,特别是改革教学内容及方式,让学生在实践中学习嵌入式技术。基于CDIO模式的嵌入式系统教学改革,使学生动手能力得到提高,形成较为完备的嵌入式系统知识体系,具备一定的嵌入式实践开发能力。
参考文献
[1]张雯雾,高守平,陆武魁.应用型本科嵌入式系统课程教学改革与实践[J].中国教育技术装备,2010.204(18):39-40.
[2]陈春林,朱张青.基于CDIO教育理念的工程学科教育改革与实践[J].教育与现代化,2010.94(1):30-33.
[3]王硕旺,洪成文.美国麻省理工学院工程教育的经典模式——基于对CDIO课程大纲的解读[J].理工高教研究,2009.28(4):116-119.
基于嵌入式课程设计 篇3
【摘 要】本文分析嵌入式技术课程传统教学存在的问题,探索基于目标驱动法、培养本科工程应用型人才为主要目标的嵌入式技术课程教学改革。
【关键词】嵌入式技术课程 教学改革 目标驱动法
【中图分类号】G 【文献标识码】A
【文章编号】0450-9889(2016)11C-0070-03
随着信息技术的发展,各高校的电子信息工程、通信工程、电子科学技术等专业都开设了嵌入式技术课程,目的是为了使学生掌握嵌入式系统的硬件和软件设计技术,具备一定的实践经验,为毕业后从事嵌入式技术相关工作打下基础。嵌入式技术课程传统的教学方法大多侧重于基础知识、基本原理学习,经典的教材都是从基本原理到处理器内部结构,再到指令系统,再到内部接口及功能电路,按照这一模式进行学习,学生把大量的时间花在原理的学习上,实践的内容比较少,导致学完课程后可能连最简单的程序都不会调试,无法学于致用。
近年来,我国越来越重视本科生实践能力的培养,提出培养工程型本科人才目标,嵌入式技术课程作为电子信息类专业一门实践性较强的课程,若还采用传统的理论教学为主的教学方式,培养出来的学生很难适应社会的需求,因此课程的教学改革势在必行。我们采用目标驱动的教学方法,缩减理论教学学时,增加实践教学学时,教学过程制定一些具有一定难度的小设计题目,作为目标让学生选择,促使学生在完成小课题的过程中遇到问题、分析问题和解决问题,在实践过程中学习和掌握嵌入式技术相关的知识。
一、嵌入式技术课程传统教学存在的问题
嵌入式技术课程以往的教学中,理论课时36学时,实验课时9学时,以老师在课堂授课为主、学生实验为辅。理论课教师教授时,学生还没有机会接触实物,学生听课往往无法把理论和实际应用联系起来,听课积极性、学习的主动性都不高,随后虽然安排有实验,但9个学时的实验内容是统一安排在实验室并限定时间内完成的,通常以验证性实验为主,这种模式学生参照讲义内容,虽然能完成实验,但没有机会和时间对实验内容和软件设计方法等进行更深入的研究和思考,学习效果不好,收效不大,与实际应用脱节。
二、基于目标驱动法的嵌入式技术课程教学改革实践
所谓目标驱动,就是在学生对课程内容有一定了解的前提下,由老师拟定一些小设计题目供学生选择,学生可2-3人为一组,根据自己的兴趣选择一个题目来完成。为实现这一教学改革目标,我们从嵌入式芯片选型、教材选择、实验板选择、小设计题目拟定、学生分组形式、时间安排、中期考核、期终考核验收等多个环节进行了改革。
(一)嵌入式处理器的选型及教材的选择。嵌入式处理器有ARM、PowerPC、MIPS、ColdFire和386EX等多种不同系列的产品,其中以ARM系列的占的市场份额最大,因此嵌入式技术的学习通常是以ARM为基础的。而ARM系列又可分为ARM7、ARM9、ARM11、Cortex等众多不同的子系列,作为初学者面对众多的、不同的类型嵌入式处理器,一般只能选择其中一个系列来进行学习和研究,在掌握某一系列的相关技术后,如果实际工作需要,再去研究或使用其他系列的嵌入式系统也是比较容易上手的。
传统的嵌入式技术课程一般基于ARM7系列嵌入式处理来开展教学,典型的教材有周立功编写的《ARM嵌入式系统基础教程》,以LPC2100系列的微控制器为核心,介绍嵌入式系统的基本概念、ARM7的体系结构、指令系统、LPC2100内部结构和外围接口等,虽然内容翔实,但教材侧重于基础知识和基本功能模块的学习,没有太多应用实例,与目前社会上主流的技术也有所脱节。也有部分高校基于ARM9系列嵌入式处理来开展教学,典型的教材有袁志勇编写的《嵌入式系统原理与应用技术》,以S3C2410嵌入式处理器为核心,介绍嵌入式系统硬件工作原理与接口应用技术、嵌入式程序设计及嵌入式Linux基础应用,学习门槛比较高,涉及比较复杂硬件内部结构和Linux操作系统,作为电子信息工程专业而言,不太合适。
针对传统教材及嵌入式处理器选择存在的不足,结合电子信息工作专业特点,我们对嵌入式技术课程的教材进行了调整,选用目前流行的Cortex-M3系列ARM处理器进行介绍,教材则选择张洋、刘军等编写的《原子教你玩STM32(库函数版)》。其中Cortex-M3系列为微控制类嵌入式芯片,内部集成了CPU、IO接口和众多功能模块,也可称之为高性能的单片机,体积小、功耗低、成本低,且具有较高性能和可靠性的特点。我们所选的教材,其内容分为硬件篇、软件篇和实战篇等共三大部分,特别是实战篇部分,设置了近40个实例(实验)内容,由简单到复杂,循序渐进,引导学生从实践出发,慢慢掌握STM32为核心的嵌入式系统开发方法,同时配套光盘包含所有实例的完整源码,方便学生自主学习时进行实验验证及研究。
(二)实验板的选择。嵌入式技术课程是一门实践性很强的课程,与实际应用结合较为紧密,单纯的理论学习不利于学生对知识的理解和掌握,学生必须在实验、课程设计等过程中学会分析问题、解决问题的方法,在编程实践中掌握嵌入式技术的实际应用技能,才能在毕业后较快地适应嵌入式技术研究与开发工作。在课程时间安排上,学生动手实验的课时可以占总课时的2/3,可见实践环节的重要性。
实验板是实验或课程设计题目工作开展的硬件基础,选择一块合适的实验板,有助于学生理解和掌握嵌入式系统基本开发流程,并能在该硬件平台上完成更多的应用开发。
在进行教学改革之前,我们一直使用周立功公司ARM7系列的LPC2104实验板,该实验板ARM芯片的片内资源较少,引出的IO接口也比较少,实验板上扩展的外部电路也比较少,能设计的实验内容也相对较少。针对原有实验板存在的种种不足,我们选择了教材配套的“STM32战舰开发实验板”作为实验平台。该实验板以STM32F103ZET处理器为核心,具有超过100个可编程的GPIO供用户使用,板上还配置有外部Flash、外部RAM、TFT型LCD接口、触摸屏接口、摄像头接口、红外接口、键盘、LED等待数量众多的外部接口及电路,与教材内容完全配套,可对教材中近40个例程进行下载和验证,非常方便学生进行实验或设计。
(三)设计题目的拟定。如何制定设计题目是目标驱动法中很重要的一个环节,考虑到各个学生实际学习能力和水平会的差异,任课教师对所选的题目的难度要仔细斟酌、拿捏好尺度。如果拟定的题目难度过高,对于学习能力较差的学生而言,可能会不知道从何处下手,找不到思路,很难完成;如果拟定的题目难度过低,则对于学习能力较强的学生,可能不需要太多的努力,很轻松就完成了,学生的潜力没有得到充分的发挥,不利于他们学习能力的培养和实践水平提高,也不利于今后参加实际的项目研究与开发。为适应不同层次学生学习的需要,我们拟定的设计选题分为三个难度级别,每个级别1-2个题目,且不同难度级别的设计题目最高得分不相同,比如一级难度最高得分低于75分,二级难度最高得分低于85分,三级难度最高得分可达到95分,如果实际完成得很好的,可以超过95分。另外,对于第三级难度的题目,参考全国大学电子设计竞赛出题的形式,把题目要求分为基本部分和发挥部分,如果只选择完成基本部分时,相当二级难度,按二级难度来考核和评定成绩,如果同时完成了基本部分和发挥部分,则按三级难度来考核和评定成绩。这样学生就可以根据自己个人的实际情况,选择合适的难度级别的设计题目来完成,从而避免出现力不从心或者轻而易举的极端现象,每个学生都能在这门课上掌握一定的嵌入式技术知识,学习能力和实践水平获得一定的提高。
(四)学生分组形式。在开始进行题目设计工作之前,一般要将选课学生按2-3人一组进行分组,以便开展后续的设计工作。学生分组形式也会影响学生对于课程的学习效果,好的分组方式,同组同学之间可以相互促进,形成良好的氛围;不好的分组形式,可能不能很好地合作,不利于任务的完成。我们采用学生自由组合的方式来进行分组,所有选课同学以2-3人为一组进行组合,每组同学配发一块ARM开发板,开发板由各组的组长负责签领及保管。学生自由组合的分组形式的优点是:通常每个学生都会选择自己较为要好的、爱好兴趣相投的,或者认为学习能力比自己好一点的同学来进行组合,这样可以确保小组成员之间能够团结协作,相互促进,顺利完成老师下达的课程设计任务。
(五)时间安排。选课的学生中,除了个别学生提前接触或自学了ARM相关知识,大部分的学生都是刚开始接触ARM,对课程内容和学习方法不甚了解,所以课程学习分为三个阶段,分别是教师授课、实验验证、完成设计选题任务。第一阶段为教师授课,教师利用课程教学计划安排的理论课时,给学生讲解嵌入式技术的基础知识、ARM处理器的体系结构、嵌入式系统基本开发方法,并以较为简单的GPIO接口编程作为例子,介绍ARM的编程方法及开发工作软件的使用方法。通过第一阶段的学习,学生能够对嵌入式技术及实际设计有基本的认识。第二阶段为实验验证阶段,我们所选择的正点原子STM32教材的第三篇提供了数量众多的例程,且教材配套的光盘具有全部例程的完整源码,这些例程为学生实习和实践提供了很好的学习和参考,学生通过研究教材中实践部分内容中的例程,就可以了解ARM软件的框架结构和初步的软件设计方法。教材提供的实验例程多达40个,我们不可能要求学生全部都理解和掌握,在第二阶段,只要求学生选择其中的2个例程来研究,理解和掌握这个2个例程,并进行实验验证。第三阶段是完成小组选定题目的设计工作。
(六)中期考核。中期考核就是在学生完成了第一阶段和第二阶段的学习后,进行阶段性考核,中期考核的成绩占总评成绩的30%。以下是我们实际教学过程中,有关中期考核的要求和安排。
1.考核内容:每一组同学选择教材实践篇中的两个实验来进行验证(光盘中已经有参考例程),然后根据自己的理解,制作一个PPT,该PPT的内容包括实验名称、实验的内容、实现原理、关键代码、实验结果等。
2.考核方法:现场操作,完成实验验证;利用PPT讲解实验原理及方法。
3.考核时间:开课后第5-6周。
通过中期考核,学生建立了教材上的理论知识与实际应用的相互关系,基本掌握了基于STM32的嵌入式系统开发流程和方法。
(七)期终考核验收。考核环节必须严格把关,确保考核出学生实际的水平,才能倒逼学生平时用心去研究并完成所选题目的设计工作。中期考核和期终考核环节至关重要,是否能严格把关,直接关系到课程教学改革的成效。
学生根据第三阶段选定的目标,即设计题目,每个小组同学制订自己的工作计划,从分析设计题目开始,通过自觉、老师定时指导答疑等环节,学生掌握相关准备知识,然后制订设计方案。以正点原子的STM32实验为基础,外加适当的外部电路,从硬件设计、软件设计到基本功能模块调试,系统联调实现,最终综合合作完成设计题目。并在课程结束周,安排时间,集中进行考核验收。验收时要求提交课程设计作品1份和课程设计报告1份;每个同学独立演示(展示)设计作品,回答老师或同学的现场提问,教师根据完成情况进行评分,期终考核成绩占总评成绩的70%。
三、成效
2015年广西大学计算机与电子信息学院与广西广播电视技术中心开展嵌入式技术课程共建,邀请企业导师参加课程教学过程。在教学过程中,安排3个学时时间让企业工程技术人员给学生授课,介绍应用嵌入式技术的实际应用,以及广电中心基于嵌入式技术的研发课题。并请企业导师参与设计题目的拟订,结合企业需求,提供若干设计题目供学生选题。下一步计划将企业课题的开展带入毕业设计,拓展合作范围。企业的参与,更为有效地避免了理论与实践脱节,提高了学生的工程实践意识和学习热情与兴趣。
采用目标驱动教学方法后,每个小组拥有一块实验板,以完成设计题目为目标,加上具有丰富的例程,学生不需要等到实验课才有机会接触实物,而是随时都可以利用实验板进行设计题目的研究工作,学生参与的积极性高。同时,通过优秀同学的带动,绝大部分同学都能掌握嵌入式系统设计和应用的相关知识和基本技能,初步掌握基于STM32的嵌入式系统的硬件设计和软件开发方法,在参加全国大学生电子设计大赛、广西大学生电子设计大赛过程中,很多学生都能自觉地使用STM32来实现自己的赛题设计任务。
【参考文献】
[1]朱天元.浅谈嵌入式实验教学改革[J].教育科学,2009(24)
[2]胡威,郭宏,蒋旻,等.面向嵌入式系统的本科/研究生连续式课程建设研究[J].现代企教育,2014(22)
[3]黄福莹,黎相成,何华光.嵌入式技术课程的教学探讨[J].广西大学学报(哲学社会科学版,2007(S1)
[4]贺德强,刘旗扬,王勇.“微机原理与接口技术”课程教学改革方法研究[J].广西大学学报(哲学社会科学版),2009(S1)
[5]黄勇.计算机专业嵌入式技术方向课程体系的探索[J].农业网络信息,2010(11)
【教改项目】广西高等教育本科教学改革工程项目(2015JGA126);广西高等教育本科教学改革工程项目(2015JGB123)
【作者简介】聂 雄,广西大学计算机与电子信息学院副教授,研究生学历,研究方向:嵌入式系统及应用技术。
嵌入式原理与应用-课程设计目的 篇4
(08级电气自动化01班与02班)
1.课程设计题目:
1)设计一个LED灯指示控制直流电机控制装置
使用4个LED灯指示,包括直流电机的低速转动与停转,高速转动与停转。
2)设计一个LED灯指示控制步进制电机控制装置
使用4个LED灯指示,单(单相绕组通电)四拍(A-B-C-D-A。。)步进制电机的顺时针转动与停转,逆时针转动与停转。
3)设计一个红绿LED灯指示控制人行道过马路装置
使用7个或14个LED灯做一位或两位7段数码管管倒计时控制红绿黄灯亮,实现对人行道和车行道的控制;或用多个LED和蜂鸣器在另一个定时器的指示下控制红绿黄灯亮,实现对人行道和车行道的控制。
2.课程设计目的:
1)理解与掌握嵌入式袁智勇教材5.4节I/O端口。2)理解嵌入式袁智勇教材6.1节中断概述。
3)理解与掌握嵌入式袁智勇教材6.3节定时器工作原理。
4)掌握与使用周立功教程4.2节GPIO,掌握自动化流程控制的通断控制LED灯的控制编程与硬件实现。
5)掌握与使用周立功教程4.5节定时器0与定时器1,准确的使用定时器0与定时器1进行自动化流程控制直流电机的控制编程与硬件实现;步进制电机的控制编程与硬件实现;及7段数码管倒计时指示交通灯的编程与硬件实现。
6)根据上述理论与资源和嵌入式指导书2440实验182页-188页,写出该课程设计报告。
3.课程设计主要内容:
1)每两至三人一组根据该组所选的题目,可选1-2个题目,绘出该课程设计电路图和列出使用器件明细表;领取明细表器件与焊接工具。完成该电路图的焊接。
2)每组每人根据所选的题目编写该课题程序,调试正确后,烧写到LPCARM2103模块中去;实现该课程设计。
3)使用A4纸每人结合本课程设计目的和课程设计主要内容,撰写一份设计《嵌入式原理与应用课程设计报告》;并包含课题原理论述,实现电路与编程论述,电路图,器件明细表,实现程序,调试烧写过程,课程设计检验测试与实现,展望联想与总结。
4.课程设计资料:
1)《嵌入式系统原理与应用技术》北京航空航天大学出版社教材 袁智勇著 2)《EasyARM2103教材》广州周立功单片机发展有限公司编 3)直流电机dynamo-1 程序和步进制电机motor-0程序 作者指导教师刘敦放
5.课程设计提交时间:
课程设计报告和课程设计演示和设计实用工具、LPCARM2103模块及仿真器一起在2011年12月15日以前一起交给刘敦放老师。
6.课程设计报告撰写要求
1)报告格式
封面
课程设计报告
题目: 专业班级: 姓名: 指导教师: 日期: 目录 正文
设计任务与要求 设计依据原则
硬件系统设计(设计电路图和列出使用器件明细表)
软件系统设计(实现程序,调试烧写过程,课程设计检验测试与实现)
心得体会、收获,意见与建议
展望联想与总结
参考文献
按“作者,书名,出版社,出版时间,引用教材,引用程序”格式逐一列出
附录
如:图纸(电路图)及完整程序
2)报告要求
用word排版,电路图绘制图纸,表格、插图均需编号。注明页次,装订成册(纸质版)。
3)提交资料:课程设计报告纸质版 1份。
7.嵌入式原理与应用课程设计成绩评定方法:
课程设计报告成绩60%,设计硬件15%,课程设计演示15%,考勤10%。
嵌入式原理与应用课程设计指导教师
刘敦放
基于嵌入式课程设计 篇5
摘要:实现了一种全集成可变带宽中频宽带低通滤波器,讨论分析了跨导放大器-电容(OTA—C)连续时间型滤波器的结构、设计和具体实现,使用外部可编程电路对所设计滤波器带宽进行控制,并利用ADS软件进行电路设计和仿真验证。仿真结果表明,该滤波器带宽的可调范围为1~26 MHz,阻带抑制率大于35 dB,带内波纹小于0.5 dB,采用1.8 V电源,TSMC 0.18μm CMOS工艺库仿真,功耗小于21 mW,频响曲线接近理想状态。关键词:Butte 1 引言
随着科技的发展,嵌入式操作系统在越来越多的领域发挥着重要的作用,目前已成为产品技术水平的标志之一。其中Linux因为其拥有开放性、多用户、多任务、良好的用户界面、丰富的网络功能、可靠的系统安全和良好的可移植等特性被广泛的应用到仪器测量设备中。
传 统的磁场测量设备(持斯拉计、高斯计)普遍存在精度低(典型测量精度为1.5%)、操作不便等缺点。本文提出一种基于嵌入式Linux的中频磁场测量系 统,它不但可以满足当前磁场测量数据采集的需要,还因为其嵌入了操作系统Linux,使具有可靠性好、升级方便的特点,既提高了磁场测量的准确性,又为仪 器的功能升级带来便利。可应用于实验室仪器,医疗仪器,姿态控制,安全检测等需磁场检测的领域。2 磁场测量系统的硬件结构
磁场测量系统在硬件结构上采用ARM9作为控制器,与信号放大、整流滤波、程控放大等硬件构成了整个磁场测量系统。而且,测量系统还搭配了USB、RS232、以太网通信接口,系统通讯能力强,可实现网络连网功能。其硬件结构如图1所示。
ARM9 嵌入式处理器采用三星公司的$3C2410。S3C2410是基于ARM920T内核的16/32位RISC嵌入式微处理器,主要面向手持设备以及高性价 比,低功耗的应用。它采用5级流水线和全性能的MMU,同时该芯片集成了大量的功能扩展单元,例如LCD控制器、I2C总线、触摸屏接口、USB接口等。强大的芯片功能简化了系统设计,不但缩小了系统体积,而且提高了系统的可靠性。
USB、RS232和以太网接口可为系统提供不同的通信方式,适合不同测量环境和条件,以太网接口还可实现系统联网功能。
在磁场测量系统中,可使用触摸屏简便地对系统进行控制,实现不同显示方式切换、参数设置和测量数据保存等功能。
磁场测量电压信号部分,由磁场传感器得到微弱的电压信号,经放大整流等措施后输入控制系统。
报警输出可实现用户自设定报警的上下限值,方便用户测量现场的监控。磁场测量系统前端信号处理模块
磁场测量系统前端传感器采用的测量方法为电磁感应法。电磁感应法是将测量线圈置入交变磁场中,根据法拉第电磁感应定律在线圈的引线间会产生感应电动势,并且感应电动势的大小与穿过线圈的磁通量的大小成正比。感应电动势e为: 测量系统前端信号处理模块的结构如图2所示。
(1)为了实现多路磁场传感器的信号输入,设计中采用片选芯片74HCl5进行通道的选择。通过对74HCl53控制端S0,Sl输入不同的数据组合(00,1O,0l,11),输出端lY和2Y就可实现不同输入通道的选择。
基于嵌入式课程设计 篇6
基于嵌入式列车油量远程监控系统设计
针对列车油量监测中多点信息采集以及实时传送的要求,提出了基于嵌入式操作系统和 GPRS 的新型列车油量监控系统,实现数据远程、快捷及低成本的`传输.介绍了系统功能、硬件组成原理及软件设计方案,并结合实时数据和曲线图对终端试运行情况作了说明.通过上车试运行,结果表明该系统对于控制、降低列车的油量消耗具有重要的量化指导意义.
作 者:程晓东 刘荣林 Cheng Xiadong Liu Ronglin 作者单位:内蒙古大学电子信息工程学院,010021,呼和浩特 刊 名:铁道通信信号 英文刊名:RAILWAY SIGNALLING & COMMUNICATION 年,卷(期):2010 46(1) 分类号:U2 关键词:嵌入式系统 远程监控 数据采集基于嵌入式课程设计 篇7
嵌入式系统产品需要设计者具有较强的综合理论知识和动手能力, 是一门综合性强、知识覆盖面大的课程, 既涉及数字电子技术、模拟电子技术、微机原理与应用等硬件知识, 又涉及操作系统、应用程序等软件知识, 其过程极其复杂、繁琐, 对于计算机专业本科生而言, 开始学的时候往往是一头雾水, 不知所云, 无从下手。因此, 迫切需要在高校建立一个新的、基于先进嵌入式工程培养的、基于ARM技术和多任务操作系统的嵌入式系统教学课程体系, 从根本上解决嵌入式技术发展对人才的需求[1]。
由于高等教育提出朝着“宽口径、厚基础、重能力”的方向发展, 培养适应能力强、发展潜力大的复合型人才是高等教育追求的目标。为了提高学生对外部变化的适应和反应能力, 拓宽学生的基础知识, 夯实学生的理论基础, 提高学生的动手能力、自主设计和创新能力, 以增强学生在未来社会发展中的后劲, 各个高校都在加大课程重组和整合的力度, 修改教学计划, 构建多元化学习评价体系, 优化课程建设方案, 以达到提高学生综合素质, 提升教学质量强化优势学科和打造学科品牌的目的。
实践教学是实现“做中学”模式下人才培养目标的一个重要环节, 实践教学的实施要遵循以下几个原则:
(1) 从简单、实用入手, 激发学生兴趣与爱好。注重培养学生的学习愿望和需求, 生动地向学生介绍本课程的性质与设置目的。加深学生对学习本课程必要性的认识, 激发学生的学习需要和学习兴趣, 培养学生的好奇心和求知欲, 引导学生喜欢学习这门功课。大大增加教学信息量, 提高学习效率。改变传统的“填鸭式”教学, 实施启发式教学。比如采用对比教学法:有些教学内容可以采用对比教学法, 增强学生对知识的感受强度。
(2) 入门程序要直观、易懂、容易操作;使学生很快掌握软件的编辑、编译、链接、调试、移植等过程;掌握软件工程项目的概念。
(3) 安排实用性强的实验项目, 比如LCD显示、触摸屏、键盘等内容, 并让内容与手机关联起来, 使学生明白手机是如何工作的, 从而激发他们学习的动力。同时实施实例化教学方法, 就是以实际产品 (或者半成品) 为主要研究对象, 强调从实际出发, 采用自上而下或者自下而上的方式对方案进行设计测试, 并在过程中对传统模式下的理论知识进行与时俱进的淬炼, 努力使学生学习了一个例子, 就掌握一方面实例的设计方法, 学会嵌入式系统的设计理念和技术。以实例化教学模式进行教学活动, 涉及信息量大、知识点价值高、贴近实际应用, 具有较好的应用价值和前景。在学期课程结束进行评价测试时, 实例化教学模式下的学生成绩和其他评测结果也好于传统模式下的结果。
(4) 编写基于“做中学”理念的实验教学大纲、实验指导书, 增加创新性实验项目, 构建科学合理的实践教学体系。创新性实验项目的设计, 要紧密结合科研、产品与社会应用实践, 引入现代科学技术和教学改革新成果, 积极开发综合性、设计型、研究型等有利于学生创新能力培养的实验项目, 减少验证性、演示性实验的比重, 要围绕让学生自己以市场的需要为导向, 从问题的提出, 到问题的分析、解决和实施等几个过程来展开。同时要紧跟时代的热点需求, 以智能家电、i Pad、PDA、GPS导航等社会热点产品为CDIO的工程项目, 使得学生进一步了解了嵌入式系统的系统组成、开发过程及应用领域。
(5) 网络教学模式的积极引入。制作课程的相关网站, 通过编写教学课件、制作题库, 为学生提供网络学习环境。网站已包括教学资源、网上教学、习题解答、疑难解答、最新留言、子程序库、教学体会、教学交流、学生心得等几个板块。通过和学生在课下互动, 加深学生对课上知识点的印象和理解, 有效地提高了学生的主观学习能动性。并且通过网站建设也与其他高校及相关行业人士进行专业交流。
(6) 积极引导学生参加各种大赛及创新性试验计划。组织参加课外科技活动小组的学生参加国内外各种相关的科技性设计大赛, 根据学生完成实际项目的情况和大赛获奖情况, 判断教学改革的成效, 对根据结果对教学方案进行调整。
(7) 重新建立科学的考评体系。建立以理论考核与实验考核相结合的模式, 以实验考核为主;在实验考核中又以综合设计性实验的成绩为主, 通过观察学生所完成的实验内容、质量、正确性等, 着重考核学生的实验技能和科学作风, 考核学生的设计方法和创新能力以及是否满足实验指标要求, 期终考试则着重考核学生对原理的掌握。
摘要:本文阐述了计算机专业“嵌入式系统设计与应用”课程的实践教学模式的探讨。首先介绍了嵌入式系统设计与应用课程实践教学模式改革的必要性, 然后针对计算机专业“嵌入式系统”课程的实践教学提出了遵从做中学原则下积极运用多方面办法提高实践教学质量的观点。
关键词:计算机专业,嵌入式系统设计与应用,教学实践改革
参考文献
[1]王硕旺, 洪成文.美国麻省理工学院工程教育的经典模式:基于对CDIO课程大纲的解读[J].理工高教研究, 2009, 28 (4) :116-119.
[2]陈春林, 朱张青.基于CDIO教育理念的工程学科教育改革与实践[J].教育与现代化, 2010, 94 (1) :30-33.
[3]黄智伟, 邓月明, 等.ARM9嵌入式系统设计基础教程[M].北京航空航天大学出版社, 2008:1-4.
[4]张雯雰, 高守平, 等.应用型本科嵌入式系统课程教学改革与实践[J].中国教育技术装备, 2010, 204 (18) :39-40.
[5]王宜怀, 刘晓升.嵌入式应用技术基础教程[M].北京:清华大学出版社, 2007:8-15.
基于嵌入式课程设计 篇8
关键词:ARM;嵌入式;系统;硬件设计
随着互联网技术的迅猛发展,对各个产业都产生了深远的影响。尤其是对现代化通讯技术的影响更是深远。嵌入式系统在信息技术处理得到了很好的应用,并在通信技术上取得了长足发展,嵌入式系统越来越引起业内的关注,使专家学者对其进行深入的研究,它的重要性慢慢的让更多的人所认识,并逐渐引起关注。在今后一段时间内,其功能会越来越丰富,实用性也会越来越强,最终发展成为以数字为导向的技术,数据处理、数据管理、数据等系统。嵌入式系统随着计算机技术的发展而演变出来的,它的核心是围绕计算机技术基础展开的,应用才是最核心的内容,系统的硬件有可裁剪性,系统的软件也有其可裁剪性,可以满足专用计算机系统的要求,进而其功能、成本、功能以及体积等方面的要求也就自然而然的得到了满足。嵌入式系统最突出的优势是什么呢?这也是很多研究者深入挖掘的一个问题,它的人性化设计使其最大的特点,一切都是从用户的现实需求出发,裁剪对系统的硬件及软件发挥着重要的作用,在满足条件的基础上,有效的提升集成度,对今后发展系统的智能化、网络化有着很大的意义。
一、嵌入式系统原理综述
基于ARM视域下的嵌入式系统有其自身的独特性,它以计算机系统为依托,开发相应的特色的功能,满足市场的需要,嵌入式系统的构成是有很多的因素构成的,它基本上包含软硬件两个部分,硬件包括硬件系统设备平台,软件包括ARM操作系统以及嵌入式的应用软件。嵌入式的系统不是一个孤立硬件或软件的系统,它能够集硬件与软件为一体,并且在双方互不干扰的情况下独立完成工作的效果,与其他系统的相关的硬件系统尤其相似性,如硬件系统中有的设备平台,这与一般的计算机处理器有着同样的功效,储存器和处理器这两种输入和输出的设备在ARM系统与一般的计算机系统都是有的,这些共同构成了嵌入式系统的基本硬件。
基于ARM的嵌入式系统在实际应用中与一般的计算机系统也有其不同之处,它的容量和信息储存处理非常的简单,摒弃了之前繁杂的计算,最后也不能有效的进行输出。嵌入式的操作系统是先进的系统,在系统信息处理中占据主体地位,嵌入式系统的信息处理的主要方向是什么,功能调整控制的主要方向是什么,嵌入式系统操纵进入了人们的眼帘,并能展示出来其有效性。嵌入式的操作系统是以嵌入式的系统软件为核心,并进行相应的处理,最终实现嵌入式系统应用,在一定程度上完善嵌入式系统的开发。
它有着以下两个主要特点。(1)系统精简。嵌入式的系统融合了先进的计算机技术,并吸取了电子行业的经验,并将其现成的技术贯穿到了该系统里面,实现了扬长避短的效果,进而实现了前所未有的高效高能的集成系统,这种系统在现有的市场中也形成了一个良性的发展模式,并采取兼收并包的措施,积极的建立起在相应的行业中,不断吸收先进的经验来完善自身。(2)针对性强。定向设计是最近这几年流行的词汇,这个词在该领域也是有其深远的意义。嵌入式系统其实就是定向设计,在使用上更具有针对性,也突出了其专业性。嵌入式系统以客户的需求进行相应的定向设计与开发,当客户的需求满足的时候,必然会提升自身的性能,它在体量上就与以往的系统发生了很大的变化,它的集成能力就是非常大的,有利于集成系统的丰富和发展。
二、基于ARM的嵌入式系统硬件的整体设计与细节内容研究
对于数控系统的整体方案设计过程来说,该项设计内容不是孤立存在的,而是要从整体的数控系统出发,能够符合整体数控操作系统的要求,把这个方案设计的更加完美,才能称之为完善的设计方案。数控装置实质我们要剖析清楚,把计算机技术的支撑做牢,搭建操作控制硬件平台。在对传统的数控系统构造更新改造的基础上,基于ARM的嵌入式数控系统硬件平台就发生了很大的变化,其功能有了较大的改善,为实际生产工作带来了诸多便利。
现阶段,我国专家学者对于数控系统内容的探究一直在继续,因其对社会生产实践具有极大的研究价值。随着电子计算机技术的应用,网络信息技术的迅猛发展,嵌入式数控系统的硬件设计内容也在逐年更新换代,并进行了多次的改革,使得升级后的硬件系统发生了质的飞跃,更能够符合现代工农业生产对技术领域的要求。
(一)处理器设置。基于ARM视域下的嵌入式系统硬件有其独特性,尤其是在处理器上更是有着非同的反响,其自身特有的优势是很多处理器无法抗衡的,它的处理器有很多的优点,不仅在体积上有其灵活性,在资源的消耗上也有它的独特性,属于低耗能的能源,同时还有较好的性能,保护系统也是独一无二的。所以ARM的嵌入式处理器的优势是显而易见的,它的应用性在网络产品中运用得十分广泛。处理器是硬件系统的大门,是非常重要的一个环节,它是系统运行的核心,针对处理器的设计要注重性能、质量以及保护,要摒弃繁杂的成分,不断提升处理器的运用效率,从而实现整个系统的高效使用。
(二)外围接口设置。嵌入式的硬件系统需要选择合理的配件,各个硬件之间的连接和组合都要做到优化,从而让个配件之间的配合取得良好的效,能够有效地提升运作质量和效率。外围接口的设计要注重巧妙和灵活,尽量小化,要符合嵌入式的特点。通过设计较为精简的外围接口,可以有效地保证硬件系统运行的稳定性和持续性。针对嵌入式系统最好的外围接口设计要能够完美地将处理器和接口连接在一起,达到无缝的效果。外围的电路要尽量精简,不仅能够有效地节省成本,还能够适当地压缩硬件系统的体积。
(三)针对性设计。基于ARM的嵌入式硬件系统特点,要根据实际需求来进行设计,不同的用户有着不同的需求,不同 的项目需要不同的设计需求。嵌入式系统设计为最关键,其他的各项设计都是起辅助作用,围绕这个最关键的嵌入式系统展开并继续的。因为嵌入式硬件系统有着自身的特点,它的使用周期长,所以要考虑系统软件的设计,对硬件的升级也要有所考虑,从而实现整体系统的正常运营,并且合理的迎合实际需要。在正式的系统设计投入运用前,我们也要考虑相关的因素,需要调试现行试验程序的配置,在有限的时间内进行必要的模拟运行,通过不断的调试来不断系统,进而满足用户和项目的实际需求,使其更好地为系统运行提供服务。
(四)软硬件协作处理设计。嵌入式的硬件系统运行要有软硬件的相互协作才能实现其最大的价值。该系统需要有对应的软件来配套,硬件也不能马虎,对硬件要进行周密的设计,在设计的基础上进行详细的分析。嵌入式在设计过程中需要软件硬件的通力协作,刚开始的设计就要考虑到软硬件的在某种程度上的划分,根据某种程度上的划分,对软件硬件的功能用固定区域来进行限制,使部分的功能发挥最大的作用,进而实现整体效果的优化,让整体的功能和效益得到最大价值的发挥。
结束语:通过对数控系统的运作机理进行研究,并结合国内外在实践过程中常用的数控系统硬件结构的设计内容,提出了基于ARM的嵌入式数据控制系统硬件平台的设计方案。该设计能够将ARM、FPGA低功率的特征发挥出来,采用低功率的设备及器件组合,构建了低功耗的硬件系统电路。总之,该系统设计的内容符合当前工业生产所需达到的标准,具备一定的实践价值。
参考文献:
[1] 蔡建平. 关于嵌入式应用开发技术[J]. 单片机与嵌入式系统应用. 2001(03)
【基于嵌入式课程设计】推荐阅读:
基于模块化设计的嵌入式软件测试方法07-17
基于电话网的嵌入式远程控制器的设计06-08
基于嵌入式平台的网络化OTDR模拟训练系统设计论文08-19
基于web的嵌入式远程监控系统08-20
嵌入式课程设计指导书08-11
《刷子李》基于课程标准的教学设计11-04
嵌入式课程09-24