CAN控制器解析:错误管理与位时序逻辑
需积分: 45 84 浏览量
更新于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等其他存储功能,为系统提供了全面的数据存储和处理能力。
2013-02-15 上传
2022-06-20 上传
2020-10-13 上传
2022-03-01 上传
2022-01-26 上传
2019-08-29 上传
2020-04-20 上传
2015-09-15 上传
2019-02-18 上传
烧白滑雪
- 粉丝: 28
- 资源: 3857
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍