基于CAN的程序下載器與通訊調(diào)試器設(shè)計
編程器首先發(fā)送偏移地址為0的數(shù)據(jù)幀,進行通訊初始;接著編程器發(fā)送偏移地址為1的數(shù)據(jù)幀,選擇編程區(qū)域(Flash或EEPROM),并設(shè)置編程的起始和結(jié)束位置;從機發(fā)回應(yīng)答消息后,編程器通過偏移地址為2的數(shù)據(jù)幀連續(xù)發(fā)送編程數(shù)據(jù);一個數(shù)據(jù)塊發(fā)送完畢后,編程器繼續(xù)選擇需要編程的區(qū)域,直到完成整個寫數(shù)據(jù)任務(wù);此后編程器發(fā)送偏移地址為3的數(shù)據(jù)幀讀取從機Flash或EEPROM中的數(shù)據(jù),完成數(shù)據(jù)校驗的任務(wù)。編程器也可以發(fā)送偏移地址為4或5的數(shù)據(jù)幀對一些配置字節(jié)進行修改。下載的流程圖如圖5:
本文引用地址:http://butianyuan.cn/article/188540.htm
編程器使用FLIP軟件,這個軟件可以從Atmel公司的網(wǎng)站上免費獲得。
5.CAN調(diào)試器功能
本設(shè)計的另一個重要功能是作為調(diào)試器使用,對具有CAN功能的節(jié)點進行通訊調(diào)試。主機通過高速的USB口與調(diào)試器通訊,調(diào)試器將主機的數(shù)據(jù)流封裝成具有CAN2.0A或CAN2.0B格式的命令幀,再由CAN控制器發(fā)送到總線上;而接收到的報文經(jīng)過相反的數(shù)據(jù)轉(zhuǎn)換過程傳回到主機上。
主機的CAN調(diào)試界面用VB程序編寫的,分通用功能界面(圖6)和面向應(yīng)用的CAN總線調(diào)試界面(圖7)兩個部分。兩種功能的側(cè)重點不同,前一種主要用于節(jié)點的初期調(diào)試,重點在于實現(xiàn)節(jié)點間的通訊連接和節(jié)點狀態(tài)測試;后一種用于實現(xiàn)具體的任務(wù),重點在于節(jié)點間任務(wù)分配和全局時序響應(yīng)。兩個部分在功能上相互補充,滿足不同層次的需要。
5.1 CAN總線調(diào)試器的通用功能界面設(shè)計
CAN總線調(diào)試器的通用功能用來監(jiān)測總線的狀態(tài)、測試新的命令和接收不同節(jié)點的消息幀。例如當(dāng)CAN總線上加入新的節(jié)點或總線出現(xiàn)故障時,可以用這種方式進行調(diào)試。如圖7所示,用戶根據(jù)具體的應(yīng)用要求任意設(shè)置CAN的幀結(jié)構(gòu)中的仲裁域、控制域和數(shù)據(jù)域中的所有位的值,發(fā)送各種命令幀;也可以加入報文過濾器,有選擇的接收相關(guān)的消息幀。
此種方式的主要功能為:
改變IDE位的值,選擇發(fā)送標(biāo)準(zhǔn)幀或擴展幀;
改變仲裁域中基本ID和擴展ID的值,將命令幀發(fā)送到CAN總線上的不同節(jié)點;
修改RTR位的值,選擇發(fā)送數(shù)據(jù)幀或遠(yuǎn)程幀;
改變數(shù)據(jù)長度,發(fā)送不同長度的數(shù)據(jù)幀;
改變通訊速率,測試通訊的可靠性,尋求速率和距離的最優(yōu)解決方案;
改變報文過濾器的值,接收特定ID范圍內(nèi)的消息幀,并實時顯示;
顯示各種狀態(tài)值,對總線的健康狀態(tài)進行評估;
將接收到的消息幀保存在用戶指定的文件中,方便對數(shù)據(jù)的后期的分析處理;
5.2 面向應(yīng)用的CAN總線調(diào)試器界面設(shè)計
該方式面向用戶的實際工程,根據(jù)任務(wù)的要求為CAN的幀結(jié)構(gòu)中的各種域賦予明確的意義,例如ID碼中就可以包含優(yōu)先級、源器件地址和目標(biāo)器件地址等。這種方式的重點是系統(tǒng)級任務(wù)的實現(xiàn),因此將調(diào)試器作為總線上的智能節(jié)點,既能接收其它節(jié)點的報文,又能對其它節(jié)點發(fā)出命令,從而完全具備實際節(jié)點的所有功能,滿足整個系統(tǒng)的時序要求。
如圖8所示,為了使界面具有很好的可讀性,將復(fù)雜的CAN消息的數(shù)字表達(dá)方式文字化,即用戶對命令或報文過濾器內(nèi)容設(shè)置完成后,可以為命令或報文過濾器指定一個名字。各種報文的發(fā)送和接收都以用戶定義的文字來表示,程序自動在文字與CAN的幀結(jié)構(gòu)間轉(zhuǎn)換,從而具有很好的可讀性。這種方式下的特點為:
系統(tǒng)配置文件的管理。每個工程的命令幀、報文過濾器的設(shè)置和接收的數(shù)據(jù)被保存在獨立的配置文件中,通過“文件”菜單可以打開、保存和關(guān)閉工程的配置文件,而且可以在編輯當(dāng)前工程配置文件的基礎(chǔ)上生成新工程的配置文件,簡化新工程的開發(fā)步驟。
命令管理。在“發(fā)送命令”區(qū)顯示了已經(jīng)定義的命令,這些命令都以用戶定義的名字表示,可以通過命令按鈕添加、修改、刪除命令,進行命令的后期維護。
報文過濾。在“接收設(shè)置”區(qū)顯示了用戶可以接收的報文的ID,這些ID范圍之外的報文將被屏蔽。通過命令按鈕可以添加、修改、刪除ID,并且在設(shè)置接收過濾的時候,可以指定接到報文后系統(tǒng)自動回復(fù)的消息內(nèi)容,增加了軟件的靈活性。
6.結(jié)束語
本設(shè)計將編程器和CAN總線調(diào)試器集成到同一個器件中,開發(fā)了相應(yīng)的操作軟件,提高了器件的使用范圍和方便性。隨著CAN總線的廣泛應(yīng)用,以及CAN下載方式的推廣,這項技術(shù)也將得到進一步推廣。
評論