<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于Verilog HDL語(yǔ)言的CAN總線(xiàn)控制器設計及驗證

基于Verilog HDL語(yǔ)言的CAN總線(xiàn)控制器設計及驗證

作者: 時(shí)間:2012-08-01 來(lái)源:網(wǎng)絡(luò ) 收藏

CAN_Core為CAN協(xié)議的核心部分,完成CAN協(xié)議中的數據鏈路層的全部功能以及物理層的部分功能,包括LLC子層的接收濾波、超載通知和恢復管理、MAC子層的數據封裝/拆裝、幀編碼、媒體訪(fǎng)問(wèn)管理、錯誤檢測、錯誤標定、應答和串行化/解串行化、以及物理層的位編碼/解碼、位定時(shí)和同步。CAN_Registers為一寄存器組,外部微處理器可以通過(guò)地址直接訪(fǎng)問(wèn)這些寄存器。根據功能框圖,設計了的程序結構,如圖3所示。
1.3 各個(gè)功能模塊的設計
1.3.1 CAN_IML設計
參照SJA1000,設計 的接口,如圖4所示。

c.JPG


圖中Port_0_io_7到Port_0_io_0為地址/數據復合總線(xiàn)。Cs_can_i為片選輸入信號。當Cs_can_i為0時(shí)允許訪(fǎng)問(wèn)CAN總線(xiàn)控制器。Ale_i為1時(shí),允許對寄存器進(jìn)行賦值。Rd_i和Wr_i為微處理器的讀使能信號和寫(xiě)使能信號。Irq_on為中斷輸出信號,用于中斷微處理器。Rst_i為復位輸入,用于復位CAN接口。Clkout_o為 CAN控制器提供給微處理器的時(shí)鐘輸出信號,時(shí)鐘分頻寄存器可禁止該引腳輸出。Bus_off_on控制總線(xiàn)關(guān)閉和總線(xiàn)開(kāi)放接口,Tx_o和Rx_i與收發(fā)器相連,向總線(xiàn)發(fā)送和接收數據。
1.3.2 CAN_Registers設計
設計的CAN總線(xiàn)控制器的寄存器模塊包括以下寄存器:模式寄存器、命令寄存器、狀態(tài)寄存器、中斷寄存器、中斷使能寄存器、總線(xiàn)定時(shí)寄存器0~1、仲裁丟失捕獲寄存器、錯誤代碼捕獲寄存器、錯誤報警限制寄存器、接收錯誤計數器、發(fā)送錯誤計數器、驗收代碼寄存器0~3、驗收屏蔽寄存器0~3、接收信息計數器和接收/發(fā)送緩沖器。
1.3.3 CAN_Core設計
CAN_Core為整個(gè)CAN控制器的核心,負責處理CAN的協(xié)議。核心模塊由4個(gè)部分組成,結構如圖5所示。

d.JPG


下面簡(jiǎn)單介紹CAN_Core模塊中的位流處理器、位時(shí)序邏輯。
位流處理器是CAN總線(xiàn)控制器中控制數據流的發(fā)生器。它還執行總線(xiàn)上的錯誤檢測、仲裁、填充和錯誤處理等功能。主要有接收模塊、發(fā)送模塊、錯誤管理模塊、CRC校驗、驗收濾波、FIFO等6個(gè)模塊組成,如圖6所示。其中CRC校驗、FIFO、驗收濾波在所執行的項目中已經(jīng)有他人設計完成。

f.JPG


位時(shí)序邏輯的設計包括位定時(shí)設計、采樣點(diǎn)設計、位同步設計3部分。下面以定位時(shí)為例介紹其設計。
位定時(shí)設計 在位定時(shí)設計中采用了一個(gè)有3個(gè)狀態(tài)的狀態(tài)機。3個(gè)狀態(tài)分別對應的是同步段和相位緩沖段1以及相位緩沖段2。傳播段占用的時(shí)間短,在控制上沒(méi)有特別的意義,僅作為物理層的傳播延時(shí),所以沒(méi)有設計進(jìn)狀態(tài)機,位定時(shí)部分的狀態(tài)機設計如圖7所示。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>