MCP2515中文详解

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2005MicrochipTechnologyInc.初稿DS21801D_CN第1页MCP2515特性•完全支持CANV2.0B技术规范,通讯速率为1Mb/s:-0-8字节长的数据字段-标准和扩展数据帧及远程帧•接收缓冲器、验收屏蔽寄存器和验收滤波寄存器:-两个接收缓冲器,可优先存储报文-六个29位验收滤波寄存器-二个29位验收屏蔽寄存器•对头两个数据字节进行滤波(针对标准数据帧)•三个发送缓冲器,具有优先级设定及发送中止功能•高速SPI接口(10MHz):-支持0,0和1,1的SPI模式•单触发模式确保报文发送只尝试一次•带有可编程预分频器的时钟输出引脚:-可用作其他器件的时钟源•可用起始帧信号(Start-of-Frame,SOF),用于监控SOF信号:-可用于时隙协议和/或总线诊断以检测早期总线性能退化•带有可选使能设定的中断输出引脚•“缓冲器满”输出引脚可配置为:-各接收缓冲器的中断引脚-通用数字输出引脚•“请求发送(Request-to-Send,RTS)”输入引脚可各自配置为:-各发送缓冲器的控制引脚,用于请求立即发送报文-通用数字输入引脚•低功耗的CMOS技术:-工作电压范围2.7V至5.5V-5mA典型工作电流-1µA典型待机电流(休眠模式)•工作温度范围:-工业级(I):-40°C至+85°C-扩展级(E):-40°C至+125°C说明Microchip的MCP2515是一款独立控制器局域网络(ControllerAreaNetwork,CAN)协议控制器,完全支持CANV2.0B技术规范。该器件能发送和接收标准和扩展数据帧以及远程帧。MCP2515自带的两个验收屏蔽寄存器和六个验收滤波寄存器可以过滤掉不想要的报文,因此减少了主单片机(MCU)的开销。MCP2515与MCU的连接是通过业界标准串行外设接口(SearialPeripheralInterface,SPI)来实现的。封装类型TXCANRXCANVDDRESETCSSOMCP2515123418171615SISCKINTRX0BF14131211RX1BF10OSC2OSC1CLKOUT/SOFTX2RTS5678Vss9TX0RTSTX1RTSMCP2515TXCANRXCANTX0RTSOSC1CLKOUT/SOFOSC2CSVDDRESETSOSCKINTSIRX0BFRX1BFVSSTX1RTSTX2RTSNCNC131212345678920191817161514111018引脚PDIP/SOIC20引脚TSSOP带有SPI接口的独立CAN控制器MCP2515DS21801D_CN第2页初稿2005MicrochipTechnologyInc.注:2005MicrochipTechnologyInc.初稿DS21801D_CN第3页MCP25151.0器件概述MCP2515是一款独立CAN控制器,可简化需要与CAN总线连接的应用。图1-1简要显示了MCP2515的结构框图。该器件主要由三个部分组成:1.CAN模块,包括CAN协议引擎、验收滤波寄存器、验收屏蔽寄存器、发送和接收缓冲器。2.用于配置该器件及其运行的控制逻辑和寄存器。3.SPI协议模块。图1-2显示了该器件的典型系统应用。1.1CAN模块CAN模块的功能是处理所有CAN总线上的报文接收和发送。报文发送时,首先将报文装载到正确的报文缓冲器和控制寄存器中。通过SPI接口设置控制寄存器中的相应位或使用发送使能引脚均可启动发送操作。通过读取相应的寄存器可以检查通讯状态和错误。会对在CAN总线上检测到的任何报文进行错误检查,然后与用户定义的滤波器进行匹配,以确定是否将报文移到两个接收缓冲器中的一个。1.2控制逻辑通过与其他模块连接,控制逻辑模块控制MCP2515的设置和运行,以便传输信息与控制。所提供的中断引脚提高了系统的灵活性。器件上有一个多用途中断引脚及各接收缓冲器的专用中断引脚,用于指示有效报文是否被接收并载入接收缓冲器。可选择使用专用中断引脚。通用中断引脚和状态寄存器(通过SPI接口访问)也可用来确定何时接收了有效报文。器件还有三个引脚,用来启动将装载在三个发送缓冲器之一中的报文立即发送出去。是否使用这些引脚由用户决定;若不使用,也可利用控制寄存器(通过SPI接口访问)来启动报文发送。1.3SPI协议模块MCU通过SPI接口与该器件连接。使用标准的SPI读/写指令以及专门的SPI命令来读/写所有的寄存器。图1-1:结构框图SPI接口逻辑SPI总线INTCSSCKSISOCAN协议引擎RXCANTXCAN控制逻辑RX0BFRX1BFTX0RTSTX1RTSTX2RTS发送和接收缓冲器验收屏蔽寄存器和CAN模块RESET时序发生器OSC1OSC2CLKOUT控制和中断寄存器验收滤波器 MCP2515DS21801D_CN第4页初稿2005MicrochipTechnologyInc.图1-2:典型系统实现方法图表1-1:引脚说明名称PDIP/SOIC引脚号TSSOP引脚号I/O/P类型说明备选引脚功能TXCAN11O连接到CAN总线的发送输出引脚—RXCAN22I连接到CAN总线的接收输入引脚—CLKOUT33O带可编程预分频器的时钟输出引脚起始帧信号TX0RTS44I发送缓冲器TXB0请求发送引脚或通用数字输入引脚。VDD上连100kΩ内部上拉电阻通用数字输入引脚。VDD上连100kΩ内部上拉电阻TX1RTS55I发送缓冲器TXB1请求发送引脚或通用数字输入引脚。VDD上连100kΩ内部上拉电阻通用数字输入引脚。VDD上连100kΩ内部上拉电阻TX2RTS67I发送缓冲器TXB2请求发送引脚或或通用数字输入引脚。VDD上连100kΩ内部上拉电阻通用数字输入引脚。VDD上连100kΩ内部上拉电阻OSC278O振荡器输出—OSC189I振荡器输入外部时钟输入引脚VSS910P逻辑和I/O引脚的参考地—RX1BF1011O接收缓冲器RXB1中断引脚或通用数字输出引脚通用数字输出引脚RX0BF1112O接收缓冲器RXB0中断引脚或通用数字输出引脚通用数字输出引脚INT1213O中断输出引脚—SCK1314ISPI接口的时钟输入引脚—SI1416ISPI接口的数据输入引脚—SO1517OSPI接口的数据输出引脚—CS1618ISPI接口的片选输入引脚—RESET1719I低电平有效的器件复位输入引脚—VDD1820P逻辑和I/O引脚的正电源—NC—6,15—无内部连接注:类型标识:I=输入;O=输出;P=电源节点控制器MCP2515XCVRSPITXRXCANHCANL节点控制器MCP2515XCVRSPITXRX节点控制器MCP2515XCVRSPITXRX2005MicrochipTechnologyInc.初稿DS21801D_CN第5页MCP25151.4发送/接收缓冲器/验收屏蔽寄存器/验收滤波寄存器MCP2515有三个发送缓冲器和两个接收缓冲器,两个验收屏蔽寄存器(分别对应不同的接收缓冲器)以及六个验收滤波寄存器。图1-3的框图显示了这些缓冲器及它们与CAN协议引擎的连接方法。图1-3:CAN缓冲器和协议引擎框图验收滤波寄存器RXF2RXB1标识符数据字段数据字段标识符验收屏蔽寄存器RXM1验收滤波寄存器RXF3验收滤波寄存器RXF4验收滤波寄存器RXF5MAB验收滤波寄存器RXF0验收滤波寄存器RXF1RXB0TXREQTXB2ABTFMLOATXERRMESSAGE报文队列控制发送字节序列发生器TXREQTXB0ABTFMLOATXERRMESSAGECRC14:0比较器接收7:0 发送7:0接收错误发送错误协议RECTECErrPasBusOff有限状态机计数器计数器移位14:0{发送5:0,接收8:0}发送逻辑位时序逻辑TXRX配置寄存器时钟发生器协议引擎缓冲器TXREQTXB1ABTFMLOATXERRMESSAGE验收屏蔽寄存器RXM0接受 接 受  SOFMCP2515DS21801D_CN第6页初稿2005MicrochipTechnologyInc.1.5CAN协议引擎CAN协议引擎包含数个功能模块,见图1-4。下面将对这些模块及其功能进行介绍。1.5.1协议有限状态机协议引擎的核心是有限状态机(FiniteStateMachine,FSM)。FSM是一个定序器,对TX/RX移位寄存器、循环冗余校验(CyclicRedundancyCheck,CRC)寄存器和总线之间的顺序数据流进行控制。FSM还对错误管理逻辑(ErrorManagementLogic,EML)及TX/RX移位寄存器和缓冲器之间的并行数据流进行控制。FSM确保了依据CAN协议,进行报文接收、总线仲裁、报文发送以及错误信号发生等操作过程。FSM还对总线上报文的自动重发进行处理。1.5.2循环冗余校验循环冗余校验寄存器产生循环冗余校验(CRC)代码。该代码在控制字段(数据字节数为0的报文)或数据字段之后被发送,并用来检查进入报文的CRC字段。1.5.3错误管理逻辑错误管理逻辑(EML)负责将CAN器件的故障进行隔离。该逻辑有两个计数器,即接收错误计数器(ReceiveErrorCounter,REC)和发送错误计数器(TransmitErrorCounter,TEC)。这两个计数器根据来自位流处理器的命令进行增减计数。根据错误计数器的计数值,CAN控制器将被设定为错误主动、错误被动或总线关闭三种状态。1.5.4位时序逻辑位时序逻辑(BitTimingLogic,BTL)可监控总线输入,并根据CAN协议处理与总线相关的位时序操作。BTL在起始帧时,对从隐性状态到显性状态的总线过渡进行同步操作(称为硬同步)。如果CAN控制器本身不发送显性位,则在以后的隐性状态到显性状态总线过渡时会再进行同步操作(称为再同步)。BTL还提供可编程时间段以补偿传播延迟时间和相位位移,并对位时段内的采样点位置进行定义。对BTL的编程取决于波特率和外部物理延迟时间。图1-4:CAN协议引擎框图位时序逻辑CRC14:0比较器接收7:0发送7:0采样2:0多数决定StuffReg5:0比较器发送逻辑接收错误计数器发送错误计数器协议FSMRXSAMBusMon接收/发送地址RecData7:0TrmData7:0移位14:0(发送5:0,接收7:0)TXRECTECErrPasBusOff连接到标准缓冲器SOF2005MicrochipTechnologyInc.初稿DS21801D_CN第7页MCP25152.0CAN报文帧MCP2515支持CAN2.0B技术规范中所定义的标准数据帧、扩展数据帧和远程帧(标准和扩展)。2.1标准数据帧CAN标准数据帧如图2-1所示。与其他所有帧一样,帧以起始帧(SOF)位开始,SOF为显性状态,允许所有节点的硬同步。SOF之后是仲裁字段,由12个位组成,分别为11个标识位和一个远程发送请求(RemoteTransmissionRequest,RTR)位。RTR位用于区分报文是数据帧(RTR位为显性状态)还是远程帧(RTR位为隐性状态)。仲裁字段之后是控制字段,由6个位组成。控制字段的第一位为标识扩展(IdentifierExtension,IDE)位,该位应是显性状态来指定标准帧。标识扩展位的下一位为零保留位(RB0),CAN协议将其定义为显性位。控制字段的其余4位为数据长度码(DataLengthCode,DLC),用来指定报文中包含的数据字节数(0到8字节)。控制字段之后为数据字段,包含要发送的任何数据字节。数据字段长度由上述DLC定义(0到8字节)。数据字段之后为循环冗余校验(CRC)字段,用来检测报文传输错误。CRC字段包含一个15位的CRC序列,之后是隐性的CRC定界位。昀后一个字段是确认字段(ACK),由2个位组成。在确认时隙(ACKSlot)位执行期间,发送节点发出一个隐性位。任何收到

1 / 84
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功