在32位微控制器市场,ARM大有一统江湖的趋势。不过面对现实世界的各种应用,8位机还是有很大用武之地。各大原厂在推出ARM内核微控制器同时,也在不断丰富优化自己特有内核的产品系列,以满足市场复杂的需求。AVR、PIC、STM8等等这些经典的8位机内核也在不断进化推出各种产品系列。尤其是开源硬件Arduino的流行更是焕发了AVR微控制器的青春,大家意识到这些经典的微控制器不仅使用简单而且功能不弱完全能满足很多特定的应用。近日收到Atmel官方的一款8位微控制器评估板——Atmega168 Xplained Mini,这是一个Xplained平台的迷你评估板,下面向大家详细介绍下。
包装还是很精致,Atmel一贯的风格,只是Mini的盒子也小一号。
打开盒子,不愧是Mini版,非常简单的设计,一目了然。连USB连接器都省了,直接在印制板上做了USB插头形状,可以直接插入电脑USB口,这样USB连接线也不需要了。
Atmel一贯的蓝色PCB板,原厂的评估板做工确实不错,即便两层板厚度也达到了2mm。
Atmega168 Xplained Mini其实可以看做是Atmega168微控制器的最小系统板,板上最复杂的部分都是Atmel的EDBG板载调试器电路。评估板完全符合DIY的精神,不仅预留了Arduino R3版兼容扩展接口,而且预留了大面积的原型区(可以当做洞洞板),用户可以自由的扩展DIY。
评估板唯一安装的扩展接口是10脚的JTAG调试接口(间距1.27mm),用于板载调试器电路的微控制器编程调试。尽管电路很简单,我们还是先来看看评估板上的资源吧。
- EDBG调试器:采用了微控制器Atmega32U4
- JTAG接口:2x5 pin, 间距1.27mm
- 微控制器Atmega168PA:最大工作频率20MHz,片上16Kb Flash,最大可用I/O数23个,32pin TQFP封装
- 复位按键
- 2个LED
- SPI接口
- Arduino R3接口
- USB接口
- 原型区:预留焊接点(洞洞板)
可以看出评估板上主要的部分反而是EDBG USB调试器电路,这倒是可以作为一个标准电路参考。不过因为USB接口是直接做在PCB板上,而且并没有USB电压保护电路,这还是有一些隐患。
Atmeg168PA微控制器的供电是由Atmega32U4来控制,所以如果Atmega32U4程序没工作起来,Atmega168PA是没有电源的。看看评估板的背面,你会发现有一个小飞线,这在产品里是比较少见的。看了一下原理图,这条飞线是连接时钟的,因为Atmega168PA的时钟可以接外部时钟,由上一级Atmega32U4所提供16MHz时钟信号,当然如果断开的话Atmega168PA也可以使用内部时钟。可以选择时钟提供了一些灵活性,不管怎么说这种飞线比较少见,只能说当初布线时没考虑周全。
推荐开发板
- Atmel ATQT600电容触摸开发套件 完整的电容触摸功能开发套件包括按键、滑块以及滚动
- Atmel ATEVK1105 AT32UC3A0开发套件 基于32位AVR微控制器的Hi-Fi音频解码和流媒体应用
瑕不掩瑜,我们还是来了解下评估板上的主控制器Atmega168PA。虽然只是8位的RISC架构微控制器,但是片上资源也很丰富。其最大的特点是可以在系统编程(In-system programming)和片上调试(On-chip debug),而且支持5种Power save模式功耗极低。Atmega168PA的大部分指令只需要单周期操作,而且片上Flash资源达到16KB,能满足一些大代码应用。
- 最大工作频率20MHz
- 16KB Flash、512B EEPROM、1KB SRAM
- 最大23用户可用I/O,32 pin TQFP封装
- 集成USART、SPI、TWI、计数器、看门狗等
- 支持8通道10位 ADC
- 集成内部晶体振荡器、温度传感
- 宽工作电压1.8V-5.5V
下面来上电看看评估板的工作。首先推荐使用Atmel的开发工具Atmel Studio,尽管可以使用其他的AVR开发工具,Atmel Studio还是最适合。Atmel Studio是官方推出的免费开发工具,目前支持AVR和Atmel ARM内核微控制器开发。Atmel Stduio最大的优点是集合了几乎所有设计开发需要用到的资源,包括评估板硬件文档、驱动、各种软件文档、例程所有你需要的文档几乎都能找到。用户不需要再到处查找驱动文件或者数据手册、说明文件等等。最新的版本已经到了Atmel Studio6.2,其中最惊喜的是现在其中也集成了对Arduino IDE的支持。
上电之后,如果你安装了Atmel Stduio就不用担心USB驱动问题,会自动识别EDBG接口。EDBG是Atmel特有的板载调试器,不仅省去了外部调试工具,而且生成虚拟串口可以用于与主机通信。EDBG调试器大大方便了评估板的调试,如果你用过Arduino的话,肯定有过不能调试程序的烦恼,即使用ISP接口也需要外部调试工具。
Demo程序
评估板预置了demo程序,这个程序很有意思,并不是简单的点亮LED功能。而是一个morse编解码的程序,可以通过串口程序窗口互动。简单的说就是评估板能把串口输入的字符解码为morse编码来驱动LED亮和灭,同样的我们按下评估板的按键动作也可以解码为字符在串口程序显示。程序初始化时会发送ATMEL五个字符的morse码。
在串口发送字符可以解码通过LED现实,同样的通过评估板按键操作可以解码在串口窗口显示。
推荐开发板
- Atmel ATAVRBC100评估套件 基于tinyAVR8位微控制器的电池充放电参考设计
- Atmel AVRTS2080A QTouch评估套件 基于ATmega88微控制器的最理想QTouch触摸软件库评估工具
程序调试
Demo程序可以在官网下载。Atmega168 Xplained Mini评估板最大的改进是可以通过板载EDBG调试AVR控制器。之前的AVR控制器调试都需要外部的调试工具比如AVR DRAGON、JTAGICE等等。下面我们来看看如何用EDBG调试下载程序。
利用一个简单的按键翻转LED的程序,编译通过后首先试试Debug。在菜单里选择Project->Properties...弹出设置窗口。在Tool标签下选择mEDBG和debugWire。
设置完成后选择菜单Debug-Start Debugging and Break,就进入调试界面,可以开始程序调试,单步运行或者设置断点等等。
评估板还可以通过EDBG连接微控制器的ISP接口直接下载烧录程序。选择菜单Tools->Device Programming,弹出设置窗口。然后Tool选择mEDBG,Device下选择Atmega168PA,Interface下选择ISP。Apply之后直接在Memory标签开始编程。
Atmega168 Xplained Mini评估板虽然简单,但是自由度非常大。我们还可以通过板上的ISP接口来调试下载程序,通过JTAG对Atmega32U4控制器进行编程,尤其是Arduino兼容的接口使得评估板也可以变作一个mini版的Arduino控制器,如何运用等待大家的发掘。
小结
介绍了Atmel最新的Atmega168 Xplained Mini评估板。可以支持板载EDBG调试器,可以直接调试编程8位的AVR微控制器Atmega168PA,无需额外调试工具,使用更方便。评估板兼容Arduino R3版扩展接口,应用范围更广,板上预留的原型区使得评估板的使用灵活度更高,非常适合各种DIY。
作者:zxq6
参考资料
- Atmega168 Xplained Mini评估板
- Atmel中文论坛
- Atmel ATMEGA168PA微控制器
- Atmel IDE开发工具Atmel Studio6.2
推荐开发板
- Atmel ATSTK600 最实用AVR/AVR32微控制器入门套件,包括ST板600主板以及JTAGICE调试器
- Arduino R3版入门开发套件 最流行开源硬件平台
原创申明:本文为爱板网原创,谢绝转载!
在32位微控制器市场,ARM大有一统江湖的趋势。不过面对现实世界的各种应用,8位机还是有很大用武之地。各大原厂在推出ARM内核微控制器同时,也在不断丰富优化自己特有内核的产品系列,以满足市场复杂的需求。AVR、PIC、STM8等等这些经典的8位机内核也在不断进化推出各种产品系列。尤其是开源硬件Arduino的流行更是焕发了AVR微控制器的青春,大家意识到这些经典的微控制器不仅使用简单而且功能不弱完全能满足很多特定的应用。近日收到Atmel官方的一款8位微控制器评估板——Atmega168 Xplained Mini,这是一个Xplained平台的迷你评估板,下面向大家详细介绍下。
包装还是很精致,Atmel一贯的风格,只是Mini的盒子也小一号。
打开盒子,不愧是Mini版,非常简单的设计,一目了然。连USB连接器都省了,直接在印制板上做了USB插头形状,可以直接插入电脑USB口,这样USB连接线也不需要了。
Atmel一贯的蓝色PCB板,原厂的评估板做工确实不错,即便两层板厚度也达到了2mm。
Atmega168 Xplained Mini其实可以看做是Atmega168微控制器的最小系统板,板上最复杂的部分都是Atmel的EDBG板载调试器电路。评估板完全符合DIY的精神,不仅预留了Arduino R3版兼容扩展接口,而且预留了大面积的原型区(可以当做洞洞板),用户可以自由的扩展DIY。
评估板唯一安装的扩展接口是10脚的JTAG调试接口(间距1.27mm),用于板载调试器电路的微控制器编程调试。尽管电路很简单,我们还是先来看看评估板上的资源吧。
- EDBG调试器:采用了微控制器Atmega32U4
- JTAG接口:2x5 pin, 间距1.27mm
- 微控制器Atmega168PA:最大工作频率20MHz,片上16Kb Flash,最大可用I/O数23个,32pin TQFP封装
- 复位按键
- 2个LED
- SPI接口
- Arduino R3接口
- USB接口
- 原型区:预留焊接点(洞洞板)
可以看出评估板上主要的部分反而是EDBG USB调试器电路,这倒是可以作为一个标准电路参考。不过因为USB接口是直接做在PCB板上,而且并没有USB电压保护电路,这还是有一些隐患。
Atmeg168PA微控制器的供电是由Atmega32U4来控制,所以如果Atmega32U4程序没工作起来,Atmega168PA是没有电源的。看看评估板的背面,你会发现有一个小飞线,这在产品里是比较少见的。看了一下原理图,这条飞线是连接时钟的,因为Atmega168PA的时钟可以接外部时钟,由上一级Atmega32U4所提供16MHz时钟信号,当然如果断开的话Atmega168PA也可以使用内部时钟。可以选择时钟提供了一些灵活性,不管怎么说这种飞线比较少见,只能说当初布线时没考虑周全。
推荐开发板
- Atmel ATQT600电容触摸开发套件 完整的电容触摸功能开发套件包括按键、滑块以及滚动
- Atmel ATEVK1105 AT32UC3A0开发套件 基于32位AVR微控制器的Hi-Fi音频解码和流媒体应用