引言
CAN總線應用中,總線節點是CAN總線的基本組成部分。CAN總線節點有兩種典型設計方法,第一種方法采用MCU結合獨立CAN控制器組成總線節點:第二種方法采用獨立的MCU,這時MCU需要內部集成CAN控制器。由于第二種設計方法所用的器件少,電路關系簡單,已得到廣泛應用。本文重點分析AVR系列單片機內部集成的CAN控制器及其應用方法。
AT90CAN集成CAN總線控制器分析
AVR內部集成CAN控制器的芯片主要包括AT90CAN32/64/128三種單片機,它們之間的主要區別是存儲空間不同。
AT90CAN32/64/128內部集成的CAN總線控制器由CAN通道和郵箱組成,其工作參數通過寄存器設置,工作過程也通過寄存器監控。CAN控制器基本結構如圖1所示。
CAN總線控制器組成
CANh通道
CAN通道是CAN控制器用于完成發送和接收的部分。使用CAN控制器時,需要對CAN通道工作模式和位定時進行設置。
(1)CAN通道工作模式
CAN通道有使能、待命以及只聽三種工作模式。不同模式下通道、時鐘以及寄存器的工作模式不同,詳細內容見參考文獻[3]。
(2)位定時
CAN通道位定時的概念和基本規定與CAN總線協議一致。AVR~~列單片機中,CAN總線控制器時間份額(TQ即為波特率分頻器輸出時鐘信號的周期。CAN總線位周期由同步段(SYNS)、傳播段(PRS)、相位緩沖段l(PHSl)、相位緩沖段2(PHS2)組成,每個時間段的長度都是時間份額(T∞的整數倍。通過位定時設置可以確定各時間段的長度,同時還可以設置重同步跳轉寬度(SJw)以及信號采樣位置和采樣次數。設置時,CAN總線位時間必須設置在8~25個時間份額之間。位定時設置完畢后即可計算總線波特率,計算方法見參考文獻。……