论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
那么,通过CAN0ADR、CAN0DATH和CAN0DATL寄存器以索引方式间接访问CAN控制器中寄存器的过程会怎样呢?因为每个CAN控制器寄存器都有一个索引号,如果要访问某一CAN控制寄存器,只需将此寄存器的索引号写入CAN0ADR寄存器,而数据读/写操作通过CAN0DATH和CAN0DATL来完成。例如:如果需要对位定时寄存器重新配置时,只需向CAN0ADR寄存器中写入0X03,将新配置的数据的低字节写入CAN0DATL中,高字节写入CAN0DATH中。
2 CAN控制器应用时寄存器配置
下面就CAN控制器在应用时,根据所要完成功能的不同而需要做的不同配置做具体描述。这包括报文对象初始化处理、发送对象配置、接收对象配置、中断处理配置;另外,还有发送对象的更新、位定时寄存器等配置。
2.1 报文对象初始化处理
报文RAM中的报文对象(除MsgVal、NewDat、IntPnd和TxRqst)配置不受芯片复位的影响。所有的报文对象在使用前必须由CPU来初始化为零或者被设置为无效。报文对象的配置是通过相应的接口寄存器来设置其屏蔽码、仲裁场、控制场和数据场值,而这一设置过程由相应的IFX命令请求寄存器来完成。
当CAN控制寄存器中的Init位置零,CAN内核中的CAN协议控制器状态机制和报文处理状态机制将控制C_CAN的内部数据流。接收到的报文通过接收滤波后都存放在报文RAM中,而得到传输请求的报文都要移入CAN内核的移位寄存器中并通过CAN总线传出。
2.2 发送对象的配置
当报文对象作为发送对象时,仲裁寄存器(ID28-0和