音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

基于CAN總線(xiàn)的懸浮控制器監(jiān)控終端的設(shè)計(jì)與實(shí)現(xiàn)

出處:微型機(jī)與應(yīng)用 發(fā)布于:2011-06-08 21:57:03

  CAN總線(xiàn)是德國(guó)BOSCH公司在20世紀(jì)80年代初為解決汽車(chē)中眾多的控制與測(cè)試儀器之間的數(shù)據(jù)交換而開(kāi)發(fā)的一種通信協(xié)議。由于CAN總線(xiàn)具有突出的可靠性、實(shí)時(shí)性和靈活性,因而得到了業(yè)界的廣泛認(rèn)同和運(yùn)用,并在1993年正式成為國(guó)際標(biāo)準(zhǔn)和行業(yè)標(biāo)準(zhǔn),被譽(yù)為“有前途的現(xiàn)場(chǎng)總線(xiàn)”之一。CAN總線(xiàn)已廣泛應(yīng)用于背景干擾較強(qiáng)的控制系統(tǒng)之間的實(shí)時(shí)通信中。

  本文介紹一種基于TMS320LF2407A DSP的便攜式CAN網(wǎng)絡(luò)監(jiān)控終端。它具有使用簡(jiǎn)單、界面友好、體積小的特點(diǎn),適合于磁浮列車(chē)懸浮控制器的現(xiàn)場(chǎng)監(jiān)督和調(diào)試。

  1  系統(tǒng)簡(jiǎn)介

  對(duì)于多點(diǎn)懸浮控制來(lái)說(shuō),為了降低風(fēng)險(xiǎn)和提高控制靈活性,1個(gè)懸浮點(diǎn)一般由1個(gè)單獨(dú)的控制器控制,各個(gè)懸浮點(diǎn)和監(jiān)控節(jié)點(diǎn)的關(guān)系如圖1所示。

  CAN屬于現(xiàn)場(chǎng)總線(xiàn)范疇,是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò)。CAN總線(xiàn)在工業(yè)控制領(lǐng)域廣泛應(yīng)用得益于其自身的技術(shù)特點(diǎn)。

  (1)只需通過(guò)報(bào)文濾波即可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)及全局廣播等幾種方式傳送接收數(shù)據(jù),無(wú)須專(zhuān)門(mén)的“調(diào)度”。

 ?。?)通信方式靈活。CAN為多主方式工作,網(wǎng)絡(luò)上任一節(jié)點(diǎn)均可在任意時(shí)刻主動(dòng)地向網(wǎng)絡(luò)上其他節(jié)點(diǎn)發(fā)送信息,而不分主從且無(wú)須站點(diǎn)地址等節(jié)點(diǎn)信息。

 ?。?)CAN采用非破壞性總線(xiàn)仲裁技術(shù),當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)向總線(xiàn)發(fā)送信息時(shí),優(yōu)先級(jí)較低的節(jié)點(diǎn)會(huì)主動(dòng)地退出發(fā)送,而優(yōu)先級(jí)的節(jié)點(diǎn)可不受影響地繼續(xù)傳輸數(shù)據(jù),從而大大節(jié)省了總線(xiàn)沖突仲裁時(shí)間,尤其在網(wǎng)絡(luò)負(fù)載很重的情況下也不會(huì)出現(xiàn)網(wǎng)絡(luò)癱瘓情況。

 ?。?)采用短幀格式通信,傳輸時(shí)間短,受干擾概率低,具有極好的檢錯(cuò)效果。每幀字節(jié)數(shù)多8個(gè),可滿(mǎn)足通常工業(yè)領(lǐng)域中控制命令、工作狀態(tài)及測(cè)試數(shù)據(jù)的一般要求。同時(shí),8B也不會(huì)占用過(guò)長(zhǎng)的總線(xiàn)時(shí)間,從而保證了通信的實(shí)時(shí)性。

 ?。?)CAN的每幀信息都有CRC校驗(yàn)及其他檢錯(cuò)措施,保證了數(shù)據(jù)通信的可靠性。

  在實(shí)現(xiàn)上,CAN監(jiān)控終端的主控芯片選用TI公司的TMS320LF2407A型DSP。數(shù)據(jù)輸出用1塊240×128的LCD液晶屏來(lái)實(shí)現(xiàn),可以把各個(gè)參數(shù)變化的趨勢(shì)用曲線(xiàn)描繪出來(lái),靈活性好。用戶(hù)輸入采用行列掃描式鍵盤(pán),使硬件實(shí)現(xiàn)和軟件編程均比較方便。

  2  硬件設(shè)計(jì)

  系統(tǒng)的硬件組成框圖如圖2所示。從圖中可以看出,TMS320LF2407A DSP是整個(gè)電路的部件。它是面向?qū)崟r(shí)控制的高性能16位定點(diǎn)DSP,具有32K字的片內(nèi)Flash程序存儲(chǔ)器和2.5K字的片內(nèi)RAM,運(yùn)算速度可以達(dá)到40MIPS,并帶有片上串行通信接口和CAN通信接口等。這些特點(diǎn)為CAN監(jiān)控終端的設(shè)計(jì)和實(shí)現(xiàn)帶來(lái)了很大便利。在硬件實(shí)現(xiàn)上,考慮到系統(tǒng)對(duì)體積和功耗的要求,將所有的DSP程序和LCD的字庫(kù)均通過(guò)JTAG口直接燒寫(xiě)在DSP的片內(nèi)Flash中,通電后程序即可直接在片內(nèi)Flash中運(yùn)行。DSP的晶振頻率選擇6MHz,通過(guò)DSP片內(nèi)的PLL鎖相環(huán)4倍頻后使DSP的工作主頻達(dá)到24MHz。

  由于DSP片內(nèi)備有CAN控制器模塊,因此,監(jiān)控終端的CAN模塊設(shè)計(jì)很簡(jiǎn)單,只需在DSP的CANTX和CANRX引腳上接1個(gè)CAN驅(qū)動(dòng)芯片即可。這里選用的CAN驅(qū)動(dòng)芯片是PCA82C250。

  DSP的供電電壓為3.3V,而外圍芯片基本上都是5V,如果將它們直接相連必然會(huì)導(dǎo)致電平?jīng)_突。解決的辦法是:在DSP的數(shù)據(jù)總線(xiàn)和外圍接口總線(xiàn)之間用1片LVC4245作為雙向緩沖器。在進(jìn)行數(shù)據(jù)交換時(shí),DSP的R/W信號(hào)控制著LVC4245的數(shù)據(jù)流向。

  LCD選用240×128點(diǎn)陣的SMG240128A單色液晶屏。它的顯示有效面積比較大,適合于顯示曲線(xiàn)等信息,底層驅(qū)動(dòng)的編寫(xiě)也比較容易。LCD與DSP的接口采用模擬口線(xiàn)方式,即用2片74HC573分別鎖存數(shù)據(jù)總線(xiàn)和控制總線(xiàn)的數(shù)據(jù),模擬LCD的驅(qū)動(dòng)時(shí)序。LCD的幾個(gè)狀態(tài)位直接由DSP的I/O引腳讀入。

  LCD和鍵盤(pán)接口的74HC573以及74HC244芯片均由1片GAL通過(guò)對(duì)DSP的地址總線(xiàn)進(jìn)行譯碼實(shí)現(xiàn)選通,其電路簡(jiǎn)單,靈活性好。

  出于便攜式的要求,系統(tǒng)采用電池供電方式。這里采用5節(jié)可充電5號(hào)電池作為電源,正常供電電壓為5~7V,正好符合電源芯片TPS7350的供電要求。由于系統(tǒng)內(nèi)需要3.3V和5V二種供電電源,故這里選用1片低壓差芯片TPS7350作為5V電源的供電芯片,用另一片低壓差芯片TPS7333作為3.3V電源的供電芯片。為防止電池電量不足時(shí)導(dǎo)致意外停機(jī)事故,這里還采用1片LM311構(gòu)建了一個(gè)電池電量報(bào)警電路,以便在電池電壓低于安全電壓時(shí)點(diǎn)亮LED報(bào)警提示。為了操作方便,所有的硬件電路以及電池等均安裝在一個(gè)便攜的塑料外殼中。

  3  軟件設(shè)計(jì)

  在圖1所示的CAN網(wǎng)絡(luò)結(jié)構(gòu)圖中,數(shù)據(jù)流向大致可以分為二類(lèi):各懸浮節(jié)點(diǎn)之間的通信和懸浮節(jié)點(diǎn)與監(jiān)控節(jié)點(diǎn)之間的通信。由于懸浮節(jié)點(diǎn)之間的通信與監(jiān)控終端沒(méi)有直接關(guān)系,可以不予考慮。需要考慮的是各懸浮節(jié)點(diǎn)與監(jiān)控終端的通信,這就要求在組成CAN網(wǎng)絡(luò)時(shí)就必須制定一個(gè)懸浮節(jié)點(diǎn)和監(jiān)控終端間的通信協(xié)議。在實(shí)現(xiàn)時(shí),具體協(xié)議如下:

 ?。?)CAN監(jiān)控終端的接收標(biāo)識(shí)符為0,其他懸浮控制節(jié)點(diǎn)的標(biāo)識(shí)符均不得與之沖突;全部節(jié)點(diǎn)使用統(tǒng)一的波特率(50Kbps或500Kbps);數(shù)據(jù)包的長(zhǎng)度統(tǒng)一為8B。

 ?。?)CAN監(jiān)控終端向懸浮節(jié)點(diǎn)的數(shù)據(jù)傳送由監(jiān)控終端的撥碼開(kāi)關(guān)指定數(shù)據(jù)包的標(biāo)識(shí)符,各懸浮節(jié)點(diǎn)通過(guò)數(shù)據(jù)包的標(biāo)識(shí)符和自身的本地標(biāo)識(shí)符比較以確定是否接收該數(shù)據(jù)包。

  (3)CAN監(jiān)控終端的監(jiān)聽(tīng)是開(kāi)放的,并不需要接收的數(shù)據(jù)包的標(biāo)識(shí)符與自身的標(biāo)識(shí)符一致。但數(shù)據(jù)包內(nèi)第1個(gè)字節(jié)指明了發(fā)送該數(shù)據(jù)包的懸浮控制器的標(biāo)號(hào)。如果該標(biāo)號(hào)與撥碼開(kāi)關(guān)指定的標(biāo)號(hào)一致,則繼續(xù)處理其他字節(jié)的內(nèi)容;否則,丟棄該包。數(shù)據(jù)包內(nèi)第2字節(jié)表示參數(shù)的類(lèi)型,其余字節(jié)是浮點(diǎn)形式的參數(shù)數(shù)據(jù)。

  (4)在系統(tǒng)開(kāi)始運(yùn)行時(shí),各懸浮節(jié)點(diǎn)并不向CAN監(jiān)控終端發(fā)送數(shù)據(jù),只有在CAN監(jiān)控終端向某個(gè)節(jié)點(diǎn)發(fā)出“發(fā)送允許”命令之后,該節(jié)點(diǎn)才定時(shí)地向CAN監(jiān)控終端發(fā)送上傳數(shù)據(jù)。如果CAN監(jiān)控終端要監(jiān)聽(tīng)其他節(jié)點(diǎn)的數(shù)據(jù),則需先禁止當(dāng)前節(jié)點(diǎn)的數(shù)據(jù)發(fā)送,再向其他節(jié)點(diǎn)發(fā)出“發(fā)送允許”命令。這樣可以有效減小CAN總線(xiàn)上的數(shù)據(jù)流量。

  從實(shí)際出發(fā),要求軟件盡量簡(jiǎn)單,界面盡量友好,便于操作。在實(shí)現(xiàn)時(shí),為充分利用LCD的顯示能力,這里采用菜單的方式提示用戶(hù)操作。完成后的軟件界面如圖3所示。

  程序采用分層的程序結(jié)構(gòu)。層是一些硬件驅(qū)動(dòng)程序,如鍵盤(pán)掃描、LCD狀態(tài)讀取和LCD數(shù)據(jù)寫(xiě)入等。在這些底層驅(qū)動(dòng)程序的基礎(chǔ)上再組織一些上層子程序供主程序調(diào)用。在編程語(yǔ)言的選擇上,考慮到程序的結(jié)構(gòu)相對(duì)比較復(fù)雜,程序主體采用C語(yǔ)言編程,只有少部分涉及到DSP一些底層操作的部分才使用匯編語(yǔ)言。軟件的主體流程圖如圖4所示。

  初始化包括對(duì)CAN控制寄存器的初始化以及屏幕初始化,并在這之后讀取撥碼開(kāi)關(guān)的狀態(tài),確定波特率及通信對(duì)象,向被監(jiān)控節(jié)點(diǎn)發(fā)出“發(fā)送允許”命令等。

  程序主體是一個(gè)大循環(huán)。在初始化之后便不斷掃描鍵盤(pán)。首先判斷是否有鍵按下,如果用戶(hù)沒(méi)有操作,則檢查CAN模塊是否接收到數(shù)據(jù)。如果沒(méi)有接收到數(shù)據(jù),則繼續(xù)掃描鍵盤(pán)。如果接收到了數(shù)據(jù)(即相應(yīng)的CAN接收中斷標(biāo)志位置位),則將接收到的數(shù)據(jù)包按上述協(xié)議進(jìn)行分析、整合處理,然后在屏幕上顯示出接收到的數(shù)值;同時(shí),在曲線(xiàn)的對(duì)應(yīng)位置上描點(diǎn),完成曲線(xiàn)的繪制。如果在鍵盤(pán)掃描過(guò)程中發(fā)現(xiàn)有按鍵按下,則分析按鍵的類(lèi)別,然后轉(zhuǎn)相應(yīng)的子程序處理。處理完畢再返回主程序。

  LCD顯示涉及的子程序比較多,分層也很多。在編寫(xiě)程序時(shí)首先在DSP的Flash ROM里定義一個(gè)段,將LCD顯示過(guò)程中可能涉及的字符、漢字等點(diǎn)陣數(shù)據(jù)做成一個(gè)庫(kù),放入段內(nèi),在使用時(shí)再通過(guò)ROM訪(fǎng)問(wèn)指令讀取。

  曲線(xiàn)的繪制過(guò)程如下:首先確定坐標(biāo)的原點(diǎn)位置、X方向和Y方向的坐標(biāo)以及輸入數(shù)值的范圍,然后在內(nèi)存中開(kāi)辟一個(gè)同X坐標(biāo)點(diǎn)數(shù)一樣大小的緩沖區(qū)BUFF,用于記憶已經(jīng)繪制的各點(diǎn)的坐標(biāo);同時(shí)設(shè)定一個(gè)X指針,用于存儲(chǔ)當(dāng)前的X坐標(biāo)。當(dāng)接收到新的數(shù)據(jù),確定好Y方向的坐標(biāo)后,首先查找BUFF,得到原來(lái)顯示在該X位置的點(diǎn)的Y坐標(biāo),將這個(gè)位置上的點(diǎn)清除,然后在新的Y坐標(biāo)上描點(diǎn),在BUFF的相應(yīng)X位置上記錄下新描點(diǎn)的Y坐標(biāo)值,此時(shí)便完成了一個(gè)點(diǎn)的繪制。后面還要調(diào)整屏幕上的指針以標(biāo)明當(dāng)前顯示的X坐標(biāo)。當(dāng)繪制到X方向的位置時(shí),再返回X=0的位置繼續(xù)繪圖。

  CAN監(jiān)控終端向懸浮節(jié)點(diǎn)發(fā)送數(shù)據(jù)的過(guò)程一般是伴隨在相應(yīng)的菜單操作并按下ENTER鍵生效后進(jìn)行的。在每次數(shù)據(jù)發(fā)送之前,程序都需要讀入撥碼開(kāi)關(guān)的狀態(tài),以確定通信的波特率和通信對(duì)象的標(biāo)識(shí)符。在實(shí)現(xiàn)上,撥碼開(kāi)關(guān)的位控制著波特率,后面7位則決定了通信的發(fā)送標(biāo)識(shí)符。

  4  結(jié)束語(yǔ)

  使用表明,這種基于TMS320LF2407A DSP的CAN總線(xiàn)監(jiān)控終端在多懸浮控制器組成的網(wǎng)絡(luò)中可以發(fā)揮很好的監(jiān)控和調(diào)試作用,其結(jié)構(gòu)小巧、界面友好,使用相當(dāng)方便。


  

參考文獻(xiàn):

[1]. TMS320LF2407A datasheet http://m.58mhw.cn/datasheet/TMS320LF2407A_309789.html.
[2]. PCA82C250 datasheet http://m.58mhw.cn/datasheet/PCA82C250_542618.html.
[3]. 74HC573 datasheet http://m.58mhw.cn/datasheet/74HC573_1811819.html.
[4]. 74HC244 datasheet http://m.58mhw.cn/datasheet/74HC244_961022.html.
[5]. TPS7350 datasheet http://m.58mhw.cn/datasheet/TPS7350_592230.html.
[6]. TPS7333 datasheet http://m.58mhw.cn/datasheet/TPS7333_592218.html.
[7]. LM311 datasheet http://m.58mhw.cn/datasheet/LM311_451347.html.


關(guān)鍵詞:基于CAN總線(xiàn)的懸浮控制器監(jiān)控終端的設(shè)計(jì)與實(shí)現(xiàn)

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線(xiàn)人工客服

買(mǎi)家服務(wù):
賣(mài)家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線(xiàn)時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見(jiàn),您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見(jiàn)一經(jīng)采納,將有感恩紅包奉上哦!