MCP2502X/5X CAN I/O 扩展器:功能、特性与应用详解

电子说

1.4w人已加入

描述

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 过程中遇到过哪些问题?又是如何解决的呢?欢迎在评论区分享你的经验。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • 热点推荐

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分