This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PGA900EVM: PGA900EVM Documentation

Part Number: PGA900EVM
Other Parts Discussed in Thread: PGA900,

My customer is having troubles posting on the forum, so i am asking the question for them:

I have identified the following registers for configuring the evaluation board to read the internal temperature sensor, but I am not getting ALPWR = 00
AMUX_ACT = 01
AMUX_CTRL = 04
AFE_CONFIG = 00
P_GAIN_SELECT = 00
PADC_CONFIG = 00
TEMP_CTRL = 43
T_GAIN_SELECT = 02
TADC_CONFIG = 01
What am I missing
I am able to get a good reading through the "P" channel when I configure and connect an externally powered restive bridge. The
"T" channel I am having problems with, I am not able to get any good data from it regardless of what multiplex input I use. Above is the
example of the internal temperature sensor.
Also We tried loading some code in the RAM and executing from there but we were unsuccessful.
What are we missing?
The literature I have found is silent in discussing the configuration of registers for specific applications.

  • With respect to the attempt to run compiled source code on the PGA900 I submitted the following on the forum:

    Title: PGA900: PGA900 does not run when load HEX file into DEVRAM



    Part Number: PGA900

    Hello,
    I have followed procedures as shown below using the PGA900 GUI and the USBTOANY interface board.

    I can not get a simple application that sets the GPIO1 output high. I am doing this because I want some indication that the remapped software does actually execute. We are having a very difficult time using the PGA900EVM and GUI. Nothing seems to work. Is there something I am missing in order to have the remapped hex file code run?

    After I download the new hex file into DEVRAM I set the REMAP bit and start the microcontroller.
    The PGA900 GUI indicates that the REMap register is set to use the new hex code and the microcontroller register indicates that the microcontroller is running. Yet nothing works. I am measuring the GPIO1 output and it stays low.

    FYI, I can use the PGA900 GUI to manually set the GPIO1 as an ouput and set the GPIO1 HIGH. So, I know I am on the correct test pin on the PGA900EVM.

    I also don't see how your procedure to load a hex image into DEVRAM located at 0x21000000 then set the DEVRAM to look at 0x00000000 and restart the microcontoller can work.

    I would assume that the microcontroller will start at 0x00000000 which is also the OTP. Well if the new image is loaded at 0x21000000 but the microcontroller runs from 0x00000000.
    How then is the new code possibly going to run?

    With that thought in mind I also attempted to load the new hex image into DEVRAM with it remapped to 0x00000000 ie REMAP bit set. Then restart the microcontroller. If the microcontroller starts at 0x00000000
    and the new hex image is loaded at 0x00000000 well it has no choice but to run the new application right? No it does not work.....

    I can only assume that either the operation is some how flawed or my application starts but crashes immediately. If its crashing, I have no visibility into that without the Debug probe.

    The following are the procedures I followed. Note these were replies to other forum questions but they are not part of a response to this forum post.
    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Procedure as per Matt Sullivan:

    To program in DEVRAM, make sure to put the microcontroller into reset by pressing the the button on the top left corner of the GUI. (Or you can write a 0x03 to the MICRO_INTERFACE_CONTROL register in the low level page).

    Then you can program the device using the DEVRAM programming instructions as you had followed in the User's Guide.
    After that, Press the button that says "REMAP Disabled" on the programming page to enable REMAP. This maps the DEVRAM in the correct location for operation with the M0.
    From there, you need the memory loaded into the microcontroller, so take it out of reset by pressing the button on the top left again.



    Procedure as per Javier Valle:

    When REMAP bit is 0
    - DEVRAM is at 0x21000000
    - OTP is at 0x00000000
    When REMAP bit is 1
    - DEVRAM is at 0x00000000, that is it overlays the OTP
    - OTP is at 0x00000000
    The DEVRAM downloader in the PGA900GUI has been coded to download the hex file to memory address starting at 0x21000000. That means, you have to have REMAP bit set to 0 before downloading software to DEVRAM. So the sequence for downloading and executing out of DEVRAM is:
    1. Reset MICRO
    2. Set REMAP to 0
    3. Download to DEVRAM
    4. Set REMAP to 1
    5. Unrest the Micro

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  • Hi Ahmed,

    I checked your register settings and I found some mistakes. Please see the corrected register values.

    CSR_AMUX_ACT 00 // Needs to be 0x00 (Test mode Input Disabled)
    CSR_AMUX_CTRL 06 // Needs to be 0x06 for both Channels to connect to the respective ADCs. Mistake is here.
    CSR_AFE_CFG 20 // Needs to be 0x20 for PADC input connected
    CSR_P_GAIN_SELECT 00 // Gain of 5x
    CSR_T_GAIN_SELECT 02 // Gain of 5x
    CSR_TEMP_CTRL 43 // Internal Temp Sensor Selected, Current Source OFF
    CSR_PADC_CONFIG 05 // ADC Enabled and set for 16bit, 128us
    CSR_TADC_CONFIG 05 // ADC Enabled and set for 16bit, 128us

    CSR_ALPWR 04 // Analog Reference Enabled

    Your Temp Input mistake was that you were not enabling the Temp Channel ADC (Decimator). Also for the analog front end (AFE) to be operational, ALPWR needs to be 0x04, which enables the Reference Voltage that supplies the analog circuits.

    In order for the Development RAM to be enabled, the REMAP register (address 0x20 on page 0x07) needs to have a value of 0x01.

    Regards,
    Viktor.
  • Hello Viktor

    We tried the setup of the registers that you recommended but still no change. the DATA registers associated with the TADC still read zero.

    Are there any other registers we should be setting in addition to the ones above.

    Please advise.

    Gerardo Vargas
    Fluid Components International

  • Viktor,

    Please clarify at what point is the Remap register to be set to a value of 0x01?  I indicated in my post that I have followed the procedure defined by two other TI representatives but we still do not have our source code running on our PGA900 in DEVRAM.  We also performed a OTP of the same hex file.  The PGA900 GUI  is able to verify the programmed hex file in OTP but it does not run either when the board is powered up.

    We noticed that J11 and J13 were open on the PGA900EVM board.  Putting the jumpers on these pins did not make any difference.  Are there any other jumpers that are perhaps keeping the microcontroller  in reset?

    Thanks,

    John

  • John please check your email. Thanks

  • I tried to program PGA900 OTP using PGA900EVM via SPI . OTP verification hasn't successful. Please help me out . my code is working perfectly in DEVRAM