8位MCU中的佼佼者——AT90USB KEY2套件评测
扫描二维码
随时随地手机看文章
在20世纪最值得人们称道的成就中,就有集成电路和MCU的发展。进入21世纪后,MCU的发展更是迅速。
笔者接触过很多公司的MCU,但是他们的内核大多是ARM或者8051,所以开发方式总是类似的。而这次新拿到的则是Atmel公司的一款基于AVR内核的板卡,这对于笔者也是一个全新的学习过程。就目前来看,虽然ARM内核的MCU的市场份额在不断上升,但AVR内核的MCU仍广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。
AVR单片机系列齐全,可适用于各种不同场合的要求。AVR单片机大致可分为3个档次:低档Tiny系列AVR单片机;中档AT90S系列AVR 单片机(正在淘汰或转型到Mega中);高档ATmega系列AVR单片机。AT90USBKEY2是一种低成本的基于AT90USB1287(AT90S系列)单片机的开发套件。它允许工程师或者学习者快速评价AVR微控制器和AT90USB家族。将板卡直接连接到个人电脑的USB接口就可以实现快速检索相关文档,因此工程师可以较方便的运行演示程序或他们自己的应用程序。让我们一起看看AT90USBKEY2的真容吧。
一、开箱
各大半导体公司的开发套件都有着自己的特点和风格。例如STMicroelectronics的板卡大多采用透明包装、Freescale的板卡大多采用单层纸盒包装。而Atmel的板卡大多采用牛皮纸盒包装且内部分为多个小牛皮纸盒。每个牛皮纸盒印有标志性的机器人,辨识度非常高。放在手中感觉到特别厚重、充实。开发套件的外包装如下图所示:
整个套件按功能类型可大致分为三部分:
1、AT90USBKEY套件说明卡:主要介绍了如何使用Mini-Usb线连接板卡与PC机;如何使用电池对板卡进行外部供电等等。
2、外部供电线缆:主要负责板卡的外部供电,使板卡可以使用外部电池(9V电池)供电,而不必局限于USB供电。现在市面上绝大多数万用表都是用的是该种电池供电,所以此类电池也非常容易买到,消除了我们在供电方面的后顾之忧。
3、AT90USBKEY 开发板:搭载主控芯片AT90USB1287及各种可供测试的辅助外设。比如双色LED灯、Joystics、Data Flash等等。但套件并没有配备Mini-Usb线,需要用户自备。
套件全家福如下图:
板卡各部分功能说明如下图(官方配套的手册里有详细说明):
板卡的主要特性如下:
1、AT90USB QFN64封装
2、支持AVR Studio环境(相当于Atmel Studio的早期版本)
3、支持通过USB进行固件升级
4、供电指示灯
5、JTAG接口
6、串行接口
7、板载资源
4+1路操纵杆
2个双色LED
温度传感器
串行Data Flash存储器
所有I/O口均由2*8的接口引出
8、板载复位按钮
9、板载HWB按钮(在进入bootloarder模式使发挥重要作用)
10、系统时钟
8M晶振
AT90USB1287芯片主要特性如下:
1、 高性能、低功耗8位AVR处理器
2、 高效精简指令集
- 135条汇编指令,大部分为单周期执行
- 32个8位通用工作寄存器组
- 全静态操作
- 在16M频率时能达到16MIPS的数据吞吐量
- 片上2周期乘法器
3、 不可变程序存储器和数据存储器
- 128K Bytes在系统自编程FLASH
- 高达10万次的写入、擦除寿命
- 独立的锁定为控制可选的代码启动区
- 复位后,可以通过片上的硬件启动在系统编程
- 真正的边读边写操作
- 所有支持的部件都通过缺省的USB Bootloader预烧录
- 4K Bytes EEPROM,十万次写入、擦除寿命
- 支持高达64K Bytes外部存储器扩展
- 软件可以通过锁定为来进行编程锁定
4、JTAG标准接口
- JTAG边界扫描能力
- 可扩展的片上调试支持
- 可以通过JTAG烧录FLASH、EEPROM、熔丝位、锁定位
5、 USB2.0全速/低速设备、OTG
- 完全遵从USB2.0协议
- 遵从USB2.0 OTG V1.0附加协议
- 12Mbit/s(全速)、1.5Mbit/s(低速)数据传输速度
- 6、USB全速/低速设备模块支持数据传输完成中断
- 端点0用于控制传输,能达到64字节
- 6个可编程端点用来BULK传输、中断传输、同步传输
- 在双沿模式下端点长度最大可配置为256字节
- 832字节完全独立的USB端点RAM,用以端点内存分配
- 连接、挂起中断
- 上电USB总线复位
- 48MHz用以全速USB总线操作
- 微处理器可以请求USB断开连接
7、支持HNP、SRP协议,双角色设备
- 提供HNP、SRP软件执行的状态和控制信号
- 提供HNP、SRP可编程时序
8、 外设特点
- 两个八位定时器带有独立的分频器、比较模式
- 两个十六位定时器带有独立的分频器、比较模式、捕获模式
- 带独立振荡器的实时计数器
- 四个八位的PWM通道
- 六个PWM通道可编程2 – 16分辨率
- 输出比较模块
- 8通道10位AD转换
- 可编程同步/异步串口
- 主从SPI串行接口
- 以字节位基本单位的两线串行接口
- 可编程看门狗,带片上独立振荡器
- 引脚中断和唤醒
9、 微处理器特性
- 上电复位、可编程掉电检测
- 内部可校准振荡器
- 外部、内部中断源
- 六种休眠模式: IDLE模式、ADC减噪模式、省电模式、掉电模式、待机模式、扩展待机模式
10、 IO和封装
- 48个可编程IO
- TQFP64、QFN64
11、2.7 – 5.5V操作电压
12、最大频率
- 2.7V为8MHz
- 4.5V以上为16MHz[!--empirenews.page--]
芯片特写如下图
二、测试
接下来进入上电测试阶段。首先准备一根Mini-Usb线,然后用起将板卡与PC机相连,D1亮起表示板卡供电正常,效果如图所示:
接上Mini-Usb线缆后,PC机会提示发现新的硬件,并自动安装驱动,这时在设备管理器下面可以看到多了一个USB大容量存储设备,这个就是开发板模拟出的U盘,该U盘里有许多入门的资料,这对新手来讲是十分利好的,省去了大量查找资料的时间。
打开U盘后,双击Index,获取我们所需要的开发工具及驱动。从网页上可以看出,有很多种开发工具可供我们选择,考虑到用Atmel Studio的工程师比较多,我们选择此款开发工具。点击如图所示处,即可进入官网下载安装。
大家也许注意到了,图片中只有AVRStudio,而不是AtmelStudio,这是因为早期的版本只支持AVR的开发,故叫做AVRStudio。而后期Atmel公司也开始做ARM内核的单片机,故将AVRStudio更名为AtmelStudio。也就是说两者相当于一个软件的不同版本。版本号示意图如下:
这里我们简单地介绍一下Atmel Studio集成开发环境(IDE),Atmel Studio是AVR单片机的集成环境汇编级开发调试软件,完全免费。包括了AVR Assembler编译器、AVR Studio调试功能、AVR Prog串行、并行下载功能和JTAG ICE仿真等功能。
笔者安装的是Atmel Studio 6.2。安装完成后,打开软件,新建工程。
然后选择C/C++,再选择建立GCC C Executable Project。
选择megaAVR下的AT90YSB1287型号,点击OK。
至此一个完整的工程就建好了,下一步就是编写测试代码,烧写代码,观察现象。目的是检验整个开发环境是否搭建成功。
AT90USBKEY2具有两个双色LED,用来做测试再合适不过了。通过查阅板卡硬件原理图可知两个双色LED对应的驱动信号引脚。
容易发现,每一个LED灯是由两个信号共同决定的,其真值表如下:
我们的目标是让D2显示为红色,D5显示为绿色,通过上表可以看出,只需操作PORTD.4与PORTD.6两位即可。输入如下代码:
程序编写完成后,在Atmel Studio中进行编译,就生成了硬件可以执行的Hex代码。一般可以通过两种方法将程序写入单片机。一种是继续使用Atmel Studio开发环境,使用AVR JTAG ICE仿真器连接板卡与PC机,然后将程序写入;另一种是利用USB bootloader,同时用Mini-Usb线缆连接板卡与PC机,通过官方软件FLIP将程序写入。
对于第一种方案,优点是可以进行调试,方便快捷,类似于用Keil开发ARM,但其缺点是需要仿真器,第二种方案则类似于用串口直接给STC单片机下载程序,虽然流程较为繁琐,但却省去了仿真器。由于笔者手边没有AVR JTAG ICE仿真器,故采用第二种方法进行程序的烧写。
首先我们进入官网,下载官方软件FLIP。再使板卡进入bootloarder模式,具体做法为:同时按住RST键与HWB键,先松开RST键,再松开HWB键,板卡即进入bootloarder模式,此时观察设备管理器如下图:
注意松开按键顺序不能搞错。
接下来打开下载好的FLIP,进行安装,一路点确定即可,最后看到如下画面表示安装成功:
选择好单片机的型号并载入Hex文件,打开Usb通讯口,点击下载。
实验效果如下图所示:可以明显看到LED被点亮。
三、总结
AT90USBKEY2虽然是一块比较老旧的开发板,但仍然称得上老当益壮。其板载芯片AT90USB1287是目前性价比最高的AVR芯片之一,货源充足,零售价便宜。大容量的FLASH,满足绝大部分应用场合的需要,并且内置丰富、强大的功能,几乎涉及AVR芯片的所有功能。支持JTAG仿真,不需要购买较昂贵的仿真器,极大的方便了调试与下载。有直插封装,方便实验焊接。无论是工程师做测试还是学生学习都十分合适。
综上所述,AVR单片机博采众长,又具独特技术,不愧为8位机中的佼佼者。
资源下载:
1、Atmel Studio 6.2 http://pan.baidu.com/s/1i5wduFN
2、FLIP http://pan.baidu.com/s/1qYGNNze
3、测试程序 http://pan.baidu.com/s/1cuVFOE
本文系21ic原创,未经许可禁止转载