davincin开发的专家们
在基于DM368的系统,单板刚回来就遇到了一个故障,搞了两天,尚未解决。请专家们知道解决方案的不吝赐教。
故障描述:基于DM368的开发板,在UARTBOOT模式下,UART BOOT输出乱码。
详细情况补充:
(0)芯片是tms的,也就是silicon1.2。应该不存在silicon1.1的uart boot 13/16频率比那个问题了吧。
(1)晶振是36MHz的。
(2)用示波器量了串口tx的输出,其有正常的输出波形。频率是57.6KHz*1.5=86.4(从示波器无法精确衡量,但是推导应该如此,这个1.5的来历后面讲看对不对)因为在手册里找到一个地方描述,115200是基于24MHz晶振输入的。但因为没有RBL代码,不知道是否晶振升高,波特率就一定升高。
(3)使用的是secureCRT工具。设置了各种波特率,包括115200,115200*1.5
不知道是否和这个有关,明天准备试一下其他串口工具。
(4)OS:win7
(5)串口连接:新电脑没有串口,使用的是usb转串口。但是实验过在115200波特率下工作正常。
(6)同时,我们有一块DM368的评估板,
a、这块评估板工作是正常的,包括正常启动后内核能够加载成功,串口显示正常。UART BOOT模式下也能输出BOOT ME。
b、这个板子的晶振是24MHz
c、我们也量了这个单板上串口输出,波形形状与我们自己设计的单板完全一样。只是波形周期是57.6KHz。
而且,我们也做了以下检查
(1)串口线序定义:这个检查过了,而且与评估板做对比检测。线序定义一致。
(2)信号电压:用示波器看了,12v。
(3)使用的串口线,在其他单板上也试过,是好的。
现在还能想到的区别:
(1)win7下的串口工具不稳定。 准备找几个其他工具试一下。回头实在不行,找一个winxp的机器试一下。
(2)芯片的串口波特率其实不是工作在与串口工具对应的波特率上。如果是这个,那么,36MHz晶振下应该工作在什么波特率?
同时疑问:DM368的UARTBOOT的波特率是否和晶振频率相关?是什么关系?是不是1.5倍?这个1.5是从两个单板的波形对比得到的。而且和晶振的频率比刚好一致。
(3)因为24MHz对应115200,那么如果36MHz对应115200*1.5,是不是后者的波特率太高了?导致不稳定?
(4)usb转串口+串口线:大约3~4m,是不是太长了?回头实在不行,找一个winxp的机器试一下。这样保证线长在2m以内,甚至1m左右。
大家看看,还有什么定位思路?或者根本就不是这么个解决思路呢。
有讲的不清楚的,各位随便问。
多谢各位了,在线等。
feller shi:
回复 Chris Meng:
晶振换回24MHz串口打印正常了,ubl也能加载了。
但是,有疑问:
1.如果晶振频率范围,与GIO81的晶振选择频率范围不一致,会有什么影响?
现在UBL加载后DDR初始化失败。我再发一个帖子来描述吧,有空帮忙看看是否见过。谢谢
feller shi:
回复 Chris Meng:
你好,
可以帮忙确认下,如果晶振为24MHz,但是GIO81的配置不一致,会有什么影响呢?
会不会影响芯片的其他功能?
我们目前遇到DM368的DDR控制器有问题,不知道是否与这个细节有关系?
谢谢
Chris Meng:
回复 feller shi:
你好,
外部上下拉只在ROM code里面有使用。DDR控制器的配置是在用户的UBL软件里面配置的。我认为两者没有必然的关系。
feller shi:
回复 Chris Meng:
你好
我们已经确认硬件上BA[0]和BA[2]交错接了。
但是,这并不能解释任何地址都写不进去的现象。因为,如果BA[2]=BA[0]的时候,地址应该也能寻址。
所以,如果有空,请您还是帮忙确认下DDR_CS的正确时序。
:)
谢谢
feller shi:
回复 Chris Meng:
多谢了。
1.看来DM368的DDR2控制器IP核 DDR_CS都设计成了始终低电平。
2.目前调试进展:观察到DQS信号不太好。
(1)设置为单端时:信号质量差,如图
(2)设置为差分时,DQS/DQSN相差错误。
不知道你有什么继续定位的建议?
Chris Meng:
回复 feller shi:
你好,
请问DQS上是否有链接终端匹配电阻?无论有无,软件配置是否参考下面要求?
When no termination is used on data lines (0 Ωs), the DDR2/mDDR devices must be programmed to operate in 60% strength mode.
feller shi:
回复 Chris Meng:
你好,
还是DDR_BA[0]与DDR_BA[2]交错连接带来的问题。
在datasheet中有关功能说明,DDR_BA[0]~DDR_BA[2]会影响MRS、EMRS的配置。
:)
基本上定位清楚了。