Question from the Customer:
We’re considering purchasing the Promira Serial Platform with SPI Active - Level 1 Application. We like the USB connectivity, Labview support, and adjustable voltage features - now we have some questions about GPIO.
- Can we use GPIOs on Promira as data lines?
- Our application is not SPI; we are looking for one CLK output and 5 or 6 Data outputs synchronized by the CLK.
- With SPI Active - Level 1, one transaction is 1Mbits per output data line
Thanks for your questions! Using the Promira Software API, you can manually generate a clock. A separate clock is not provided for GPIO. To manually set the clock simply use the Promira Software API command ps_queue_gpio_set(): toggle the pin with 0 and 1 to create clock pulses. The speed of the clock depends upon the end user system's execution speed. Here is an example of generating a clock with a 50% duty cycle:
- ps_queue_gpio_set(queue, STATE0)
- ps_queue_delay_ms(queue, on_time_in_ms)
- ps_queue_gpio_set(queue, STATE1)
- ps_queue_delay_ms(queue, off_time_in_ms)
Repeating that series of time will generate the clock pulses. For a 50% duty cycle, on_time_in_ms = off_time_in_ms.
The STATE0 and STATE1 parameters are set in terms of bitmasks of the available GPIOs. With Promira configured with SPI level 1, you can use up to 6 GPIOs [pin 1, 3, 9, 14, 15, 17] (or 2 GPIOs [pin 1, 3] when SPI is configured in your code simultaneously)
Please note, there are speed limitations. The switching speed of GPIO pins depends on the time of the line-by-line execution of your script. The overhead of the Operating System may add to the delay. There is also a latency caused by the Ethernet/USB link between the computer and the Promira platform.
The bitrates set for SPI/I2C has no effect on the GPIO pin switching.
We hope this answers your question. Additional resources that you may find helpful include the following:
- Promira Serial Platform I2C/SPI Active User Manual
- Promira API Documentation
- Flash Center User Manual
- Cheetah SPI Host Adapter User Manual
If you have questions about our Total Phase products, feel free to email us at sales@totalphase.com, or if you already own one of our devices and have a technical question, please submit a request for technical support. You can also request a demo designed to specifically address your needs.