MCP2502X/5X CAN I/O 擴展器:功能、特性與應用詳解
在當今的電子系統設計中,CAN(Controller Area Network)總線憑借其高可靠性、實時性和抗干擾能力,在汽車、工業自動化、航空航天等眾多領域得到了廣泛應用。MCP2502X/5X 作為一款 CAN I/O 擴展器,為 CAN 系統的設計提供了強大而靈活的解決方案。盡管該系列產品已不推薦用于新設計,但對于現有系統的維護和升級,以及相關技術的研究,仍具有重要的參考價值。
文件下載:MCP25050T-I SL.pdf
一、產品概述
MCP2502X/5X 系列設備可作為 CAN 系統的 I/O 擴展器,支持 CAN v2.0B 主動協議,總線速率最高可達 1 Mb/s。這意味著它能夠在高速數據傳輸的同時,保證數據的準確性和可靠性。該系列產品的一大亮點是無需微控制器即可實現簡單的 CAN 節點,大大簡化了系統設計,降低了成本。
1.1 產品特性
- 可編程性強:具有可編程的比特率,最高可達 1 Mb/s,可根據實際應用需求靈活調整。同時,配備一個可編程掩碼和兩個可編程過濾器,能夠精確篩選和處理接收到的 CAN 消息。
- 多緩沖區設計:擁有三個自動傳輸緩沖區和兩個消息接收緩沖區,有效提高了數據處理和傳輸的效率。
- 硬件特性豐富:采用非易失性存儲器進行用戶配置,上電時自動加載配置信息,方便快捷。此外,還具備八個通用 I/O 線,可單獨選擇作為輸入或輸出,滿足多樣化的應用場景。
- 低功耗設計:采用低功耗 CMOS 技術,工作電壓范圍為 2.7V 至 5.5V,典型工作電流僅為 10 mA,待機電流低至 30 μA(CAN 睡眠模式),有助于延長設備的續航時間。
1.2 不同型號差異
該系列產品包含 MCP25020、MCP25025、MCP25050 和 MCP25055 等不同型號,它們在功能上存在一些差異。例如,MCP25020 不支持 A/D 轉換和單總線 CAN 總線操作,而 MCP25055 則同時具備這兩種功能。用戶可根據具體需求選擇合適的型號。
二、CAN 模塊詳解
CAN 模塊是 MCP2502X/5X 的核心部分,它負責將原始數字數據與 CAN 消息包進行轉換,實現數據的可靠傳輸。
2.1 主要功能模塊
- 過濾器和掩碼:一個全接受掩碼(標準和擴展)和兩個全接受過濾器(標準和擴展),每個接收緩沖區對應一個過濾器,能夠精確篩選和接受符合條件的 CAN 消息。
- 協議引擎:CAN 協議引擎是整個模塊的核心,它負責實現 CAN 協議的各種功能,包括消息的發送、接收、仲裁和錯誤處理等。
- 傳輸緩沖區:三個優先級傳輸緩沖區,可用于傳輸預定義的消息類型,確保重要消息能夠優先發送。
- 錯誤管理邏輯:具備錯誤管理邏輯,可對發送和接收錯誤狀態進行監控和處理。通過兩個計數器(接收錯誤計數器 REC 和發送錯誤計數器 TEC),根據計數器的值將設備設置為不同的狀態,如錯誤主動、錯誤被動或總線關閉。
2.2 協議狀態機
CAN 協議的核心是有限狀態機(FSM),它以逐位的方式對消息進行處理,根據不同幀類型的字段傳輸或接收情況改變狀態。FSM 不僅控制著 TX/RX 移位寄存器、CRC 寄存器和總線線路之間的順序數據流,還控制著錯誤管理邏輯和 TX/RX 移位寄存器與緩沖區之間的并行數據流,確保消息的接收、仲裁、傳輸和錯誤信號處理按照 CAN 協議進行。
2.3 循環冗余校驗(CRC)
CRC 寄存器用于生成 CRC 碼,該碼在控制字段(對于 0 數據字節的消息)或數據字段之后傳輸,用于檢查傳入消息的 CRC 字段,確保數據的完整性。
2.4 比特定時邏輯
比特定時邏輯(BTL)負責監控總線線路輸入,并根據 CAN 協議處理與總線相關的比特定時。它通過硬同步和重新同步機制,確保設備與總線的時鐘同步。同時,提供可編程的時間段,用于補償傳播延遲時間、相移,并定義采樣點在比特時間內的位置。
2.5 緩沖區、掩碼和過濾器
CAN 模塊的緩沖區、掩碼和過濾器共同協作,實現 CAN 消息的發送、接收和接受。三個傳輸緩沖區分別對應三個傳輸消息 ID(TXID0、TXID1 和 TXID2),用于存儲不同類型的消息。兩個接收緩沖區用于存儲 CAN 消息的仲裁字段、控制字段和數據字段。掩碼和過濾器則用于篩選和接受符合條件的消息,提高系統的靈活性和可靠性。
三、用戶寄存器與操作
MCP2502X/5X 允許用戶將與 CAN 模塊和設備配置相關的寄存器預編程到非易失性 EPROM 存儲器中,上電后設備將自動初始化為默認狀態。用戶寄存器在加電序列期間被傳輸到 SRAM 中,許多寄存器可通過 CAN 總線進行訪問。此外,還有 16 個用戶定義的寄存器,可用于存儲設備的相關信息,如序列號、節點標識符等。
3.1 上電序列
設備在上電復位(POR)時會經歷一系列事件,以加載編程配置并確保總線上不引入錯誤。上電后,設備首先進入配置模式,在此模式下,設備無法通過 CAN 接口發送或接收消息,ADC 和 PWM 外設也被禁用。完成自我配置后,設備將切換到監聽模式,直到檢測到無錯誤的 CAN 消息,然后等待 CAN 總線空閑后切換到正常模式。
3.2 消息功能與類型
MCP2502X/5X 通過全局掩碼(RXMASK)、兩個過濾器(RXF0 和 RXF1)和兩個接收緩沖區(RB0 和 RB1)來確定是否對接收到的消息進行處理。根據接收到的消息,設備可執行 16 種不同的功能,包括讀取 A/D 寄存器、讀取控制寄存器、讀取配置寄存器等。消息類型主要分為信息請求消息(IRMs)、輸出消息和輸入消息。
3.3 動態消息處理
為了確保在不同的總線負載條件和不同的發送/接收組合下,發送和接收消息能夠得到妥善處理,MCP2502X/5X 采用了一系列機制。在消息接受/拒絕方面,接收到的消息需先通過掩碼/過濾器的篩選,再根據輸入消息或 IRMs 的要求進行處理。在接收多個消息時,設備一次只能處理一個消息,若在處理前一個消息時接收到第二個消息,第二個消息將丟失。為了避免這種情況,設備可通過 TXID1 配置在發生接收溢出時發送消息,通知網絡。在發送消息優先級方面,輸出消息具有最高優先級,其次是 TXID2、TXID1 和 TXID0。當多個消息等待發送時,將按照優先級順序依次發送。
四、其他模塊功能
4.1 GPIO 模塊
MCP2502X/5X 擁有八個通用輸入/輸出引腳(GP0 至 GP7),可單獨配置為輸入或輸出。所有 GPIO 端口引腳具有 TTL 輸入電平,除 GP7 為僅輸入引腳外,其余引腳均配備全 CMOS 輸出驅動器。每個引腳都有一個弱內部上拉電阻,可通過單個控制位(OPTREG.GPPU)進行開啟或關閉。此外,所有引腳還具備復用功能,可實現模擬到數字轉換、模擬 VREF 輸入、PWM 輸出、時鐘輸出和外部復位等功能。
4.2 PWM 模塊
該模塊包含兩個脈沖寬度調制(PWM)模塊(PWM1 和 PWM2),可分別在 GP2 和 GP3 引腳生成高達 10 位分辨率的輸出信號。每個 PWM 模塊都有獨立的定時器、占空比和周期寄存器,可靈活控制 PWM 輸出的形狀。在 CAN 總線通信丟失時,可通過 OPTREG2.PDEFEN 位將 PWM 輸出恢復到上電默認值,提高系統的可靠性。
4.3 模擬 - 數字轉換器(A/D)模塊
A/D 模塊是一個四通道、10 位逐次逼近型 A/D 轉換器,可將模擬輸入信號轉換為相應的 10 位數字信號。四個通道通過 GP[3:0] 引腳進行復用,轉換器可通過 ADCON0 寄存器進行開啟或關閉,每個通道可通過 ADCON1 控制寄存器單獨啟用。用戶可選擇內部或外部的 VREF+ 和 VREF- 源,并為每個通道設置自動轉換或按需轉換兩種模式。
五、特殊功能與電氣特性
5.1 特殊功能
MCP2502X/5X 具備多種特殊功能,以滿足實時應用的需求。在振蕩器選擇方面,提供多種振蕩器選項,如 LP(低功耗晶體)、XT(晶體/諧振器)和 HS(高速晶體諧振器),可根據應用需求進行選擇。在復位方面,設備支持上電復位(POR)和外部 RST 復位,通過內部的振蕩器啟動定時器(OST)和上電定時器(PWRT),確保設備在電源穩定和晶體振蕩器穩定后再開始正常工作。SLEEP 模式可實現低功耗運行,用戶可通過外部復位、引腳狀態變化或 CAN 總線活動喚醒設備。此外,設備還支持在線串行編程,方便用戶在最終應用電路中對設備進行編程。
5.2 電氣特性
該系列產品在電氣特性方面表現出色。其絕對最大額定值規定了設備在不同條件下的安全工作范圍,如環境溫度、存儲溫度、電壓、電流等。DC 特性和 AC 特性則詳細描述了設備在直流和交流條件下的性能參數,如電源電壓、輸入輸出電壓、電流、頻率等。A/D 轉換器特性則對 A/D 轉換的分辨率、誤差、參考電壓等參數進行了規定,確保 A/D 轉換的準確性和可靠性。
六、封裝與訂購信息
MCP2502X/5X 提供 14 引腳 PDIP(300 mil)和 SOIC(150 mil)兩種封裝形式,用戶可根據實際應用需求選擇合適的封裝。在訂購時,需根據設備型號、溫度范圍和封裝形式進行選擇,如 MCP25020 - 1P 表示工業溫度范圍、PDIP 封裝的 MCP25020 設備。
綜上所述,MCP2502X/5X CAN I/O 擴展器憑借其豐富的功能、靈活的配置和低功耗設計,為 CAN 系統的設計提供了一個強大而可靠的解決方案。盡管該系列產品已不推薦用于新設計,但對于現有系統的維護和升級,以及相關技術的研究,仍具有重要的參考價值。在實際應用中,工程師可根據具體需求,充分發揮其優勢,設計出高效、穩定的 CAN 系統。你在使用 MCP2502X/5X 過程中遇到過哪些問題?又是如何解決的呢?歡迎在評論區分享你的經驗。
發布評論請先 登錄
MCP23017/MCP23S17帶有串行接口的16位 I/O擴展器相關資料.pdf
基于MCP2502X/5X下的CAN I/O 擴展器
MCP2502X/5X CAN I/O 擴展器:功能、特性與應用詳解
評論