嵌入式汽车在线运行参数监测研究文献翻译_第1页
嵌入式汽车在线运行参数监测研究文献翻译_第2页
嵌入式汽车在线运行参数监测研究文献翻译_第3页
嵌入式汽车在线运行参数监测研究文献翻译_第4页
嵌入式汽车在线运行参数监测研究文献翻译_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、P8xC591微控制器在CAN中的应用1 介绍P8xC591是一个高性能的 CAN微控制器,可用于汽车和通用的工业应用,除了具有 Philips “ Rx+内核”的增强特性之外,器件还为这些应用提供许多专用的硬件功能。P8xC591完全履行 CAN2.0B规范并提供一个直接从 SJA1000独立CAN控制器的 软件移植路径。P8xC591具有CAN的扩充特性, 其中包括增强型验收滤波器,支持系统维护,诊断,系统优化以及接收 FIFO特性。P8xC591具有非常广泛的应用领域。该应用手册涵盖了P8xC591与CAN 相关的应用项目,要想应用并理解该文档中的应用示例,读者必须熟悉P8xC591的数

2、据手册。示例中的“ C ”代码描述了一套基本的软件程序,它可作为应用软件开发的一个起点。附录中列出了所有使用的定义。2 概述系统概述P8xC591设计成在最少数量的外部元件下工作。图2-1所示为使用 ROM或OTPEPROM的P8xC591的CAN 节点电路。所需要的外部元件仅仅是一个晶振加两个电容驱 动片内振荡器,一个连接到复位脚的电容(使用片内复位电路)以及一个收发器用于将P8xC591连接到CAN总线。XlAliXTA_LAlSeaRXjl.TXCC PORT 04 POPT 1digits IJCJ tv応 2 ron jwpMpiAiMf . .圍氏P脈口加才框国P8XC591除了包

3、含标准的外围功能以外,还包含了一个强大的CAN 控制器模块,它以PeliCAN为大家所知道,该嵌入式 CAN控制器包括了下列功能模块:CAN内核模块根据 CAN2.0B规范控制CAN帧的发送和接收。CAN接口包含5个实现CPU与CAN控制器连接的特殊功能寄存器,对重要 CAN 寄存器的访问通过快速自动增加的寻址特性和对特殊功能寄存器的位寻址来实现。CAN控制器的发送缓冲区能够保存一个完整的CAN信息(扩展或标准帧格式)。只要通过CPU启动发送,信息字节就从发送缓冲区传输到CAN内核模块。当接收一个信息时,CAN 内核模块将串行位流转换成并行数据输入到验收滤波器,通过该可编程滤波器,P8XC59

4、1确定实际接收到的信息 。所有由验收滤波器验收的接收数据都保存在接收FIFO 中。取决于操作模式和数据长度的不同,最多可保存21个CAN信息。这使用户在指定系统的中断服务和中断优先级时有更多的灵活性,因为数据溢出的可能性大大降低了。CAN特性的描述CAN2.0B控制器支持11位标准和29位扩展识别码。使用 8MHz时钟可实现1Mbit/sCAN 总线速率。还具有一个片内64字节接收FIFO和一个13字节发送缓冲区。除了普通的CAN特性以外,P8xC591还提供增强型 PeliCAN、 系统的维护、诊断 和优化特性,这些特性都因 Philips半导体的SJA1000独立CAN控制器而闻名。Pel

5、iCAN 特性4个独立可配置的验收滤波器组每个组都有4个可选的验收滤波器配置每个验收滤波器都有32位区分符32位代码和32位屏蔽所有滤波器都可 在运行中改变支持更高层的协议的验收滤波器接收FIFO特性只听模式自检测模式只有达到FIFO接收中断级才产生接收中断在接收到高优先级数据帧时立即产生接收中断系统维护诊断和优化特性: 仲裁丢失捕获仲裁丢失时产生中断捕获到的上一次仲裁丢失的具体CAN位置先进的错误诊断带有具体位置和错误类型的错误代码捕获可读的错误计数器几个不同的错误中断可编程错误警告界限只听模式监控功能自动位速率检测CAN自检测模式系统自检测自身信息接收全局自检测 (要求应答)局部自检测(不

6、要求应答)2.4P8XC591和SJA1000 CAN 特性的主要差别SJA1000P8xC5911个1个支持双或单滤波器的验收滤波器组4个支持双或单滤波器的验收滤波器组,所 有滤波器都可 在运行中改变 见3.3.31个接收中断配置:在接收任何信息时都会 产生接收中断(接收FIFO非空)2个接收中断配置1、 高优先级中断见3.3.12、接收中断级CAN位定时计算tscl = 2/fXTAL (32BRP.5+ .+1)CAN位定时计算tscl = 1/fXTAL (32BRP.5+ .+1)BasicCAN 模式 1 PeliCAN 模式PeliCAN 模式两个输出管脚 TX0,TX1的不同发

7、送输出级 配置:正常 双相位 时钟和测试输出模式输出管脚 TXDC的发送输出级配置为正常 模式注1 : SJA1000是 PCA82C200独立 CAN 控制器的继承产品。BasicCAN 模式使SJA1000保持了对之前的 PCA82C200的软件兼容性。3 CAN功能CAN协议2.0B完全由CAN内核模块处理,P8xC591初始化并控制通信,下面的章节将讲述P8XC591所有用于 CAN通信的功能。CPU 接口特殊功能寄存器对所有 PeliCAN 寄存器的访问通过 5 个特殊功能寄存器实现。它们分布在P8xC591的地址范围内。所有 PeliCAN地址都通过间接指针 (CANADR)寻址。

8、 此外, 常用的PeliCAN寄存器可直接由 CAN特殊功能寄存器进行访问 。图3-1所示为所有的CAN特殊功能寄存器以及它们的 PeliCAN寄存器,通过CANMOD可对PeliCAN模式寄存器进行直接的读 /写访问,通过写入 CANCON 对命令 寄存器进行访问, 通过读 CANCON对中断寄存器进行访问, 通过CANSTA寄存器可对中断使能寄存器进行写操作,读 CANSTA 是对 PeliCAN 状态寄存器进行访问CANSTA可位寻址并允许单个状态位的直接寻址,这对查询很有用。地址C1HC2HC4HC3HCOH地址扌g针所有其它的CANADRCANDATCANMOD读/写C ANCONt

9、-! .u !._! M w u. -A .Ul w . A .U. JU Ji. *.3 W Am VCANSTA*L 二:T : 7 . . T7 a J: : 、.: 7.橫式.命令申断*=命存器可他寻址图:M CAX特殊功能寄存操CAN寄存器都需要进行间接寻址。I.丄.U二UUTU呱丄丄叫丄汁U J-U Li. .i.WEO.a丄l 申断仗卑和祁 4甲 硒 Wl 1|和 H.軒 11状态:CANADR 寄存器指向PeliCAN 寄存器的地址在写操作时,寻址寄存器的数据可从将要送到被寻址寄存器的数据写入CANDAT。 读操作时,被CANDA T中读出。下面的例子说明了对PeliCAN寄存

10、器的直接 和间接寻址功能:/*模式寄存器的直接寻址*/CANMOD =0x01;/* 置位 Mode Register 中的复位请求 */*对位定时寄存器0和1的间接寻址*/CANADR = BTR0;/* 将地址设置到 BTR0寄存器*/CANDAT = 0x45;/* 将数据写入 BTR0*/CANADR = BTR1;/* 将地址设置到 BTR1寄存器*/CANDAT = 0x2B;/* 将数据写入 BTR1*/使用地址自动增加对CAN寄存器进行快速寻址前面一章所描述的间接寻址在寻址CAN 信息缓冲区和验收滤波器时会很消耗时间。因此,P8xC591包含一个自动增加模式用于快速寄存器寻址。

11、自动增加特性在PeliCAN地址 31(十进制)之后的地址被 CANADR 选择时自动有效,海次对 CANDA T的读/写,访问都自动增加 CANADR 指针。这类似于堆栈读写可有效地用于建立一个新的发送信 息或用于对 RX缓冲区进行读操作。/*建立一个用于发送的新的CAN信息*/CANADR =TBF;/* 指向 591 TX 缓冲区 */CANDAT = TransmitMessage0; /* 写 TX 帧信息 */CANDAT= TransmitMessage1;/*写 TX 识别码 1 */CANDAT= TransmitMessage2;/*写 TX 识别码 2 */CANDAT=

12、 TransmitMessage3;/*写 TX 数据字节 1 */CANDAT= TransmitMessage4;/*写 TX 数据字节 2 */* 将接收信息从 RX 缓冲区复制到 CANADR = RBF;ReceiveMessage0 = CANDA T; ReceiveMessage1 = CANDA T; ReceiveMessage2 = CANDA T; ReceiveMessage3 = CANDA T; ReceiveMessage4 = CANDA T;CPU RAM */ /* 指向 RX 缓冲区 */* 读 RX 帧信息 */ /* 读 RX 识别码 1 */ /*

13、 读 RX 识别码 2 */ /* 读 RX 数据字节 1 */ /* 读 RX 数据字节 2 */初始化复位模式和操作模式在上电或硬件复位后, CAN 控制器将处于复位模式 。在该模式中, 模式寄存器的 RM 位总是为 1。 如果 CAN 控制器不处于复位模式, RM 位的置位 (通过硬件或软 件)将强制其进入复位模式, 内部状态机被冻结。典型地,在上电或硬件复位后, 一旦引导和初始化程序结束, CPU 将通过软件 (清零 RM 位) 使 CAN 控制器进入操作模式。 在操作模式中 ,下面任何一个动作将 使 RM 位置位从而强制 CAN 控制器进入复位模式 。硬件复位通过软件将 RM MOD

14、.0 置位总线脱离状态此外, CAN 控制器的特殊模式, 只能从复位模式中进入, 这些特殊模式为测 试模式, 接收器极性模式, 自检测模式和只听模式, 退出复位模式后 CAN 控制 器返回到由模式寄存器所定义的模式。CAN 控制器的设定CAN 控制器在上电或硬件复位后必须进行设定以实现 CAN 通信初始化的处理应当 包括下面几项:操作模式验收滤波器总线定时TXDC 输出管脚配置中断图 3-2 所示为初始化处理编程示例的流程图。对于 CAN 控制器的初始化 ,只有表 1 中所列寄存器相关。 大多数 CAN 寄 存器具有一个方便的恢复特性, 在硬件复位或使 CAN 控制器进入复位模式后用户 配置可

15、保持不变 (表 1 中标注 “不变” )。寄存器位名称寄存器值上电后HW复位后置位MOD.0(RM) 位模式寄存器M0D.7000:测试模式M0D.6000M0D.5000接收极性模式M0D.4000M0D.3000M0D.200不变自检测模式M0D.100不变只听模式M0D.0101复位模式P1口配置P1M1.100不变:输出驱动器配 1寄存器P1M2.100不变置,TXDC脚必 须过 P1M1.1=0 P1M2.1=1 设置为推挽模式中断使能寄 存器IERxxh不变不变与CAN 有关的中断使能寄存器Rx中断级寄 存器RIL00h00h不变接收中断级总线定时寄存器0BTR0xxh不变不变同步

16、跳转宽 度波特率预 分频器总线定时寄存器1BTR1xxh不变不变每个位时间 段的采样验收滤波器 模式寄存器ACFM0D00h不变不变用于组 4,3,2,1 的信 息格式用于组 4,3,2,1的验收滤波 器模式验收滤波器使能寄存器ACFENxxh不变不变用于组4,3,2,1的滤波器1&2使能验收滤波器 优先级寄存 器ACFPRIOxxh不变不变用于组4,3,2,1的滤波器1&2优先级验收代码寄 存器ACR(30)xxh不变不变ACR用于组4,3,2,1验收屏敝寄 存器AMR(30)xxh不变不变AMR用于组 4,3,2,1流程图F图为CAN控制器初始化程序的简短示例。对应的C代码见下页。CAN

17、初始化的 C 代码示例void init_can_controller ( void )/* 进入 CAN 控制器复位模式 */ CANMOD = 0x01;/* TXDC Port (P1.1) 配置 */P1M2 = P1M2 | 0x02;/* 配置与 CAN 有关的中断 */CANSTA = 0x03;/* CAN 位定时的配置 */ CANADR = BTR0; CANDAT = 0x45; CANADR = BTR1; CANDAT = 0x2B;图 3-2 初始化流程图/* 将 CAN 控制器设置为复位模式以启动初始化/* 管脚 TXDC 设置为推挽模式 */* P1M2.1=

18、1 , P1M1.1 = 0 (默认) */* 使能接收和发送中断 */* BTR0 和 BTR1 编程为 125 kbit/s 12 MHz */* TSEG1 = 12, TSEG2 = 3,SJW = 2 */* Samples = 1 - sample point 81 % */* 验收滤波器的配置 Bank1 的滤波器 1 配置为接收 ID = 010.0000.0XXX */CANADR = ACR10;/* 将地址设置到验收代码寄存器 0 (Bank 1) */*/CANDAT = 0x40;CANADR = AMR10;CANDAT = 0x00;CANDAT = 0xFF;C

19、ANDAT = 0xFF;CANDAT = 0xFF;CANADR = ACFMOD;CANDAT = 0x55;CANADR = ACFPRIO;CANDAT = 0xFF;CANADR = ACFEN;CANDAT = 0x01;/* 验收代码 0 用于滤波 */* 将地址设置到验收屏蔽寄存器 0 (Bank 1) */* bank1: 验收屏蔽 0 */* bank1: 验收屏蔽 1 无关 */* bank1: 验收屏蔽 2 无关 */* bank1: 验收屏蔽 3 无关 */* 将地址设置到 ACF 模式寄存器 */* 单验收滤波器使用 11位 ID (SFF) */* 将地址设置到

20、ACF 优先级寄存器 */* 所有滤波器都为高优先级 */* 将地址设置到 ACF 使能寄存器 */* 使能 Bank1 的验收滤波器 */* 选择操作模式 退出 CAN 控制器复位模式 */CANMOD = 0x00;/* 使 CAN 控制器进入操作模式 */3.3 验收滤波器输入的 CAN 信息通过 P8xC591 的验收滤波器滤波, 这样就只有预先定义的信息会 被验收并保存到接收 FIFO 。 如果中断使能, 只有这些已验收的信息会产生接收中断, 从而减少了 CPU 服务于 CAN 的处理时间 。4 个独立的验收滤波器组可分别进行配置。 每个组都具有 SJA1000 的功能并增加了 在运

21、行中改变的特性。 (见 3.3.3 )CAN4个捡安滤苍样J验收代码寄存器(ACRn)和验收屏蔽寄存器(AMRn)定义验收滤波器。在验收代码寄存 器中定义接收信息的格式。对应的验收屏蔽寄存器允许通过将一定的位设置为1而将相ACR101.1010.0101AMR000.1111.0000可接收的信息101.xxxx.0101如 图3-5应的位位置定义为“无关”这两个特性的组合定义了接收的CAN信息。图3-4验收滤波举例所示,每个验收滤波器组都可配置为单滤波器或双滤波器,两个滤波器都支持标准 CAN帧(11位ID)以及扩展 CAN帧(29位ID)关于验收滤波器的详细配 置请参阅P8XC591数据手

22、册。每个滤波器组的 4种配置都可在验收滤波器模式寄存器中定义,而且只能在CAN控制器的复位模式中定义。ACFMOD 寄存器 CAN地址1Dh表2验收滤波器模式寄存器符号功能MFORMATB n信息格式 0 SFF(11位ID) 1 EFF(29位ID)AMODEBn验收滤波器模0单验收滤波器1双验收滤波 器n = Bank4 32 或 100艺岳支曙:胪展枕恪氏I-:-. r :丄: U _.3.3.1 验收优先级每个验收滤波器有两个不同的中断配置选择。1. 高优先级中断当配置为高优先级时,如果一个 CAN帧通过验收滤波器将立即产生接收中断,这允许使用一定的验收滤波器作为报警信息识别。2. 接

23、收中断级如果接收 FIFO中的信息字节数超过了接收中断级寄存器中定义的值,将产生接收中断。 两个中断配置都在验收滤波器优先级寄存器中定义。ACFPRIO CAN 地址 1Fh符号功能Bn F2PRIO滤波器2 优先级=Rx级中断仁高优先级中断0Bn F1PRIO滤波器1 优先级1=Rx级中断=高优先级中断0n = Bank4 32 或 13.3.2更高层协议的支持 对数据字节的验收举例DeviceNet协议显性信息DeviceNet协议使用带 11位CAN 识别码的标准帧格式。一个显性信息使用CAN帧的数据段传送 DevicNet定义的信息。 发送的数据段 0.8字节 包含了完整 的显性信息,

24、其中包括信息头和信息体。信息头指定在 CAN数据段的第一个数据字节中并包含目标 MAC ID。W- x原 MAC ID AFrag 二 0.辽珂 ID =0. 羔上.左!一一亠一匸二MAC n GAI:11位CAN 识别码与信息 MAC ID的组合定义了一个源或目标MAC ID而且必须被检查。P8XC591的验收滤波器可轻易地过滤信息头和源MAC ID。 由于对更高层协议的支持,过滤第一个数据字节中的 MAC ID将减少P8xC591的中断并使系统的整 体性能显著提高。此外,包含开放显性信息连接中的服务代码信息的第二个数据字节同样可用于验 收滤波。浜别衢区川飞才一、龙亍U -篁一图DevkAe

25、l |冷融二伎息mi biiu nuu uu附英文原文:1. INTRODUCTIONThe P8xC591 is an advanced CAN microcontroller for use in general industrial and automotive applications. In addition to the enhanced functionality of the Philips Rx+ core 5 this device provides a number of dedicated hardware functions for these application

26、s.The CAN controller of the P8xC591 fulfils the complete CAN2.0B specification and provides a direct software migration path from the SJA1000 stand-alone CAN controller 6. With a superset of CAN features like an enhanced acceptance filter, support for System Maintenance, Diagnostics, System Optimisa

27、tion and a Receive FIFO characteristics it is intended to be used in versatile application areas.This ApplicationNote covers the CAN relateditems of P8xC591 applications.Toapply and understand the applicationexamples given in thisdocument, thereader should be familiarwith the Philips P8xC591 data sh

28、eet 1. TheCcode in the examples describea basic set of software driverroutineswhichcould be used as a startingpoint for development of applicationsoftware. Allused definitionsare listed in the Appendix.2. OVERVIEWSystem OverviewThe P8xC591 is designed to work with a minimum number of external compon

29、ents. Figure 2-1 shows the circuitry of a CAN node using the ROM- or OTP EPROMversion of the P8xC591. The only additional components that are required are a crystal plus two capacitors to drive the on-chip oscillator, a capacitor connected to the Reset pin, using the on chip power-on RESET circuitry

30、 and a transceiver to connect the P8xC591 to the CAN bus.*5J(T2L-Da3pbxcssiFigure Typical P8xC591 CAN ApplicationBLOCKDiagramFigure 2-2 shows the block diagram of the P83C591 (ROM)EPROM)versions.S片斑讥j FCH :Figure 2- 2: Bluck Diagram of the P8iC59 LIn addition to a standard set of peripherals the P8x

31、C591 contains a powerful CAN controllerblock which is also known as PeliCAN. This embedded CANcontrollerincludes the followingfunctional blocks:The CAN Core Block controlsthe transmissionand receptionof CAN framesaccording to the CAN specification CAN2.0B.The CAN In terfacecon sistof 5 Special Funct

32、ion Registers which perform thelink between CPU and CAN controller. Access to important CAN registers is accomplished by a fast autoincrement addressing feature and bit-addressable Special Function Registers.The Transmit Buffer of the CAN controller is able to store one complete CAN message (Extende

33、d or Standard Frame Format). Whenever a transmission isinitiatedby the CPU, message bytes are transferredfrom the Transmit Bufferinto theCAN Core Block.When receivinga message the CAN Core Blockconvertsthe serial bitstreamintoparalleldatafor the AcceptanceFilter.With this programmablefiltertheP8xC59

34、1decides which messagesactually arereceived.All receivedmessages acceptedbythe Acceptance Filter are storedwithintheReceiveFIFO.Dependingon themodeof operation andthedata length upto 21 CAN messages can bestored.Thisenables the usertobe moreflexiblewhen specifyinginterruptservicesandinterrupt priori

35、tiesfor thesystembecause the probabilityofdata overrunconditions is reducedextremely.Description of CAN FeaturesThe CAN2.0B active CAN controllersupports 11-bit standard and 29-bit extendedidentifiers.A maximum CAN bit-rate of 1Mbit/s is already achievable with an 8MHz clock. An on-chip 64-byte Rece

36、ive FIFO and a 13-byte transmit buffer is implemented.In additionto the general CAN featuresthe P8xC591 provides enhanced PeliCAN,System Maintenance,Diagnostics and Optimisation Features known from the SJA1000 stand-alone CAN controller6 from Philips Semiconductors.PeliCAN Features:Four independentl

37、y configurable Acceptance Filter BanksFour possible Acceptance Filter Configurations in each BankEach filterhas two 32-bit specifiers:a 32-bit Code and a 32-bit MaskAll filtersare changeable on the fly Acceptance Filter with Higher Layer Protocol SupportReceive FIFO characteristicListen Only and Sel

38、f Test ModeReceive Interrupt only if FIFO Receive Interrupt Level is reachedReceive Interrupt immediately at reception of High Priority Data FramesSystem Maintenance, Diagnostics and OptimisationFeatures:ArbitrationLost CaptureInterrupton arbitration lostDetailedCAN bit position of last arbitrationl

39、ost event is capturedAdvanced Error DiagnosticsError Code Capture with detailed bit position and type of errorReadable Error CountersSeveral differe nt Error In terruptsProgrammable error warning limitListen Only ModeMon itor Fun cti onAutomatic Bit-rateDetect ionCANSelf Test ModeSystem Self TestsRe

40、ception of own messagesGlobal Self Test (acknowledge required)Local Self Test (no ack no wledge required)Main differencesbetween P8XC591 and SJA1000 CANFunctionalitySJA1000P8xC591One Acceptanee Filter Bank with Dual or Single Filter support.Four Acceptanee Filter Banks with Dual or Single Filter sup

41、port in each bank. All filters are changeable orlhe fly (see also chapter 3.3.3).One Receive Interrupt configuration: Receive In terrupt is gen erated on the recepti on of any message (while the Receive FIFO is not empty).Two Receive Interrupt configurations possible:1. High Priority Interrupt (see

42、also chapter3.3.1)2. Receive Interrupt LevelCAN Bit Timing Calculationt=/ fx (32 BRP.5+ .+1) sclXTALCAN Bit Timing Calculationt=/ fx (32 BRP.5+ .+1) sclXTALBasicCAN Mode 1PeliCAN ModePeliCAN ModeDifferent Transmit output stage configurations with two output pins (TX0, TX1): Normal, Biphase, Clock an

43、d Test output ModeTransmit output stage with one output pin (TXDC) in Normal Mode configuration3. CANFUNCTIONALITYThe CAN protocol2.0B as specified in 2 is completely handled by the CANCoreBlock, see also chapter 2.2. The CPU of the P8xC591 initialises and controls the com muni catio n.The followi n

44、g chapters describe all functionsn ecessary torun CANcommunication with the P8xC591.CPU In terfaceSpecial Function RegistersAccess to allPeliCANregisters is performed via five Special FunctionRegisters (SFR). They are mapped into the address range of the P8xC591. For all PeliCAN address locati onsin

45、 directpoin ter (CANADR)based address ing is achieved.In additionfrequently used PeliCAN registers can be accessed directly via CANSpecial Function Registers.Figure 3-1 shows all CAN Special Functionregistersincludingtheir PeliCANregisters. A direct read/write access to the PeliCAN Mode register is

46、possible via CANMODThe Commandregister is accessed while writingto CANCONand theInterruptregister is read while reading CANCON.The CANSTAregister allows awrite access to the InterruptEnable register. Reading CANSTAis a directaccess to the PeliCANand allows directaddressingofStatus Register. CANSTAis

47、 bit-addressablesin glestatus flags which is always usefulfor polli ng.AddressC1HC2HC4HC3HCOHCANSpecial Function R>sters-rcgjsfcr is bit a ddrcssubfcfigure 3*1 : CAN Special Function RegisterAll other CAN controllerregistersneed to be addressedregisterpointsto the address of thePeliCAN register.in

48、 directly. The CANADR During a write accessthe data to the addressed registerhas to be writteninto CANDAT. During a readexampleillustratesthefun cti on alityfor direct and in directPeliCANregisters:/*Directaddress ingofMode Register*/access data from the addressed registeraddress ingofcan be read fr

49、om CANDAT.ThefollowingCANMOD 0x01;/*set Reset Request inMode Register*/*ln directaddress ingof Bi Timing Registers0 and 1*/CANADF= BTR0;/*set address toBTR0 register*/CANDAT= 0x45;/* write data to BTR0*/CANADR= BTR1;CANDAT= 0x2B;/* set address to BTR1 register*/* write data to BTR1Fast CAN Register

50、Access with Auto-IncrementIndirect addressing, as described in the previous chapter, could be time consuming when addressing the CAN message buffers and the acceptance filters. Therefore, the P8xC591 includes an autoincrement mode for fast register addressing. The autoincrement feature is automatica

51、lly activated when PeliCAN addresses beyond CAN address 31 (decimal) are selected by CANADR.Every read or write access to CANDAT automatically increments the CANADR pointer.This stack-likereading andwriting could effectivelybeing used for setting up a new transmit message asdescribed below or for re

52、ading the RX Buffer./* copy receivemessage from RX Bufferinto the CPU RAMspace*/CANADR= RBF;/* point to 591 RX Buffer*/*/*/*/ReceiveMessage0 = CANDAT;ReceiveMessage1 = CANDAT;ReceiveMessage2 = CANDAT;ReceiveMessage3 = CANDAT;/*read RX Frame Information/* read RX Identifier 1/* read RX Identifier 2/* read RX Data Byte 1/*/settingup a newCANmessagefortransmitting*/CANADR=TBF;/*pointto 591 TX Buffer*/CANDAT=TransmitMessage0;/* writeTXFrame Information*/CANDAT=TransmitMessage1;/*writeTX Identifier1*/CANDAT=Trans

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论