基礎
1.幀型別: 資料幀、遙控幀、錯誤幀、過載幀、幀間空隙
2.資料幀: 資料幀有7個域組成
幀開始:
仲裁域:優先順序
控制域:保留位和資料位元組數
資料域:0-8個位元組
CRC域:檢查傳輸錯誤
ACK域:是對幀已經被正常接收的證實
幀結束:
3.遙控幀: 接收單元請求傳送單元傳送一個資訊
沒有資料域外其它與資料幀的結構是一樣的
4.錯誤型別:
填充錯誤
位錯誤
CRC錯誤
格式錯誤
ack錯誤
Time Quantum(稱為Tq) 最小時間單位
CAN匯流排控制器的整體設計
控制器SJA1000的功能結構 包括:
介面管理邏輯、傳送緩衝器、接收緩衝器、接收濾波器、位資料流處理器、位時序邏輯、錯誤管理邏
1)CAN_IML設計:
是CAN匯流排控制器介面邏輯,主要功能是解釋來自微處理器的命令,控制CAN暫存器的定址,向微處理器提供中斷資訊和狀態資訊。
Port_0_io_7到Port_0_io_0為地址/資料複合匯流排。
Cs_can_i 為片選輸入訊號。當Cs_can_i為0時允許訪問CAN匯流排控制器。
Ale_i為1時,允許對暫存器進行賦值。
Rd_i和Wr_i為微處理器的讀使能訊號和寫使能訊號。
Irq_on為中斷輸出訊號,用於中斷微處理器。
Rst_i為復位輸入,用於復位CAN介面。
Clkout_o為FPGA CAN控制器提供給微處理器的時鐘輸出訊號,時鐘分頻暫存器可禁止該引腳輸出。
Bus_off_on控制匯流排關閉和匯流排開放介面,Tx_o和Rx_i與收發器相連,向匯流排傳送和接收資料。
2)CAN_Registers設計:
設計的CAN匯流排控制器的暫存器模組包括以下暫存器:
模式暫存器、
命令暫存器
狀態暫存器、
中斷暫存器、
中斷使能暫存器、
匯流排定時暫存器0~1、
仲裁丟失捕獲暫存器、
錯誤程式碼捕獲暫存器、
錯誤報警限制暫存器、
接收錯誤計數器、
傳送錯誤計數器、
驗收程式碼暫存器0~3、
驗收遮蔽暫存器0~3、
接收資訊計數器和接收/傳送緩衝器。
3)CAN_Core設計:
CAN_Core為CAN協議控制器的核心部分,完成CAN協議中的資料鏈路層的全部功能以及物理層的部分功能,包括LLC子層的接收濾波、超載通知和恢復管理、MAC子層的資料封裝/拆裝、幀編碼、媒體訪問管理、錯誤檢測、錯誤標定、應答和序列
基礎
1.幀型別: 資料幀、遙控幀、錯誤幀、過載幀、幀間空隙
2.資料幀: 資料幀有7個域組成
幀開始:
仲裁域:優先順序
控制域:保留位和資料位元組數
資料域:0-8個位元組
CRC域:檢查傳輸錯誤
ACK域:是對幀已經被正常接收的證實
幀結束:
3.遙控幀: 接收單元請求傳送單元傳送一個資訊
沒有資料域外其它與資料幀的結構是一樣的
4.錯誤型別:
填充錯誤
位錯誤
CRC錯誤
格式錯誤
ack錯誤
Time Quantum(稱為Tq) 最小時間單位
CAN匯流排控制器的整體設計
控制器SJA1000的功能結構 包括:
介面管理邏輯、傳送緩衝器、接收緩衝器、接收濾波器、位資料流處理器、位時序邏輯、錯誤管理邏
1)CAN_IML設計:
是CAN匯流排控制器介面邏輯,主要功能是解釋來自微處理器的命令,控制CAN暫存器的定址,向微處理器提供中斷資訊和狀態資訊。
Port_0_io_7到Port_0_io_0為地址/資料複合匯流排。
Cs_can_i 為片選輸入訊號。當Cs_can_i為0時允許訪問CAN匯流排控制器。
Ale_i為1時,允許對暫存器進行賦值。
Rd_i和Wr_i為微處理器的讀使能訊號和寫使能訊號。
Irq_on為中斷輸出訊號,用於中斷微處理器。
Rst_i為復位輸入,用於復位CAN介面。
Clkout_o為FPGA CAN控制器提供給微處理器的時鐘輸出訊號,時鐘分頻暫存器可禁止該引腳輸出。
Bus_off_on控制匯流排關閉和匯流排開放介面,Tx_o和Rx_i與收發器相連,向匯流排傳送和接收資料。
2)CAN_Registers設計:
設計的CAN匯流排控制器的暫存器模組包括以下暫存器:
模式暫存器、
命令暫存器
狀態暫存器、
中斷暫存器、
中斷使能暫存器、
匯流排定時暫存器0~1、
仲裁丟失捕獲暫存器、
錯誤程式碼捕獲暫存器、
錯誤報警限制暫存器、
接收錯誤計數器、
傳送錯誤計數器、
驗收程式碼暫存器0~3、
驗收遮蔽暫存器0~3、
接收資訊計數器和接收/傳送緩衝器。
3)CAN_Core設計:
CAN_Core為CAN協議控制器的核心部分,完成CAN協議中的資料鏈路層的全部功能以及物理層的部分功能,包括LLC子層的接收濾波、超載通知和恢復管理、MAC子層的資料封裝/拆裝、幀編碼、媒體訪問管理、錯誤檢測、錯誤標定、應答和序列