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.

LAUNCHXL-F28379D: Simulink acquire BISS-C encoder data

Part Number: LAUNCHXL-F28379D
Other Parts Discussed in Thread: TMS320F28379D, CONTROLSUITE, C2000WARE

I'm trying to read in BISS-C data from an encoder. 13bits Data + 2bits Error + 6bits CRC.

I already have the RS422 hardware side setup, right now left the software side.

The program has to be done on Simulink as the position data will be fed into a control system in the same environment.

Currently, I'm able to manipulate the SPI(Master Mode) to receive the data, but the data I received is skewed. 

I found C2000 Position Manager BISS-C Library which can deal with the skew issues but it is only available for CCS.

Any idea or resources to integrate the BISS-C library onto Simulink?

  • Jun,

    I am checking with MathWorks expert on this. We will get back to it  shortly.

  • Jun,

    MathWorks expert is looking into this, we should have response by tomorrow.

  • Hi,

    Here is one approach!

    I haven't tested this, but this is just to given an idea on the approach one can take.

  • I'm implementing this approach, the good news is everything can be compiled.

    But the bad news is no clock has been generated by GPIO6 (BISSC_CLK) and GPIO7 (SPICLK). 

    The biss_init() did ran, and "system update" block also. I believe it stopped at while(bissc_data_struct.dataReady != 1) {}. Which means setupNewSCDTransfer and startOperation had been ran, but no clock has been generated (Verified with a scope).

    I got some questions.

    1. Will the biss_init() overwrite the hardware board settings? As some settings here have overlapped with init code. 

    2. How does this line work?

    #define BISS_SCD_CRC_POLY1 0x03 //x^6 + x + 1 (inverted output) 1000011

    As 0x03 represent 00000111 in binary, where as x^6 + x + 1 is 0x43.

    3. Any way troubleshooting it?

  • The missing image

  • Approach –

    1. Run TI shipping example code to ensure the hardware interface and connections are fine.
    2. If step-1 is success, Import the Simulink code in CCS to debug further. Here is the link which helps one to import the code in CCS from Simulink.

    https://in.mathworks.com/help/supportpkg/texasinstrumentsc2000/ug/creating-ccs-project-from-a-model.html

  • Can't seems to be able to compile the sample program on CCS.

    Been getting "No rule to make target"

    I did some modification with the existing code by 

    1. Changing to default build command
    2. Selecting TMS320F28379D as variant
    3. Include search path for the header files
    4. Added CPU1 as predefined symbol

    Still can't get it compiled. Solutions?


  • Just an update, this issue is resolved by deleting the F2837xD... .c/.asm files. 

    Now the other issue is having some undefined symbols and some CLB errors.

    I did try using a project that works(sample flashing led), then start importing the BiSS stuff in. Importing the PM_bissC_Lib.lib seems fine. The issue started when biss.c is imported, and more undefined symbol issues when introduced PM_bissc-SystemTest.c initialization code. 

  • Jun,

    Looks like you need to adjust the size of various sections in linker command file for .text, .stack, .ebss etc.

  • Where can I find a guide to adjust the linker command file?  And what is the appropriate size should I set to?

    Will changing the linker command file solve the "undefined symbol" issues?

  • Jun,

    Please go through the link below for Linker help.

    http://software-dl.ti.com/ccs/esd/documents/sdto_cgt_Linker-Command-File-Primer.html

    For undefined symbol, it looks like you are missing some code example device.c

    Open one DriverLib example (led example), and then you can check device folder, and device.c file.

  • I believe I'd sidetrack too much of this issue. What I'm trying to do is just to get the example program up and running.

    The main issue I have is

    Building "C:\ti\controlSUITE\development_kits\BOOSTXL_POSMGR\v01_01_00_00\bissc-F28379DLpad-S2\examples\PM_bissc_SystemTest" in CCS v10

    Would be awesome if there's a guide showing how to import this project into CCS and build it for Delfino LAUCHXL-F28379D. For me when I import it all the compiler settings (lib path, include path etc) will be empty I reckon there should be a way to import it with all of those settings intact.

    I've also read this forum perhaps there is a new way of implementing BiSS-C on CCS instead of using this PM_bissc_SystemTest. But the new configuration tool is still nowhere to be found.

  • Jun,

    It will be good if we can close this thread a new one, so that we can redirect to right expert.

    Also, it will be good to install C2000 Motor Control SDK

    https://www.ti.com/tool/C2000WARE-MOTORCONTROL-SDK

    BOOSTXL_POSMGR is included in this sdk and it is supported and tested on CCS 10.

    Once you install it, it will be located at:

    C:/ti/c2000/C2000Ware_MotorControl_SDK_3_00_01_00/solutions/boostxl_posmgr/f2837xd/source