APP下载

基于虚拟仿真和ISP下载的AVR单片机实验模式研究

2013-12-23黄克亚

实验技术与管理 2013年8期
关键词:调试单片机芯片

黄克亚

(苏州大学阳澄湖校区自动控制系,江苏苏州 215131)

单片机作为嵌入式系统的一个重要分支,目前已广泛地应用于智能化家用电器、办公自动化设备、工业自动化控制、智能化仪表、通信产品、汽车电子产品、航空航天、国防军事等人类生活的各个领域。全国大中专院校电气自动化专业、应用电子技术专业、通信专业、机电专业等许多专业相继开设了单片机课程。掌握单片机最好的方法是动手实践。但目前高等学校单片机实践教学存在控制芯片陈旧,功能有限,基本上还是以51单片机为主;商品化实验系统的硬件固定且不完全透明,只能完成数量有限的验证性实验,绝大数学生是在“看实验”而不是在“做实验”;仿真器价格昂贵且不稳定,编程器不利于反复修改程序。为此作者提出一种新的嵌入式系统实验模式,将51单片机升级为AVR 单片机,大幅提升其控制性能,采用Proteus和CVAVR 软件联合仿真调试程序,利用ISP(in system programmable)技术在线更新下载程序。实践证明,该模式具有控制芯片功能强,系统实现容易,实验成本低,有利于提高学生的创新能力等优点。

1 由51到AVR单片机

51单片机泛指所有采用Intel公司的MCS-51内核结构,或称为与MCS-51兼容的那些单片机。国内高校中单片机系统的课程与教学,20多年来基本上都是以51单片机作为构成单片机系统的典型控制芯片来介绍,培养出大批熟悉、了解以及掌握51单片机的工程师和技术人员。因此,直到现在,国内51单片机还是具有相当多的用户,在大部分学校的教学中,还是采用51单片机作为学习的典型芯片。从应用和市场的角度看,51单片机仍旧能够满足许多应用系统的需求,并且具有价格低廉、参考资料和工程实例最多等优点。除此之外,现在许多半导体公司和生产厂商也在不断推出以MCS-51为内核的多种类型和型号、经过较大改进和扩展的51兼容SOC单片机,其性能比标准8051单片机要高得多,能够满足许多更高应用需求[1]。

但是由于MCS-51本身内核结构的局限性,51单片机,尤其是标准51架构的单片机,在性能、技术和软硬件设计理念等多方面已经落后,从技术角度看,已经跟不上单片机流行和发展的趋势。随着单片机系统技术的发展,目前市场上出现了许多新型的8 位芯片。其中ATMEL 公司AVR 单片机的发展尤为引人注目。AVR 单片机采用了RISC 结构,其速度、内存容量、外围接口的集成度、向串行扩展和更适合使用高级语言编程等众多特性,以及其所使用的开发技术和仿真调试技术等,都充分体现和代表了当前单片机嵌入式系统发展的趋势。也正是由于这些显著特点,再加上其极高的性价比,使得AVR 得到了广泛的应用,在短时间内成为市场上的主流芯片之一。

从教育的长远和发展眼光出发,我们的单片机教学与学习的目标应该更高些,要相应地改变教学内容、教学方式和学习方式,充分体现和融入新的技术、新的软硬件设计理念和方法,为培养适应当今技术发展的嵌入式系统工程师打好坚实的基础,以满足社会对高水平人才的需求[2]。

2 虚拟仿真技术

传统的单片机课程教学采用“先理论讲解,再动手实验”的教学模式,教学过程中以单片机原理为核心,用大量的原理来引导学生入门单片机的应用只是点缀,这不仅使学生理解困难,感觉枯燥乏味,而且造成学生应用能力不足;教学中将软硬件分离介绍,对单片机软硬件结合的系统设计方法强调不够,也使得学生在构建实际的应用系统时缺少系统化的思路。本文中将Proteus和CVAVR 软件联合使用,实现单片机软硬件的仿真。这种方法用虚拟单片机代替实验箱的硬件电路,形象具体,增强了学生的感性认识,有助于对单片机原理的理解。大量的教学实例通过软件仿真,不仅节约了硬件资源,而且提高了教学效率[3]。

2.1 Proteus CVAVR 的基本特点

Proteus软件是英国Lab center electronics公司出版的EDA 工具软件。Proteus与其他电子仿真软件不同的是,它不仅能仿真单片机的工作情况,还能仿真单片机外围电路或没有单片机参与的其他电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。从某种意义上讲,这种仿真弥补了实验和工程应用之间脱节的矛盾[4]。

CodeVision AVR 是HP Info Tech专门为AVR设计的一款低成本的C 语言编译器,它产生的代码非常严密,效率很高。它不仅包括了AVR C 编译器,同时也是集成IDE 的AVR 开发平台,简称CVAVR。与其他的C语言开发平台相比较,CVAVR 对位(bit)变量的支持,大量扩展的对一些标准的外部器件支持和接口函数(如:标准字符LCD 显示器、I2C 接口、SPI接口、延时函数等),以及方便地对EEPROM 的操作功能等特点更加适合一般人员的学习和使用。

2.2 联合单片机系统的硬件仿真实现方法

基于Proteus和CVAVR 联合单片机系统的硬件仿真具体实现方法如下:首先分析问题、确定设计方案,在Proteus 软件中绘制电路原理图,然后在CVAVR 软件中使用C 语言编写控制程序,并编译生成HEX 文件,随后进行软硬件联合仿真调试,即将Proteus硬件开发环境和CVAVR 软件开发环境二者在计算机上结合使用,达到完美的单片机模拟开发全过程。

这种软、硬件开发环境的结合使用方式有两种,一种是静态结合,一种是动态结合[5]。静态结合仿真就是把CVAVR 软件下生成的HEX 文件,嵌入Proteus软件进行软硬件模拟仿真;动态结合仿真就是利用Proteus软件支持第三方的软件编译和调试环境的特点,把Proteus软件和CVAVR 软件动态连接,实现二者的动态实时仿真。为了简单起见,实际应用中一般采用静态结合的方法。最后观察实验结果,单击Proteus中的执行按钮,开始仿真,如果实验没有达到预期效果,可以很方便地修改硬件电路或软件程序重新实验,直到完全达到控制要求为止[6]。

3 USB-ISP在线下载技术

传统的单片机实验教学主要有两种模式,一种是采用仿真器模拟单片机的开发模式,另一种是采用直接“烧写程序”的方式。在用仿真器模拟单片机的开发模式下可以任意修改程序,支持单步、中断等多种调试方式,有利于快速推进开发过程,但是仿真器价格昂贵,且稳定性差,对实验结果有一定的干扰。而采用将程序编译生成的目标文件直接烧到单片机芯片中,然后再将单片机安装到实验板上的这种方式成本较低,但单片机需反复拔插,较为麻烦且容易损伤单片机引脚[7]。

近年来,USB通信技术和ISP(在系统可编程)技术均取得长足的发展,使得只需要一根USB数据线和简单ISP电路即可将PC机上的目标程序轻松写入到单片机芯片中去,而且支持在线更新,使实验和调试变得十分容易。同时PC 机USB 端口提供的稳定5V电源,也可以直接供实验板使用。这些均为研发一种新型单片机实验装置提供了思路和技术支持[8]。

ISP在线下载电路主要实现PC 机与单片机USB通信功能,进而将PC 机上目标程序下载到实验板的单片机芯片中去。如图1所示,ISP电路主要由AVR单片机ATmega8L(U1),USB端口(P3),10针ISP接口(P1),自锁按钮(P4),复位按钮(P2),工作指示灯(LED1、LED2),时钟电路等组成。ATmega8L 单片机用于USB 串口协议的软件模拟和ISP 下载操作。10针ISP接口用于对其他设有ISP 接口的单片机开发板下载程序,使用时只需将两个ISP接口使用一10针排线连接即可。自锁按钮用于选择是否将USB 电源供给实验装置;复位按钮可以远程复位目标板单片机系统。时钟电路由外接晶振X1和微调电容C1、C2构成。实验系统电源有两种选择,一种方式是直接由PC机USB端口供电,另外一种方式是外接+5V 直流电源,选择哪一种供电方式由电路板上相应跳线确定,在USB端口供电参数满足实验要求的条件下一般选择USB供电方式[9]。

图1 USB-ISP下载器原理图

4 AVR单片机实验模式

采用理论-实验一体化项目教学有利于克服传统教学以章节为序、重理论、轻实践的教学模式带来困境。理-实一体的项目式教学作为一种具有职业教育特色的教学方式,有助于开展基于工作过程系统化的课程开发,优化教学过程,并提高教学质量和效率,改变了传统的以验证理论为目的的单片机实验教学,使高职院校能够根据岗位需求和经济发展组织教学。论文中提出的基于虚拟仿真和ISP 在线下载技术的AVR 单片机实验模式为理论-实验一体化项目教学提供了技术支持,而且更有利于提高学生单片机的综合开发能力和培养创新能力[10]。

4.1 AVR单片机实验过程

基于虚拟仿真和ISP在线下载技术的AVR 单片机实验模式如图2 所示。首先明确实施项目设计任务,技术指标,合理划分软硬件功能,确定系统总体实施方案。然后同时开展软硬件设计,硬件电路设计主要包括硬件逻辑框图设计,合理选择元器件,系统电路图设计,在万能板上完成电路制作并进行测试,测试完成之后在Proteus软件中完成与实际电路相对应的硬件仿真图设计。系统软件设计主要包括软件结构设计,确定实现算法,采用CVAVR 编写控制程序,连接编译成功之后生成目标文件(HEX 格式)。硬件和软件设计均完成之后,则进入下一个环节,即采用Proteus软件和CVAVR 软件进行联合仿真调试,检验系统控制功能是否实现,由于仿真电路和实际电路是完全相同的,其虚拟仿真的指导性很强的,而且仿真时可以设置连续、单步、中断等调试方式,可以说虚拟仿真技术几乎可以完全取代传统的硬件仿真器。仿真通过后进入下一环节,即将目标程序通过自行制作的USB-ISP下载器下载到目标板上进行现场调试,调试通过,则圆满地完成项目设计任务,如果在调试中发现问题,则根据问题的不同转入相应阶段进行修改,直到系统能够实现全部控制功能[11]。

4.2 实验模式实施实例

本文中以“LED 点阵实时温度显示系统”项目为例介绍基于虚拟仿真和ISP在线下载的AVR 单片机实验模式实施过程。

4.2.1 确定项目设计任务及技术指示,给出系统总体实施方案

图2 AVR 单片机实验模式框图

本系统设计目标是能够实时采集现场温度,并将温度值显示在LED 点阵显示器上。主控芯片选择高性能、低功耗的8位AVR 微处理器ATMEGAl6。由于DSl8B20独特的单总线接口方式在多点测温时有明显的优势,占用MCU 的I/O 引脚资源少,和MCU的通信协议比较简单,成本较低,传输距离远,所以选用DSl8B20作为温度测量的传感器[12]。LED 点阵选择4片8×8点阵模块拼成1片1 6×1 6点阵模块,使用时需要将相应的行线和列线并联,控制时采用多个字符分时显示的方式以显示较多的信息,每个字符对应的显示码是通过专用取字模软件生成的,图3为温度单位“℃”的取字模界面。

图3 字模提取软件界面

4.2.2 完成系统软硬件设计,建立仿真电路和编写控制程序并行联合调试

首先在万能电路板上完成系统硬件电路设计。之所以选择万能板主要考虑若采用PCB 板开发周期较长且成本较高,若采用面包板虽然十分方便且比较经济,但面包板搭建的电路经常出现接触不良,而且很难查找。万能板价格便宜,制作电路不太会出现接触不良现象,特别是在万能板电路制作过程需要学生考虑芯片的每一个引脚,每一条线路的实际连接,更有利于提高学生的动手能力和培养学生创新设计能力。接着完成系统软硬件设计,并在Proteus中建立仿真电路和用CVAVR 软件编写好控制程序,此时即可开展软硬件联合仿真调试,其仿真调试结果如图4所示。

图4 系统联合仿真调试结果图

4.2.3 将生成的目标程序下载到控制芯片中,实现用虚拟到现实的转换

将CVAVR 中生成的目标程序通过自制的USBISP编程器下载到万能板上控制芯片中去,进行现场调试,实现由虚拟到现实的转换。有些技术参数,比方说I/O 口的驱动能力,只有在板运行才能观测出来。现场调试运行效果如图5所示,可见项目设计达到了预期目标,完成了设计任务,如果在调试中发现问题应转入相应阶段进行修改,直到完全满足控制要求为止。

图5 现场调试效果图

5 结束语

基于虚拟仿真和ISP在线下载的AVR 单片机实验模式是以单片机系统开发过程中实际存在的项目为载体,便于推进“基于工作过程系统化”的项目式教学改革。该模式无需购买昂贵的实验设备,既节约了实验成本又便于项目及时更新,使得教学内容可以紧跟技术前沿,学生的设计作品也充满创意。由系统规划到组织实施,由虚拟仿真到现场调试,模式涉及单片机系统应用的全过程,既是教学、实验和实训过程,又是单片机系统开发过程,可以对学生单片机系统综合应用能力进行全方位的训练。总之,论文中所提出的AVR 单片机新的实验模式是一种低成本、高效率、训练全面、更新容易的单片机系统教学和开发模式。

[1]马潮.AVR 单片机嵌入式系统原理与应用实践[M].北京:北京航空航天大学出版社,2011.

[2]谢文苗,韩玉芬,徐春秀.基于AVR 系列单片机的电路综合实验课程改革[J].实验技术与管理,2010,27(3):188-190.

[3]黄克亚.高职院校单片机虚拟实验室建设方案研究[J].职业时空,2012,8(8):53-55.

[4]王海燕,杨艳华.Proteus和Keil软件在单片机实验教学中的应用[J].实验室研究与探索,2012,31(5):88-91.

[5]王娟.Proteus软件在单片机专题实训中的应用[J].实验室研究与探索,2012,31(8):72-75.

[6]林志琦.基于Proteus的单片机可视化软硬件仿真[M].北京:北京航天航空大学出版社,2006.

[7]黄克亚,郑蕾.南京铁道职业技术学院苏州校区管理委员会.一种单片机USB-ISP 实验装置:中国,201120549747.4[P].2012-09-05.

[8]林凌,李蒙,李刚.一种基于ISP 技术的单片机多功能教学平台[J].实验技术与管理,2009,26(3):64-67.

[9]银翔,李波.基于ISP技术的嵌入式系统课程设计的实施[J].实验技术与管理,2010,27(11):301-303.

[10]黄克亚,尤凤翔.基于“工作过程系统化”的单片机系列课程教学改革探索[J].职业时空,2011(10):74-75.

[11]朱向庆,胡均万,陈宏华,等.多功能单片机实验系统的研制[J].实验室研究与探索,2012,31(4):41-44.

[12]李文华.单片机技术应用与系统开发[M].大连:大连理工大学出版社,2008.

猜你喜欢

调试单片机芯片
芯片会议
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
基于航拍无人机的设计与调试
FOCAS功能在机床调试中的开发与应用
无线通信中频线路窄带临界调试法及其应用
调压柜的调试与试运行探讨
多通道采样芯片ADS8556在光伏并网中的应用
Microchip推出两个全新PIC单片机系列