XMC4800—Mulitican模块中文版手册

上传人:桔**** 文档编号:483397779 上传时间:2022-07-22 格式:DOCX 页数:15 大小:115.58KB
返回 下载 相关 举报
XMC4800—Mulitican模块中文版手册_第1页
第1页 / 共15页
XMC4800—Mulitican模块中文版手册_第2页
第2页 / 共15页
XMC4800—Mulitican模块中文版手册_第3页
第3页 / 共15页
XMC4800—Mulitican模块中文版手册_第4页
第4页 / 共15页
XMC4800—Mulitican模块中文版手册_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《XMC4800—Mulitican模块中文版手册》由会员分享,可在线阅读,更多相关《XMC4800—Mulitican模块中文版手册(15页珍藏版)》请在金锄头文库上搜索。

1、XMC4800 Mult模B 中文手册:XMC4800 简介二:MuLtiCAN模块介绍2.1 MuLtiCAN 模块简述:XMC4800的MuLtiCAN模块包含6个可独立运行的符合ISO11898和SAEJ1939 的CAN节点,每个节点都支持通过网关或远程帧模式交换数据。MultiCAN模块 提供256个“消息对象”用于接收和处理CAN报文,这256个消息对象可以自由分配 给任何一个节点使用,一个消息对象只能映射到一个CAN节点。每个节点都 有自己的消息对象列表,这些列表可以组成FIFO方式缓存报文,也可以用作网关模式。报文的处理流程如下图所示我们使用一种快递模型来理解MuLtiCAN的

2、工作模式。假定MCU为一个区域 的承包人,那么他需要将自己承包的区域划分为不同的部分由不同的加盟店来完 成该区域的工作,划分区域其实就是安排加盟店(CAN-NODE),每一个加盟店在 收到物流网络上的包裹(报文)之后需要人工进行筛选Message Objects)决定那些 包裹(报文)需要处理,接收需要处理的,丢弃不需要处理的。每个加盟店可以 由区域承包人MCU)女排需要多少工人Message Objects),每个工人(Message Objects) 可以接收的包裹(报文)的地址范围。对于大规模的包裹(报文)的处理还可以 安排多个(Message Objects)组成流水线(FIFO )形

3、式处理,以满足客户需要大规模 投递需要。所以我们需要使用MuLtiCAN模块实现CAN总线通信功能需要完成以下内容:1. 初始化CAN-NODE2. 初始化Message Object (接收/发送滤波)3. 为 CAN-NODE 分配可用的 Message Object (List)4. 使能物理引脚,打开中断2.2 MuLtiCAN 模块主要寄存器简述:2.2.1 Global Module Registers2.2.1.1ModuleIdentificationRegister(模块识别寄存器)ID)作用:CAN节点的消息对象列表分配与管理面板。MOD_NUMBER(32-16):模块的

4、识别号MOD_TYPE(15-8):模块类型MOD_REV(0-7):模块的版本号这是一个只读寄存器,不需要做任何配置。2.2.1.2PANCTR(PanaelControlRegisiter面板控制寄存器)作用:消息对象列表分配控制面板,负责每个消息对象列表的消息对象管理,包 括静态动态插入和删除消息对象。PANAR2(31-24),PANAR1(23-16),0(15-10),RBUSY(9),BUSY(8),PANCMD (7-0)PANCMD和PANAR1、PANAR2组成组合命令完成不同的任务,RBUSY和BUSY为忙标 志。PANCMD和PANAR1、PANAR2组成命令内容如下。

5、PANCMDPANAR2PANAR1功能00-NOOperation01Bit7 : ERR-列表初始化,复位所有报文,解除所有已分配的报文对 象。初始化时CAN节点(0-5)必须职位INIT和CCE。ERR : 0,初始化成功;1,并非所有节点的INIT和CCE 被置位取消初始化。MUltican模块复位时会自动执行初 始化指令02列表指针报文对象编号将 PANAR1给出的报文对象分配到PANAR2给出的列表的 末尾,也可以取消对PANAR1给出的报文对象的分配, PANAR2=0 即可。03列表指针Result :Bit7 : ERR结果报文对象编号P丿配将未分配报文对象列表中的第一个报文

6、对象分配给 ANAR2指定的报文对象列表(添加到该列表最后)被分 的报文对象编号返回到PANAR1.Result :ERR : 0,成功1,失败,未分配的报文对象列表为空(所有报文04目标对象编号源对象编号对象都已经分配完毕?)将PANAR1给定的源对象从其所属的对象列表中移除并插入到PANAR2所给定的目标对象所属的对象列表中,它插05目标对象编号Result :被Bit7 : ERR象Result :将2插入的报文对目.编号pa入到目标对象的前面。孚未分配报文对象列表中的第一个报文对象插入到给定 扌标对象编号的前面,返回被插入的报文对象编号给NAR1.Result :ERR : 0,成功0

7、6目标对象编号源对象编号1,失败,禾分配的报文对象列表为空(所有报文 对象都已经分配完毕?)将PANAR1给定的源对象从其所属的对象列表中移除并插07目标对象编号Result :被Bit7 : ERR象Result :将2插入的报文对目:编号pa入到PANAR2所给口疋的目标刈象所属的刈象列表中,匕插 入到目标对象的后面。孚未分配报文对象列表中的第一个报文对象插入到给定 扌标对象编号的后面,返回被插入的报文对象编号给NAR1.Result :ERR :0,成功1,失败,未分配的报文对象列表为空(所有报文对象都已经分配完毕?)08-FF- -2.2.1.3MCR (ModuleControlRe

8、gister )模块控制寄存器作用:时钟选择和报文挂起选择0(31-16),MPSEL(15-12-rw),0(11-9),0(8-rw),0(7-4),CLKSEL(3-0-rw)CLKSEL(3-0-rw)0000没有时钟可提供0001 fpERIPH0010 foHP0100不允许1000 hard wired to 00(8-rw)Written 0MPSEL(15-12-rw)在报文接收/发送之后,位域MPSEL可用于计算报文挂起位置,由位域 RXINP、TXINP和MPN(报文挂起编号)共同选择。-详细描述参见用户手册2.2.1.4MITR(ModuleInterruptTrigg

9、erRegister) 中断触发寄存器作用:触发中断0(31-16),IT(15-0-W)IT(15-0-W)在对f应的位写1(n)可以在INT_On中断输出线上产生中断,写 0无影响。2.2.1.5ListPointerandListRegister( 列表指针和列表寄存器)作用:描述消息对象列表指针,消息对象列表大小,对象列表包含的消息对象等内容。有七 个消息对象列表,消息对象列表0 包含所有未分配到消息对象列表的消息对象,消息对象列 表(1-6)分别映射到 CAN-NODE(0-5)。LIST0LIST(1-15)LIST Register N0 (31-25) , EMPTY (24-

10、rh) , SIZE (23-16) , END (15-8-rh) , BEGIN (7-0-rh)EMPTY0-列表不为空(列表内至少有一个报文对象)1-列表为空(列表未分配报文对象)SIZE列表中兀素个数-1 (即从0开始计数) 为0时表示列表为空END指向列表最后一个报文对象BEGIN指向列表第报文对象221.6报文通知寄存器(集)MSPNDk当报文对象因报文发送/接收操作而产生一个中断请求时, 该请求将被送至报文对象 的位域 TXINP 或 RXINP 所选择的中断输出线上。因为报文对象个数多于中断输出线个 数,因此通常一个中断程序可处理来自多个报文对象的请求。因此, MultiCA

11、N 模块实现 了一个优先级选择机制,在报文对象集合中选择具有最高优先级的报文对象。报文挂起 寄存器包含挂起的中断请求。MSPNDk (k = 0-7)(Message Pending Register k)MPN(31-0)当一个报文对象中断产生,MSPND中的某一位会被置位(由IPR寄存器的MPN域决定)寄 存器选择 n 由 MPN 最高位给出。对应的位上写1 可以清零。每个消息挂起寄存器都有一个与之关联的消息索引寄存器 MSIDk。 消息索引寄存器显示处 于待处理位组中最低位置的有效位(置位)。MSIDK(k = 0-7)(Message Index Register k)0 (31-6)

12、 , INDEX (5-0)INDEX(5-0)INDEX的值由具有下列特性MSPNDk挂起位的位i给出:1. MSPNDki & IMi = 12. i = 0 或者 MSPNDki-1:0 & IMi-1:0 = 0如果MSPNDk中没有满足上述条件的位,那么INDEX 被读为 100000B。因而,INDEX给出MSPNDk中的第一个挂起位的 位置,只考虑那些被报文指针屏蔽寄存器选中的 位。MSIMASK(Message Index Mask Register)IM(31-0)只有在IM中设置了相应索引掩码位,MSPNDk中的那些位才有助于计算消息索引。(掩码?控制开关?)2.2.2 C

13、AN Node Registers(CAN 节点寄存器)CAN节点寄存器内置于MultiCAN +模块的每个CAN节点。包含节点控制直接相关的信息。2.2.2.1 Node x Control Register CAN_NCRx (x = 0-5)0(31-8), CALM(7), CCE(6), TXDIS(5), CANDIS(4), ALIE(3), LECIE(2), TRIE(1)INIT(0)INIT (0-rw)0:复位INIT用于使能该节点,使其可参加CAN通信。如果CAN节点处于总线关闭状态,那么继续进行总线关闭的恢复操作(该 操作不依赖于INIT位)。总线关闭恢复序列结束时

14、,允许该节点参加CAN 通信。如果CAN节点不处于总线关闭状态,在允许该节点参加CAN通信 之前,必须要检测到11个连续的隐性位.1:关闭节点,禁止参与通讯。取消任何正在传送的帧。如果该节点处于总 线关闭状态则继续运行总线关闭恢复序列。TRIE (1-rw)传输中断使能,运行在CAN报文发送或接收成功之后产生中断 0:不允许产生传输中断1 :允许产生传输中断通过CAN节点中断指针寄存器中的TRINP选择中断输出线LECIE (2-rw)允许当每一次硬件刷新NSRX寄存器的LEC位(LEC0, CAN协议错误)时 产生中断。0:禁止中断1 :允许中断中断输出线由位域NIPRx.LECINP选择A

15、LIE (3-rw)警告中断使能0:禁止中断1 :允许中断以下事件会产生中断NSRX (CAN节点状态寄存器)的位BOFF发送改变NSRX (CAN节点状态寄存器)的位EWRN发送改变列表长度错误,该错误也置位NSRX (CAN节点状态寄存器)中的位LLE 列表对象错误,该错误也置位NSRX (CAN节点状态寄存器)中的位LOE 位域NIPRx.ALINP选择在这种类型的中断时被激活的中断输出线CANDIS (4-rw)置位将禁止该CAN节点。首先CAN节点一直等待,直到总线空闲或总线关 闭撞他,然后INIT自动置位,如果ALIE被置位那么产生一个警报中断。TXDIS (5-rw)置位,在总线空闲时禁止CAN节点发送消息?用途?CCE (6-rw)0:位时序寄存器,端口控制寄存器和错误计数器 寄存器只能被读取,忽略所有试图修改这些寄 存器的操作。1:位时序

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号