Part Number:CDCE62005
Hello, I want to program CDCE62005 by myself through SPI, but everytime when I set SPI_LE to HIGH and do rising edge to Power_Down, I just hava 20ms to access device registers, but I need to do 「Copy RAM to EEPROM – Unlock」 it have to wait at least 50ms, when after 20ms the VCC will pull down by IC, Please help.
Here is my circuit.
Here is the SPI Wave
Kailyn Chen:
Hello, why do you have 20ms?You could set SPI_LE to high, and after loaded the EEPROM, then to set the PULL_Down to high again.
According to the datasheet, it also require EEPROM contents will eventually be copied into RAM after the Power Down State is exited.
,
YUXUAN CHIANG:
Hello Kailyn, so I can do rising edge to Power_Down many times to wait 50ms to do「Copy RAM to EEPROM – Unlock」, that right ?
The 20ms is that everytime when I set SPI_LE to high and set the PULL_Down to high, I just have 20ms to program register.
,
Kailyn Chen:
Hello, SPI_LE must be at static high level before the /PDN goes to high level for the EEPROM loading into the registers.
If the Power_Down has been pulled low and then rise up, I am not sure if the it would be interrupt to load.
So I don't recommend it for this operation.
,
YUXUAN CHIANG:
Hello, I know that SPI_LE keep high before the PDN goes high, the EEPROM will load to RAM, and we can read the register value.
But now I want to write the register value to EEPROM, and it is fail everytime, the EEPROM value are alaways default.
Please help.
,
Kailyn Chen:
您好,方便理解,我们还是用中文沟通。现在是否保证了当EEPROM的内容加载到RAM中之后再将 Power down引脚拉高,这个时序呢?上述您的意思是时间不够,来不及等寄存器内容都加载进去,这个时序是要保证的,否则就像您现在得到的寄存器无法正确写入。
The CDCE62005 supports four commands issued by the Master via the SPI:
• Write to RAM • Read Command
• Copy RAM to EEPROM – unlock
• Copy RAM to EEPROM – lock
目前调试的方法建议,上电之后,读取下寄存器的默认值是否符合Table39的表格。
然后通过Power down有效,disable 输出,读取下这个bit是否起作用。 如果没问题,说明SPI 没问题。
,
YUXUAN CHIANG:
好的,目前確實是在EEPROM載入到RAM之中在把Power Down引腳拉高,這時去讀Register確實為預設值,SPI是可以正常使用的。
但現在我想要將自行設定的值寫入EEPROM裡面,有先試過將數值寫入Register再讀出,確實為我寫入的數值。但在要寫入EEPROM時就會失敗了,我看Datasheet指示要執行「Copy RAM to EEPROM – unlock」這條指令後在等至少50ms,才能將Register的值寫入EEPROM裡。
而現在是每當我將PowerDown引腳拉高後,我只能在20ms內透過SPI對IC做讀跟寫,VCC會在20ms後被IC拉低,這時也無法在對IC做任何SPI的操作,自然將Register寫入EEPROM的指令還沒到50ms也被中斷了,也嘗試過就算VCC被拉低還是等到50ms在讀取EEPROM,卻還是初始的預設值。
想請問為什麼PowerDown引腳拉高後會只有20ms的操作時間嗎?
或是VCC為什麼會被IC拉低?
,
Kailyn Chen:
您好,PowerDown引脚拉高后,应该是器件退出了低功耗模式,进入正常工作状态,VCC不会被拉低才是正确的。
VCC被拉低之后,此时您读取下Register 8 bit7 看是否进入sleep mode?
另外,您看下power supply上电启动时间的时序,是否满足Figure 32的时序要求呢。
,
YUXUAN CHIANG:
您好,Poewr Supply的開機時序圖,tpul跟tpuh在資料裡貌似沒找到其所代表的數值,想請問在啟動時間裡他的時間長度為多少嗎?謝謝
下圖為我使用示波器為IC在VCC被拉低時的波型
在PowerDown做一次拉低在拉高在經過20ms VCC就被拉到0V
下圖為上電時VCC的波型
還請麻煩在幫我確認下此波型是否正常正確,謝謝
,
YUXUAN CHIANG:
您好,還可以再拜託您協助解決問題嗎?謝謝
,
Kailyn Chen:
好的好的,不好意思,回复晚了,我会再看下这个问题。
,
YUXUAN CHIANG:
麻煩您在協助了,謝謝
,
Kailyn Chen:
您好,上电时的VCC时序看起来是正确的。
上面第一个时序是不对的。我们要保证Power down引脚从低到高的变化时,SPI_LE处于逻辑高状态。上图VCC被拉低的时序和下面上电时没看到Power down的由低到高的变化过程。
SPI_LE has to be logic 1 before the Power_Down pin toggles low-to-high in order for the EEPROM to load properly.
建议是这样的,首先当VCC电压起来稳定之后将Power down由低到高,并且保证SPI_LE在power down引脚拉高之前为逻辑高状态,验证下时序是否正常。
如果VCC不被拉低,时序没问题,再给SPI clock信号,并且SPI_LE 和SPI_CLK要保证至少10ns的建立时间t1.
,
YUXUAN CHIANG:
您好,這是我們包含SPI_LE跟PowerDown的波型,讀取到Register的資料確定是EEPROM的預設值。
但目前在執行指令「Copy RAM to EEPROM – unlock」卻無法將Register的值寫入EEPROM裡,想請問是什麼原因嗎?謝謝
,
Kailyn Chen:
无法写入,有可能EEPROM 已经lock了
读一下寄存器Register 7 bit6的状态,看是否为1,如果为1,说明EEPROM已经永久lock了,是无法再写入了。
,
YUXUAN CHIANG:
您好,我讀取了該Register的Bit 6,其讀取的值為0,是否表示該IC的EEPROM還可以寫入呢?
,
Kailyn Chen:
是的,如果是0, 说明EEPROM 还未lock,还是允许写入的。
在执行Copy RAM to EEPROM这条指令时,一定要确保电源是稳定的,并且主机不能访问CDCE62005至少50ms的delay时间,从而保证EEPROM能够正确写入。
,
YUXUAN CHIANG:
了解了,這邊有嘗試在執行指令Copy RAM to EEPROM後等待50ms,但現在發現在SPI_LE保持為高並將Power down由低到高進入SPI Write Mode後,經過20ms VCC就會自行拉低,使IC無法正常等待50ms。
所以現在只能在20ms內對SPI做操作,無法正常的執行完Copy RAM to EEPROM指令後等待50ms,請問這個問題要怎麼解決呢?謝謝
,
YUXUAN CHIANG:
您好,有方法可以協助解決我的問題嗎?謝謝
,
Kailyn Chen:
您好,抱歉回复晚了。 我想您这边需要验证下一个时序,就是上电开始,POWER_DOWN是低电平,在上电过程中,当VCC电压起来到稳定之后,POWER_DOWN由低到高变化,再看下这时候VCC是否由于POWER_DOWN的拉高,导致VCC拉低?如果VCC还被拉低的话,可能芯片坏了。
我看您电路中将SPI这几个引脚以及POWER_DOWN怎么都是直接接到VCC上的呢。
,
YUXUAN CHIANG:
您好,我後續測試了一下,發現PowerDown(綠色)拉高時VCC(黃色)會被拉低大概快1V,並且會在20ms後直接掉到1V以下
所以這個情況IC有問題甚至是壞掉了是嗎?
以下是更新後的電路圖,3.3V接電阻Pull High到pin
,
Kailyn Chen:
是的,感觉这个器件是有问题的,VCC上电后 ,Power down由低到高,芯片进入normal operation 状态,VCC不应该被拉低。
有尝试更换一片IC试试吗?
,
YUXUAN CHIANG:
有再拿三片IC做測試,其中有兩片是未使用過的新料,但還是一樣會有Vcc被拉低的情況發生,想請問是否有硬體電路規劃或是軟體燒錄流程的範例可以參考的嗎?謝謝
,
Kailyn Chen:
硬件电路可直接参考CDCE62005的EVM user’s guide的Page10:
https://www.ti.com.cn/cn/lit/ug/scau024/scau024.pdf
抱歉没有软件烧录流程,但是可以借助于EVM GUI进行相关寄存器配置:
https://www.ti.com.cn/tool/cn/CDCE62005EVM
,
YUXUAN CHIANG:
好的,瞭解了,我會在查閱相關資料並嘗試的。
另外請問還有其他方法可以解決我遇到的問題嗎?謝謝
,
Kailyn Chen:
购买EVM板验证下VCC的上电时序,或者官网上小批量的购买芯片重新验证下。
因为不给输入信号,只看上电时序,这是不正常的。
您是在哪儿购买的?
,
YUXUAN CHIANG:
是客戶提供的,但看來應該是全新的IC。
還想再請問一下,腳位SYNC跟REF_SEL對IC也會有什麼樣的影響嗎?
在初始化時這兩隻腳位是否需要High或Low的設定,謝謝。
,
Kailyn Chen:
REF_SEL是参考输入选择引脚,但是如果寄存器0x05的EECLKSEL bit设置为1的话,这个引脚的配置就不重要了,寄存器0x05的bit[4:2]决定输入选择了。
看了下EEPROM的默认值,寄存器0x05的默认EECLKSEL确实为1,并且bit[4:2】默认的是自动选择输入, 所以这个引脚的配置就无所谓了。
sync低有效,如果使能的话, 是使得所有输出分频同步,同时计数,为高的话,disable sync功能。
所以要看自己实际应用,这两个引脚的设定情况不是VCC被拉低的原因哈。