STK600開發套件有相當大的輔助開發價值,這是筆者見過評估AVR MCU的最全方位的工具了,估計曾經有那么一段時間把多少單純的小朋友帶到AVR的世界,從此一發不可收拾,半身蹉跎于AVR,應證了“為AVR生,為 AVR死”,這真是罪魁禍首。但是,這世界同樣不缺少那啥來著“牡丹花下死,做鬼也風流",筆者同樣愿意當一個”被虐的黃蓋“,去嘗試下STK600開發套件更多的功能。
串口
說到串口,在電子行業摸爬滾打的小伙伴基本都不陌生,筆者也大有”這也太小兒科的思想“,沒想到一上來就碰釘子了,首先,STK600開發套件中并 沒有為你準備5星級服務,在你使用各個功能的時候你會發現缺斤少兩的現象,就說這RS232串口,需要自己額外準備一根9-pin的D-SUB接口線(一 頭公頭、一頭母頭)。
串口的例程可以在Atmel Studio6.1中找到,這里筆者編譯、下載了一個UART interrupt example for the ATmega2560例程。問題又來,波特率沒有明說該設置多少,筆者是在代碼中找到的,可能是Atmel公司想教我們一個道理“自己動手,方能豐衣足 食。”可惜筆者未能好好參透,還是喜歡一條龍服務,是不是有點不上進啊。
打開超級終端,設置參數,無論如何操作,超級終端都無信息打印,急得團團轉的時候看到串口原理框圖頓時淚奔,這不是坑爹嘛,這RX、TX信號線都沒連上MCU,跟MCU半點關系都沒。
但這下至少有方向了,首先需要讓RX、TX建立跟MCU Atmega2560之間的聯系。
RS232的備用接口好找,問題是不知道怎么跟MCU的信號線相連,還需要查找ATMEGA2560的datasheet,很麻煩,但是木有別的辦法。
其實操作還是很簡單方便,只需知道方法。按照SPEC指示,將RX、TX信號線正確連接
這下萬事俱備了,默數3、2、1上電
Bingo!
原本代碼中設置輸出打印的是"Hello,World!"太膩味了,筆者在代碼中查看波特率設置的時候順手改成了"Hello,eeboard",看起來舒服多了...
CAN相比串口來說,沒能達到耳熟能詳的地步,但是就其地位,也是一方諸侯,究其原因,它掌控著汽車上的通訊系統,你能想象現在沒有汽車的樣子嗎? 這下我們不得不帶著虔誠的態度去了解下它的背景。CAN總線由德國BOSCH公司開發出,一開始主要應用于汽車工業,但是因為其突出的特點,高性能、高可 靠性,現在廣泛應用在機械工業,數控機床,醫療器械等更多的領域。有點類似“無心插柳柳成蔭”的樣子。
CAN主要的三層結構為:物理層、數據鏈路層、應用層。
現在再回頭來看STK600,其也搭載了一個CAN模塊電路。
CAN收發器是Atmel公司自家的產品 ATA6660,支持差分串行總線標準
在STK600開發板中實際應用
通過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總線更加適用。
STK600開發套件使用的LIN收發器為Atmel的ATA6661,支持LIN 2.0規范,緊挨著RS232串口,其待遇可見一般,十足是個跟班的命。
ATA6661外部接口很少,同樣,在STK600開發板中的電路也相對要簡單
在搭載設備板的STK600開發板上,其應用在LIN總線既可以作為主設備,又可作為從設備,而在總線上運行的應用作為主設備時必須連接M LIN跳帽,將LIN信號上拉至BAT。BAT的電壓要求5~12V之間,而且必須從外部供電。
通過另一端的6PIN接口座,可以連接MCU,通常MCU通過UART來實現LIN總線傳輸,需要注意的是NSLP信號線必須接高電平確保LIN總線輸出時不會進入睡眠模式。
隨著汽車行業的發展,CAN總線和LIN總線可以說是相互依存的,只是說LIN相對應用范圍狹窄,專注于汽車電子,而CAN總線發展的規模宏大,涉足行業越來越廣闊。
小結
主要介紹了STK600開發套件上串口、CAN總線以及LIN總線的功能,這三者都是目前在 行業應用廣泛的接口,CAN總線和LIN總線相互依存,LIN總線的實現又可以依托串口來實現,原本為汽車電子行業而誕生的CAN總線已經擴展到各行各 業,而針對汽車電子而生的LIN總線在某些方面有著CAN總線無法比擬的性價比,大有青出于藍而勝于藍的趨勢。而串口對于我們來說雖然一如既往,平平淡 淡,但卻真真切切無法被取代。
-
CAN總線
+關注
關注
145文章
1936瀏覽量
130628 -
AVR
+關注
關注
11文章
1122瀏覽量
78582 -
Atmel
+關注
關注
17文章
311瀏覽量
107160
原文標題:ATMEL SKT600開發板的“另類”體驗
文章出處:【微信號:Atmel_community,微信公眾號:Atmel中文社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論