-
我们的板卡采用FPGA+DSP架构。DSP详细型号:TMS320C6678CYP。FPGA采用Xilinx Kintex-7系列FPGA。
FPGA上电启动后,控制DSP上电时序,时钟配置,以及完成DSP复位时序生成以及BOOT模式选择。DSP仿真器调试状态时正常,仿真器状态下IIC读写正常。可以保证模块硬件正常。
FPGA配置DSP启动模式为IIC启动,对应“DEVSTA”值为0x0000080B时,DSP启动不成功,测试IIC总线上有信号,
但是此时“DEVSTA”寄存器的值与配置状态不对应,为0x0000FFFF;
FPGA配置DSP启动模式为IIC启动,对应“DEVSTA”值为0x00000C0B时,DSP启动不成功,测试IIC总线无信号,
但是此时通过仿真器读“DEVSTA”寄存器,正常,为0x00000C0B。尝试配置其他状态,“DEVSTA”寄存器的值与配置状态对应。
1、以上两种配置唯一区别是BOOTMODE[9]管脚的的状态,但根据手册BOOTMODE[9]在IIC状态时为Reserved,请问该现象是否正常?2、C6678在IIC启动模式下,是否有与手册不对应的问题,或者还有其他虚特别注意的地方?
3、GPIO_10(BOOTMODE[9])应该拉高还是拉低呢?
-
另外,我们板子上有两个6678,其中一个可以正常的启动,另外一个不能够正常启动,不能正常启动的那个监测电源上电过程中,有如下的现象,板子上电,FPGA自己加载自己的程序,这时DSP的PMU还没有启动,等FPGA加载完成后,由FPGA控制两个DSP的上电时序。
-
不正常的那个DSP的1.8V有一个现象是,在FPGA开启PMU之前,这个1.8V有电压上升的过程,上升到0.7~0.8V的样子,当FPGA加载完成,打开DSP的PMU后,这个1.8V的电源正常的上升到1.8V。
-
正常的那个DSP的1.8V没有这个现象,PMU打开后,从接近0开始上升到1.8V。
-
这两个DSP的电路是一样的,FPGa的程序也是一样的,这个现象有点奇怪。
-
Allen35065:
你的启动方式是Bootmode bit10不一样,请到ti.com上下载最新的6678手册对照;
当DEVSTAT为80B时,是从I2C address 0x50开始启动,当C0B时,是从I2C address 0x51开始启动。
你需要确定你的I2C EEPROM的容量支持两个地址,使用0x50时boot mode被修改成0xffff是因为I2C加载会使用EEPROM里的parameter table对boot mode做二次的初始化,你可以阅读 KeyStone Architecture Bootloader User Guide获取更多的信息。也就是说,I2Cboot前,需在EEPROM里写入正确的parameter table。
电压的问题你最好去电源的论坛咨询一下,一般这是因为FPGA侧的倒灌引起的。
hao tang:
回复 Allen35065:
DEVSTAT里面的最低位是大小端模式选择,bootmode[12:0]对应的是DEVSTAT[13:1],因此DEVSTAT为80B对应的bootmode为10000000101,所以bit10是设置为1的,是从I2C address 0x51开始启动的;当C0B时,更改的是bit9设置,新版的datasheet好像是改过bit9的相关定义,bit10的应该没有改吧?我看的datasheet版本是March 2014,还有更新的版本吗?主要是板子上有两块DSP,启动模式都是一样的,一块行,一块不行。谢谢大侠解答!
Allen35065:
回复 hao tang:
抱歉,昨天是我看错了
bit9设为1的话,I2C模式是10,不是一个合法的值,无法预测RBL的行为;
设为master启动的话,如昨天所述,你看是不是因为parameter table写的不正确引起的,
排除掉parameter table的影响,那么硬件的配置是唯一可能出现错误的原因,上电的不正常也可能引起启动错误,以及在整个上电时序中,GPIO的上下拉上否保持在正确的电平上?
Yicheng Mei:
wang tidus:
您好,我们的6678板卡也出现了您之前碰到的现象,1.8V电源在上升过程中,先上升到0.8V左右,当1.8V电源的使能信号有效之后,电压才上升到1.8V,当1.8V电源的使能信号无效之后,电压降回到0.8V左右,而不是0V。然后,我们在做RBL启动过程中,发现RBL程序没有运行。通过仿真器观察BOOTCOMPLETE寄存器的值,BOOT过程未完成。
(1) 现在的问题是这种现象是什么原因造成的?
(2) 1.8V电源的不正常回对BOOT过程有什么样的影响?
Yicheng Mei:
回复 Allen35065:
Allen Yin:
您好,我们的6678板卡也出现了您之前碰到的现象,1.8V电源在上升过程中,先上升到0.8V左右,当1.8V电源的使能信号有效之后,电压才上升到 1.8V,当1.8V电源的使能信号无效之后,电压降回到0.8V左右,而不是0V。然后,我们在做RBL启动过程中,发现RBL程序没有运行。通过仿真 器观察BOOTCOMPLETE寄存器的值,BOOT过程未完成。当通过仿真器把PC指针指向RBL地址0x20b00000,之后把卡可以跑起来。
(1) 现在的问题是这种现象是什么原因造成的?
(2) 1.8V电源的不正常回对BOOT过程有什么样的影响?
wang tidus:
回复 Yicheng Mei:
当时调试,最终更换了启动模式的电阻(只是取下来重新焊接了一下,阻值没改变),结果就正常了,非常奇怪,没找到什么原因,但后来没有再出现这个现象了,你也可以尝试一下。
感觉像是启动模式影响了电压,而不是电压影响了启动模式
Yicheng Mei:
回复 wang tidus:
您好,
你们的板子在上电过程中,NMI、LRESET、LRESETNMIEN信号是怎么控制的,在什么时候给出这些信号,在上电过程中,这三个信号对上电过程有什么影响吗?
谢谢
Allen35065:
回复 Yicheng Mei:
如果LRESET和NMI输入未被使用,LRESET,NMI可悬空,但应确保LRESETNMIEN拉高到1.8V
Allen35065:
回复 Yicheng Mei:
检查四路电压和时钟的顺序是否满足商店顺序要求,0.8V太高了些,最好能够降下去
user5986375:
老哥,救命啊,你怎么解决的,我和你同样的问题,,,,邮箱15681370752@163.com电话15681370752救命啊,救命,,,卡了好久了
TI中文支持网



