CAN控制器解析:错误管理与位时序逻辑

需积分: 45 28 下载量 197 浏览量 更新于2024-08-06 收藏 18.87MB PDF 举报
"LPC178x/177x系列Cortex-M3微控制器的CAN控制器详细功能解析" 在LPC178x/177x系列Cortex-M3微控制器中,CAN(Controller Area Network)控制器是用于实现车载网络通信的重要组件。CAN总线是一种高效、可靠的串行通信协议,特别适用于汽车电子系统中的多个节点间的通信。本文将详细阐述该控制器的几个关键部分及其功能。 1. **接收缓冲区分布** 标准和扩展格式配置的接收缓冲区在CAN控制器中起到接收并暂存CAN报文的作用。这些缓冲区根据报文的格式(标准或扩展)进行分配,确保正确地处理不同类型的通信数据。 2. **错误管理逻辑(EML)** EML是CAN控制器中的一个重要模块,负责错误界定。它接收来自BSP(位流处理器)的错误报告,并将错误统计信息传递给BSP和IML(错误管理逻辑),确保系统的错误处理和诊断能力。 3. **位时序逻辑(BTL)** BTL监控CAN总线的位时序,对线路进行同步。它在报文开始时通过"隐性"到"显性"的跳变进行硬同步,而在接收报文过程中利用其他跳变进行软同步。BTL还提供可编程时间段以补偿传输延迟和相移,如由振荡器漂移引起的,定义了采样点和位时间内的采样次数。 4. **位流处理器(BSP)** 位流处理器是一个时序发生器,它控制数据流,使发送缓冲区、接收缓冲区和CAN总线之间协同工作。BSP负责执行错误检测、仲裁、填充和错误处理,确保总线上的通信顺畅无误。 5. **CAN控制器自测试** LPC178x/177x系列微控制器的CAN控制器支持两种自测试模式: - **全局自测试**:在正常工作模式下,通过设置自接收请求位,可以检查CAN控制器配置。需要至少一个CAN节点响应每个报文,以验证整个CAN系统的功能。 - **本地自测试**:在自测试模式下,同样设置自接收请求位,但报文仅在内部循环,不涉及其他节点。 在自测试期间,发送的报文会自动被接收并存储在接收缓冲区中,同时产生发送和接收中断(如果中断已启用)。 6. **E2PROM存储器** LPC178x/177x微控制器中包含E2PROM存储器,可以用于存储非易失性数据。E2PROM提供了描述、特性、寄存器描述和操作等相关信息,允许用户在断电后保存数据,并在需要时读取。 7. **外部存储器控制器(EMC)** 外部存储器控制器是用于连接和控制外部内存设备(如SRAM、DRAM、闪存等)的接口。EMC提供了与不同类型的外部存储器通信的能力,扩展了微控制器的存储容量和功能。 LPC178x/177x系列微控制器的CAN控制器通过其复杂的硬件结构和功能,确保了高效、可靠的CAN总线通信。配合E2PROM和EMC等其他存储功能,为系统提供了全面的数据存储和处理能力。