ADUC848 serial download protocol: command issues

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-3
C21 #1752
4093861.1

Crystal used at XTAL1&2: 32768Hz.

Device Version ID: ADI 848   V213


This 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.

Stefan
  

  • 0
    •  Analog Employees 
    on Sep 23, 2019 8:09 AM over 1 year ago

    Hi,

    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.

    -Mark

  • 0
    •  Analog Employees 
    on Sep 24, 2019 7:45 AM over 1 year ago

    Moved to its proper community 8052 Core Products.

  • Hi Mark,

    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.

    - Stefan

    P.S.:

    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.

  • Hi Mark,

     after capturing the WSD communications I found the answers to my questions:

    1. To be able to set the Security Mode I have to first call erase, then program some data,
      then write the first page of the data flash with 0xFFs (I don’t know why this step, but it’s necessary).
      After that the Set Security Mode command executes fine.
    2. Set Baud rate works, when T3CON = 0x81, T3FD = 0x2D, resulting in Baud = 115200.
      I wrongly assumed CD is set to 3, but in fact it was 1.
    3. Page download works! The command itself is not part of the checksum calculation (my mistake).

    Now the programming works as expected (fast and reliable)!

    Thanks.
    - Stefan