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