TI中文支持网
TI专业的中文技术问题搜集分享网站

C6745仿真器仿真无法读取寄存器内容。

自己做的TMS320C6745的板子,XDS100v3的仿真器,输入时钟20MHz、电源分别是3.3V、1.8V和1.2V,上电顺序并没有错(起码自己所测量到的方面,这些是没错的。)前两天粗心把9V的适配器直接接上了。然后再用就有些问题了,具体表现为:

仿真时候和板子的连接没有任何问题。当单步运行的时候能够执行一些代码(例如初始化时的PinMux寄存器都可以正常访问,但是在对PLL进行初始化的时候,运行到最后KICK0R和KICK1R的时候CCS就表现的有点崩溃,运行不下去。)此时测量SDRAM的时钟是40MHz(正常133MHz),该程序在C6747上可正常运行,且测量到SDRAM时钟为133MHz。在全速运行的时候,CCS直接崩溃。此时CCS的systemreset和restart也执行不了,会显示:

后来使用gel的方式,显示:

根据现实的内容是无法读取寄存器地址的存储内容。但是一开始通过仿真器是可以读取到的,而且通过Memory Browser一开始是可以读取到存储器内容的,但是gel运行到这一步之后就会连Memory Browser也读取不到内容了,如图:

请问有谁知道这是什么问题吗?这块芯片还有救吗?

Tony Tang:

#1. 插入9V是否会有问题,取决于你前面的电源设计,毕竟9V不是直接供给DSP的,如果9V输入给电源芯片,其输出并不超出范围,那么对DSP是不会有损害的。

#2. 上面说到刚连接时,寄存器,内存都是可以正常看到的,那么这个时候的芯片状态是正常的,后面运行到某处时的提示,反映的是DSP乱了,内部总线出问题了,所以什么也读不出来了。

#3. 这块板是一开始是好的,还是说第一次就插了9V,所以也不知道本来是不是好的?因为从上面描述,我理解你只在C6747上跑过程序,并没有在这个C6745上跑过。

#4. 如果这块板以前没有验证过,我偏向于检查一下电源的供电能力是否平稳,上面gel的显示也是在pll配置过后就不正常了,而pll配置起来后,DSP需要的电源也增大了。不妨在gel里把pll配置这一步先注释掉,看后面的能不能执行过去。

Junhao Song:

回复 Tony Tang:

十分感谢您的回答,好像确实是第四个原因。当把PLL部分注释掉,程序就能正确执行,并且gel也可以正常执行完毕。下图是电源的电路图,5V的前端还有自恢复保险丝和限幅二极管做保护电路。

实际测量(把万用表接到电源检测点上,程序中断点设置在PLL之后),当运行到PLL初始化的时候,3.3V、1.2V和1.8V都没有明显变化。是我测量的方式不对吗,还是说与电压值无关?这几款芯片的选型是否有问题?

还有,这是c6745手册上的:

PLL则是由core电压,就是1.2V供电。

这里按照上面的测量方式反复测试,1.2V几乎没什么波动,它的供电可以达到1A左右,正常来看肯定是够的。那么关于您说的电源增大只是指内核部分的供电,还是指全部的供电?除此之外,这里涉及到一个供电顺序的问题,先要给内核供电。假使没有考虑这部分,会引起什么结果呢?TI册和网上都没有给出明确的答案,还望您能解释一下。谢谢了。

Tony Tang:

回复 Junhao Song:

这么说就应该是核电压不稳了,要用示波器测量,而且不能限带宽。万用表测的是平均值,在这种场合下就没什么用了。

Junhao Song:

回复 Tony Tang:

好的,我用示波器测试一下,能顺便解释一下其他几个问题吗。芯片选型问题以及上电顺序错误会引起的问题?谢谢。

Tony Tang:

回复 Junhao Song:

上面电源电路的上电顺序是1.2V-3.3V-1.8V吧。按C6747手册的要求,这种顺序没什么问题。

对了,还有另一种因素是仿真器不够好,比如我比较过spectrum Digital的XDS510或者Black Hawk的XDS560在这种问题下要表现稳定一些。

我也见过有的人的板子在配置PLL使能的那一瞬间,核电压出现了一个小台阶,然后仿真器就断连的情况。

6.3.1 Power-on SequenceThe device should be powered-on in the following order:• 1) RTC (RTC_CVDD) may be powered from an external device (such as a battery) prior to all othersupplies being applied or powered-up at the same time as CVDD. If the RTC is not used, RTC_CVDDshould be connected to CVDD. RTC_CVDD should not be left unpowered while CVDD is powered.• 2a) CVDD core logic supply• 2b) Other 1.2V logic supplies (RVDD, PLL0_VDDA). Groups 2a) and 2b) may be powered up togetheror 2a) first followed by 2b).• 3) All 1.8V IO supplies (USB0_VDDA18, USB1_VDDA18).• 4) All digital IO and analog 3.3V PHY supplies (DVDD, USB0_VDDA33, USB1_VDDA33).USB0_VDDA33 and USB1_VDDA33 are not required if both USB0 and USB1 are not used and maybe left unconnected.Group 3) and group 4) may be powered on in either order [3 then 4, or 4 then 3] but group 4) must bepowered-on after the core logic supplies.There is no specific required voltage ramp rate for any of the supplies.RESET must be maintained active until all power supplies have reached their nominal values.

Junhao Song:

回复 Tony Tang:

十分感谢,问题已经解决,不过昨天用示波器测量PLL使能后内核供电电源并未发现任何问题。本想重新更改电源电路,后来测量了一下时钟,发现PLLOUT时钟为20.018MHz左右,PLLIN为20.0008MHz左右,板子使用的是cyrstal+起振电路的方案。下图为时钟电路图,是有源无源两种接入方式,最终采用无源的方案,具体已经在图上说明。

后来查看手册有下图

我在这方面并不是很了解,但是这里显示有OUT是IN的经过反相之后的结果。后来换了24MHz的晶振并且把0Ω电阻直接用焊锡短接取代之后,再次测量基本上都是24.0008MHz左右了,幅值也在1.2V的范围(无源晶振,这点是不用担心的,只要内部电压没问题就不会有问题)。电源电路也并未做过更改,再次仿真的时候结果就ok了,实际的时钟频率到达360MHz(24*30)完全可以正常运行。

说了这么多其实想要问一个问题,如上面说描述的,假使是时钟输入部分出了问题,PLLOUT与PLLIN不同可能产生的原因有哪些?对于这款DSP芯片来说这样的不同会产生的具体影响是什么?

再次感谢提供的帮助,如果后面出现问题的话,还要麻烦各位了。

Tony Tang:

回复 Junhao Song:

OSCIN与OSCOUT不同,说明外围时钟电路有问题,阻抗不匹配或者负载电容不合适。时钟不稳则会导致内部的PLL锁不住的。

从系统的角度,建议采用外部oscillator的方式,参见勘误表sprz284f的2.1.4节.

赞(0)
未经允许不得转载:TI中文支持网 » C6745仿真器仿真无法读取寄存器内容。
分享到: 更多 (0)