《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于CAN總線的懸浮控制器監(jiān)控終端的設計
基于CAN總線的懸浮控制器監(jiān)控終端的設計
周丹峰,李 杰
(長沙國防科技大學 機電工程與自動化學院磁懸浮工程中心,湖南 長沙410073)
摘要: 一種基于TMS320LF2407A DSP的便攜式CAN總線監(jiān)控終端及在基于CAN總線的懸浮控制器的監(jiān)控中的應用,詳細介紹了這種監(jiān)控終端的硬件和軟件實現(xiàn)。
Abstract:
Key words :

摘   要: 一種基于TMS320LF2407A DSP的便攜式CAN總線監(jiān)控終端及在基于CAN總線的懸浮控制器的監(jiān)控中的應用,詳細介紹了這種監(jiān)控終端的硬件和軟件實現(xiàn)。
關鍵詞: CAN  監(jiān)控終端  懸浮控制  DSP

  CAN總線是德國Bosch公司為解決現(xiàn)代汽車中多傳感器和控制器之間的數(shù)據(jù)交換而開發(fā)的一種串行總線。由于它通信速率高、通信距離遠、抗干擾能力強,因而適合高干擾環(huán)境。目前CAN總線已廣泛應用于背景干擾較強的控制系統(tǒng)之間的實時通信中。
  對于多點懸浮控制,控制器的數(shù)目很可能不止一個,控制器所處的電磁環(huán)境一般也比較惡劣。因此,控制器之間的通信方式和通信可靠性是一個必須考慮的問題。由CAN總線組成的網(wǎng)絡具有結(jié)構(gòu)簡單、可靠性高的特點,可以實現(xiàn)點對點、一點對多點及全局廣播的特點,因此,對于懸浮控制來說,使用CAN網(wǎng)絡作為通信網(wǎng)絡是一個比較理想的選擇。另一方面,處于復雜工作環(huán)境下的數(shù)字控制器很有可能在電磁干擾或電源波動的情況下進入“飛車”狀態(tài),從而使一點或多點懸浮失敗。這就要求在CAN網(wǎng)絡中設計一個上層的監(jiān)督節(jié)點對這些網(wǎng)絡中的節(jié)點進行有效的監(jiān)督和實時調(diào)整。
  用計算機的并行接口配合專用的CAN驅(qū)動芯片設計的CAN網(wǎng)絡監(jiān)視器/調(diào)試器具有實現(xiàn)方便、界面友好的特點,但在實際的控制現(xiàn)場,這種基于計算機的監(jiān)控系統(tǒng)具有攜帶不方便和造價高等問題。因此,設計一個便攜式的CAN網(wǎng)絡監(jiān)督/調(diào)試器具有較大的實際意義。本文介紹一種基于TMS320LF2407A DSP的便攜式CAN網(wǎng)絡監(jiān)控終端。它具有使用簡單、界面友好、體積小的特點,適合于磁浮列車懸浮控制器的現(xiàn)場監(jiān)督和調(diào)試。
1  系統(tǒng)簡介
  對于多點懸浮控制來說,為了降低風險和提高控制靈活性,1個懸浮點一般由1個單獨的控制器控制,各個懸浮點和監(jiān)控節(jié)點的關系如圖1所示。CAN監(jiān)控終端也是CAN網(wǎng)絡中的一個普通節(jié)點,通過雙絞線連入整個網(wǎng)絡。

  對于每個懸浮點,需要監(jiān)控的參數(shù)一般包括電流、間隙、加速度以及其他一些中間參數(shù)等。根據(jù)不同的控制算法,監(jiān)控的參數(shù)個數(shù)也不一樣。監(jiān)控節(jié)點的任務就是向其中的某個懸浮節(jié)點發(fā)出發(fā)送允許命令,該懸浮節(jié)點在接收到這個命令后,就定時地將傳感器和控制器當前的參數(shù)打包發(fā)送到CAN總線上,然后再由監(jiān)控節(jié)點監(jiān)聽這個節(jié)點發(fā)送的數(shù)據(jù),并在顯示屏上將接收到的參數(shù)顯示出來。長時間接收還可以將某些參數(shù),如電流和間隙,以曲線的形式描繪出來,用于對懸浮控制算法的評估。如果需要對當前被監(jiān)控的控制器的某些參數(shù)進行修改,也可以通過CAN監(jiān)控終端的人機接口向目標節(jié)點發(fā)送修改命令。
  在實現(xiàn)上,CAN監(jiān)控終端的主控芯片選用TI公司的TMS320LF2407A型DSP。該DSP除了具備片內(nèi)資源豐富、運算速度快、成本低、功耗小等特點外,還具備片上CAN模塊,使用方便。數(shù)據(jù)輸出用1塊240×128的LCD液晶屏來實現(xiàn),可以把各個參數(shù)變化的趨勢用曲線描繪出來,靈活性好。用戶輸入采用行列掃描式鍵盤,使硬件實現(xiàn)和軟件編程均比較方便。
2  硬件設計
  系統(tǒng)的硬件組成框圖如圖2所示。從圖中可以看出,TMS320LF2407A DSP是整個電路的核心部件。它是面向?qū)崟r控制的高性能16位定點DSP,具有32K字的片內(nèi)Flash程序存儲器和2.5K字的片內(nèi)RAM,運算速度可以達到40MIPS,并帶有片上串行通信接口和CAN通信接口等。這些特點為CAN監(jiān)控終端的設計和實現(xiàn)帶來了很大便利。在硬件實現(xiàn)上,考慮到系統(tǒng)對體積和功耗的要求,將所有的DSP程序和LCD的字庫均通過JTAG口直接燒寫在DSP的片內(nèi)Flash中,通電后程序即可直接在片內(nèi)Flash中運行。DSP的晶振頻率選擇6MHz,通過DSP片內(nèi)的PLL鎖相環(huán)4倍頻后使DSP的工作主頻達到24MHz。

  由于DSP片內(nèi)備有CAN控制器模塊,因此,監(jiān)控終端的CAN模塊設計很簡單,只需在DSP的CANTX和CANRX引腳上接1個CAN驅(qū)動芯片即可。這里選用的CAN驅(qū)動芯片是PCA82C250。
  DSP的供電電壓為3.3V,而外圍芯片基本上都是5V,如果將它們直接相連必然會導致電平?jīng)_突。解決的辦法是:在DSP的數(shù)據(jù)總線和外圍接口總線之間用1片LVC4245作為雙向緩沖器。在進行數(shù)據(jù)交換時,DSP的R/W信號控制著LVC4245的數(shù)據(jù)流向。
  LCD選用240×128點陣的SMG240128A單色液晶屏。它的顯示有效面積比較大,適合于顯示曲線等信息,底層驅(qū)動的編寫也比較容易。LCD與DSP的接口采用模擬口線方式,即用2片74HC573分別鎖存數(shù)據(jù)總線和控制總線的數(shù)據(jù),模擬LCD的驅(qū)動時序。LCD的幾個狀態(tài)位直接由DSP的I/O引腳讀入。
  鍵盤由0~9、A~F、以及SHIFT和ENTER共18個鍵組成,因此在硬件設計上采用5×4的行列掃描方式:即由74HC573提供5個輸出行線,由74HC244提供4個列輸入,由DSP提供行列掃描時序??紤]到電平匹配問題,74HC573和74HC244與DSP數(shù)據(jù)總線之間的連接也是通過LVC4245緩沖。
  LCD和鍵盤接口的74HC573以及74HC244芯片均由1片GAL通過對DSP的地址總線進行譯碼實現(xiàn)選通,其電路簡單,靈活性好。
  出于便攜式的要求,系統(tǒng)采用電池供電方式。這里采用5節(jié)可充電5號電池作為電源,正常供電電壓為5~7V,正好符合電源芯片TPS7350的供電要求。由于系統(tǒng)內(nèi)需要3.3V和5V二種供電電源,故這里選用1片低壓差芯片TPS7350作為5V電源的供電芯片,用另一片低壓差芯片TPS7333作為3.3V電源的供電芯片。為防止電池電量不足時導致意外停機事故,這里還采用1片LM311構(gòu)建了一個電池電量報警電路,以便在電池電壓低于安全電壓時點亮LED報警提示。為了操作方便,所有的硬件電路以及電池等均安裝在一個便攜的塑料外殼中。
3  軟件設計
  在圖1所示的CAN網(wǎng)絡結(jié)構(gòu)圖中,數(shù)據(jù)流向大致可以分為二類:各懸浮節(jié)點之間的通信和懸浮節(jié)點與監(jiān)控節(jié)點之間的通信。由于懸浮節(jié)點之間的通信與監(jiān)控終端沒有直接關系,可以不予考慮。需要考慮的是各懸浮節(jié)點與監(jiān)控終端的通信,這就要求在組成CAN網(wǎng)絡時就必須制定一個懸浮節(jié)點和監(jiān)控終端間的通信協(xié)議。在實現(xiàn)時,具體協(xié)議如下:
  (1)CAN監(jiān)控終端的接收標識符為0,其他懸浮控制節(jié)點的標識符均不得與之沖突;全部節(jié)點使用統(tǒng)一的波特率(50Kbps或500Kbps);數(shù)據(jù)包的長度統(tǒng)一為8B。
  (2)CAN監(jiān)控終端向懸浮節(jié)點的數(shù)據(jù)傳送由監(jiān)控終端的撥碼開關指定數(shù)據(jù)包的標識符,各懸浮節(jié)點通過數(shù)據(jù)包的標識符和自身的本地標識符比較以確定是否接收該數(shù)據(jù)包。
  (3)CAN監(jiān)控終端的監(jiān)聽是開放的,并不需要接收的數(shù)據(jù)包的標識符與自身的標識符一致。但數(shù)據(jù)包內(nèi)第1個字節(jié)指明了發(fā)送該數(shù)據(jù)包的懸浮控制器的標號。如果該標號與撥碼開關指定的標號一致,則繼續(xù)處理其他字節(jié)的內(nèi)容;否則,丟棄該包。數(shù)據(jù)包內(nèi)第2字節(jié)表示參數(shù)的類型,其余字節(jié)是浮點形式的參數(shù)數(shù)據(jù)。
  (4)在系統(tǒng)開始運行時,各懸浮節(jié)點并不向CAN監(jiān)控終端發(fā)送數(shù)據(jù),只有在CAN監(jiān)控終端向某個節(jié)點發(fā)出“發(fā)送允許”命令之后,該節(jié)點才定時地向CAN監(jiān)控終端發(fā)送上傳數(shù)據(jù)。如果CAN監(jiān)控終端要監(jiān)聽其他節(jié)點的數(shù)據(jù),則需先禁止當前節(jié)點的數(shù)據(jù)發(fā)送,再向其他節(jié)點發(fā)出“發(fā)送允許”命令。這樣可以有效減小CAN總線上的數(shù)據(jù)流量。
  上述協(xié)議可以有效地維持CAN網(wǎng)絡中的數(shù)據(jù)通信秩序。
  從實際出發(fā),要求軟件盡量簡單,界面盡量友好,便于操作。在實現(xiàn)時,為充分利用LCD的顯示能力,這里采用菜單的方式提示用戶操作。完成后的軟件界面如圖3所示。

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

  初始化包括對CAN控制寄存器的初始化以及屏幕初始化,并在這之后讀取撥碼開關的狀態(tài),確定波特率及通信對象,向被監(jiān)控節(jié)點發(fā)出“發(fā)送允許”命令等。
  程序主體是一個大循環(huán)。在初始化之后便不斷掃描鍵盤。首先判斷是否有鍵按下,如果用戶沒有操作,則檢查CAN模塊是否接收到數(shù)據(jù)。如果沒有接收到數(shù)據(jù),則繼續(xù)掃描鍵盤。如果接收到了數(shù)據(jù)(即相應的CAN接收中斷標志位置位),則將接收到的數(shù)據(jù)包按上述協(xié)議進行分析、整合處理,然后在屏幕上顯示出接收到的數(shù)值;同時,在曲線的對應位置上描點,完成曲線的繪制。如果在鍵盤掃描過程中發(fā)現(xiàn)有按鍵按下,則分析按鍵的類別,然后轉(zhuǎn)相應的子程序處理。處理完畢再返回主程序。
  這里數(shù)據(jù)接收并不采用中斷驅(qū)動方式,因為LCD的響應速度較慢。當LCD的響應速度低于CAN接收數(shù)據(jù)的速度時,會形成中斷嵌套,時間長了就會出現(xiàn)堆棧溢出。此外,采用中斷方式在數(shù)據(jù)量大時會出現(xiàn)DSP無暇顧及用戶鍵盤輸入的現(xiàn)象。實踐表明,采用查詢的方式可以很好地發(fā)揮DSP和LCD的固有能力,而且整體響應速度也比中斷方式快。
  LCD顯示涉及的子程序比較多,分層也很多。在編寫程序時首先在DSP的Flash ROM里定義一個段,將LCD顯示過程中可能涉及的字符、漢字等點陣數(shù)據(jù)做成一個庫,放入段內(nèi),在使用時再通過ROM訪問指令讀取。
  曲線的繪制過程如下:首先確定坐標的原點位置、X方向和Y方向的最大坐標以及輸入數(shù)值的范圍,然后在內(nèi)存中開辟一個同X坐標點數(shù)一樣大小的緩沖區(qū)BUFF,用于記憶已經(jīng)繪制的各點的坐標;同時設定一個X指針,用于存儲當前的X坐標。當接收到新的數(shù)據(jù),確定好Y方向的坐標后,首先查找BUFF,得到原來顯示在該X位置的點的Y坐標,將這個位置上的點清除,然后在新的Y坐標上描點,最后在BUFF的相應X位置上記錄下新描點的Y坐標值,此時便完成了一個點的繪制。后面還要調(diào)整屏幕上的指針以標明當前顯示的X坐標。當繪制到X方向的最大位置時,再返回X=0的位置繼續(xù)繪圖。
  屏幕下方有關菜單的操作也是采用樹結(jié)構(gòu)實現(xiàn)的,這里不再詳述。
  CAN監(jiān)控終端向懸浮節(jié)點發(fā)送數(shù)據(jù)的過程一般是伴隨在相應的菜單操作并按下ENTER鍵生效后進行的。在每次數(shù)據(jù)發(fā)送之前,程序都需要讀入撥碼開關的狀態(tài),以確定通信的波特率和通信對象的標識符。在實現(xiàn)上,撥碼開關的最高位控制著波特率,后面7位則決定了通信的發(fā)送標識符。
4  結(jié)束語
  使用表明,這種基于TMS320LF2407A DSP的CAN總線監(jiān)控終端在多懸浮控制器組成的網(wǎng)絡中可以發(fā)揮很好的監(jiān)控和調(diào)試作用,其結(jié)構(gòu)小巧、界面友好,使用相當方便。
參考文獻
1   江思敏.TMS320LF240X DSP硬件開發(fā)教程.北京:機械工 業(yè)出版社,2003
2   饒運濤,鄒繼軍,鄭勇芝.現(xiàn)場總線CAN原理與應用技術. 北京:北京航空航天大學出版社,2003
3   Texas Instruments.TMS320LF2407,TMS320LF2406, TMS320LF2402 DSP CONTROLLERS,2000

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲第一综合天堂另类专| 在线日韩视频| 美女精品视频一区| 久久精精品视频| 亚洲欧洲av一区二区| 亚洲视频一区二区免费在线观看| 亚洲人成人一区二区在线观看| 欧美呦呦网站| 午夜在线电影亚洲一区| 亚洲综合色在线| 亚洲影视中文字幕| 亚洲综合日本| 香蕉乱码成人久久天堂爱免费| 午夜精品国产精品大乳美女| 亚洲免费在线看| 一区二区三区 在线观看视| 99国产精品视频免费观看一公开 | 99re6热在线精品视频播放速度| 亚洲欧洲一区二区三区| 亚洲激情成人| 亚洲精品麻豆| 99国产麻豆精品| 一本到12不卡视频在线dvd| 中文亚洲字幕| 亚洲欧美日韩一区二区在线| 亚洲欧美国产精品va在线观看| 性欧美xxxx大乳国产app| 久久精品成人一区二区三区| 亚洲国产精品成人va在线观看| 亚洲日本免费| 一区二区动漫| 欧美伊人影院| 久久免费高清视频| 欧美不卡视频一区发布| 欧美另类99xxxxx| 国产精品毛片在线| 国产一区深夜福利| 亚洲大胆视频| 一区二区三区免费看| 亚洲欧美日韩精品综合在线观看| 欧美在线免费播放| 亚洲乱码国产乱码精品精| 亚洲一区二区成人| 久久国产精品一区二区三区| 裸体一区二区| 欧美小视频在线| 国产亚洲一区在线播放| 亚洲成色999久久网站| 日韩一区二区高清| 欧美一级电影久久| 9l视频自拍蝌蚪9l视频成人| 性亚洲最疯狂xxxx高清| 鲁大师影院一区二区三区| 欧美精品高清视频| 国产精品日本精品| 在线成人激情| 一区二区三区三区在线| 久久精品国产99国产精品澳门| 99精品欧美一区| 欧美专区福利在线| 欧美日韩成人网| 国产午夜精品福利| 亚洲欧洲三级电影| 亚洲欧美资源在线| 99国产精品自拍| 久久成人久久爱| 欧美激情黄色片| 国产精品亚洲第一区在线暖暖韩国| 一区二区三区中文在线观看 | 亚洲第一精品福利| 亚洲香蕉伊综合在人在线视看| 亚洲福利国产| 亚洲女同在线| 欧美精品二区| 黑人极品videos精品欧美裸| 日韩小视频在线观看| 久久99在线观看| 亚洲一区中文| 欧美激情成人在线视频| 国产亚洲一区在线| 国产精品99久久久久久久久久久久| 亚洲国产日日夜夜| 欧美一区二区三区日韩| 欧美日韩国产999| 红桃视频国产精品| 亚洲一区二区免费视频| 99热免费精品| 免费成人网www| 国产亚洲欧美一区二区| 亚洲深夜激情| 一区二区三区久久| 欧美v日韩v国产v| 国产一区二区三区的电影 | 亚洲剧情一区二区| 亚洲国产精品专区久久| 欧美淫片网站| 国产精品久久久| 亚洲美女淫视频| 91久久精品美女| 久久一区二区三区超碰国产精品| 国产精品久久久久久久午夜| 日韩系列在线| 一本到高清视频免费精品| 欧美电影在线免费观看网站 | 亚洲国产mv| 亚洲第一在线综合在线| 欧美在线一区二区三区| 国产精品男gay被猛男狂揉视频| 亚洲看片一区| 日韩一区二区精品在线观看| 你懂的视频欧美| 在线观看欧美亚洲| 亚洲国产精彩中文乱码av在线播放| 久久久精彩视频| 国产亚洲亚洲| 欧美一级一区| 久久www免费人成看片高清 | 国产日产精品一区二区三区四区的观看方式 | 欧美日韩高清在线播放| 亚洲精品网站在线播放gif| 亚洲日本无吗高清不卡| 欧美成人亚洲成人| 91久久久久| 99精品免费| 欧美日韩精品久久| 亚洲伦理自拍| 亚洲视频中文| 国产精品久久久久久久久婷婷 | 亚洲精品乱码久久久久久按摩观| 免费观看日韩| 亚洲电影专区| 99精品国产在热久久婷婷| 欧美精品免费视频| 亚洲免费av观看| 亚洲先锋成人| 国产精品一区二区三区观看| 亚洲欧美日韩综合一区| 久久国产精品黑丝| 国内精品写真在线观看| 亚洲国产婷婷| 欧美日本精品| 亚洲无限av看| 久久精品理论片| 在线看视频不卡| 一区二区三区久久精品| 国产精品无码专区在线观看| 中日韩视频在线观看| 久久精品国产久精国产思思| 加勒比av一区二区| 一本色道久久综合亚洲精品婷婷| 国产精品www994| 欧美一区网站| 欧美精品一区二| 亚洲图片欧洲图片日韩av| 久久国产天堂福利天堂| 一区二区在线不卡| 亚洲最新色图| 国产欧美一区二区三区久久| 亚洲大片精品永久免费| 欧美精品不卡| 亚洲欧美国产另类| 欧美大尺度在线| 一区二区免费在线视频| 久久激情一区| 亚洲国产天堂久久国产91| 亚洲一区二区少妇| 国产一区二区三区四区五区美女| 亚洲美女诱惑| 国产精品一香蕉国产线看观看 | 欧美亚洲一区二区在线| 精品91久久久久| 亚洲伊人伊色伊影伊综合网| 国产亚洲精品bt天堂精选| 亚洲精品一区中文| 国产精品入口夜色视频大尺度 | 在线视频亚洲一区| 久久久五月婷婷| 日韩视频一区| 久久久夜夜夜| 一区二区三区国产盗摄| 久久久综合网站| 一本综合久久| 欧美 日韩 国产在线 | 羞羞漫画18久久大片| 亚洲高清不卡在线观看| 午夜精品福利一区二区蜜股av| 一区一区视频| 欧美一区2区三区4区公司二百| 一区二区视频免费完整版观看| 亚洲女ⅴideoshd黑人| 在线不卡a资源高清| 香蕉久久国产| 亚洲精品乱码久久久久| 久久久国产午夜精品| 一区二区三区四区国产精品| 农村妇女精品| 欧美一区二区国产| 欧美日韩影院| 91久久在线播放| 国产区欧美区日韩区|