eCAN總線(xiàn)模塊概述
掃描二維碼
隨時(shí)隨地手機(jī)看文章
eC28x處理器的CAN控制器為CPU提供完整的CAN協(xié)議,減少了通信時(shí)CPU的開(kāi)銷(xiāo)。 圖1為eCAN模塊結(jié)構(gòu)圖,eCAN控制器的內(nèi)部結(jié)構(gòu)是32位的.主要由CAN協(xié)議內(nèi)核(CPK)和消息控制器構(gòu)成。
·CAN協(xié)議內(nèi)核(CPK)。
·消息控制器:
◇存儲(chǔ)器管理單元(MMU),包括CPU接口、接收控制單元(接收濾波)和定時(shí)器管理單元;
◇可以存儲(chǔ)ONJL個(gè)消息的郵箱存儲(chǔ)器;
◇控制和狀態(tài)寄存器。
CAN協(xié)議內(nèi)核接收到有效的消息后,消息控制器的接收控制單元確定是否將接收到的消息存儲(chǔ)到郵箱存儲(chǔ)器中。接收控制單元檢查消息的狀態(tài)、標(biāo)識(shí)符和所有消息對(duì)象的濾波,確定相應(yīng)郵箱的位置,接收到的消息經(jīng)過(guò)接收濾波后存放到第一個(gè)郵箱。如果接收控制單元不能找到存放接收消息的有效地址,接收到的消息將會(huì)被丟棄。標(biāo)準(zhǔn)格式的消息由H位標(biāo)識(shí)符、1個(gè)控制域和最多8字節(jié)的數(shù)據(jù)構(gòu)成。
圖1 eCAN模塊整體結(jié)構(gòu)圖
當(dāng)需要發(fā)送消息時(shí),消息控制器將要發(fā)送的消息傳送到CPI(的發(fā)送緩沖,以便在下一個(gè)總線(xiàn)空閑狀態(tài)開(kāi)始發(fā)送該信息。當(dāng)有多個(gè)消息需要發(fā)送時(shí),消息控制器將準(zhǔn)各發(fā)送消息中優(yōu)先級(jí)最高的傳送到CPK。如果兩個(gè)郵箱有同樣的優(yōu)先級(jí),首先發(fā)送編號(hào)大的郵箱內(nèi)存放的消息。
定時(shí)器管理單元包括一個(gè)定時(shí)郵遞計(jì)數(shù)器和一個(gè)所有接收或發(fā)送消息的定時(shí)標(biāo)識(shí)。當(dāng)在定時(shí)周期內(nèi)沒(méi)有接收或發(fā)送消息(超時(shí))時(shí),將產(chǎn)生一個(gè)超時(shí)中斷。僅在增強(qiáng)型CAN總線(xiàn)中有定時(shí)郵遞功能,標(biāo)準(zhǔn)的CAN總線(xiàn)沒(méi)有這種工作模式。
如果開(kāi)始數(shù)據(jù)傳輸,則相應(yīng)控制寄存器中的傳送請(qǐng)求位必須置位,設(shè)置好后不需要CPU參與傳送過(guò)程和傳送過(guò)程中的錯(cuò)誤處理。如果一個(gè)郵箱配置為接收消息,CPU使用讀指令讀取數(shù)據(jù)寄存器。郵箱還可以配置成中斷模式,在完成消息發(fā)送或接收時(shí)向CPU發(fā)出中斷請(qǐng)求。