MCP2502X/5X CAN I/O 擴展器:功能、應(yīng)用與設(shè)計要點
在當(dāng)今的電子設(shè)計領(lǐng)域,CAN(Controller Area Network)總線因其高可靠性、實時性和抗干擾能力,被廣泛應(yīng)用于汽車、工業(yè)自動化等眾多領(lǐng)域。而 MCP2502X/5X 系列 CAN I/O 擴展器,為實現(xiàn)簡單 CAN 節(jié)點提供了一種無需微控制器的解決方案。不過需要注意的是,該系列產(chǎn)品已不推薦用于新設(shè)計,大家可以考慮使用 MCP2515 或 MCP25625 替代。下面我們就來詳細(xì)了解一下 MCP2502X/5X 系列產(chǎn)品。
文件下載:MCP25050T-E SL.pdf
一、產(chǎn)品概述
MCP2502X/5X 系列設(shè)備作為 CAN 系統(tǒng)的 I/O 擴展器,支持 CAN v2.0B 主動模式,總線速率最高可達 1 Mb/s。它具有可編程的比特率、掩碼、過濾器以及自動傳輸和接收緩沖區(qū)等特性,還配備了非易失性存儲器用于用戶配置,上電時可自動加載配置。此外,該系列產(chǎn)品擁有 8 個通用 I/O 線,可單獨選擇作為輸入或輸出,部分型號還具備 4 個 10 位模擬輸入通道。
| 設(shè)備型號 | A/D | One Wire Digital CANbus |
|---|---|---|
| MCP25020 | 否 | 否 |
| MCP25025 | 否 | 是 |
| MCP25050 | 是 | 否 |
| MCP25055 | 是 | 是 |
二、CAN 模塊詳解
2.1 CAN 協(xié)議有限狀態(tài)機
CAN 模塊的核心是有限狀態(tài)機(FSM),它逐位處理消息,根據(jù)不同幀類型的字段傳輸或接收來改變狀態(tài)。FSM 控制著 TX/RX 移位寄存器、CRC 寄存器和總線之間的順序數(shù)據(jù)流,同時也管理著錯誤管理邏輯(EML)以及 TX/RX 移位寄存器和緩沖區(qū)之間的并行數(shù)據(jù)流,確保接收、仲裁、傳輸和錯誤信號等過程符合 CAN 協(xié)議,并處理消息的自動重傳。
2.2 循環(huán)冗余校驗(CRC)
CRC 寄存器生成 CRC 碼,該碼在控制字段(對于 0 數(shù)據(jù)字節(jié)的消息)或數(shù)據(jù)字段之后傳輸,用于檢查傳入消息的 CRC 字段,以保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。
2.3 錯誤管理邏輯
錯誤管理邏輯負(fù)責(zé) CAN 設(shè)備的故障限制,通過接收錯誤計數(shù)器(REC)和傳輸錯誤計數(shù)器(TEC)來判斷設(shè)備狀態(tài)。根據(jù)計數(shù)器的值,設(shè)備可進入錯誤主動、錯誤被動或總線關(guān)閉狀態(tài)。當(dāng)設(shè)備進入總線關(guān)閉狀態(tài)后,需接收 128 個連續(xù)隱性位的總線關(guān)閉恢復(fù)序列才能恢復(fù)。
2.4 位定時邏輯
位定時邏輯(BTL)監(jiān)控總線輸入,根據(jù) CAN 協(xié)議處理總線相關(guān)的位定時。它在幀起始時進行硬同步,并在后續(xù)隱性到顯性的總線轉(zhuǎn)換時進行重新同步。BTL 提供可編程的時間段來補償傳播延遲和相移,并定義采樣點的位置。
2.4.1 時間量子(TQ)
TQ 是基于振蕩器周期的固定時間單位,通過可編程的波特率預(yù)分頻器(BRP)和固定的二分頻來生成。標(biāo)稱位時間可通過編程 TQ 長度和每個時間段的 TQ 數(shù)量來計算。
2.4.2 時間段
標(biāo)稱位時間由同步段、傳播段、相位緩沖段 1 和相位緩沖段 2 組成。編程這些時間段時需要遵循一定規(guī)則,如 PropSeg + PS1 ≥ PS2 等。
2.4.3 采樣點
采樣點是讀取總線電平并確定接收位值的時間點,位于 PS1 結(jié)束時??蛇x擇在采樣點進行多次采樣,以多數(shù)值決定接收位的值。
2.4.4 信息處理時間
IPT 是從采樣點開始預(yù)留的用于計算后續(xù)位電平的時間段,MCP2502X/5X 定義為 2 TQ。
2.4.5 同步跳轉(zhuǎn)寬度(SJW)
SJW 用于補償節(jié)點之間的相移和振蕩器容差,在重新同步時調(diào)整 PS1 和 PS2 的值。其可編程范圍為 1 TQ 到 4 TQ。
2.4.6 配置寄存器
CAN 位定時邏輯相關(guān)的配置寄存器包括 CNF1、CNF2 和 CNF3,分別用于控制波特率預(yù)分頻器、傳播段和相位段長度等參數(shù)。
2.5 緩沖區(qū)、掩碼和過濾器
MCP2502X/5X 包含三個傳輸緩沖區(qū)和兩個接收緩沖區(qū),用于處理不同類型的消息。一個掩碼和兩個過濾器提供了最大的靈活性,可根據(jù)標(biāo)識符來決定設(shè)備響應(yīng)的消息。
2.5.1 傳輸消息 ID
設(shè)備包含三個傳輸消息 ID(TXID0、TXID1 和 TXID2),分別用于不同類型的消息傳輸,如總線消息、命令確認(rèn)消息、錯誤條件消息等。
2.5.2 接收緩沖區(qū)
MCP2505X 有兩個接收緩沖區(qū)和一個消息組裝緩沖區(qū)(MAB),確保接收消息的處理并減少緩沖區(qū)溢出的風(fēng)險。
2.5.3 接受掩碼和過濾器
接受掩碼用于定義 CAN ID 中哪些位需要與可編程過濾器進行比較,兩個接受過濾器(RXF0 和 RXF1)分別用于信息請求消息和輸入消息的過濾。
三、用戶寄存器
MCP2502X/5X 允許用戶將與 CAN 模塊和設(shè)備配置相關(guān)的寄存器預(yù)編程到非易失性 EPROM 存儲器中,上電時這些配置將被傳輸?shù)?SRAM 中。用戶可以通過 CAN 總線訪問許多寄存器,還提供了 16 個用戶定義的寄存器用于存儲設(shè)備信息。
四、設(shè)備操作
4.1 上電序列
設(shè)備在上電時首先進入配置模式,然后進行自配置,將 EPROM 內(nèi)容傳輸?shù)?SRAM 中。自配置完成后,可進入監(jiān)聽模式或直接進入正常模式,之后即可通過 CAN 接口發(fā)送和接收消息。
4.2 消息功能
MCP2502X/5X 使用全局掩碼、兩個過濾器和兩個接收緩沖區(qū)來決定是否對接收的消息采取行動,可執(zhí)行 16 種不同的功能,包括讀取寄存器、寫入寄存器等操作。
4.3 消息類型
4.3.1 信息請求消息(IRMs)
可通過遠(yuǎn)程傳輸請求(RTR)或數(shù)據(jù)幀消息的形式發(fā)送,設(shè)備根據(jù)接收到的消息確定要執(zhí)行的功能。
4.3.2 輸出消息
作為對信息請求消息的響應(yīng),數(shù)據(jù)幀包含請求的數(shù)據(jù),其標(biāo)識符和數(shù)據(jù)字節(jié)數(shù)量遵循一定規(guī)則。
4.3.3 輸入消息
用于改變預(yù)定義寄存器組的值,通過標(biāo)準(zhǔn)或擴展數(shù)據(jù)幀的形式發(fā)送,設(shè)備根據(jù)標(biāo)識符和數(shù)據(jù)字節(jié)來確定要寫入的寄存器。
4.4 動態(tài)消息處理
設(shè)備確保在不同總線負(fù)載條件下正確處理傳輸和接收消息,包括消息的接受/拒絕、多消息接收和傳輸消息優(yōu)先級等方面。
4.5 自動傳輸
MCP2502X/5X 可自動發(fā)起四種不同類型的消息,包括數(shù)字輸入邊緣檢測、模擬輸入閾值檢測、錯誤條件和定時傳輸?shù)惹闆r。
五、GPIO 模塊
MCP2502X/5X 擁有 8 個通用 I/O 引腳,可單獨配置為輸入或輸出。每個引腳具有弱上拉電阻,可通過控制位開啟或關(guān)閉。引腳還具備復(fù)用功能,如模擬輸入、PWM 輸出、時鐘輸出等。所有 GPIO 引腳都支持?jǐn)?shù)字輸入邊緣檢測功能,當(dāng)檢測到指定極性的邊緣時,可自動發(fā)送消息。
六、PWM 模塊
該模塊包含兩個脈沖寬度調(diào)制(PWM)模塊,可在 GP2 和 GP3 引腳生成最高 10 位分辨率的輸出信號。每個 PWM 模塊有獨立的定時器、占空比和周期寄存器,可通過編程這些寄存器來控制 PWM 輸出的形狀和頻率。
七、A/D 轉(zhuǎn)換器模塊
A/D 模塊是一個四通道、10 位逐次逼近型 A/D 轉(zhuǎn)換器,可將模擬輸入信號轉(zhuǎn)換為 10 位數(shù)字信號。支持自動轉(zhuǎn)換和按需轉(zhuǎn)換兩種模式,轉(zhuǎn)換結(jié)果可通過 CAN 總線在讀取 A/D 寄存器的輸出消息中提供給用戶。
八、特殊功能
8.1 振蕩器選擇
提供四種振蕩器模式,包括低功耗晶體(LP)、晶體/諧振器(XT)和高速晶體諧振器(HS),用戶可通過配置位選擇合適的模式。
8.2 復(fù)位
設(shè)備支持上電復(fù)位(POR)和外部復(fù)位(RST),并具備 RST 噪聲濾波器,可檢測并忽略小脈沖。
8.3 振蕩器啟動定時器和上電定時器
振蕩器啟動定時器(OST)確保晶體振蕩器在啟動后穩(wěn)定,上電定時器(PWRT)在電源穩(wěn)定前保持設(shè)備復(fù)位狀態(tài)。
8.4 低功耗模式(SLEEP)
通過 OPTREG2 寄存器的 SLPEN 位啟用,設(shè)備在總線空閑一定時間后進入 SLEEP 模式,可通過外部復(fù)位、傳輸變化或 CAN 總線活動喚醒。
8.5 在線串行編程
支持在線串行編程,用戶可在最終應(yīng)用電路中對設(shè)備進行編程,方便產(chǎn)品的生產(chǎn)和更新。
九、電氣特性
文檔詳細(xì)列出了 MCP2502X/5X 的絕對最大額定值、直流特性、交流特性和 A/D 轉(zhuǎn)換器特性等電氣參數(shù),為設(shè)計人員提供了重要的參考依據(jù)。
十、封裝信息
該系列產(chǎn)品提供 14 引腳的 PDIP 和 SOIC 封裝,文檔中給出了封裝的詳細(xì)尺寸和標(biāo)記信息,方便設(shè)計人員進行 PCB 布局和組裝。
總結(jié)
MCP2502X/5X 系列 CAN I/O 擴展器為實現(xiàn)簡單 CAN 節(jié)點提供了豐富的功能和靈活的配置選項。盡管它已不推薦用于新設(shè)計,但對于一些已有的應(yīng)用或特定需求,它仍然是一個可行的選擇。在使用過程中,設(shè)計人員需要深入了解其各個模塊的功能和特性,根據(jù)具體應(yīng)用場景進行合理的配置和設(shè)計,以確保設(shè)備的穩(wěn)定運行和性能優(yōu)化。大家在實際設(shè)計中遇到相關(guān)問題,歡迎一起交流探討。
-
CAN總線
+關(guān)注
關(guān)注
145文章
2043瀏覽量
135209
發(fā)布評論請先 登錄
AN070231 I O擴展器選型指南
基于MCP2502X的CAN總線節(jié)點設(shè)計
MCP23017/MCP23S17帶有串行接口的16位 I/O擴展器相關(guān)資料.pdf
基于MCP2502X/5X下的CAN I/O 擴展器
MCP2502X/5X CAN I/O 擴展器:功能、應(yīng)用與設(shè)計要點
評論