汪曉翔,馬 琪
(杭州電子科技大學 微電子CAD研究所,浙江 杭州 310018)
隨著應用需求的提高,一些設備在進行實時數據通信時需要保證數據傳輸的穩定可靠性。CAN(Controller Area Network)總線被廣泛應用于工業控制、汽車電子等設備之間的通信。隨著嵌入式設備的廣泛應用,越來越多的設備之間需要使用CAN總線進行通信。為了減少片上系統(System on Chip,SOC)芯片的面積和功耗,需要在SOC芯片上集成CAN總線控制器。
CAN總線可以在節點之間實現自由通信,每個節點可以在任意時間向總線上發送數據。節點采用標識符代替傳統的地址編碼,每個節點的標識符由11位或29位組成。發送節點向總線發送的數據幀包含標識符,接收節點可以根據標識符接收相應的數據幀。數據幀的數據位最高有8位,可以滿足工業控制的應用需求。針對工業應用的需求,本文提出了一種實時高速率的CAN總線控制器IP設計方法。
CAN總線控制器需要完成數據從物理層、傳輸層到對象層的傳輸[1-2]。其中,物理層是數據傳輸的重要媒介;傳輸層,即數據鏈路層是CAN總線的核心部分,負責把從物理層接收到的數據提供給對象層,以及把從對象層需要發送的數據轉換成數據幀提供給物理層。CAN總線控制器需要完成CAN2.0協議的全部內容。
CAN2.0協議的報文幀類型分為:數據幀、遠程幀、錯誤幀和過載幀[3-4]。數據幀從發送端傳遞數據到接收端,一個數據幀由7個不同域組成:幀起始域、仲裁域、控制域、數據域、CRC域、應答域和幀結尾域;遠程幀作為數據接收端的站通過其資源節點對不同的數據傳送進行初始化設置;……