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: CLB HLC Appears to Write Counter Event LOAD VALUE

Part Number: TMS320F28379D

Greetings,

                 I’m getting an unexpected result when I use the HLC to load a counter. The counter is being used to create pulses with specific amounts of time between them.  When I use the counter to generate the pulses at a given rate on match1, I see them occurring with the correct spacing. When I use an event (Event0) to transfer the LOAD VALUE into the counter, I also see the pulse spacing I expect following that event. When I use the HLC to load the counter (C0) from a different event (Event1) to produce a third spacing, again I see the expected pulse spacing after that event. But when I use Event0 again, after the HLC has loaded the counter, I see the HLC spacing, and not the LOAD VALUE spacing.  So this give the appearance that LOAD VALUE is being overwritten by the HLC's write to C0.  According to spracl3, pg 14, in regards to the load_val, the “HLC does not have access to this register”.  And there is a code sample which loads that register instead.

                 So I am confused.  When I saw this behavior, I created a simple experiment in an unused tile and got the same result. The experiment shows that the load value is updated when the HLC loads C0. But the documentation says otherwise.  So I don’t know if I have an issue in both designs, or if the documentation needs to be updated.

 Thank you for your help,

 Ed

 

  • The HLC cannot write to the Load Value of the counter modules. It can only write to counter's active counter register, or the match1/2 values.

    To update the Load Val, you need to write to them using the C28x.

    Nima