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.

TMS320F28P550SJ: CLB debugging

Part Number: TMS320F28P550SJ
Other Parts Discussed in Thread: SYSCONFIG

I have been able to simulate my CLB1 logic and everything works fine. When I go to test it with the hardware, I don't get any ouput from the CLB1. I went ahead and made a test using CLB2.

1  Set CLB2 Input 0 to EPWM1A which is on the LaunchPadXL header.

2. Attached Tile2.

2. Set Tile2 LUT 0 input 0 to Input Boundary 0 with output logic equation i0.

3. Set Tile2 Output Lookup Table 4 input 0 to LUT 0 Output with output logic equation i0.  

4. Set CLB Output XBAR to CLB2 Out4 (Mux 12) and assigned GPIO40 which is on the LaunchPadXL header.

When I go ahead and run the program, GPIO40 is constant. 

What am I missing?

Thanks

Dennis

  • Are you calling the Sysctl_disablePeripheral and Sysctl_enablePeripheral function before and after Board_Init in your main function to disable the CLB clock before calling Board Init and re-enable it after Board Init?

    Are you selecting the Initialize TIL and Enable CLB options in SysConfig when configuring the CLB?

    Thank you,

    Luke

  • The Board_Init is being generated by SysConfig. I did not see Syscti_disablePeripheral or Sysctl_enablePeripheral before and after it. Does board_init need to be done again in the main program startup?

    I have selected Initialize Tile and Enable CLB options in SysConfig.

    Thanks

    Dennis

  • Hi Dennis,

    Board_Init is generated by SysConfig, however you still need to manually add Board_init() function call to your main file. I am suggesting adding the Sysctl functions manually to your main file as well to check if this causes the CLB to function properly. Let me know if this does not work.

    Thank you,

    Luke