Post Go back to editing

Migrating from ADuCM360/1 to 362/3

I can flash the codes written for 360/1 to 362/3 and the program actually runs, but the ADC reading is wrong. It is about 3 times higher than it should be.

Based on https://www.analog.com/media/en/technical-documentation/frequently-asked-questions/differences-aducm360-aducm362-faqs.pdf, there is difference in ADCxCFG (from 2 bits to 3 bits),

Based on 360/1 definition files, we have

/* ADCCON[BUFBYPN] - Negative buffer bypass */
#define ADCCON_BUFBYPN_MSK (0x1 << 14 )
#define ADCCON_BUFBYPN (0x1 << 14 )
#define ADCCON_BUFBYPN_DIS (0x0 << 14 ) /* DIS */
#define ADCCON_BUFBYPN_EN (0x1 << 14 ) /* EN */

/* ADCCON[ADCREF] - Reference selection */
#define ADCCON_ADCREF_MSK (0x3 << 12 )
#define ADCCON_ADCREF_INTREF (0x0 << 12 ) /* INTREF */
#define ADCCON_ADCREF_EXTREF (0x1 << 12 ) /* EXTREF */
#define ADCCON_ADCREF_EXTREF2 (0x2 << 12 ) /* EXTREF2 */
#define ADCCON_ADCREF_AVDDREF (0x3 << 12 ) /* AVDDREF */

I would like to change it to reflect the difference of 362/3. Unfortunately, I can't find the definition of ADCxCFG of 362/363. When I visit https://www.analog.com/media/en/technical-documentation/user-guides/ADuCM36x-Getting-Started-Tutorial-UG-1063.pdf, there is ONLY 360/361 user guide, but not 362/3 guide to see what I can change to

Can i have some pointers? Thanks!

Parents Reply
  • Hi,

    There are several hardware changes between the ADuCM360/361 and the ADuCM362/363.

    There are changes to several registers, because of this, the same compiled code from the 360 cannot be used on the 362. You need to open the code in Keil, select the ADuCM362 as the target platform and recompile.

    In addition to that, some of the register names and functionality were changed, so when porting code from the to the 362, special care needs to be taken with those registers.

Children