<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > can總線的示波器檢測方法

          can總線的示波器檢測方法

          作者: 時(shí)間:2016-12-13 來源:網(wǎng)絡(luò) 收藏
          整理自網(wǎng)絡(luò)::

          stm32的can總線是在APB1上的,stm32f10x的主頻是72Mhz,can外設(shè)時(shí)鐘是36Mhz,stm32f2xx的主頻是120Mhz,can外設(shè)時(shí)鐘是30Mhz。。。

          本文引用地址:http://www.ex-cimer.com/article/201612/329221.htm

          STM32 APB1和APB2區(qū)別:

          APB2負(fù)責(zé)AD,I/O,高級TIM,串口1。

          APB1負(fù)責(zé)DA,USB,SPI,I2C,CAN,串口2345,普通TIM

          can總線電氣特性

          做一想要從車上測出can總線上的數(shù)據(jù)還不太容易。

          于是我首先使用示波器(我使用的示波器型號是TDS 220)來找出汽車上can總線的接口,然后測出can總線的波特率,測量波特率的步驟如下:

          1、將示波器的兩個接口(接地和探頭)分別接在can總線的兩條線(CAN_H和CAN_L)上,
          這里需要注意如果CAN線上需要接一個120歐姆的負(fù)載電阻,否則波形是不規(guī)整方波,
          接上負(fù)載之后才是規(guī)整的方波。

          2、此時(shí)如果can線上有數(shù)據(jù),則會在示波器上顯示出方波如圖1所示。(這里使用示波器的RUN/STOP按鈕捕捉波形)

          圖1

          2、但是此時(shí)因?yàn)槭静ㄆ黠@示的數(shù)據(jù)太多還無法讀取單個脈沖的周期,
          所以需要調(diào)節(jié)示波器的X軸的每格所代表的周期(調(diào)節(jié)SEC/DIV旋鈕)
          然后使用RUN/STOP按鈕重新捕捉波形得到圖2所示的波形,

          圖2

          3、最后將圖2中寬度較小的脈沖再次放大(調(diào)節(jié)SEC/DIV)直到圖3所示,這時(shí)每格代表1us
          可以看到這個脈沖跨度為8us

          圖3

          所以最終得到該can總線的波特率為1s/8us=125K

          在車輛電子網(wǎng)絡(luò)中,CAN總線是一個重要的協(xié)議。它具有一個高達(dá)1兆bit的比特率, 并提供簡單的微處理器網(wǎng)絡(luò),這需要用到一種被稱為CAN控制器的專用CAN總線芯片叫做CAN控制器。

          CAN的數(shù)據(jù)傳輸報(bào)文就是數(shù)據(jù)幀。數(shù)據(jù)幀允許有一個比較長的ID,所以稱為可擴(kuò)展幀。

          適用于某些應(yīng)用中的,但不是用于汽車中的是遠(yuǎn)程幀。遠(yuǎn)程幀允許一個節(jié)點(diǎn)響應(yīng)一個特定的ID。

          CAN功能是非常齊全的。這意味著它不僅僅發(fā)現(xiàn)很多的錯誤,同時(shí)能夠?qū)崿F(xiàn)自動化傳輸或者節(jié)點(diǎn)自動關(guān)閉。

          CAN使用比特流來通過接收器到發(fā)射器。為了適合于特定的位次序,CAN必須使用位填充。位填充在傳統(tǒng)示波器上對CAN波形進(jìn)行解碼很困難。

          CAN是一個數(shù)據(jù)鏈接層。有三種正在使用的物理層來對CAN進(jìn)行信號的電動發(fā)射。

          在使用CAN總線的某些地方,可能用FlexRay或者LIN更合適。

          CAN總線的詳細(xì)說明書:can2spec.pdf


          一個CAN總線的數(shù)據(jù)幀

          CAN總線數(shù)據(jù)幀

          CAN總線數(shù)據(jù)幀在CAN上運(yùn)作。CAN的整個過程實(shí)質(zhì)上是在網(wǎng)絡(luò)控制器之間發(fā)送數(shù)據(jù),這就需要數(shù)據(jù)幀來實(shí)現(xiàn)這個功能了。

          數(shù)據(jù)幀是以一個單一的SOF(起始幀)位開始的,跟著就是CAN標(biāo)識符。CAN標(biāo)識符是用來標(biāo)識報(bào)文和接下來的節(jié)點(diǎn)報(bào)文。標(biāo)識符可以有11位長或者是29位長,這主要是根據(jù)保留位的狀態(tài)來決定。


          CAN數(shù)據(jù)幀以一個SOF位開始,跟著就是ID位

          在CAN標(biāo)識符之后,有一個數(shù)據(jù)段,數(shù)據(jù)段是以一個數(shù)據(jù)長度開始的。CAN數(shù)據(jù)幀能夠有0到8個字節(jié),這樣它使用4位的編碼長度。數(shù)據(jù)字節(jié)直接跟著數(shù)據(jù)長度。


          在CAN幀中數(shù)據(jù)字節(jié)跟著數(shù)據(jù)長度(DLC)

          跟在數(shù)據(jù)之后是CRC。CRC是基于CAN幀的第一部分在接收器和發(fā)射器中進(jìn)行計(jì)算的。如果計(jì)算出來的結(jié)果與接收器呈現(xiàn)的結(jié)果相匹配,則說明正確接收數(shù)據(jù)。


          CAN 的CRC檢查數(shù)據(jù)的完整性,同時(shí)ack表示從另一個節(jié)點(diǎn)接收

          跟著CRC的是Ack 場,這個場是在所有的其他的正確接收幀的網(wǎng)絡(luò)節(jié)點(diǎn)上進(jìn)行設(shè)置的。
          Ack位后,有一段靜態(tài)時(shí)間,它稱為緊跟著一個最小的內(nèi)插幀空間的幀空間結(jié)束符。

          一個CAN數(shù)據(jù)幀圖片

          擴(kuò)展數(shù)據(jù)幀

          可擴(kuò)展標(biāo)識符CAN 幀使用29位用于辨識目的,而不是標(biāo)準(zhǔn)的CAN幀的11位。由于這個額外的ID空間增加了20位(18個ID和兩個保留位),它通常不使用于希望得到最高性能的網(wǎng)絡(luò)當(dāng)中。

          在J1939和GMLAN協(xié)議中,較大的ID分為不同的部分,每一個部分都有它的意義。比如,對于J1939和GMLAN的最低的8個ID位表明了一個字節(jié)的源地址。


          單線CAN擴(kuò)展ID是有29位長(還沒有算入緩沖位)。許多系統(tǒng)設(shè)計(jì)者不使用這個ID長度,
          因?yàn)樗蟊容^高的費(fèi)用

          CAN總線遠(yuǎn)程數(shù)據(jù)幀

          CAN總線遠(yuǎn)程幀是可選幀,它用于請求數(shù)據(jù)。遠(yuǎn)程幀沒有包含數(shù)據(jù)段,即使數(shù)據(jù)長碼位大于0。你能夠從RTR位的狀態(tài)來判決一個幀是否是遠(yuǎn)程幀(RTR=1)。遠(yuǎn)程幀通常不使用在汽車的應(yīng)用當(dāng)中。


          在這個CAN L波形中顯示了一個遠(yuǎn)程幀

          CAN總線錯誤

          請看圖片 >

          CAN總線位填充

          CAN波形是一系列的位。由于在CAN總線節(jié)點(diǎn)之間沒有共享時(shí)鐘,那么對于所有的節(jié)點(diǎn)則一定有方法從波形中得到時(shí)鐘信息。因此接收器使用CAN波形轉(zhuǎn)換來使得發(fā)射器與接收器實(shí)現(xiàn)同步時(shí)鐘。

          為了確保有足夠的轉(zhuǎn)換,CAN總線執(zhí)行位填充功能。位填充在連續(xù)5個相同的位之后,插入一個額外的碼流的相反位。由于填充位的出現(xiàn)要根據(jù)消息序列的容量,CAN幀的長度要根據(jù)在幀里面的數(shù)據(jù)位進(jìn)行改變。這些額外的填充位自動被接收器丟掉,因此在CAN節(jié)點(diǎn)的應(yīng)用軟件中就從來不會接觸到這些填充位了。


          填充位,用黃色突出,增加消耗在一個CAN報(bào)文中。這個報(bào)文有13個額外的填充位

          CAN總線物理層

          CAN協(xié)議介紹了1s和0s是如何使用在通訊當(dāng)中的。CAN協(xié)議沒有介紹發(fā)射1s和0s信號的電氣方法。

          最普遍流行的物理層被稱為雙線物理層。這個物理層使用雙線CAN H和CAN L。這些線在不同的電壓方向(對應(yīng)著不同的信號傳輸)上傳送1或者0。

          對于特定的汽車低速應(yīng)用,介紹兩個其他的物理層。它們是單線CAN和低速容錯CAN。如果有一條線路斷了。低速容錯CAN總線將會提供容錯信息。

          單線CAN

          單線CAN是一個物理層,它是由普通的發(fā)動機(jī)生成的。它允許CAN使用一條單線在低比特率(如33.3Kbps)的情況之下進(jìn)行通訊。同時(shí)對于閃存編程允許一個高速模式。最后,雖然很多CAN收發(fā)器僅僅提供了1或者0,但是單線仍能夠提供一個被稱為高壓模式的第三狀態(tài)。這種模式能夠使得CAN節(jié)點(diǎn)的電源管理有選擇性。


          這是兩個不同的單線CAN幀。一個在高電壓模式下發(fā)送,另一個為正常電壓

          ??


          關(guān)鍵詞: can總線示波器檢測方

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();