SJA1000 PeliCAN模式详解:地址配置与控制寄存器解读

4星 · 超过85%的资源 需积分: 50 29 下载量 97 浏览量 更新于2024-09-19 2 收藏 154KB PDF 举报
SJA1000 PeliCAN模式是一种用于高性能、可靠性和灵活性的现场总线解决方案,特别是在嵌入式系统和工业自动化应用中。它基于PeliCAN(Peltier CAN)协议,这是一种针对低功耗和低成本设计优化的CAN(Controller Area Network)变种。在SJA1000芯片上,地址映射是非常关键的,因为它决定了不同功能块的硬件配置和通信操作。 首先,SJA1000的基址被定义为0x7F00,这是在微控制器的地址空间中的一个固定位置。通过这个基址,可以访问SJA1000的所有控制、状态、中断和配置寄存器。例如: 1. **控制寄存器** (REG_MODESJA_BaseAdr+0x00) 控制着SJA1000的核心工作模式,包括启动、停止、初始化等。 2. **命令寄存器** (REG_COMMANDSJA_BaseAdr+0x01) 用于发送特定的命令到SJA1000,如发送数据帧、接收数据等。 3. **状态寄存器** (REG_STATUSSJA_BaseAdr+0x02) 显示当前的工作状态,如是否正在接收或发送数据,以及各种错误标志。 4. **中断寄存器** (REG_INTERRUPTSJA_BaseAdr+0x03) 和 **中断使能寄存器** (REG_INTENABLESJA_BaseAdr+0x04) 是控制中断请求和响应的关键,允许用户配置哪些事件会导致中断发生。 5. **总线定时寄存器** (REG_BTR0SJA_BaseAdr+0x06 和 REG_BTR1SJA_BaseAdr+0x07) 调整CAN总线的通信参数,如位计数、传播时间等,以适应不同的网络拓扑和传输速率。 **错误检测与处理** 包括 **错误代码寄存器** (REG_ERRCATCHSJA_BaseAdr+0x0C) 用于捕获和分析发送或接收过程中的错误,如CRC错误、帧失序等。此外,**错误报警限额寄存器** (REG_ERRLIMITSJA_BaseAdr+0x0D) 设置了错误处理的阈值,当达到预设数量时会触发警告。 **接收和发送错误计数器** (REG_RXERRSJA_BaseAdr+0x0E 和 REG_TXERRSJA_BaseAdr+0x0F) 记录了最近的接收和发送错误次数,这对于故障诊断和维护非常重要。 **验收代码寄存器** (REG_ACR1SJA_BaseAdr+0x10 到 REG_ACR4SJA_BaseAdr+0x12) 是用于数据帧验证的,确保消息的完整性和一致性。这些寄存器存储了接收数据帧时计算的校验码,与发送数据帧时预先设定的校验码进行比较。 理解SJA1000 PeliCAN模式的地址映射有助于正确配置和管理SJA1000芯片,实现高效、可靠的通信。在实际编程中,开发者需要根据项目需求配置各个寄存器的值,设置适当的通信参数,并处理可能发生的错误和中断。掌握这些基础地址及其功能是构建CAN网络的关键部分。