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.

What happens to TIMER pins when using SYS/BIOS Timer Module?

Other Parts Discussed in Thread: SYSBIOS

Hi,

Using CSL functions to manage the timer module we can choose to use the timer input and output pins or not, e.g, you can use the internal clock as Timer clock and generate just an interrupt, not an output signal. But if I'm using SYS/BIOS what happens to those pins (I don't want to use the timer input and output pins)?

Device: 6678

SYS/BIOS: 6.32

Regards

Update: corrected the device number

  • Hi Johannes,

    I'm assuming you are using a C6678 because I can't find any documentation on a C6679.

    SYS/BIOS's timer64 (ti.sysbios.timers.timer64.Timer) module has some parameters to specify some data direction and mode. See the Timer_GpioDatDir data structure (as part of the Timer_Params struct) in the SYS/BIOS API Documentation. If you don't want to use the Timer input/outputs you can use them as GPIOs.

  • Hi,

    Thanks for your answer and for pointing my typo. I read the doc you mentioned, I have one question about. Here's the code

    typedef struct Timer_GpioDatDir{
        Bits8 gpio_dati12;
        // 0=TINP12 is input; 1=TINP12 is output
        Bits8 gpio_dato12;
        // 0=TOUTP12 is input; 1=TOUTP12 is output
        Bits8 gpio_dati34;
        // 0=TINP34 is input; 1=TINP34 is output
        Bits8 gpio_dato34;
        // 0=TOUTP34 is input; 1=TOUTP34 is output
        Bits8 gpio_diri12;
        // 0=input as GPIO input; 1=input as GPIO output
        Bits8 gpio_diro12;
        // 0=output as GPIO input;1=output as GPIO output
        Bits8 gpio_diri34;
        // 0=input as GPIO input; 1=input as GPIO output
        Bits8 gpio_diro34;
        // 0=output as GPIO input;1=output as GPIO output
    } Timer_GpioDatDir;

    It's about the meaning of the last four definitions, for instance,

        Bits8 gpio_diri12;
    // 0=input as GPIO input; 1=input as GPIO output

    What does it mean?

    And one more question, by default are the input and output pins used? If I don't connect any signal to input pins or any load to the output pins, will it be a problem?

    Thanks and regards.

  • Hi Johannes,

    sorry for the late reply. I honestly am having a difficult time in finding the correct documentation on these output pins. I will need to loop in someone from the C6000 team.

  • OK Tom, I'll keep waiting. Thanks ofr your attention.

    Regards

  • Hi Johannes,

    sorry for the late reply.

    The timer64 module for SYS/BIOS was created for another device and reused on the C6678 because it was functionally the same. Unfortunately, not all registers in the timer64 module are functionally translated to the C6678 (not sure if they are used or not supported).

    Looking at possible Timer outputs on the C6678 (which are only 2), the Timer's output pin is determined with the TOUTPSEL register which is not handled by the timer64 module so therefore the Timer_GpioDatDir registers have no effect on selecting which timer output is routed to the physical pin.

    See the C6678 data manual to see the default pin output state. It's not clear to me if the Timer output pins can be used as GPIOs.