今天发个文章纯属闲的无聊了,吐槽吐槽。
自己是用51单片机入门到嵌入式这个行业的,后面接着有机会用到了MSP430和一些其它的单片机。以前可能自己见识太窄,并没有接触过atmel的产品,感觉市场上充斥着最多的atmel的产品就是arduino,可是我对arduino一直没什么兴趣。第一次使用atmel的接触的是SAM4S系列的。
因为ST、TI有时候会免费送一些评估板,也是开心的不行。Atmel公司这方面要努力哦
。
市场上ST的的教材也比较多,atmel的教程就比较少,SAM4 系列的书更少了,貌似目前为止,国内只有一本,那本书也是基本翻译的数据手册。这次有幸有接触了Atmel R21。板子的做工确实要比ST以及TI的评估板要好的多。我用的几块板子,是Made in Malaysia,每个板子都有S/N序列号,感觉好高大上。因为配置比较复杂,没有向ST那样提供那么精简的固件库。所以我并没有用IAR做过多的开发。图省事,直接使用atmel Studio 做的开发。
Atmel studio 提供的Atmel studio 开发环境,Atmel 在架构中添加了ASF(
Atmel SoftWarre Framework),感觉是atmel想让开发者独立于硬件来开发产品,减少项目开发时间。打开速度和编译东西都比较慢,可能是要兼容Atmel 全系列的产品,随处可见的选择性编译语句,所以编译什么比较慢。
但是atmel studio 中提供了很多的例程,如下:
图1: Example
添加功能如定时器等也是挺简单的,直接在工程右键添加,选择相应的功能即可。
总体对atmel开发板的感觉是:做工太太太精致,有点小贵,国内资料略少,AS编译太慢。
一、ZigBee
ZigBee协议栈 和 ZigBee协议 有什么不同呢,协议是一种规定,而协议栈是对协议的具体实现方法。各个厂商的协议栈的实现方法可能不同,虽然协议是相同的,但会出现一个兼容性的问题。 ZigBee是基于IEEE802.15.4标准的低功耗、短距离传输的局域网协议。ZigBee联盟定义了NWK(网络层)、APS(应用程序支持子层)、APL(应用层)技术规范。IEEE 802.15.4定义了PHY(物理层)和MAC(介质访问层)技术规范。
图2:ZigBee协议栈
ZigBee节点所属类别主要分三种:
协调器(Coodinator)、路由器(Router)、终端(End Device)
同一网络中至少需要一个协调器,也只能有1个协调器,负责各个节点16位地址分配(自动分配)、理论上可以连上65536个节点。
图3:组网示意图
Zigbee的通讯方式:点播、组播、广播
点播:点对点通信,也就是2个设备之间的通讯,不容许有第三个设备收到信息。
组播:就是把网络中的节点分组,每一个组员发出的信息只有相同组号的组员才能收到。
广播:最广泛的也就是1个设备上发出的信息所有设备都能接收到。 这也是ZigBee通信的基本方式。 ZigBee、Bluetooth和wifi大家可能对后两个接触的比较多,他们都是在2.4GHz频段的(除wifi也可以在5GHz),下面就只用性能标准来对比一下
图4:wif、bluetooth、wifi对比
二、小对比一下
I:Atmel R21
图5:R21 框架图
R21 集成了一个ARM的Cortex -M0的内核,32位的处理器,性能还是不错的。
模拟射频模块如下:
图6:射频模块
由
图1: Example
可以看出Atmel在无线这块资料还是蛮多的, atmel SAM R21 的开发板,配备了两个天线,一个是陶瓷天线,一个是SMA接口的天线,通过一个模拟开关,切换。真是良心企业。
II:CC2530
The CC2530 is a true system-on-chip (SoC) solution for IEEE 802.15.4, Zigbee and RF4CE applications。
图7:CC2530 TI
图8:CC2530 框架图
图9:CC2530 开发板
CC2530跑的是TI的z-stack。
III:JN5168
之所以在这里介绍一下这个单片机,我并没有用过,只不过是小米的智能家居并没有采用CC2530也没有采用Atmel的方案,而是采用的NXP的JN5168,所以这里简单的小窥一下这个JN5168。
图10:JN5618
图11:JN5618框架图
可以看出JN5618 也是有一个精简指令集的32位处理器。
这里吐槽结束了,希望atmel在国内能加大宣传力度多举办一些活动。并且,希望板子可以不要那么贵。。。。
希望ZigBee能够统一标准,大家都采用相同的协议栈。早早的实现智能家居,以及物联网。
让家电也可以说话跟人沟通,能 “听懂” 人们意思。