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.

TMDXIDDK379D: T-Format library

Part Number: TMDXIDDK379D
Other Parts Discussed in Thread: CONTROLSUITE

I have a TMDXIDDK379D board and trying to run with my motor which has a Tamagawa encoder which outputs absolute position in manchester coded data through serial (the format is attached below). I was exploring what options I have to connect the encoder, and found out that you guys have a option T-Format position data. My question is the attached output signal format the same as the T-Format which board takes?

It's not working with my encoder. Is there something need before the serial input?

The T-Format document says its tested on TS5643N100 Tamagawa encode and that's what I am using. It also says the resolution is 17 bits but the the serial format from the spec sheet says 15 and 17?

Its not working for some reason and the resolution for this encoders 

  • Hi,

    Are you using the PositionManager library? What is the software you are trying to use?
    Can you point to the software location?

    Also, note that there is a new version of MotorControlSDK being released in few weeks, Nov'19 which showcases T-format encoder feedback along with Motor Control on IDDK.

  • I am using example T-Format project provided here  D:\ti\controlSUITE\libs\app_libs\position_manager\v01_02_00_00\tformat\examples\PM_tformat_systemtest.

  • Hi,

    Do you see any activity on the interface? Make sure that the interface frequency (measure bit duration on data lines) is 2.5MHz.
    Are you running at 200MHz system clock?
    Also, what exactly is the problem you are seeing? Do you receive any data? Is there a CRC mismatch?

  • I don't see any activity on the interface when the serial input from the abs encoder is connected to the board. How do you change the Interface frequency, I don't know what my current setting is. The following screenshot is tformat.h file, which shows my TFORMAT_FREQ_DIVIDER = 20. What do I change to make it run at 2.5 MHz. 

    I have also attached a screenshot of variables when the project is running. 

  • Sorry, attached the same picture twice.

  • Hi,

    If you are runnign with default configuration of 200MHz system clock then, as the equation suggests, your t-format frequency will be set to 2.5MHz.
    So, no need to change the values.

  • Hi,

    If there is no activity on the interface, then something else may be missing in your case.

    Did you have all the jumper settings as described?
    Please cross check all your jumper settings with Table 3. Purpose of Jumpers and Switches.
    In particular, cross check J10, 13, 18.
    Also, check the power supply at the encoder interface.

  • Hi, 

    Thank you for the suggestion. All my jumpers and switches are in the correct position and the power supply is also correct. I was wondering if the resolution is the problem here?  TI's user guide says TS5643N100 has 17 bits resolution but the tamagawa's spec sheet says the following. Do I have to change any variable to match the spec sheet?

  • Hi,

    I do not think so, as you mentioned that there is no activity on the interface - which means that the command is not even delivered to the encoder.
    Resolution doesn't come into picture at all. If there is no activity on the interface, then there is something more basic missing in your set up.
    What is the MCU device part number you are using for your test?

  • I am using the TMDSCNCD28379D controlCARD (with Delfino F28379D MCU), which came with the kit.

  • Hi,

    Looks like you got the right part for this test. I would expect to see some activity on the t-format interface.
    Note that it is not continuous switching - hence you may want to trigger your scope and capture activity when it occurs.
    Also could you monitor the SPI interface signals?

    Where does the code stop when you run the test? Is it waiting for encoder response?

  • Hi,

    It looks like the code is stuck the line, shown below, when paused and never proceeds further from that line (while (tformatData.dataReady != 1) {}).

    Therefore, the data is never ready.

    I have also attached the screenshot of the SPI interface signal, but they don't change when the motor is moved.

    What signals should I scope?  The output of the ABS encoder is outputting the correct Manchester encoded data on the scope. 

  • Hi,

    Neil Patel said:
    The output of the ABS encoder is outputting the correct Manchester encoded data on the scope. 



    What signal are you looking at to confirm the above?
    I believe this is your observation based on the the signals on the t-format interface.
    Earlier you mentioned that there was no activity on the interface.
    But now it seems the command is going to the encoder - from your comment above.
    Please measure the bit duration of these signals and make sure it's 2.5MHz (i.e. 400ns). 
    Encoder would only respond to that frequency.

    Also, note that just because the motor is moving there will not be a signal coming out of encoder.
    Encoder would respond only if there is a command sent from master (C2000 MCU in this case).

  • By the above comment I meant, I connected the power and ground of the encoder to external power supply and I connected the serial output signals from the encoder directly to the scope and it seems to be reading the Manchester encoded data without giving it any command or connecting it to the C2000.

    I think the ABS encoder I have is just one way serial communication and keeps sending the current values without any input given to it.

    Is this what it suppose to do?

    Can I change the code to support this?

  • Hi,

    Yes - your encoder seems to be a different type. This library does not support that interface.
    This is only meant for t-format protocol - where that encoder responds to a command from the Master interface.
    No - the library can not be changed to support this type of encoder.

  • aren't all TS5643N100 absolute encoder T-format?

    If the encoder outputs the following, does that means its T-format?

    Can the following product be used with this?

    www.ti.com/.../TIDEP-0101

    Thanks for all your help

  • Hi,

    Yes - the T-format frame is different from what you've shown above. There is always a request followed by a response from encoder.
    What you've above seems to be "Serial Signal Format". Unfortunately, this library doesn't support that format. I'm closing this thread.


  • one last question, If I had the correct encoder and The single and multi turn values were reading correctly on the interface, How do we connect that on the IDDK_PM_Servo_F2837x_v2_00_00_00, example project, to run the motor? 

  • Hi,

    There is new version of MotorControlSDK (http://www.ti.com/tool/C2000WARE-MOTORCONTROL-SDK) planned for release Mid-November, in a couple of weeks. That will include a full system project running a motor with a t-format encoder feedback.
    Currently, these are provided independently and there is no integrated project showcasing the t-format encoder feedback along with motor control.
    Hopefully, the upcoming release would address your requirement.