Ⅰ 做過CAN匯流排編程的單片機師傅請進
首先 倆個星期學會CAN匯流排是不可能的 。呵呵。但是要是在別人的基礎上做自己簡單的應用是完全沒問題的了。
最快的方法是買一個帶CAN的開發板,他裡面有CAN 的常式,我原來做過CAN 匯流排,像你說的只是控制幾個燈亮就非常簡單了。
還要跟你說下的是,你的CAN模塊如是單片機自帶的外設,那你最好買同一系列的單片機開發板那就更快了。(即使不買,那你也可以下相關開發板的資料了,呵呵)如果不是可能時間要多些。等你做完這個項目在回過頭去看看CAN 是非常有助你理解的。
希望我的回答能幫助你了。CAN匯流排在工業控制上還是非常好的匯流排。祝你研發成功。
Ⅱ 請問canbus系統有什麼作用
作為ISO11898CAN標準的CANBus(ControLLer Area Net-work Bus),是製造廠中連接現場設備(感測器、執行器、控制器等)、面向廣播的串列匯流排系統,最初由美國通用汽車公司(GM)開發用於汽車工業,後日漸增多地出現在製造自動化行業中。 編輯本段1、CANBus系統組成及性能 CANBus系統通過相應的CAN介面連接工業設備(如限位開關、光電感測器、管道閥門、電機啟動器、過程感測器、變頻器、顯示板、PLC和PCI作站等)構成低成本網路。直接連接不僅提供了設備級故障診斷方法,而且提高了通信效率和設備的互換性。CANBus數據傳輸速率為1Mbit/s,線路距離lkm,基本站點數64,傳輸媒體是屏蔽雙絞線或光纖。 編輯本段2、CANBus數據鏈路控制特點 CANBus數據鏈路層協議採用平等式(Peer to peer)通信方式,即使主機出現故障,系統其餘部分仍可運行(當然性能受一定影響)。當一個站點狀態改變時,它可廣播發送信息到所有站點。 CANBus的信息傳輸通過報文進行,報文幀有4種類型:數據幀、遠程幀、出錯幀和超載幀,其中數據幀格式如圖8所示。CANBus幀的數據場較短,小於8B,數據長度在控制場中給出。短幀發送一方面降低了報文出錯率,同時也有利於減少其他站點的發送延遲時間。幀發送的確認由發送站與接收站共同完成,發送站發出的ACK場包含兩個「空閑」位(recessive bit),接收站在收到正確的CRC場後,立即發送一個「佔有」位(dominant bit),給發送站一個確認的回答。CANBus還提供很強的錯誤處理能力,可區分位錯誤、填充錯誤、CRC錯誤、形式錯誤和應答錯誤等。 CANBus應用一種面向位型的損傷仲裁方法來解決媒體多路訪問帶來的沖突問題。其仲裁過程是:當匯流排空閑時,線路表現為「閑置」電平(recessive level),此時任何站均可發送報文。發送站發出的幀起始欄位產生一個「佔有」電平(dominant level),標志發送開始。所有站以首先開始發送站的幀起始前沿來同步。若有多個站同時發送,那麼在發送的仲裁場進行逐位比較。仲裁場包含標識符ID(標准為llbit),對應其優先順序。每個站在發送仲裁場時,將發送位與線路電平比較,若相同則發送;若不同則得知優先順序低而退出仲裁, 不再發送。系統響應時間與站點數無關,只取決於安排的優先權。可以看出,這種媒體訪問控制方式不像Ethetnet的CSMA/CDCA協議那樣會造成數據與信道帶寬受損。 編輯本段3、CANopen協議 CANBus除配置設備網(DevicnNet)協議外,還提供基於CAL(CANA pllicationlayer) 的CANopen協議(CiA DS-301),即支持設備參數的直接訪問,又可實現有苛刻時間要求的過程數據通信。 CANBus的DeviceNet協議具有開放性,用戶無須購買加入系統所需的硬體、軟體和允許權,多廠家設備能夠在單一網路上相互操作。CANhs也允許與Ethernet或其他區域網相連,接人控制演算法組態及管理信息PC系統,從而形成管控一體化的工業網路。
Ⅲ 國內選擇第三方公司逆向汽車CAN匯流排數據七個理由
其背景是:在實際的商業化產品中,CAN驅動層也包含一些復雜的策略,如各種異常的處理,以及性能優化模塊,模塊本身還會有可配置性和可移植性的要求,畢竟CAN驅動也是軟體平台的一部分。
在傳統的OSEK/VDX架構下,CAN驅動以上還有交互層、傳輸層、診斷一些層、網路管理、標定、信號/報文/協議網關等上層基礎軟體模塊,幾乎每一個都有相應的國標標准來對應,是一個相當專業且門檻不低的行業子領域。
除了知名汽車零配件公司自己招募一些團隊做CAN開發以外,一般採用委託第三方公司。
其目的是:降低研發成本,省去大批工程師高額的開發周期和管理費用,目前國際知名的第三方供應商有Vector、EB、Mentor Graphics,國內有速銳得。
對於車載ECU來說,一級零部件供應商研發可以分為系統、硬體、電子、軟體、機械結構等,CAN匯流排涉及最多是溝通的工作,主要是CAN匯流排的邏輯、信號需求、通信矩陣釋放、樣件提交、測試結果反饋等等。通信矩陣不能釋放的開發項目,看是否通過速銳得適配完成數據的採集與交互。
其中原因是:國內汽車電子行業,對CAN匯流排相關協議有深刻理解和開發經驗的工程師數量不斷,相對於項目整體的開發規模,只佔很小一部分。數百萬的汽車電子軟體工程師,用過CAN匯流排的十之六七,但知道CAN相關各個模塊設計的,恐怕也是萬里挑一。簡單的、復雜的、主從的、多主的各式各樣,優缺點、選擇依據、調研和分析、實驗與現場實踐及洞悉,都是考驗CAN技術開發的多種條件。
其需求是:DBC數據的創建,是基於各ECU系統的機能需求,如果ABS系統有個輪速信息要發給ECU,是以什麼樣的周期、什麼樣的精度,那麼我們就需要把把需求轉化成匯流排報文。網路拓撲設計,基於整車線束分布,對匯流排節點之間的距離、節點數、匯流排負載等有限制,整車CAN通訊策略,對整車匯流排節點上都有統一的策略。網路管理設計,處於有的節點在IGOFF後,有通信需求,為降低功耗,又制定了不同的網路管理策略,還有將UDS協議(14229)轉為J1939或者ISO15765等等需求。
其工具是:
硬體:帶有CAN模塊晶元的開發板,CAN BOX、CAN H 與?CAN L之間的120歐姆介面,零散線束、USB、螺絲刀、裝飾面板拆卸工具等等
軟體:CAN OE 或者周立功、豪氣霸主可用vehicle spy。
其方法是:以周立功為例,這個大家用的多。
打開CANTEST通用測試軟體,選擇USBCAN-2E-U介面,選定匯流排波特率,一般為500K,點擊確認並啟動,啟動CAN介面卡。
其難度是:有的數據是加了演算法的,針對數據的CAN ID一個一個做記錄,變數數據通常的都比較簡單,演算法數據上才是真正考驗能力的時候。速銳得在做豐田氫能源車整車控制策略的時候,1000多組CAN ID裡面甄選了142個必要數據,其中有86個數據都帶「復雜」演算法還參雜了其他CAN ID變數的邏輯。
隨著汽車電子技術的發展,汽車上所用的控制單元不斷增多,CAN匯流排技術的應用范圍廣泛,在工業控制測試、汽車電子維護維修、協議適配與解碼,數據單元的控制與訪問。
本文來源於汽車之家車家號作者,不代表汽車之家的觀點立場。
Ⅳ 我過去沒有什麼CAN開發經驗,但是還是想進行canbus協議盒開發,請問能夠實現嗎
感謝題主的邀請,我來說下我的看法:
首先可以說您想要實現的目的是很難的,因為開發一類東西必須對它有著極其透徹的了解。以題目中的CAN匯流排設備開發來說,您起碼得知道CAN協議是怎麼一回事,一條CAN數據有多少位,知道CAN端不可以連接超過3.5V以上的電源等等。如果連這些都不知道,那麼趁早干點別的吧。即使您真的透徹了解了CAN匯流排,同時還必須將這些得到的理論知識與DIY能力相結合,起碼STM32您要會用吧!所以,開發能否成功還是要看各方面的因素的。當然,如果您能夠堅持下來,這條路還是很有發展前景的。但如果您實在做不了卻還有需求的話,可以前往GCGD官網進行具體的求助,歡迎來訪。
Ⅳ 什麼是汽車canbus
CANBus(ControLLer Area Net-work Bus)全稱為「控制器區域網匯流排技術,是製造廠中連接現場設備(感測器、執行器、控制器等)、面向廣播的串列匯流排系統,最初由美國通用汽車公司(GM)開發用於汽車工業,後日漸增多地出現在製造自動化行業中。
Can-Bus匯流排技術最早被用於飛機、坦克等武器電子系統的通訊聯絡上。將這種技術用於民用汽車最早起源於歐洲,在汽車上這種匯流排網路用於車上各種感測器數據的傳遞。
隨著CAN-BUS的不斷完善和發展,作為一種技術先進、可靠性高、功能完善、成本合理的遠程網路通訊控制方式,CAN-BUS 不再僅僅局限於汽車電子領域,還被廣泛應用到其它各個自動化控制系統中。在歐洲、美洲,亞洲CAN-bus匯流排技術在工程機械領域都已經普遍應用,大大提高了整機的可靠性、可檢測和可維修性,同時提高了智能化水平。在國內,CAN-bus匯流排控制系統也開始在汽車的控制系統中廣泛應用,在工程機械行業(如自動控制、智能大廈、電力系統、安防監控等領域)中也正在逐步推廣應用。
Ⅵ 請問進行CANBUS開發都需要什麼工具呢
感謝題主的邀請,我來說下我的看法:
我覺得至少你需要一個USBCAN分析儀,用它來解析出目標CAN匯流排的協議,了解了匯流排的運行規則以後,剩下的開發工作就有的放矢了。當然,進行CAN匯流排開發工作你還要有強悍的嵌入式開發能力,這個就要看您自己的學習了。如果你需要能夠解析CAN匯流排協議的USBCAN分析儀的話,可以前往我們的網站進行咨詢,歡迎來訪。
Ⅶ can匯流排需要哪些軟體
can匯流排是個通訊協議
最初是由博世公司開發出來的
現在已經開源了
誰都可以弄
所以沒有什麼品牌
只要你會大家都可以用
Ⅷ 關於VC開發基於CAN匯流排的上位機軟體的一些問題。
可以這樣考慮,總體分為:通訊協議,數據收發,數據處理,數據顯示,通信協議就是你的CAN協議了,什麼CRC校驗啊,奇偶校驗啊,幾個停止位啊什麼的。數據收發就是你使用的收發方式,開發過程中可藉助串口助手。數據處理,就是對原始接收到得數據進行整理分類。數據顯示,就看你用什麼來顯示了,列表,編輯框,圖表等等
Ⅸ canbus和modbus協議各自的優缺點都有哪些
MODBus的Can匯流排與485匯流排的不同之處在於:不同的主從結構,不同的錯誤檢測機制,不同的訓練成本。
1、主從結構不同
超過1,can匯流排的can匯流排是一種主從結構,每個節點有可以控制設備,多個節點發送,發送自動仲裁的ID號,這樣你就可以實現匯流排數據,和一個節點發送,另一個節點可以檢測到匯流排空閑,並立即發送,這個省去主機要求,提高匯流排的利用率提高速度。
485公交車,485匯流排是一個主從結構,還有隻有一個主機在公共汽車上,溝通是由它,它沒有訂單,下面的節點不能發送,並且想要發送答案,暴露於答案後,主機到下一個節點要求,這是防止多個節點發送數據匯流排,數據混亂造成的。
2、不同的錯誤檢測機制
Can匯流排:Can匯流排有一個Can控制器,它可以檢測匯流排中的任何錯誤。如果錯誤超過128,它將被自動阻止。保護公共汽車。如果在另一個節點或它自己的節點上檢測到錯誤,一個錯誤幀被發送到匯流排,以指示另一個節點數據是不正確的。
485匯流排:485匯流排只指定了物理層,而沒有數據鏈路層,所以無法識別錯誤,除非發生短路等物理錯誤。這很容易導致一個節點損傷,發送數據到匯流排上,導致汽車事故。
3、不同的培訓成本
Can匯流排:Can匯流排要求底層工程師了解Can的復雜層,上位機軟體了解Can的協議。培訓成本很高。
485匯流排:從485匯流排通信的軟體是很方便的,只要你懂串口通信,就可以編程。培訓成本更低。
(9)canbus軟體工程師擴展閱讀:
CAN匯流排通過CAN收發介面晶元82C250的兩個輸出端CANH和CANL連接到物理匯流排,CANH端只能處於高電平或掛起狀態,CANL端只能處於低電平或掛起狀態。
這保證了RS-485網路中不會出現系統出現錯誤,多個節點同時向匯流排發送數據時,匯流排會出現短路,造成部分節點損壞的現象。
節點可以自動關閉輸出功能的嚴重錯誤,使匯流排上的其他節點的操作將不受影響,以確保公共汽車不會在「死鎖」由於單個節點的問題,如網路。
完美的通信協議可以實現的控制器晶元及其介面晶元,從而大大減少了系統開發的難度,縮短開發周期,這是無與倫比的rs-485的只有電子協議。
與其他現場匯流排相比,CAN匯流排是一種國際標準的現場匯流排,具有通信速率高、易於實現和性價比高的特點。這也是CAN匯流排應用於許多領域並具有較強市場競爭力的重要原因。
Ⅹ profibus與canbus有什麼區別,分別是干什麼的
profibus是工業現場匯流排的一種協議。所謂的canbus,我們這好像稱之為can匯流排協議,也是一種工業現場匯流排。兩者都是用於工業上的通訊。區別就是他們的協議內容不一樣,也就是報文的結構之類的。
這兩種協議談不上好壞,只是支持這兩種協議的廠家不一樣而已,當然他們報文結構不一樣,波特率范圍和傳輸距離不相同。個人感覺profibus使用好像廣泛些。