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