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.

GPIO clock speed on Sitara

Greetings E2E.

What is the maximum frequency we can clock data out and read data in – one page in data sheet says max 100MHz – can this figure be confirmed?

Thanksi

  • Can you quote the document and page you are referring to? Also this will depend on the software you intend to use.
  • No (partly). I thing you refer to "spruh73g.pdf".

    I'm using an AM335X quite a time (Starterware on BeagleBone White) and now i know:

    100 MHz is the standart io-clock and has nothing to do with the real IO-Performance.

    Using the A8 core, there are 4 busses between core and output, around 10 - 15 MHz Pinwrite is achievable.

    Reading pins is significantly slower (using the A8 core). Reading a pin triggers a pin-sampling (adjustable 2-3 clocks) and goes 2 times through the 4 busses (reading needs a request, writing a pin is "fire and forget").

    BUT! : Using the PRUSS-ICSS, some people mentioned that they achieved 200 MHz writing IOs, and in some PRUSS-ICSS slides (sorry, i don't know the actual source, it's a TI-document) there is a 16 bit + clock Input diagram, where the input is (2x chained) sampled with 200 MHz. 

    I can not confirm the PRUSS-ICSS performance, because i don't know how to program the AM335x with Starterware AND one of the two PRUSS-Cores (M3, i think).

    (Please, i want outstanding Performance with the Beaglebone. Therefore dear TI-developers, how can i use the PRUSS-Cores with Bare-Metal-Programming?)

    I hope this helps (if you are using an AM335x). Greetings

    Martin Boeckler

  • Hi Martin,
     
    Almost everything you have posted is correct. Make sure you always have the latest AM335X documentation (TRM Revision is "J" now).
     
    About the PRU, there is this link that can give you additional infoemation: https://github.com/beagleboard/am335x_pru_package. You will find the PRU reference guide there. This is not an ARM core at all. It's true you can read/write GPIOs through the PRU at 200MHz, as they are directly connected to PRU core registers, and 200MHz is the PRU operating frequency. Please also note that at the moment the PRU is not supported by TI. This will likely change, but I don't have information when/how.
  • Thanks Biser for the hint.

    First: I should update my resources.

    Second: Regarding the PRUSS i will investigate the possibilities, thanks.

    Additional:

    For Bitbanging, the PRUSS sounds good. But for high input/output data Rates, the Input datatransfer is limited because of the needed PRUSS-Code. (http://e2e.ti.com/support/arm/sitara_arm/f/791/t/149413.aspx)

    For high data throughput, the gpmc interface sounds good. (http://e2e.ti.com/support/arm/sitara_arm/f/791/t/312694.aspx)

    Greetings

    Martin

  • Hi Martin B,

    would you please let us know how you achieved a GPIO output rate of 10 to 15MHz? 

    I only got 1.136MHz for an on/off GPIO output with a signal that was not equidistant. (See http://e2e.ti.com/support/embedded/starterware/f/790/t/366081.aspx)

    Thank you!

    Martin H.