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.

PRU Capabilities

Hi,

I wonder if it is possible to implement the following features by using the PRU module.

1) A keypad scanner (Let say 5 rows x 5 cols)

2) A very simple PWM for lcd/led backlight driving purposes,

And one final question:

What is the status of the PRU linux driver that is mentioned on this post: link

Regards,

Alper

 

  • Alper YILDIRIM said:
    2) A very simple PWM for lcd/led backlight driving purposes,

    It is possible to use PRU to generate a simple PWM.  However, why not use the ePWM, eCAP or TIMER to generate a simple PWM?

    --Christina

  • We are currently using the ePWM modules.

    I am just wondering about it.

    In case of a pin confliction in our device we may decide to use that.

    Any news about the linux driver Christina?

  • There's an installer for Linux on this page, http://focus.ti.com/docs/toolsw/folders/print/sprc940.html

    Also, can you provide more details about the keypad scanner?  I'm unfamiliar on how it is implemented.

    --Christina

  • Christina Lam said:

    There's an installer for Linux on this page, http://focus.ti.com/docs/toolsw/folders/print/sprc940.html.

    I need a linux driver which loads the pru binary in to the PRU program memory. The current PRU Software Development Package does not have that support.

    Christina Lam said:

    Also, can you provide more details about the keypad scanner?  I'm unfamiliar on how it is implemented.

    Some info about keypad scanners, check google for more

    http://www.ti.com/litv/pdf/sprufi8a - TMS320DM36x Key Scan User's Guide

    http://www.siliconbluetech.com/media/intellectual-property/Matrix_Keypad_Scanner_DE102.pdf

     

     

  • Alper YILDIRIM said:
    I need a linux driver which loads the pru binary in to the PRU program memory. The current PRU Software Development Package does not have that support.

    I'll follow up with some PRU experts about the availability of the Linux drivers. 

     

    Alper YILDIRIM said:

    Some info about keypad scanners, check google for more

    http://www.ti.com/litv/pdf/sprufi8a - TMS320DM36x Key Scan User's Guide

    http://www.siliconbluetech.com/media/intellectual-property/Matrix_Keypad_Scanner_DE102.pdf

    I did a quick glance at the block diagram, and it looks like you need 5 output and 5 input pins to implement your keypad scanner.  PRU does have the functionality to drive individual output pins and read back the input pins, so it seems like a possible implementation using PRU.

    --Christina

  • The PRU linux driver is currently undergoing validation and is expected to be released by the end of this month.

    --Melissa

  • The keypad scanner should be doable through the PRU.  As Christina mentioned, the PRU input and output pins can be easily used for this.  A timer may be required to more accurately control the strobe and scan periods, but that could also be done with tightly controlled PRU code.  The only issue I see is the need for high-z outputs since the PRU output pins are always driving, but this could be worked around by switching the device pin mux to an input mode when high-z is required.  It's a bit of a kludge, but for low speed signals it should work fine.

  • Hello Alper

    I am thinking of implementing a similar keypad "controller" device thru the L138 ARM module too.

    Can you provide a update on how this is working for your implementation? Is there a big current drain hit due to this implementation?

     

    Hello, Gus Martinez,

    In reference to your comments on your concern of the output pins being always driven instead of High-Z,

    I don't understand what the concern is, since the output pins are not driving any external loads, other then when the input pins are interrupted when the keys are pressed.

    Can you please share your concerns?

  • I am not using a PRU based keypad in my current design.

    One small advice, if you are running linux, you can also use the gpio based keypad matrix driver inside the kernel.

    Good luck