ARM平台CAN控制器驱动程序开发指南

5星 · 超过95%的资源 需积分: 9 23 下载量 100 浏览量 更新于2024-08-01 收藏 1.34MB PDF 举报
"CAN 控制器驱动程序的编写与开发主要集中在ARM上的LPC2000系列微处理器,由广州周立功单片机发展有限公司出版,涉及到CAN控制器的特性、管脚描述、存储器映射、寄存器解释以及错误处理、睡眠模式、中断和发送优先级等关键内容。" 在CAN控制器驱动程序的开发中,理解控制器的硬件特性至关重要。LPC2000系列的CAN模块具有多种功能,包括验收过滤器,能够筛选接收到的帧,确保只处理相关数据。控制器的管脚描述涵盖了各个引脚的用途,这对于配置硬件接口和确保正确通信至关重要。 CAN模块的存储器映射详细列出了控制器在微处理器内存中的位置,这直接影响到软件如何访问和操作这些控制器。其中,多个寄存器如模式寄存器(CANMOD)、命令寄存器(CANCMR)、全局状态寄存器(CANGSR)、中断和捕获寄存器(CANICR)、中断使能寄存器(CANIER)等,用于控制和监测CAN控制器的状态和行为。 每个控制寄存器都有其特定的功能。例如,模式寄存器用于设置工作模式,命令寄存器用于启动发送和接收操作;全局状态寄存器提供整个CAN模块的运行状态信息;中断和捕获寄存器以及中断使能寄存器管理中断的发生和处理;总线时序寄存器(CANBTR)则用于配置CAN总线的波特率和其他定时参数。 接收和发送相关的寄存器,如Rx和Tx帧状态、标识符和数据寄存器,是处理CAN通信的核心部分,它们负责接收和发送数据帧。寄存器操作方法的详细解释,包括错误处理、睡眠模式、中断机制以及发送优先级的设定,这些都是确保高效、可靠CAN通信的关键。 错误处理部分介绍了如何检测和处理CAN通信中的错误,如位错误、格式错误等,这对于保持网络稳定性至关重要。睡眠模式是低功耗设计的一部分,中断功能则允许系统在有新消息时及时响应,而发送优先级的设置有助于优化数据传输的效率。 综合CAN寄存器如集中发送状态寄存器(CANTxSR)和集中接收状态寄存器(CANRxSR),提供了查看所有发送和接收状态的便利,便于调试和监控CAN网络的整体性能。 "CAN 控制器驱动程序的编写与开发"涵盖的内容广泛且深入,不仅讲解了CAN控制器的硬件特性,还提供了详细的软件实现策略,对于在ARM平台上开发LPC2000系列的CAN驱动程序具有很高的参考价值。