STK600開發(fā)套件有相當(dāng)大的輔助開發(fā)價(jià)值,這是筆者見過評(píng)估AVR MCU的最全方位的工具了,估計(jì)曾經(jīng)有那么一段時(shí)間把多少單純的小朋友帶到AVR的世界,從此一發(fā)不可收拾,半身蹉跎于AVR,應(yīng)證了“為AVR生,為 AVR死”,這真是罪魁禍?zhǔn)?。但是,這世界同樣不缺少那啥來著“牡丹花下死,做鬼也風(fēng)流",筆者同樣愿意當(dāng)一個(gè)”被虐的黃蓋“,去嘗試下STK600開發(fā)套件更多的功能。
串口
說到串口,在電子行業(yè)摸爬滾打的小伙伴基本都不陌生,筆者也大有”這也太小兒科的思想“,沒想到一上來就碰釘子了,首先,STK600開發(fā)套件中并 沒有為你準(zhǔn)備5星級(jí)服務(wù),在你使用各個(gè)功能的時(shí)候你會(huì)發(fā)現(xiàn)缺斤少兩的現(xiàn)象,就說這RS232串口,需要自己額外準(zhǔn)備一根9-pin的D-SUB接口線(一 頭公頭、一頭母頭)。
串口的例程可以在Atmel Studio6.1中找到,這里筆者編譯、下載了一個(gè)UART interrupt example for the ATmega2560例程。問題又來,波特率沒有明說該設(shè)置多少,筆者是在代碼中找到的,可能是Atmel公司想教我們一個(gè)道理“自己動(dòng)手,方能豐衣足 食?!笨上ЧP者未能好好參透,還是喜歡一條龍服務(wù),是不是有點(diǎn)不上進(jìn)啊。
打開超級(jí)終端,設(shè)置參數(shù),無論如何操作,超級(jí)終端都無信息打印,急得團(tuán)團(tuán)轉(zhuǎn)的時(shí)候看到串口原理框圖頓時(shí)淚奔,這不是坑爹嘛,這RX、TX信號(hào)線都沒連上MCU,跟MCU半點(diǎn)關(guān)系都沒。
但這下至少有方向了,首先需要讓RX、TX建立跟MCU Atmega2560之間的聯(lián)系。
RS232的備用接口好找,問題是不知道怎么跟MCU的信號(hào)線相連,還需要查找ATMEGA2560的datasheet,很麻煩,但是木有別的辦法。
其實(shí)操作還是很簡單方便,只需知道方法。按照SPEC指示,將RX、TX信號(hào)線正確連接
這下萬事俱備了,默數(shù)3、2、1上電
Bingo!
原本代碼中設(shè)置輸出打印的是"Hello,World!"太膩味了,筆者在代碼中查看波特率設(shè)置的時(shí)候順手改成了"Hello,eeboard",看起來舒服多了...
CAN相比串口來說,沒能達(dá)到耳熟能詳?shù)牡夭?,但是就其地位,也是一方諸侯,究其原因,它掌控著汽車上的通訊系統(tǒng),你能想象現(xiàn)在沒有汽車的樣子嗎? 這下我們不得不帶著虔誠的態(tài)度去了解下它的背景。CAN總線由德國BOSCH公司開發(fā)出,一開始主要應(yīng)用于汽車工業(yè),但是因?yàn)槠渫怀龅奶攸c(diǎn),高性能、高可 靠性,現(xiàn)在廣泛應(yīng)用在機(jī)械工業(yè),數(shù)控機(jī)床,醫(yī)療器械等更多的領(lǐng)域。有點(diǎn)類似“無心插柳柳成蔭”的樣子。
CAN主要的三層結(jié)構(gòu)為:物理層、數(shù)據(jù)鏈路層、應(yīng)用層。
現(xiàn)在再回頭來看STK600,其也搭載了一個(gè)CAN模塊電路。
CAN收發(fā)器是Atmel公司自家的產(chǎn)品 ATA6660,支持差分串行總線標(biāo)準(zhǔn)
在STK600開發(fā)板中實(shí)際應(yīng)用
通過Atmel 自家設(shè)計(jì)的 ATA6660 CAN收發(fā)器,電路變得再為簡單不過了,只需搭載幾個(gè)電阻電路,一切就順理成章的完成了。怪不得現(xiàn)在都說軟件工程師吃香,硬件電路設(shè)計(jì)工程師都快沒飯吃 了。。。當(dāng)然,這個(gè)是只是玩笑,我們來看看CAN模塊電路中的幾個(gè)特殊接口TERM、SPLIT、SLOPE CTRL是不是另有玄機(jī)。
-
TERM:在CAN波特率大于100 Kb/s,需要連接跳帽,這相當(dāng)于在CAN-H和CAN-L信號(hào)線間加了一個(gè)124歐姆的電阻
-
SPLIT:此跳帽主要是將CAN-H、CAN-L信號(hào)上拉
-
SLOPE CTRL:此跳帽無論連接哪個(gè)位置都是將RS信號(hào)下拉,以調(diào)整CAN信號(hào)斜率以及防止信號(hào)瞬變
有些遺憾,Atmel Studio6.1沒有提供針對(duì)ATMEGA2560的CAN例程,無法實(shí)現(xiàn)CAN功能的演示,頗為失望。
LIN總線
汽車的“廉價(jià)”導(dǎo)致了家用汽車的普及,可能在某些城市,上班出行用到的交通工具又回到了綠色環(huán)保的自行車,方便快捷。而專門針對(duì)汽車的CAN總線通 訊系統(tǒng)在一些廉價(jià)的汽車上似乎有些大材小用,于是,應(yīng)運(yùn)而生了LIN總線,這是CAN總線的輔助擴(kuò)展。你也可以理解為LIN總線是CAN總線的小跟班,基 本不需要硬件基礎(chǔ),LIN總線硬件的實(shí)現(xiàn)可以是基于普通的串行通信接口(SCI),甚至在子節(jié)點(diǎn)中可以用普通I/O口加上定時(shí)器進(jìn)行模擬。它的存在,無疑 是在廉價(jià)汽車上性價(jià)比高,比CAN總線更加適用。
STK600開發(fā)套件使用的LIN收發(fā)器為Atmel的ATA6661,支持LIN 2.0規(guī)范,緊挨著RS232串口,其待遇可見一般,十足是個(gè)跟班的命。
ATA6661外部接口很少,同樣,在STK600開發(fā)板中的電路也相對(duì)要簡單
在搭載設(shè)備板的STK600開發(fā)板上,其應(yīng)用在LIN總線既可以作為主設(shè)備,又可作為從設(shè)備,而在總線上運(yùn)行的應(yīng)用作為主設(shè)備時(shí)必須連接M LIN跳帽,將LIN信號(hào)上拉至BAT。BAT的電壓要求5~12V之間,而且必須從外部供電。
通過另一端的6PIN接口座,可以連接MCU,通常MCU通過UART來實(shí)現(xiàn)LIN總線傳輸,需要注意的是NSLP信號(hào)線必須接高電平確保LIN總線輸出時(shí)不會(huì)進(jìn)入睡眠模式。
隨著汽車行業(yè)的發(fā)展,CAN總線和LIN總線可以說是相互依存的,只是說LIN相對(duì)應(yīng)用范圍狹窄,專注于汽車電子,而CAN總線發(fā)展的規(guī)模宏大,涉足行業(yè)越來越廣闊。
小結(jié)
主要介紹了STK600開發(fā)套件上串口、CAN總線以及LIN總線的功能,這三者都是目前在 行業(yè)應(yīng)用廣泛的接口,CAN總線和LIN總線相互依存,LIN總線的實(shí)現(xiàn)又可以依托串口來實(shí)現(xiàn),原本為汽車電子行業(yè)而誕生的CAN總線已經(jīng)擴(kuò)展到各行各 業(yè),而針對(duì)汽車電子而生的LIN總線在某些方面有著CAN總線無法比擬的性價(jià)比,大有青出于藍(lán)而勝于藍(lán)的趨勢。而串口對(duì)于我們來說雖然一如既往,平平淡 淡,但卻真真切切無法被取代。
-
CAN總線
+關(guān)注
關(guān)注
145文章
1976瀏覽量
132320 -
AVR
+關(guān)注
關(guān)注
11文章
1125瀏覽量
79663 -
Atmel
+關(guān)注
關(guān)注
17文章
312瀏覽量
108439
原文標(biāo)題:ATMEL SKT600開發(fā)板的“另類”體驗(yàn)
文章出處:【微信號(hào):Atmel_community,微信公眾號(hào):Atmel中文社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
AVR mega16開發(fā)板恩易
AVR mega128開發(fā)板
Atmel AVR 單片機(jī)上網(wǎng)方案
Cepark AVR M16開發(fā)板原理圖

基于atmel evk1105開發(fā)板實(shí)現(xiàn)MP3的設(shè)計(jì)
基于Atmel AVR單片機(jī)的無線圖像偵檢系統(tǒng)設(shè)計(jì)
AVR單片機(jī)學(xué)習(xí)板

AVR開發(fā)板 ATmega16 AVR仿真器 AVR編程器 三合一 特價(jià)

AVR328開發(fā)板項(xiàng)目

評(píng)論