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: Multiple EnDat/BISS links simultaneously

Part Number: TMS320F28379D

Hello everyone,

I thought the F2837xD supports 3 axis motor controll. This is why I thought they also support 3 BISS / EnDat links at the same time.

After a first look into the BISS / EnDat library I don't see a chance how to get multiple links working at the same time.

Is this not possible or am I missing something?

If it isn't possible, is there another possible solution how to support 3 absolut Encoders with BISS / EnDat at the same time?

  • Marcel,

    Your understanding is correct - while it's theoretically possible to do some of these interfaces in parallel, the libraries released for PositionManager currently support only one interface at a time. You can certainly do a EnDat or BiSS in parallel with QEP or SinCos or resolver encoders because these do not need CLB based libraries for implementation.

    -Bharathi.

  • Hello Bharathi,

    thanks for the reply.

    Since it's not possible to run multiple links with the PositionManager Librarys at the same time, I've got one more question.

    Is it possible to switch between EnDat and BiSS during runtime.
    Because then it could be possible to support multiple encoders with these two Interfaces via Multiplexers etc.
  • Marcel,

    It is possible if you are doing one interface at a time, you can switch between interfaces - but you need to reset the device and load new library.

    Would you be going through reset and reload different library (or code) for a different interface?
    If so, then it can be done very easily with the existing libraries and examples.

    If you want to switch dynamically, which means not going through chip reset, it may not work as it needs some internal logic to be reset and reconfigured and library currently does not support that.

    -Bharathi.

  • Hello Bharathi,

    a device reset isn't possible in our case.

    But by some external hardware changes we could solve the porblem, so only one Interface is needed during runtime.

    But because of those changes we would have to use an aditional SPI-Interface.
    So again I got one more question very similar to the last one.

    Is it possible to reuse the SPI-Interface needed for the EnDat/BiSS Interface as a normal SPI-Interface and switch between normal and library usage without a device reset?
    Example:
    1. Configure EnDat / BISS-Lib to work with SPI_B
    2. Use the SPI_B for EnDat / BiSS
    3. reconfigure SPI_B
    4. use SPI_B like any other SPI-Interface
    5. reconfigure SPI_B
    6. Use the SPI_B for EnDat / BiSS (same Interfacetype from 2.)
    7. reconfigure SPI_B
    8. use SPI_B like any other SPI-Interface
    9. and so on
  • Hi Marcel,

    Note that when you use the SPI in the EnDat / BISS-Lib mode - it's configured as slave and clock is driven by the CLB as shown in the documentation.
    So, when you reconfigure it to regular SPI mode - you need to make sure corresponding clock and interface signals are also controlled accordingly.
    Try to address all these connections along with re-configuring the SPI and see if your requirement is met.
    Note that it's not tried and tested this way - encoder interfaces are designed to work as dedicated resources and not switched on the fly.

    -Bharathi