This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320F28P650DK:CAN 接收不会发生

Guru**** 2466550 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1485413/tms320f28p650dk-can-receive-not-occurring

器件型号:TMS320F28P650DK

工具与软件:

大家好!
由于确认错误未在 canalyzer 中显示、CAN 接收由微控制器确认。 但 CAN 接收的中断没有发生。 使用 INT9.9。 标准 ID 过滤器用于过滤两个消息 ID。 过滤器的消息 ID 与 Canalyzer 传输的消息 ID 相同。  问题可能是什么?  
寄存器值在下面共享:

内核寄存器内核寄存器
IER 0x0301中断启用寄存器[内核]
RTOSINT 0实时操作系统中断使能位
DLOGINT 0数据记录中断使能位
INT14 0  
INT13 0  
INT12 0  
INT11 0  
INT10 1  
INT9 1  
INT8 0  
INT7 0  
INT6 0  
INT5 0  
INT4 0  
INT3 0  
INT2 0  
INT1 1  

McanaRegs MCAN 寄存器
MCAN_CREL 0x32380608  
MCAN_CCCR 0x00000100  
MCAN_NBTP 0x0E030A07  
MCAN_TSCC 0x00000000  
MCAN_TSCV 0x00000000  
MCAN_TOCC 0xFFFF0000  
MCAN_TOCV 0x0000FFFF  
MCAN_ECR 0x00100036  
  CEL 00010000 CAN 错误记录
  Rp 0接收错误认可
  REC 0000000接收错误计数器
  TEC 00110110发送错误计数器
MCAN_PSR 0x00002708  
  TDCV 0000000发送器延迟补偿值
  PXE 0协议异常事件
  RFDF 1收到一条 CAN FD 消息
  RBRS 0上次接收到的 CAN FD 消息的 BRS 标志
  最后接收到的 CAN FD 消息的 RESI 0 ESI 标志
  DLEC 111数据相位最后一个错误代码
  BO 0 Bus_Off 状态
  EW 0警告状态
  EP 0错误认可
  ACT 01节点活动
  LEC 000最后一个错误代码
MCAN_TDCR 0x00000000 MCAN 发送器延迟补偿寄存器[内存映射]
MCAN_IR 0x09800A08 MCAN 中断寄存器[存储器映射]
MCAN_IE 0x3FFFFFFF MCAN 中断启用[内存映射]
 ARAE 1对保留地址的访问使能
 使能数据段中的 PEDE 1协议错误
 PEAE 1仲裁段中的协议错误使能
 WDIE 1看门狗中断使能
 BOE 1 Bus_Off 状态使能
 EWE 1警告状态启用
 EPE 1错误被动使能
 ELOE 1错误记录溢出使能
 EUE 1位错误未校正使能
 BECE 1位错误校正使能
 存储到专用 Rx 缓冲区使能的 DRXE 1条消息
 TOOE 1发生超时使能
 MRAFE 1消息 RAM 访问失败使能
 TSWE 1时间戳绕回使能
 TEFLE 1 Tx 事件 FIFO 元素丢失使能
 TEFFE 1 Tx 事件 FIFO 已满使能
 TEFWE 1 Tx 事件 FIFO 达到水线使能
 TEFNE 1 Tx 事件 FIFO 新条目使能
 TFEE 1 Tx FIFO 空使能
 TCFE 1传输取消完成使能
 TCE 1传输完成使能
 HPME 1高优先级消息启用
 RF1LE 1 Rx FIFO 1消息丢失使能
 RF1FE 1 Rx FIFO 1满使能
 RF1WE 1 Rx FIFO 1达到水线使能
 RF1NE 1 Rx FIFO 1新消息使能
 RF0LE 1 Rx FIFO 0消息丢失使能
 RF0FE 1 Rx FIFO 0满使能
 RF0WE 1 Rx FIFO 0达到水线使能
 RF0NE 1 Rx FIFO 0新消息使能
MCAN_ILS 0x00000000 MCAN 中断线路选择[存储器映射]
MCAN_ILE 0x00000001 MCAN 中断线路启用[内存映射]
  EINT1 0使能中断线1
  EINT0 1使能中断线0
MCAN_GFC 0x00000000 MCAN 全局过滤器配置[内存映射]
MCAN_SIDFC 0x00020000 MCAN 标准 ID 过滤器配置[存储器映射]
  LSS 00000010列表大小标准
  FLSSA 00000000000000过滤器列表标准起始地址
MCAN_XIDFC 0x00000020 MCAN 扩展 ID 过滤器配置[内存映射]
  LSE 0000000列表大小已扩展
  FLESA 00000000001000过滤器列表扩展起始地址
MCAN_XIDAM 0x1FFFFFFF MCAN 扩展 ID 和掩码[存储器映射]
MCAN_HPMS 0x00000000 MCAN 高优先级消息状态[内存映射]
MCAN_NDAT1 0x00000000 MCAN 新数据1 [存储器映射]
MCAN_NDAT2 0x00000000 MCAN 新数据2 [存储器映射]
MCAN_RXF0C 0x00000000 MCAN Rx FIFO 0配置[存储器映射]
MCAN_RXF0S 0x02000000 MCAN Rx FIFO 0状态[存储器映射]
MCAN_RXF0A 0x00000000 MCAN Rx FIFO 0确认[存储器映射]
MCAN_RXBC 0x00000020 MCAN Rx 缓冲区配置[内存映射]
MCAN_RXF1C 0x00000000 MCAN Rx FIFO 1配置[存储器映射]
MCAN_RXF1S 0x00000000 MCAN Rx FIFO 1状态[存储器映射]
MCAN_RXF1A 0x00000000 MCAN Rx FIFO 1确认[存储器映射]
MCAN_RXESC 0x00000700 MCAN Rx 缓冲器/FIFO 元素大小配置[存储器映射]
MCAN_TXBC 0x05050170 MCAN Tx 缓冲区配置[存储器映射]
MCAN_TXFQS 0x00090905 MCAN Tx FIFO/队列状态[内存映射]
MCAN_TXESC 0x00000007 MCAN Tx 缓冲区元素大小配置[存储器映射]
MCAN_TXBRP 0x00000000 MCAN Tx 缓冲区请求待处理[存储器映射]
MCAN_TXBAR 0x00000000 MCAN Tx 缓冲区添加请求[存储器映射]
MCAN_TXBCR 0x00000000 MCAN Tx 缓冲区取消请求[存储器映射]
发生 MCAN_TXBTO 0x000003E0 MCAN Tx 缓冲区传输[存储器映射]
MCAN_TXBCF 0x00000000 MCAN Tx 缓冲区取消完成[存储器映射]
MCAN_TXBTIE 0x000003E0 MCAN Tx 缓冲区传输中断启用[存储器映射]
MCAN_TXBCIE 0x00000000 MCAN Tx 缓冲区取消完成中断启用[存储器映射]
MCAN_TXEFC 0x00050B60 MCAN Tx 事件 FIFO 配置[内存映射]
MCAN_TXEFS 0x00000000 MCAN Tx 事件 FIFO 状态[存储器映射]
MCAN_TXEFA 0x00000000 MCAN Tx 事件 FIFO 确认[内存映射]
McanaErrorRegs MCAN 错误寄存器
MCANERR_REV 0x66A0EA00 MCAN 错误聚合器修订版本寄存器[存储器映射]
MCANERR_VECTOR 0x00000000 MCAN ECC 矢量寄存器[存储器映射]
MCANERR_STAT 0x00000002 MCAN 错误其他状态[存储器映射]
McanssaRegs MCANSS 寄存器
MCANSS_PID 0x68E05101 MCAN 子系统修订版本寄存器[存储器映射]
MCANSS_CTRL 0x00000008 MCAN 子系统控制寄存器[存储器映射]
EXT_TS_CNTR_EN 0外部时间戳计数器使能
AUTOWAKEUP 0自动唤醒使能
WAKEUPREQEN 0唤醒请求使能
DBGSUSP_FREE 1无调试挂起
MCANSS_STAT 0x00000006 MCAN 子系统状态寄存器[存储器映射]
ENABLE_FDOE 1灵活数据速率运行使能
MEM_INIT_DONE 1存储器初始化完成
复位0软复位状态
MCANSS_ICS 0x00000000  
MCANSS_IRS 0x00000000  
MCANSS_IECS 0x00000000  
MCANSS_IE 0x00000000
MCANSS_IES 0x00000000  

PieCtrlRegs PIE CTRL 寄存器
PIECTRL 0x0D43 ePIE 控制寄存器[存储器映射]
PIEVECT 000011010100001 PIE 向量地址
ENPIE 1 PIE 使能
PIEACK 0x0000中断确认寄存器[内存映射]
PIEIER1 0x0047中断组1启用寄存器[内存映射]
INTx7 1为中断1.7使能
INTx3 1为中断1.3启用
INTx2 1为中断1.2启用
INTx1 1为中断1.1启用
PIEIFR1 0x0200中断组1标志寄存器[内存映射]
INTx10 1中断1.10的标志
PIEIER9 0x0100中断组9使能寄存器[内存映射]
INTx9 1为中断9.9启用
PIEIER10 0x0EEE 中断组10使能寄存器[存储器映射]
INTx12 1使能中断10.12
INTx11 1为中断10.11使能
INTx10 1为中断10.10启用
INTx8 1为中断10.8使能
INTx7 1为中断10.7使能
INTx6 1为中断10.6使能
INTx4 1为中断10.4启用
INTx3 1为中断10.3使能
INTx2 1为中断10.2启用


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Shana、您好!

    对于此处的延迟响应、我们深表歉意。

    感谢您分享这些信息。 您是否还可以共享用于配置这些选项的.syscfg 文件?

    对预期功能的一般描述也会有所帮助。

    您是否有任何来自 Canalyzer 的屏幕/示波器、用于验证正在传输的 CAN 数据?

    您是否能够在传输时探测 CAN_H/CAN_L 和 CAN_TX/CAN_RX 线路以验证到 MCU 的信号链?

    此致、

    Zackary Fleenor