ATMEL SKT600开发板的“另类”体验

相信到目前为止,全球AVR的追随者数量超过2的N次方级别(N小于等于笔者的想象),那你又是否知道AVR如何诞生的?昨天,无意之中翻看了下AVR的历史,顿感有趣,尤其对AVR的命名的由来,不禁莞尔。以现在人们的眼光来看待,我们应该庆幸不是S先生和B先生研发出了这种内置增强型FLASH技术的RISC精简指令集高速8位单片机,不然,我想Atmel的XXR单片机的销量会够呛,或者也有可能会更好,谁知道呢?世界不缺少另类,况且另类通常能脱颖而出。对于一直热衷于AVR单片机的朋友,我想有必要知道下AVR的历史轨迹,这可是你的权利。

如果说Long Long time ago,有人对我说,AVR的世界,你不懂。我想我的反应会很剧烈,甚至于将这么说的人海扁一顿,但现在,好吧,我承认,离AVR的中心世界,我还有好一段距离。上周,爱板网评测的STK600开发套件的确有相当大的辅助开发价值,这是我见过评估AVR MCU的最全方位的工具了,估计曾经有那么一段时间把多少单纯的小朋友带到AVR的世界,从此一发不可收拾,半身蹉跎于AVR,应证了“为AVR生,为AVR死”,这真是罪魁祸首。但是,这世界同样不缺少那啥来着“牡丹花下死,做鬼也风流",笔者同样愿意当一个”被虐的黄盖“,去尝试下STK600开发套件更多的功能。

串口

说到串口,在电子行业摸爬滚打的小伙伴基本都不陌生,笔者也大有”这也太小儿科的思想“,没想到一上来就碰钉子了,首先,STK600开发套件中并没有为你准备5星级服务,在你使用各个功能的时候你会发现缺斤少两的现象,就说这RS232串口,需要自己额外准备一根9-pin的D-SUB接口线(一头公头、一头母头)。

ATMEL SKT600开发板的“另类”体验

串口的例程可以在Atmel Studio6.1中找到,这里笔者编译、下载了一个UART interrupt example for the ATmega2560例程。问题又来,波特率没有明说该设置多少,笔者是在代码中找到的,可能是Atmel公司想教我们一个道理“自己动手,方能丰衣足食。”可惜笔者未能好好参透,还是喜欢一条龙服务,是不是有点不上进啊。

ATMEL SKT600开发板的“另类”体验

打开超级终端,设置参数,无论如何操作,超级终端都无信息打印,急得团团转的时候看到串口原理框图顿时泪奔,这不是坑爹嘛,这RX、TX信号线都没连上MCU,跟MCU半点关系都没。

ATMEL SKT600开发板的“另类”体验

但这下至少有方向了,首先需要让RX、TX建立跟MCU Atmega2560之间的联系。

ATMEL SKT600开发板的“另类”体验

RS232的备用接口好找,问题是不知道怎么跟MCU的信号线相连,还需要查找ATMEGA2560的datasheet,很麻烦,但是木有别的办法。

ATMEL SKT600开发板的“另类”体验

ATMEL SKT600开发板的“另类”体验

其实操作还是很简单方便,只需知道方法。按照SPEC指示,将RX、TX信号线正确连接

ATMEL SKT600开发板的“另类”体验

这下万事俱备了,默数3、2、1上电

ATMEL SKT600开发板的“另类”体验

Bingo!

ATMEL SKT600开发板的“另类”体验

原本代码中设置输出打印的是"Hello,World!"太腻味了,笔者在代码中查看波特率设置的时候顺手改成了"Hello,eeboard",看起来舒服多了...

CAN控制器局域网络

CAN相比串口来说,没能达到耳熟能详的地步,但是就其地位,也是一方诸侯,究其原因,它掌控着汽车上的通讯系统,你能想象现在没有汽车的样子吗?这下我们不得不带着虔诚的态度去了解下它的背景。CAN总线由德国BOSCH公司开发出,一开始主要应用于汽车工业,但是因为其突出的特点,高性能、高可靠性,现在广泛应用在机械工业,数控机床,医疗器械等更多的领域。有点类似“无心插柳柳成荫”的样子。

CAN主要的三层结构为:物理层、数据链路层、应用层。

ATMEL SKT600开发板的“另类”体验

CAN分层结构以及功能

现在再回头来看STK600,其也搭载了一个CAN模块电路。

ATMEL SKT600开发板的“另类”体验

CAN收发器是Atmel公司自家的产品 ATA6660,支持差分串行总线标准

ATMEL SKT600开发板的“另类”体验

 ATA6660原理框图

在STK600开发板中实际应用

ATMEL SKT600开发板的“另类”体验

通过Atmel 自家设计的 ATA6660 CAN收发器,电路变得再为简单不过了,只需搭载几个电阻电路,一切就顺理成章的完成了。怪不得现在都说软件工程师吃香,硬件电路设计工程师都快没饭吃了。。。当然,这个是只是玩笑,我们来看看CAN模块电路中的几个特殊接口TERM、SPLIT、SLOPE CTRL是不是另有玄机。

  • TERM:在CAN波特率大于100 Kb/s,需要连接跳帽,这相当于在CAN-H和CAN-L信号线间加了一个124欧姆的电阻
  • SPLIT:此跳帽主要是将CAN-H、CAN-L信号上拉
  • SLOPE CTRL:此跳帽无论连接哪个位置都是将RS信号下拉,以调整CAN信号斜率以及防止信号瞬变

有些遗憾,Atmel Studio6.1没有提供针对ATMEGA2560的CAN例程,无法实现CAN功能的演示,颇为失望。

LIN总线

汽车的“廉价”导致了家用汽车的普及,可能在某些城市,上班出行用到的交通工具又回到了绿色环保的自行车,方便快捷。而专门针对汽车的CAN总线通讯系统在一些廉价的汽车上似乎有些大材小用,于是,应运而生了LIN总线,这是CAN总线的辅助扩展。你也可以理解为LIN总线是CAN总线的小跟班,基本不需要硬件基础,LIN总线硬件的实现可以是基于普通的串行通信接口(SCI),甚至在子节点中可以用普通I/O口加上定时器进行模拟。它的存在,无疑是在廉价汽车上性价比高,比CAN总线更加适用。

ATMEL SKT600开发板的“另类”体验

LIN总线电路在STK600上的布局

STK600开发套件使用的LIN收发器为Atmel的ATA6661,支持LIN 2.0规范,紧挨着RS232串口,其待遇可见一般,十足是个跟班的命。

ATMEL SKT600开发板的“另类”体验

ATA6661收发器原理框图

ATA6661外部接口很少,同样,在STK600开发板中的电路也相对要简单

ATMEL SKT600开发板的“另类”体验

LIN总线的电路原理图

在搭载设备板的STK600开发板上,其应用在LIN总线既可以作为主设备,又可作为从设备,而在总线上运行的应用作为主设备时必须连接M LIN跳帽,将LIN信号上拉至BAT。BAT的电压要求5~12V之间,而且必须从外部供电。

ATMEL SKT600开发板的“另类”体验

通过另一端的6PIN接口座,可以连接MCU,通常MCU通过UART来实现LIN总线传输,需要注意的是NSLP信号线必须接高电平确保LIN总线输出时不会进入睡眠模式。

随着汽车行业的发展,CAN总线和LIN总线可以说是相互依存的,只是说LIN相对应用范围狭窄,专注于汽车电子,而CAN总线发展的规模宏大,涉足行业越来越广阔。

小结

主要介绍了STK600开发套件上串口、CAN总线以及LIN总线的功能,这三者都是目前在行业应用广泛的接口,CAN总线和LIN总线相互依存,LIN总线的实现又可以依托串口来实现,原本为汽车电子行业而诞生的CAN总线已经扩展到各行各业,而针对汽车电子而生的LIN总线在某些方面有着CAN总线无法比拟的性价比,大有青出于蓝而胜于蓝的趋势。而串口对于我们来说虽然一如既往,平平淡淡,但却真真切切无法被取代。

参考资料

  • Atmel商城
  • ATMEGA2560微控制器
  • STK600开发套件
  • Atmel Studio开发环境

 原创申明:本文为爱板网原创,谢绝转载! 

相信到目前为止,全球AVR的追随者数量超过2的N次方级别(N小于等于笔者的想象),那你又是否知道AVR如何诞生的?昨天,无意之中翻看了下AVR的历史,顿感有趣,尤其对AVR的命名的由来,不禁莞尔。以现在人们的眼光来看待,我们应该庆幸不是S先生和B先生研发出了这种内置增强型FLASH技术的RISC精简指令集高速8位单片机,不然,我想Atmel的XXR单片机的销量会够呛,或者也有可能会更好,谁知道呢?世界不缺少另类,况且另类通常能脱颖而出。对于一直热衷于AVR单片机的朋友,我想有必要知道下AVR的历史轨迹,这可是你的权利。

如果说Long Long time ago,有人对我说,AVR的世界,你不懂。我想我的反应会很剧烈,甚至于将这么说的人海扁一顿,但现在,好吧,我承认,离AVR的中心世界,我还有好一段距离。上周,爱板网评测的STK600开发套件的确有相当大的辅助开发价值,这是我见过评估AVR MCU的最全方位的工具了,估计曾经有那么一段时间把多少单纯的小朋友带到AVR的世界,从此一发不可收拾,半身蹉跎于AVR,应证了“为AVR生,为AVR死”,这真是罪魁祸首。但是,这世界同样不缺少那啥来着“牡丹花下死,做鬼也风流",笔者同样愿意当一个”被虐的黄盖“,去尝试下STK600开发套件更多的功能。

串口

说到串口,在电子行业摸爬滚打的小伙伴基本都不陌生,笔者也大有”这也太小儿科的思想“,没想到一上来就碰钉子了,首先,STK600开发套件中并没有为你准备5星级服务,在你使用各个功能的时候你会发现缺斤少两的现象,就说这RS232串口,需要自己额外准备一根9-pin的D-SUB接口线(一头公头、一头母头)。

ATMEL SKT600开发板的“另类”体验

串口的例程可以在Atmel Studio6.1中找到,这里笔者编译、下载了一个UART interrupt example for the ATmega2560例程。问题又来,波特率没有明说该设置多少,笔者是在代码中找到的,可能是Atmel公司想教我们一个道理“自己动手,方能丰衣足食。”可惜笔者未能好好参透,还是喜欢一条龙服务,是不是有点不上进啊。

ATMEL SKT600开发板的“另类”体验

打开超级终端,设置参数,无论如何操作,超级终端都无信息打印,急得团团转的时候看到串口原理框图顿时泪奔,这不是坑爹嘛,这RX、TX信号线都没连上MCU,跟MCU半点关系都没。

ATMEL SKT600开发板的“另类”体验

但这下至少有方向了,首先需要让RX、TX建立跟MCU Atmega2560之间的联系。

ATMEL SKT600开发板的“另类”体验

  • ATMEL SKT600开发板的“另类”体验已关闭评论
    A+
发布日期:2019年07月03日  所属分类:参考设计