久久自己只精产国品-韩日美无码精品无码-日本熟妇中文字幕三级-男ji大巴进入女人的视频小说-久久97超碰色中文字幕总站

寧波市鄞州首南恒宇激光雕刻廠

在30分鐘或更短的時間內開發CAN
分享到:


摘要:自從上世紀80年代引入CAN以來,在其規范和需求方面出現了巨大演變。由于其擴展能力,使得其在眾多應用中得以廣泛使用,從汽車到工業機器和工業自動化。隨著其廣泛使用,實施復雜性也在兩個層面上相應增加:

* CAN控制器設計從基本控制器轉向全CAN控制器,在某些情況下,甚至為擴展的全CAN控制器。

* CAN軟件堆棧從汽車通信堆棧變為CANOpen,以及DeviceNet。

假定CAN僅是汽車系統中的單個組件,開發人員僅需面對盡可能少的挑戰就能實現它,那么就能夠將工作重點放在系統級功能上面,而不是糾纏于外圍配置。在本文中,將研究CAN接口,討論不同的實施、配置方式,以及調試接口以簡化設計。

控制器區域網絡(CAN)最早是由Robert Bosch引入的,用于處理不斷增加的車輛功能和網絡復雜性。在嵌入式系統開發的早期階段,模塊中包含單個MCU,可執行單個或多個簡單功能,如通過ADC讀取傳感器電平信號并控制直流電機等。隨著這些功能日益復雜,設計人員采用分布式模塊架構,在同一PCB(印刷電路板)的2個或多個MCU中實現其功能,并使用I2C或SPI協議執行這些功能之間的通訊。對于前面的相同示例,綜合模塊則具有用于執行所有系統功能、診斷和故障保證的主MCU,同時另一MCU負責BLDC電機控制功能。以較低的成本采用廣泛使用的通用MCU即可實現該目的。

在當前的車輛中,功能分布于車輛中而不僅僅是模塊內,模塊間的通信協議需要高的故障容差,,因而在汽車市場中設計并引入了CAN。

圖1 –CAN 介紹
到上世紀90 年代中,隨著DeviceNet 和CANOpen 協議的引入,CAN 以及工業控制已在汽車之外的范圍得到廣泛應用。

受市場中這類需求的推動,很多MCU 供應商內部集成了CAN 控制器,用于推廣這類市場。雖然在高層面上CAN 的功能看上去類似于I2C 或SPI,允許兩個節點之間的通信,但在控制器層面上CAN 通信與他們存在本質不同,下面列出CAN 能提供的服務:

· CAN 通信基于消息,而不是基于地址。
· CAN 節點能夠在總線上發送或請求消息。
· 復雜的錯誤處理機制。
· 使用CRC-15(循環冗余校驗)保護,能夠探測一行中出現的5 個損壞位。

由于是基于消息而不是基于地址,CAN 總線上的節點可擁有多條傳輸的消息,也就是說,制動器模塊可能具有包含車輛速度信息的消息,包含傳感器信息的消息(如輪速傳感器),以及包含診斷信息的消息,后者具有最高的傳輸優先級。

首先考察節點中的消息優先級和消息ID 解碼,人們或許認為CAN 會使CPU 產生高的負荷,從而阻止更多復雜功能的集成。這類問題是可以通過不同類型的CAN 控制器解釋,如圖2 所示。

圖2 - 基本CAN 控制器和全CAN 控制器
· 基本CAN 控制器:在CAN 控制器硬件中實現了十分基本的過濾功能,減少了消息處理,具有較高的CPU 負荷。在基本CAN 控制器中,CPU 會從CAN 控制器收到多條中斷信號,以便接收、確認和分析消息,也會從應用程序一側收到多條中斷信號,以便確定是否要根據所收到消息的ID 傳輸應答。基本CAN 控制器僅應在低波特率、低消息通信數量的情形下使用,從而使得CPU 能夠處理額外的非通信任務。

· 全 CAN 控制器:提供了擴展的消息過濾功能,以及硬件消息分析功能,解放了CPU,使其無需再對每一接收到的消息做出回應。可對全CAN 控制器進行配置,僅當消息ID 已在控制器中設為接受時,才會中斷CPU。全CAN 控制器還設置了多個消息對象,相當于郵箱,郵箱能夠儲存特定的消息信息,如收到的ID 和數據字節,以供CPU 檢索。在該情形下,CPU 可在任何時間檢索消息,但必須在更新所收到的相同消息并改寫郵箱當前內容之前完成任務。這類情形在最終類型的CAN 控制器中得到了解決。

· 擴展的全CAN 控制器:通過提供用于接收消息的硬件FIFO,提供了額外層面的硬件實施功能。通過這類實施方案,在中斷CPU 中斷之前,可保存相同消息一個以上的情況,因而防止了高頻率消息的丟失,通過該功能,CPU 甚至能夠在較長的時間段內專注于主要的模塊功能。

請注意,DeviceNet 將過濾判據擴展到了ID 字段之外,擴展到數據的前兩個字節,在實施該協議時,必須使用全CAN 控制器或擴展的全CAN 控制器。

根據具體的消息結構,上述兩種配置可共存于單個模塊中,以便實現高的消息優先級,并改善CPU 對所收到消息的處理。例如,對于接收一條消息(如ID = 0x250)中實效保護信息以及另一消息(如ID = 0x3FF)中溫度傳感器信息的模塊,可將第一個CAN 控制器配置為全CAN 控制器,并將第2 個配置為具有4 緩沖FIFO 的擴展全CAN 控制器:收到每條失效保護消息時,以及溫度傳感器消息時,CPU 被中斷。在圖3 中,給出了這類CAN 控制器的配置圖,它具有一個可定制的虛擬CAN 控制器,能夠快速實現復雜的消息處理,這三種類型的CAN 控制器可共存于其中:

· 消息5  基本CAN 郵箱。
· 消息0x250  全CAN 郵箱。
· 消息0x3FF  擴展的全CAN 郵箱。

圖3 – PSoC Creator – CAN 控制器配置
除了其功能方面的優勢外,CAN 還因其高的容錯性而得到廣泛應用。其比特率高達1Mbps、總線長度可達1000 米(在50Kbps 下),因而必須遵照CAN 比特時序,以便在電子噪音環境下工作,同時保持高水平的故障檢測和校錯特性。

為了確保高水平的容錯性能,與CAN 一起引入了亞比特時序結構,能夠實現更嚴格的控制,確保每一CAN 總線的正確總線狀態。

一個單獨的CAN 位由4 個段表示:

· Sync_Seg:用于同步總線上的各種節點。
· Prop_Seg:對物理延遲進行補償(物理總線和內部CAN 節點上的傳播延遲)。
· Phase_Seg1,Phase_Seg2:用于補償相位邊緣誤差。在在同步過程中,會縮短或加長這些段。

僅具有3 個段的CAN 控制器也很常見,其中,Prop_Seg 添加到了Phase_Seg1 上。

在圖4 中,顯示了位時序表征,以及實現它所需要的所有參數:

圖4 - 位時序表征
請注意,所有的CAN 位時序計算均基于時間量(TQ),它定義為固定的時間單位,由振蕩器導出,取值介于8 和25 之間。按照時間方面的觀點,1 個TQ 等效于1Mbps 總線速度下1 微秒位長度的1/25th 位或40 納秒。

聯系我們

地址: 浙江省.寧波市鄞州區寧姜公路(九曲小區二期旁)

郵編: 315040

聯系人: 盛立峰

電話: 0574-87139378

傳真: 0574-87139378

手機: 13867861670

郵箱: 85400329@qq.com

聯系我們
主站蜘蛛池模板: 在线播放亚洲第一字幕| 99久久亚洲精品无码毛片| 熟女一区| 无码精品人妻一区二区三区中| 欧美又大又硬又粗bbbbb| 无码视频免费一区二区三区| 中文无码熟妇人妻av在线 | 狼色精品人妻在线视频| 国产亚洲第一午夜福利合集 | 国产偷窥熟妇高潮呻吟| 正在播放熟妇群老熟妇456| 亚洲日韩中文无码久久| 少妇粗大进出白浆嘿嘿视频 | 无码人妻丝袜在线视频| 日韩精品无码免费专区午夜不卡 | 成人午夜看黄在线尤物成人| av大片在线无码永久免费| 久久久久亚洲精品天堂| 欧美人善z0zo性伦交高清| 久久精品免费观看国产| 大香伊蕉国产av| 精品无码国产污污污免费| 丰满岳跪趴高撅肥臀尤物在线观看 | 欧美饥渴熟妇高潮喷水水| 丰满人妻一区二区三区视频 | 亚洲欧美日韩国产成人一区| 久久香蕉超碰97国产精品| 无码办公室丝袜ol中文字幕| 亚洲国产成人高清在线播放| 国内精品久久久久影院老司机| 小妖精又紧又湿高潮h视频69 | 精品国产三级a∨在线| 久久99精品国产99久久| 亚洲综合一区无码精品| 天天躁日日躁狠狠躁av麻豆男男| 久久精品一本到东京热| 99精品国产99久久久久久97| 国产精品沙发午睡系列| 日韩av无码社区一区二区三区 | 亚洲中文字幕无码mv| 精品久久久久久人妻无码中文字幕 |