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