什么是 CAN 總線控制器?
CAN 總線控制器是 CAN 局域網控制器的簡稱,是 CAN 總線通信系統中的核心部件。
它主要是為解決現代汽車中眾多測量控制部件之間的數據交換而開發的一種串行數據通信總線。CAN 總線控制器能提供高達 1Mbit/s 的數據傳輸速率,這讓實時控制變得容易。而且硬件的錯誤檢定特性增強了其抗電磁干擾能力。
以 Philips SJA1000 CAN 控制器為例,它支持 CAN2.0,包括標準的和擴展的數據和遠程幀,位速率可程控,還有可程控的時鐘輸出,擴展的 64 字節 FIFO 接收緩沖器,4 個字節的驗收濾波器,時鐘頻率達 24MHz,輸出驅動器狀態可編程,有可擦寫的總線錯誤計數器、當前錯誤代碼寄存器、仲裁丟失捕獲寄存器,采用 28 腳 DIP/SO 封裝,引腳及電器特性與 82C200 兼容。
其原理方面,以 SJA1000 為例,功能框圖中 CAN 核心模塊根據 CAN 總線協議控制數據幀的發送和接收。接口管理邏輯模塊提供 SJA1000 與主微處理器或其它設備的連接,主微處理器能通過數據/地址復用總線和讀寫控制邏輯訪問 SJA1000 的所有寄存器。發送緩沖區能存儲完整的標準或擴展的報文,當主微處理器要求發送報文時,接口管理邏輯操縱 CAN 核心模塊將其發送到 CAN 總線上。接收報文時,CAN 核心模塊先將串行位流數據轉換為并行數據,再交給接收過濾模塊識別,決定是否為主微處理器所需報文類別,接收的報文存放在接收先進先出隊列,根據工作模式和數據長度,最多可存放 32 個報文,用戶能靈活對報文分優先級和中斷處理服務。
SJA1000 可直接連接 Intel 公司的 80C51 系列和 Motorola 公司的 68xx 系列處理器,芯片外圍有模式管腳選擇 CPU 類型,提供 8 位地址/數據復用總線和讀/寫控制信號與 CPU 交換數據,可看作映射到主微處理器的外圍存取器 I/O 設備。
CAN 總線是常見的現場總線,能同時連接 110 個節點設備,控制其他節點的是主站,被控制的是從站。CAN 總線控制器是控制其他節點的設備,是主站,且連接的 CAN 總線通常有 CANopen 等總線協議,可能是 CANopen 主站設備,如支持 CANopen 通訊的 PLC 及單片機控制器等。
CAN 是控制器局域網絡的簡稱,優點眾多,如傳輸速度最高到 1Mbps,通信距離最遠到 10km,有無損位仲裁機制和多主結構,近年來價格越來越低。具有低成本、高集成、可靠性強、效率高、靈活性好等優點。
CAN 總線網絡主要掛在 CAN_H 和 CAN_L,需接 120 歐姆終端電阻避免信號反射和干擾。CAN 總線控制器負責將 CPU 發出的數據轉換為符合 CAN 總線標準的格式并發送,也能接收并處理來自 CAN 總線的數據,是連接 CPU 與 CAN 總線的橋梁,為控制系統提供高效、可靠、靈活的通信解決方案。
最新問答

