MCP2502X/5X CAN I/O 擴展器:功能特性與應用指南
在如今的電子系統設計中,CAN(Controller Area Network)總線憑借其高可靠性、實時性和抗干擾能力,在汽車、工業自動化等眾多領域得到了廣泛應用。Microchip 公司的 MCP2502X/5X 系列 CAN I/O 擴展器,為構建簡單且高效的 CAN 節點提供了一種優秀的解決方案。下面我們就來深入了解一下這款擴展器。
文件下載:MCP25050T-I SL.pdf
一、產品概述
MCP2502X/5X 系列器件主要用于 CAN 系統的 I/O 擴展,支持 CAN v2.0B 協議,總線速率最高可達 1 Mb/s。該系列器件的一大亮點在于,它允許在不使用微控制器的情況下實現簡單的 CAN 節點,大大簡化了系統設計。
(一)器件差異
MCP2502X/5X 系列包含多個型號,如 MCP25020、MCP25025、MCP25050 和 MCP25055 等。其中,MCP25025 和 MCP25055 支持單總線數字 CAN 總線,而 MCP25020 和 MCP25050 則不支持這一特性。
(二)封裝形式
該系列器件提供 14 引腳的 PDIP(300 mil)和 SOIC(150 mil)封裝,方便不同應用場景下的 PCB 設計。
(三)工作溫度范圍
有工業級(-40°C 至 +85°C)和擴展級(-40°C 至 +125°C)兩種溫度范圍可供選擇,能適應不同的惡劣環境。
二、功能特性
(一)CAN 協議實現
- 可編程比特率:最高可達 1 Mb/s,可根據實際應用需求靈活調整。
- 過濾與緩沖機制:配備一個可編程掩碼和兩個可編程過濾器,能對接收的 CAN 消息進行精確篩選;同時擁有三個自動傳輸緩沖區和兩個消息接收緩沖區,確保消息的高效處理。
- 自動喚醒功能:當檢測到總線有流量時,器件會自動從低功耗模式喚醒,提高系統的響應速度。
(二)硬件特性
- 非易失性存儲器:用于存儲用戶配置信息,設備上電時會自動加載這些配置,無需額外的初始化操作。
- 通用 I/O 引腳:擁有八個通用 I/O 引腳,可單獨配置為輸入或輸出,并且每個輸入引腳都能獨立設置在引腳狀態改變時自動發送消息,方便實現各種狀態監測和控制功能。
- 模擬輸入通道(MCP2505X 特有):具備四個 10 位模擬輸入通道,可對模擬信號進行高精度采集,同時支持可編程轉換時鐘和參考電壓源。
- PWM 輸出:提供兩個 10 位 PWM 輸出,頻率可獨立編程,適用于電機控制等需要精確脈沖寬度調制的應用場景。
- 可配置性:通過 CAN 總線消息即可修改設備配置,實現遠程配置和管理。
- 在線串行編程(ICSP):支持對默認配置存儲器進行在線編程,方便產品的生產和調試。
(三)低功耗特性
采用低功耗 CMOS 技術,工作電壓范圍為 2.7V 至 5.5V,典型工作電流僅為 10 mA,待機電流(CAN 睡眠模式)低至 30 μA,有效降低了系統的功耗。
三、CAN 模塊詳解
(一)模塊組成
CAN 模塊主要由 CAN 協議引擎、緩沖區、掩碼和過濾器等部分組成,其核心功能是實現原始數字數據與 CAN 消息包之間的轉換。
(二)關鍵機制
- 有限狀態機(FSM):作為 CAN 協議引擎的核心,FSM 按位處理消息,根據不同幀類型的字段傳輸或接收情況改變狀態,確保消息的接收、仲裁、傳輸和錯誤信號處理嚴格遵循 CAN 協議。
- 循環冗余校驗(CRC):CRC 寄存器用于生成 CRC 碼,在控制字段(對于 0 數據字節的消息)或數據字段之后發送,用于校驗接收到的消息的完整性。
- 錯誤管理邏輯:通過接收錯誤計數器(REC)和傳輸錯誤計數器(TEC)來監控和管理 CAN 設備的錯誤狀態。根據計數器的值,設備會進入錯誤激活、錯誤被動或總線關閉等狀態,并在滿足特定條件時進行恢復。
- 位定時邏輯:通過編程時間量子(TQ)的長度和每個時間段內 TQ 的數量,來計算標稱位時間。位定時邏輯還負責監控總線輸入,處理與總線相關的位定時,確保節點之間的同步。
(三)緩沖區、掩碼和過濾器
- 傳輸緩沖區:三個傳輸緩沖區分別對應三個傳輸消息 ID(TXID0、TXID1 和 TXID2),用于存儲待發送的消息。
- 接收緩沖區:兩個接收緩沖區(RXB0 和 RXB1)用于存儲接收到的 CAN 消息的仲裁字段、控制字段和數據字段,同時還有一個消息組裝緩沖區(MAB)輔助處理,降低接收緩沖區溢出的風險。
- 掩碼和過濾器:一個掩碼和兩個過濾器用于定義設備對哪些 CAN 消息進行響應,提高系統的靈活性和選擇性。
四、用戶寄存器
MCP2502X/5X 允許用戶將與 CAN 模塊和設備配置相關的寄存器預編程到非易失性 EPROM 存儲器中,上電后設備會自動初始化為默認狀態。用戶寄存器在系統上電時會被傳輸到 SRAM 中,并且許多寄存器可以通過 CAN 總線進行訪問。此外,還有 16 個用戶自定義寄存器,可用于存儲設備的相關信息,如序列號、節點標識符等。
五、設備操作
(一)上電序列
- 上電復位(POR):設備上電時會進行一系列操作,確保加載預編程的配置并避免在總線上引入錯誤。在此期間,TXCAN 引腳保持高電平,直到設備正常連接到總線。
- 自配置:設備從復位狀態恢復后,會將 EPROM 陣列中的內容傳輸到 SRAM 陣列的相應位置,并進行數據校驗,確保數據的有效性。
- 上線過程:自配置完成后,設備會先進入監聽模式,直到檢測到無錯誤的 CAN 消息,然后等待總線空閑后切換到正常模式。用戶也可以通過控制位(OPTREG2.PUNRM)配置設備直接進入正常模式。
(二)消息處理
- 消息類型:包括信息請求消息(IRMs)、輸出消息和輸入消息。IRMs 用于請求設備的相關信息,設備接收到 IRMs 后會發送輸出消息進行響應;輸入消息則用于修改設備的寄存器配置。
- 消息功能:MCP2502X/5X 可以根據接收到的消息執行 16 種不同的功能,如讀取 A/D 寄存器、讀取控制寄存器、寫入寄存器等,實現對設備的全面控制和管理。
- 動態消息處理:為了適應不同的總線負載條件和收發組合,設備采用了一系列機制來確保消息的正確處理。例如,在接收消息時,會根據掩碼和過濾器的設置判斷消息是否被接受;在發送消息時,會對所有發送消息進行優先級排序,確保重要消息優先發送。
(三)自動傳輸
設備可以根據不同的情況自動發起四種不同類型的消息傳輸:
- 數字輸入邊緣檢測:當配置為數字輸入的 GPIO 引腳檢測到指定邊緣時,會自動發送 TXID2 消息。
- 模擬輸入閾值檢測:當配置為模擬輸入的 GPIO 引腳檢測到模擬值超過預設閾值時,會自動發送 TXID2 消息,并通過滯回功能避免消息的頻繁發送。
- 錯誤條件:當出現接收器進入錯誤警告狀態、發送器進入錯誤被動狀態等錯誤情況時,若錯誤條件消息功能被啟用(OPTREG2.TXONE = 1),設備會發送 TXID1 標識符的錯誤狀態消息。
- 定時傳輸:通過配置定時傳輸控制寄存器(STCON),設備可以定期發送總線消息(On Bus message),用于通知網絡設備的存在。
六、其他模塊
(一)GPIO 模塊
MCP2502X/5X 擁有八個通用 I/O 引腳(GP0 至 GP7),除 GP7 為輸入引腳外,其余引腳可通過 GPDDR 寄存器單獨配置為輸入或輸出。每個引腳都有一個弱上拉電阻,可通過 OPTREG.GPPU 位進行控制。此外,GPIO 引腳還支持數字輸入邊緣檢測功能,當檢測到指定極性的邊緣時,會自動發送消息。
(二)PWM 模塊
該模塊包含兩個 PWM 輸出(PWM1 和 PWM2),可分別在 GP2 和 GP3 引腳上生成高達 10 位分辨率的輸出信號。每個 PWM 輸出都有獨立的定時器、占空比和周期寄存器,用于控制輸出信號的形狀和頻率。通過合理配置這些寄存器,可以實現不同的 PWM 頻率和分辨率,以滿足不同應用的需求。
(三)A/D 轉換器模塊
這是一個四通道、10 位逐次逼近型 A/D 轉換器,可將模擬輸入信號轉換為 10 位數字信號。四個通道通過 GP[3:0] 引腳進行復用,可通過 ADCON0 寄存器開啟或關閉轉換器,通過 ADCON1 寄存器單獨啟用每個通道。每個通道支持自動轉換和按需轉換兩種模式,并且可以進行閾值檢測,當轉換結果超過預設閾值時,會自動發送消息。
七、特殊功能
(一)振蕩器選擇
提供四種不同的振蕩器模式,包括低功耗晶體(LP)、晶體/諧振器(XT)、高速晶體諧振器(HS)和外部時鐘輸入,用戶可以根據應用需求通過配置寄存器進行選擇。
(二)復位功能
支持上電復位(POR)和外部復位(RST)兩種復位方式。上電復位時,芯片會自動檢測 VDD 上升,并在內部產生復位脈沖;外部復位時,可通過 GP7 引腳輸入復位信號。同時,芯片還配備了上電定時器(PWRT)和振蕩器啟動定時器(OST),確保設備在電源穩定和振蕩器穩定后再開始正常工作。
(三)睡眠模式
通過 OPTREG2 寄存器中的 SLPEN 位啟用睡眠模式,當 CAN 總線在正常模式下空閑至少 1408 位時間時,設備會自動進入睡眠模式。在睡眠模式下,設備的功耗大幅降低,但 I/O 端口會保持之前的狀態。設備可以通過外部復位、GPIO 引腳的狀態變化或 CAN 總線活動喚醒。
(四)在線串行編程
支持在最終應用電路中進行串行編程,只需通過兩條線(時鐘和數據)以及另外三條線(電源、地和編程電壓)即可完成。這一功能允許制造商在生產過程中先使用未編程的設備,在產品發貨前再進行編程,方便更新固件或實現定制化編程。
八、電氣特性
(一)絕對最大額定值
規定了設備在各種條件下的最大承受范圍,如環境溫度、引腳電壓、功耗、電流等,使用時必須確保設備工作在這些額定值范圍內,以避免對設備造成永久性損壞。
(二)DC 特性
包括電源電壓范圍、輸入輸出電壓電平、輸入泄漏電流、工作電流和待機電流等參數,這些參數反映了設備在直流工作狀態下的性能。
(三)AC 特性
涉及時鐘頻率、振蕩周期、信號傳輸延遲、上升和下降時間等交流參數,對于確保設備在高速通信和信號處理中的穩定性和可靠性至關重要。
(四)A/D 轉換器特性
詳細說明了 A/D 轉換器的分辨率、積分誤差、差分誤差、增益誤差、偏移誤差等性能指標,以及參考電壓、模擬輸入電壓范圍等參數,為模擬信號采集和處理提供了準確的參考。
九、總結
MCP2502X/5X 系列 CAN I/O 擴展器憑借其豐富的功能特性、靈活的配置選項和低功耗設計,為 CAN 系統的設計提供了一種高效、可靠的解決方案。無論是在汽車電子、工業自動化還是其他領域,都能幫助工程師簡化系統設計,提高系統的性能和可靠性。在實際應用中,工程師需要根據具體的需求和場景,合理配置設備的各項參數,充分發揮其優勢。同時,也要注意設備的電氣特性和使用條件,確保設備的正常工作。你在使用 MCP2502X/5X 過程中遇到過哪些問題呢?歡迎在評論區分享交流。
發布評論請先 登錄
MCP23017/MCP23S17帶有串行接口的16位 I/O擴展器相關資料.pdf
基于MCP2502X/5X下的CAN I/O 擴展器
MCP2502X/5X CAN I/O 擴展器:功能特性與應用指南
評論