O 引言
由于嵌入式系统应用技术的不断发展,对于核心处理器性能的要求越来越高,一些传统的51系列控制芯片已经难以胜任许多复杂的任务。因此,我们通过调研分析,自行开发了一套基于ATmega8高性能系列单片机的实验开发系统。ATMEL公司的ATmegs8单片机是一种具有独特结构的8-bit RISC CPU,其在线自编程Flash和单时钟指令,为C语言、Basic语言优化的指令系统设置,以及丰富的片载外围接口电路,使功能强大的ATmegs8单片机成为一款高度灵活和高性价比的芯片,为许多高端嵌入式系统设计提供了优秀的解决方案。
1 系统总体设计
单片机多功能实验仪硬件的总体设计原理框图如图l所示:
单片机实验开发应用系统中ATmega8 MCU核心模块通过RS-232与PC上位机进行通信,充分利用PC机的资源。电源部分采用USB与PC机进行连接,采用上位机的电源。另外,该实验开发系统设计有下载器,只需一条下载线即可开始工作,不需购买昂贵的编程器,使用方便,节约了成本。可以保证实验系统具有较高的性价比。
在实验软件上,既可以使用C语言也可以使用BASCOM-AVR编程软件。BASCOM-AVR编程软件为开发AVR单片机提供了功能强大、简洁方便的软件平台,其与QB高度兼容的BASIC语言易懂好学;功能齐备的硬件仿真平台,使单片机的学习、实验、开发,显得简单、容易而富有乐趣,许多设计在计算机仿真中就可得知结果。有了BASCOM-AVR,使大规模地推广普及AVR单片机成为可能,为许多高端嵌入式系统设计提供了优秀的解决方案。
2 硬件电路的设计
2.1 CPU模块的设计
ATmegs8是ATMEL公司在2002年第一季度推出的一款新型AVR高档单片机。ATmegs8内部集成有丰富的硬件接口电路,2个具有比较模式的预分频器(Separate Prescale)的8位定时/计数器。1个预分频器(Separat Prescale),具有比较和捕获模式的16位定时/计数器,1个具有独立振荡器的异步实时时钟(RTC),3个PWM通道,可实现任意<16位、相位和频率可调的PWM脉宽调制输出,8通道A/D转换(TQFP、MLF封装),6路10位A/D+2路8位A/D,6通道A/D转换(PDIP封装),4路10位A/D+2路8位A/D,1个I2C的串行接口,支持主/从、收发四种工作方式,支持自动总线仲裁,1个可编程的串行USART接口,支持同步、异步以及多机通信自动地址识别,1个支持主/从(Master/Slave)、收/发的SPI同步串行接口,带片内RC振荡器的可编程看门狗定时器,片内模拟比较器。围绕核心芯片所设计的CPU模块如图2所示。
图中的复位电路RESET有二种选择:外部复位,J10必须插上短路块;或PC6作I/O口用,J10拔出短路块。
图中的晶振电路XTAL1和XTAL2分别是片内振荡器的反向放大器的输入、输出端,外接一个晶体振荡器,通过对熔丝位CKOPT编程和设定C9、C10的取值范围(12μm~22 μm)使ATmega8有较宽的工作频率范围(3.O MHz~8.0 MHz)。晶振有两种选择:外接8 MHz无源晶振,(也可外接8 MHz有源晶振,当外接无源晶振不能起振时,用有源晶振就能解决问题,超频也能起振),或用内部RC振荡器。当J11与J12插上短路块时,为用外接无源晶振;当J11与J12不插短路块时,则用ATmega8内部振荡器。
另外,模块还设计有JTAG接口和ISP编程接口(ISP即in-System Programmable)。JTAG接口可以通过下载器将单片机与微型计算机的并行接口连接。ISP编程接口是在线下载或读取芯片内部程序时用的,各引脚的含义如图3所示。其中l脚与ATmega8的PB3连接。4、6、8、lO接地,5脚与ATmega8的PC6连接,7脚与ATmesa8的PB5连接,9脚与ATmega8的PB4连接。
2.2 下载器模块
下载器由接口板和连接电缆组成。接口板的原理图见图4。图中U201是8缓冲器74HC244电路,用作计算机并口和单片机的缓冲隔离。连接器CN202是通用的DB25针插头,与上位机连接,进行通信;其中4、5脚控制U201芯片,在其低电平时允许数据正常传输,高电平时74HC244的输出呈高阻状态;7脚输出数据到单片机;6脚是时钟信号;9脚是输出复位信号;10脚是接收从单片机读出的数据。下载电缆采用10芯扁平电缆,两头压有IDC插头。一端接下载器,另一端接最小系统板上的ISP口JP1。
2.3 实验仪其他电路设计
2. 3. 1 A/D转换电路
图5为A/D转换电路,ATmega8内部有一个1O位精度的A/D转换器,其精度是±2LSB,非线性度为O.5 LSB,转换时间为65μs~260μs,PC0~PC3模拟输入通道的转换精度是10位,PC4~PC5模拟输入通道的转换精度是8位,本实验仪使用PC5输入,参考电压Vref采用芯片内部提供的参考电压,在外部用电容C5和C6将引脚接地可以提高ADC部分的抗干扰能力。通过调节W1可以改变输入的电压。CZ4为外部A/D转换接口。
2.3.2 LED显示与脉宽调制电路
为了配合学生基本I/O口设计要求,在实验仪上扩展有LED/LCD显示接口电路和脉宽调制电路,如图6所示。
脉宽调制电路利用ATmega8单片机的一个输出端子OC2,是PB3引脚的第二功能,可以作为比较匹配输出或PWM输出。在实验板上将跳线器J6断开即是PWM的输出。该输出的PWM除了可以直接驱动直流电动机的PWM驱动信号,还可以经过RC平滑滤波用做数字量/模拟量转换。另外,使用PWM驱动,功率半导体器件的功耗大大低于模拟信号驱动。
2.3.3 I2C电路和串行接口的设计
I2C电路为由AT24C02芯片与串行TWI总线(PC4、PC3)连接形成的。其中PC4为SCL时钟线,PC2为SDA数据线,通过AT24C02芯片形成I2C总线器1/4(图略)。串行接口电路分为与PC机的通信接口和两个单片机之间的通信接口,见图7中的CZ3(CON3单片机串行通信接口)和CZ4(CON2单片机与PC机串行通信接口)。CZ2是RS232接口,可做PC机与ATmega8的异步串行UART通讯用,可把PC机屏幕作为用户显示终端使用,可充分利用PC机资源。
在使用该接口与微机进行通信时使用RS-232接口线,RS-232属于单端信号传送,适应于短距离或带调制解调器的通讯场合。
经过以上电路的设计,根据电路原理完成的PCB板的制作,焊接相应元器件并进行调试后形成的实验仪硬件开发板如图8所示。
3 BASCOM-AVR集成开发软件
ATMEL公司的AVR系列单片微控制器是基于新的精简指令RISC结构的,其开发目的就是在于能采用高级语言编程,从而能高效地开发出目标产品。目前国际上已有许多公司推出了C、Basic等基于高级程序设计语言的AVR开发软件和平台。基于ATmega8的实验开发板上使用以BASIC语言为手段开发平台一BASCOM-AVR。它的程序设计简洁、方便,专用的面向各种通用接口,且具有功能强大的语句,实物图形化的仿真平台等特点,配合AVR单片微控制器程序存储器可多次编程在线下载的优点,使学习和使用AVR单片微控制器变得十分容易。
4 总结与展望
基于ATmega8单片机实验仪上集成了LCD液晶显示模块、LED数码管显示模块、键盘模块、A/D和D/A转换模块、通用I/O接口模块、通讯接口模块等常用实验模块,利用AVR单片机开发实验基本系统,可以完成一些基本的实验,满足学生基本实验的要求;同时板间预留有可扩展的空间以满足学生进行创新设计、综合课程设计、课外科技活动和毕业设计等课程的实践训练活动要求,该实验系统经机电专业07级、08级,电子技术07级08级学生的试用,效果较为显著。不但实现了将实验室搬进寝室,而且激发了学生的学习兴趣,培养学生的动手能力和创新能力,为今后快速适应工作岗位打下坚实的基础。