微控制器用CAN匯流排與PC通訊,請問CAN協議用什麼晶片如何連線

2021-09-30 17:41:26 字數 3799 閱讀 1184

1樓:巨季雅

你的問題本身就是有問題的

「can協議用什麼晶片」?

pc機和一些外圍裝置一般通過 序列通行方式(232串列埠或usb)

要想can和pc 通訊,必須轉換,你需要用can-rs232轉換器,或者帶轉接功能的pci卡(不推薦),

如果通過232序列方式,只需在pc機編寫軟體就行了,也可以用串列埠除錯助手,

如果是usb方式的,一般也要用usb轉232

單純給你一個max232(串列埠通訊用的),也不能直接和can通訊,還是需要程式的,

最好買一個can-232轉換器,自己做一個也行()不是很難的事。

如何連線?

232與pc也就是三根線,txd rxd 和gnd,和pc後端db9連線即可,如果筆記本,沒辦法,只能usb轉串列埠了,

也可以選一個can-usb轉換器ok

2樓:

常見的兩種組合:

恩智浦全家福:sja1000t+pca82c250

microchip全家福:mcp2515+mcp2551

3樓:電子元件劉小姐

sja1000t+pca82c250或者pca82c251t

微控制器can通訊怎麼用,

4樓:匿名使用者

首先,can通訊需要有介面的,在有接收的基礎上,再加一片can匯流排驅動晶片pca82c250才行。

這是要看你是什麼微控制器了,有的微控制器帶有can介面的,就像帶有串列埠uart一樣。

帶有can介面的微控制器,有專用的通訊用暫存器來實現通訊,與串列埠無關。

沒有can介面的微控制器,如51系列的,就需要加一片can擴充套件接收晶片,如sja1000,通訊時,是按外部擴充套件介面來實現的,當然了,用sja1000也同樣需要pca82c250晶片的。

另外,在can通訊時,具有很嚴格的通訊協議的,必須按協議寫程式才行的。並不像串列埠通訊那麼簡單的。

51微控制器運用can匯流排的通訊協議 急!!!!!!!!!!

5樓:匿名使用者

首先canbus是問答式的通訊方式報文最大長度11char1仲裁場(共12位)

bit10 bit9 bit8 bit7 bit6功能編碼

bit5 bit4 bit3

目的地址

bit2 bit1 bit0

源插地址

rtr遠端幀

2.控制場

ide r0 dl3 dl2 dl1 dl00 0 資料長度

3.資料場

bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0

資料幀資料(最長8組)

應答時仲裁場目的地址源地址交換,就是目的地址就是你回答的詢問報文中的原地址,當然原地址就是你地址 485匯流排的通訊距離也在300m以上!485的通訊協議比較靈活!可以自己定值問答式協議!

可參考通訊中常用的同步頭+資料長度+效驗的格式自己設計,

例如:採用0xeb 0x90 同步頭

可以給你一份我做過的協議!自己分析一下!不明白給我發郵件[email protected]

6樓:匿名使用者

7樓:匿名使用者

到這了看看把

很全 不知道.看看高手怎麼回答?

8樓:匿名使用者

can線不要太長.可能出的問題就是出在你的線問題上,最多就1米的資料傳輸.還有就是add-模組地址編碼。

如果要解決的話就測到自身故障時,將切斷輸出,退出通訊,並向上位機報警,同時發出聲光報警.自訂can高層協議問題,解決的辦法就是:規範can2.

0a規定標準的資料幀有11位識別符號,使用者可以自行規定其含義,將所需要的資訊包含在內。在充電機系統中,每一個節點都有一個唯一的地址,地址碼和模組一一對應,通過撥碼開關設定,匯流排上資料的傳送也是根據地址進行的。由於本系統規模較小,節點數少於32個,因此為每個模組分配一個5位的地址碼,同一系統中地址碼不得重複,系統初始化時由外部引腳讀入。

將識別符號id9-id5定義為源地址,id4-id0定義為目的地址,本協議中從模組的目的地址全填0,表示資料是廣播資料,所有節點都可接收,主模組中目的地址根據要進行通訊目的模組的地址確定

這樣的情況出現還不好的話,兄弟.換了吧.沒有辦法了,

9樓:匿名使用者

我做過最多就1米的資料傳輸,沒有做過300米的

10樓:百度使用者

到這了看看把很全

11樓:匿名使用者

不知道.看看高手怎麼回答?

stm32與can匯流排是什麼關係啊?? 求高手指教啊! can是晶片嗎?要具體點的好嗎?

12樓:匿名使用者

stm32是一

塊微控制器,就是一塊控制晶片。

can匯流排是一種通訊協議,就像咱們的串列埠,是用於器件之間通訊用的。

就像咱們的串列埠需要一塊max232晶片作邏輯轉換一樣,can也需要一塊專門的can晶片支援。

微控制器普通io腳接can晶片,微控制器發出通訊訊號給can晶片作邏輯轉換後,can晶片將訊號放到can匯流排上去傳輸,訊號到了目的地後進入另一塊can晶片,can晶片將處理好的訊號給予目標晶片。

但是咱們的stm32比普通的微控制器強大,已經將這塊can晶片整合到stm32內部,所以我們使用時不用再外接晶片。stm32有專門的can口用於收發can訊號。

其實,can協議就是一種簡易化了的網路協議,那個所謂的can晶片就像我們的網絡卡,而stm32就是一個整合了網絡卡的cpu!

13樓:匿名使用者

1.首先你要搞懂stm32是什麼,其次你要搞懂can匯流排是什麼2.你現在連個基本的概念都還沒建立起來呢。好好打基礎。

3.stm32說白了,可以理解為微控制器。初步就這麼理解就可以。關鍵是可能你連微控制器是什麼都不知道。

4.can匯流排的知識可以去周立功的**上去看看5.世界上還有很多其他種類的匯流排,各有特點。

stm32與can匯流排是什麼關係啊?can是晶片嗎

14樓:匿名使用者

stm32是32位嵌入式晶片。而can匯流排是一種通訊方式。stm32主要負責程式的執行,而can匯流排只是一種通訊協議。

stm32之間的通訊可以通過can匯流排進行資料交換,也可以通過usb匯流排進行資料交換。can是一種協議,stm32如果與其他裝置要通過can協議通訊的話,那麼stm32要接一個can電平訊號轉換晶片才可以。

15樓:考客資料

stm32是一款主控晶片,裡面包含can匯流排控制器和can匯流排收發器。stm32與can匯流排沒有任何關係,只是stm32含有can匯流排通訊的相關外設。can是一種現場匯流排,和rs232,rs485等一樣,提供底層的資料通訊鏈路,實現can匯流排通訊有好多種晶片,這個可以根據你的使用場景所決定。

16樓:匿名使用者

這麼說吧,can是一種匯流排標準,用作微控制器和外設之間通訊的,通常用在汽車電子上;類似的匯流排還有i2c,spi等。

stm32是基於cortex m3的處理器,俗稱微控制器。它帶有若干個匯流排介面和外部通訊,can是其中之一。

17樓:聽聽—那冷雨

1、can整合在stm32內部,一般stm32都帶can介面

2、有單獨can的晶片

微控制器與PC機的序列通訊問題,微控制器與微控制器之間如何進行序列通訊?

define com1 0 define data ready 0x0100 define true 1 define false 0 define settings 0xe0 0x00 0x00 0x03 void main a bioscom 2,0,com1 0x00ff printf a x...

請問哪位高手用微控制器做過CAN匯流排

首先canbus是問答式的通訊方式報文最大長度11char 1仲裁場 共12位 bit10 bit9 bit8 bit7 bit6 功能編碼 bit5 bit4 bit3 目的地址 版bit2 bit1 bit0 源插地址 rtr遠端幀 2.控制場 權ide r0 dl3 dl2 dl1 dl0 0...

PC與微控制器序列通訊控制背景和意義

微控制器序列通訊的實際作用 一般用於和外部裝置交換資料的 舉例來說 一 比如和pc的串列埠機通訊,微控制器可以採集一些模擬量 溫度,溼度,氣體濃度等 將這些模擬量轉換成數字量後通過序列通訊介面傳輸個pc機,pc機上還得編寫一個簡單的應用軟體,可以顯示這些模擬量 溫度,溼度,氣體濃度等 的值,這個簡單...