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.

TMS320F28379D: Cannot get signals from tamagawa encoder with 28379D and POSMGR

Part Number: TMS320F28379D
Other Parts Discussed in Thread: LAUNCHXL-F28379D, BOOSTXL-POSMGR

Hello, I am using LAUNCHXL-F28379D with BOOSTXL-POSMGR to get the tamagawa encoder signal (t-fromat).

The TI reference program "tformat_f28379x_boostxl_posmgr_site2" is in use in the test.

However, some obnormal results are got.

1. No signal in expression window, the program is always waiting the "while(tformatData.dataReady != 1); " in the main.c while(1).

2. No clocking signal detected by the oscilliscope on PWM4B, GPIO63, GPIO64.

I am not sure, is the PWM4B controller by CLB or PWM4 registers? Why the PWM4 resisters are always as default when the program is running. At least the TBPRD should have been set, but not.

Any friends can help?

Best wishes

Lei

  • Lei,

    Here are some debug steps:

    Note: The pinout in Figure 4, in Rev B of the documentation is incorrect.  Refer to the function tformat_setupGPIO(void)  in the file tformat.c for the correct GPIO.  

    1. Confirm that the encoder supports T-Format.  Some Tamagawa encoders are not T-Format.
    2. Check the signals coming out from the C2000:  
      1. TxEN: high during DATA_OUT being sent.
      2. SPICLKB:  
      3. DATA_OUT (SPISOMIB): 
    3. If you do not see any activity on SPISOMIB:
      1. Check that SPICLKB is connected to the SPI CLK coming out of the CLB (GPIO7).   SPICLKB must be driven by the CLB (GPIO 7).  If you have a LaunchPad and are checking signals without the BOOSTXL-POSMGR connected, you must tie these two pins together in order to see SPISOMIB.  If you are using BOOSTXL-POSMGR, then it connects these two signals.
    4. Check that SPICLKB is 2.5 MHz and the bit-width of DATA_OUT is 400ns.  400ns is required for T-Format and if this is not correct, the encoder will not respond. 
      1. If the bit width is not 400ns then the encoder will not respond and the clock needs to be adjusted.
      2. Use the TFORMAT_FREQ_DIVIDER in the file tformat.h. As provided it is setup for a 200MHz F2837xD. 

    Lei Yang3 said:
    I am not sure, is the PWM4B controller by CLB or PWM4 registers? Why the PWM4 resisters are always as default when the program is running. At least the TBPRD should have been set, but not.

    The only part of the PWM module used is the output enable to turn on/off the signal at that pin.  The PWM is otherwise not used. 

    Regards

    Lori