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.
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:
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:
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.