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.

TMS320F280025C: DSP运行后死机问题,晶振不再起振?

Part Number: TMS320F280025C

在调试中经常碰到can通信丢失并且不再恢复通信的问题,必须重新上电才可以,之前一直没查到原因,因为是随机出现的,没有专门去查这个问题的原因。

从昨天开始,在某种工况下,发现百分之百出现这个问题,就专门去查这个问题。

现象是:只上辅电时正常运行,一旦下发开机指令,上强电后,can通信就会丢失,在中断里放了IO翻转信号,发现此信号也不再翻转,继续测试晶振引脚波形,发现晶振引脚波形也丢失了。

测试波形如下:4通道是晶振引脚波形,2通道是XRS复位引脚波形(注:这个晶振引脚波形有失真,所以看上去不是20MHz,实际测试是20MHz的)在晶振引脚波形丢失后复位信号被拉低复位,也不再工作。

晶振原理图部分:是按外部无源晶振的方式使用的。

现在有几个问题想请ti这边技术支持下:

1. 这个晶振引脚波形被影响的原因可能是什么?个人猜测大概率是干扰问题,可是为什么不会重新起振呢,断电复位就可以重新起振。

2. 之前也有项目遇到过类似问题,通过切换为内部晶振暂时解决了该问题,后来can通信出了点问题,又切换回外部晶振(因为已经改版,所以之前的问题没再出现)。

    我看了下datasheet,在晶振源部分看到有这样一段描述:

     3.7.1 Clock Sources
     All of the clocks in the device are derived from one of four clock sources.


     3.7.1.1 Primary Internal Oscillator (INTOSC2)
     At power-up, the device is clocked from an on-chip 10 MHz oscillator (INTOSC2). INTOSC2 is the primary
     internal clock source, and is the default system clock at reset. It is used to run the boot ROM and can be used as
     the system clock source for the application. Note that INTOSC2's frequency tolerance is too loose to meet the
     timing requirements for CAN. Use of the CAN modules requires an external oscillator. When INTOSC2 is used
     as the system clock source, GPIO19 (X1) and GPIO18 (X2) are available as GPIO pins.


     3.7.1.2 Backup Internal Oscillator (INTOSC1)
     The device also includes a redundant on-chip 10 MHz oscillator (INTOSC1). INTOSC1 is a backup clock source
     that normally only clocks the watchdog timers and missing clock detection circuit (MCD). If MCD is enabled and
     a missing system clock is detected, the system PLL is bypassed and all system clocks are connected to
     INTOSC1 automatically. INTOSC1 may also be manually selected as the system clock source for debug
     purposes.

这里说到 INTOSC2的 频率容差太松无法满足can的时序要求 如果要用can的话得用外部时钟。这个频率容差太松是什么意思?

还有INTOSC1没有频率容差的描述,那么是不是用INTOSC1就可以使用can模块呢?

x 出现错误。请重试或与管理员联系。