Dear Sirs,I'm working on the flash support of the ADUC848 on our own programming system.Based on AN-1074 I implemented the Erase/Program and Verify routines, that work well at baud 9600.Finally, I wanted to set the Security Mode. Regardless which value I select the device responses with NAK (0x07).My flow looks like:Power Up -> Reset into Serial download mode -> check device version ->Erase All -> Program Code flash -> Program Data Flash -> Verify Code Flash -> Set Security Mode -> Power Down.Except for Set Security Mode the devices responses with ACKs.Do I have to consider something specific when I want to execute the Set Security Mode command please?The marking of my device is:ADUC848BCPZ62-3C21 #17524093861.1Crystal used at XTAL1&2: 32768Hz.
Device Version ID: ADI 848 V213This is my most pressing priority.Beside this I have some more questions:1) I tried to Change the Baud rate using command 0x42 with T3CON = 0x81, T3FD = 0x12H. The expected target baud rate would be 38400. The device responses with ACK, but it won't response any longer on commands. What is the expected flow for changing the baud rate? I send the command before Erase. 2) Is the page download command (0x51) supported by the ADUC848? I get NAK after calling it.3) I have difficulties getting into the parallel programming mode based on the sequence on page 5 in AN-1139. Do I have to pulse EA_ pin or just set it to GND as suggested in Fig. 29 in the device datasheet?
Thanks for your help.
after capturing the WSD communications I found the answers to my questions:
We need to debug this first.
Have you tried sending security command alone? No other command like mass erase, etc.
For other questions:
1) Did you changed your PC's baud rate to 38400 as well?
2) Page download is supported
3) EA Pin can be tied to GND for parallel programming.
Moved to its proper community 8052 Core Products.
Based on your suggestion I tried the Set Secure Mode command just after receiving the ID packet. The device still replied with NAK (refer to SetSecurityMode_NAK.logicdata).
Also, I checked the Change Baud command again (SetBaud_fail.logicdata).
The device responses on the interrogation (2x), then with ACK to the Baud Rate change request.
The next interrogation with 38400 baud remains unanswered, however.
I’m stuck here. Thank you for any suggestions.
I'm getting errors when I try to upload .logicdata logs from Saleae Logic. Let me know if I can send you the logs directly. Thanks.
Now the programming works as expected (fast and reliable)!