基於DSP的CAN匯流排系統設計與實現

2022-12-09 00:42:03 字數 2360 閱讀 7777

0引言ecan模組是一種片上增強型控制器,其效能較之已有的dsp內嵌can控制器有較大的提高,而且資料傳輸更加靈活方便。資料量更大、可靠性更高、功能更加完備。隨著tms320f2812的大量推廣使用,基於dsp的can匯流排通訊方式將得到廣泛的應用。

1ecan模組的增強特性

ecan模組是ti公司的新一代32位高階can控制器,它完全相容can2.0b協議,可以在有干擾的環境裡使用上述協議與其它控制器序列通訊。該模組除具有一般dsp內嵌can控制器的所有功能外,與tms320f2812系列dsp的can模組相比,它還主要具有如下一些增強特性:

(1)增加了郵箱數量,並且所有郵箱都具有獨立的接收遮蔽暫存器。tms320f2812有多達32個郵箱,其所占用的節ram都可以配置為傳送或接收郵箱,且都有乙個可程式設計的接收遮蔽暫存器。因而其資料傳輸更加方便靈活、資訊量大大增加;

(2)ecan是乙個32位的高階can控制器。其控制暫存器的狀態暫存器必須以32位方式訪問,而接收遮蔽、時間標識暫存器、超時暫存器和郵箱所在的can範圍則可以以8位、16位和32位方式訪問;

(3)時間標識。ecan模組應用乙個全速執行的32位定時器(lnt)來獲得接收或者傳送乙個資訊(有效的can資料幀)的時間。當乙個接收資訊被儲存或被傳送時,定時器的內容將寫入到相應郵箱的時間標識暫存器(mots)裡。

這樣就可獲得接收或傳送乙個資訊的時間。當郵箱成功傳送或接收乙個資訊時,lnt暫存器被清除。所以可以通過使用郵箱來實現網路的全域性時間同步;

(4)超時功能。為了確定所有的資訊都能在預定的時間裡送出或接收,每個郵箱都有它自己的超時暫存器(mots)。如果乙個資訊沒有在超時暫存器設定的時間內完成傳送或接收,其超時狀態暫存器裡將設定乙個標誌位,並據此判斷是否超時。

以上這些增強特性使得tms320f12812在進行can通訊時,其資料傳輸更加方便靈活、資料量更大、功能更完備。

2 應用設計

針對ti公司的tms320f2812內嵌的ecan模組的方便性和實用性,可用tms320f2812微控制器組成乙個can匯流排網路來進行實時資料收發。其中can驅動器使用ti公司的sn65hvd230d。此方案可擴充套件性強,功能強大。

若要增加節點個數,只需要在can匯流排上掛接帶有can模組的控制器即可。

在tm320f2812的ecan模組與usb-can模組之間進行通訊時,上位機可選用派恩公司的usb-can模組,其除錯介面為pcanview。這裡將ecan的郵箱0配置成傳送郵箱,郵箱5配置成傳送郵箱,並採用擴充套件資訊幀格式。傳送採用查詢方式,接收用中斷方式,同時可採用dsp將接收的資料**回上位機,並對接收和傳送的資料進行錯誤計數。

圖1所示為採用上位機設定埠、波特率等引數,並通過usb-can模組與下位機通訊的除錯介面圖,它可用來檢驗tm320f2812的can匯流排通訊是否正常。

3 硬體設計

本設計的硬體系統分為兩層:第一層是can匯流排與tms320f2812介面層,用來實現can匯流排和tms320f2812的物理介面;第二層為dsp與外圍器件的資訊處理層,其中tms320f2812是針對控制領域應用而設計的一款新型工控晶元,它整合了數字io、事件管理器、a/d模數轉換、spi序列外設介面、sci非同步序列通訊介面、can控制器等控制資源。其can匯流排通訊介面電路如圖2所示。

4 軟體設計

在使用can控制器之前,首先必須對它的內部暫存器進行初始化設定,包括相關io口設定以及郵箱的相關配置。這裡著重介紹如何進行初始化設定和傳送與接收的配置。圖3所示是本系統的主程式流程圖,其can配置流程如圖4所示。

在軟體設計時,首先應進行io口配置。由於can通訊所用到的兩個引腳cantx和canrx均為復用io口,因此,首先要配置暫存器cantioc的txfunc和rxfunc位為1;再就是要初始化位時序,即對位時序配置暫存器canbcr進行配置,包括can控制器的通訊波特率、同步跳轉寬度、取樣次數等引數。

當完成以上can配置之後,還需按照圖5所示的流程圖來完成資料的傳送與接收配置,同時初始化郵箱。郵箱初始化主要是設定郵箱的識別符號和控制域(即傳送的是遠端幀還是資料幀),以及對相應的郵箱賦初值。

資料接收時,所接收到的資訊的識別符號必須與相應的接收郵箱的識別符號相同,否則該資訊將被濾除。這裡,資料的傳送與接收請求均採用標誌位查詢方式。

按照以上步驟設定好後,接著就是對資料的傳送與接收請求進行配置。資料接收可採用中斷方式,中斷配置可在主程式流程中進行配置。正確配置中斷入口位址及中斷函式,並開放can接收中斷後,還要分別配置不同的資料幀,包括標準幀和擴充套件幀,以及資料幀和遠端請求幀。

圖6表示為上位機接收資料的除錯介面。可以看到,can通訊和下位機間的資料通訊,可以寫資料並傳送給下位機,同時也可接收下位機的資料來驗證電路及軟體的正確性。

5 結束語

利用tms320f2812內嵌的ecan模組可使得硬體電路設計更為簡單而可靠,而且效能也較已有的dsp內嵌的can控制器有較大的提高。同時,採用c語言程式設計,則可使得程式的設計難度降低,提高程式的可維護性並縮短開發時間。

基於CAN匯流排的恆壓供水監控系統設計

關鍵詞 恆壓供水系統can匯流排變頻器 plc技術自動控制技術 一 設計要求 1 系統現狀 小區內有一座水廠 4個水源井 水廠內設有水池2個,4台供水幫浦為居民供水,2條供水管路 每個水源井設定1臺深井幫浦。供水方式為深井幫浦將水源井的水抽至水倉內,再由供水幫浦將水排至供水管道,再由供水管道供給各使...

基於CAN匯流排的遠端公升級系統

作者 楊元挺卓樹峰 現代電子技術 2009年第10期 摘要 can匯流排是一種應用廣泛的實時性現場匯流排。介紹一種基於can匯流排的遠端系統軟體公升級設計方案,解決了遠距離系統公升級的困難。該系統採用mcu控制,在can匯流排上,通過pc機控制各個智慧型節點,實現資料和程式的更新公升級。智慧型節點採...

基於CAN匯流排的智慧型照明控制系統設計

瑪代建築氣圜 樓 自動化 基於 匯流排的智慧型照明 控制系統設計術 葛炎風,繆希仁,林蘇斌 福州大學電氣工程與自動化學院,福建福州 摘要 針對傳統的燈光照明控制系統存在的通訊距離短 傳輸速度慢 誤位元速率 高等問題,提出了一種基於 匯流排的智慧型照明控制系統。介紹了 匯流排的特點,詳細闡述了智慧型照...