CAN总线扩充器MCP25050

时间:2020-10-15 16:33:31 理工毕业论文 我要投稿

CAN总线扩充器MCP25050

摘要:介绍了MicroChip公司生产的CAN总线I/O扩充器MCP25050的主要特点、内部结构、引脚定义及工作原理,给出了用MCP25050扩充CAN节点的典型应用电路原理图。

1 概述

MicroChip公司生产的CAN(Controller Area Net-work)总线I/O扩充器MCP25050,可用于在CAN总线系统中扩充CAN总线节点,它可以独立构成一个CAN节点而不需要再加微控制器。该器件采用14脚小型封装和低功耗CMOS工艺技术,可在2.7~5.5V电压范围内正常工作。它能够支持的CAN2.0B标准位速率可达1Mbit/s;NCP25050内含一个可编程的屏蔽器、二个可编程的接收过滤器、4路10位A/D转换器、两路PWM输出、三个自动传送数据缓冲区、两个接收数据缓冲区及低功耗工作方式;其芯片配置信息可通过CAN总线在线修改,并可工作在1-WireCAN总线工作模式;同时,它还可使系统具有远程输入和输出功能。因此,在扩充简单的瘦客户CAN总线远程节点时,使用它会带来意想不到的便利。

2 MCP25050内部结构

MCP25050内部功能图如图1所示,引脚图如图2所示。从图中可看出:该器件主要由用户存储区、时钟产生器、控制逻辑、CAN协议模块、A/D转换和PWM模块组成。以下分别介绍:

控制逻辑部分主要起着把其它几部分接合在一起的作用,另外它还控制数据的传送和接收以及在上电初始化时对内部寄存器的控制操作。

时钟产生器部分可为其它芯片提供时钟脉冲。

用户存储区是一块ROM区,主要是一些控制寄存器,利用它可以先对用户存储区进行编程,以使MCP25050在上电复位后工作在用户事先定义的模式。这些寄存器可通过CAN总线来访问。

A/D部分主要是对输入的模拟信号自动进行A/D转换。

CAN协议模块主要是对要发送的数据进行CAN数据包的封装,或是对接收到的CAN数据包进行解包。它有二个彼此独立的接收缓冲区,且每个接收缓冲区都有自己的接收过滤器。同时,错误管理逻辑也位于此模块内。因此,CAN协议模块是MCP25050的核心模块。

利用GPIO模块可对八个输入输出引脚进行管理,并可通过设置寄存器来使每个引脚工作在不同的方式。MCP25050各引脚功能说明如表1所列。

表1 MCP2505的引脚功能说明

引脚名称脚 号功 能

复用功能

GP0/AN01双向IO口模拟输入通道0GP1/AN12双向IO口模拟输入通道1GP2/AN2/PWM13双向IO口模拟输入通道2/PWM输出GP3/AN3/PWM24双向IO口模拟输入通道3/PWM输出GP4/VREF-5双向IO参考电源负端GP5/VREF 6双向IO口参考电源正端VSS7电源地线无OSC1/CLKIN8外部晶体输入外部时钟信号输入OSC29外部晶体输出无GP6/CLKOUT10双向IO口时钟信号输出GP7/RST/VPP11双向IO口复位端RXCAN12CAN数据输入无TXCAN/TXRXCAN13CAN数据发送1-Wire操作下的发送接收端VDD14电源无

3 工作原理

在MCP25050上电后,系统将首先进入复位操作模式,此时它将会禁止接收和发送数据,同时,A/D转换器和PWM也被禁止;而后MCP25050进行自初始化,自初始化主要通过把用户存储区的`数据读入SRAM中实现;当自初始化完成后,MCP25050将进入正常工作模式,以准备接收或发送数据,这时A/D转换器和PWM都可以正常工作;接下来MCP25050会在CAN总线上发一个“在线”信号给网络,以通知整个网络存在这个站点。