MCP2502X/5X CAN I/O 扩展器:功能特性与应用指南

电子说

1.4w人已加入

描述

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 过程中遇到过哪些问题呢?欢迎在评论区分享交流。

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

全部0条评论

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

×
20
完善资料,
赚取积分