Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
dk
Level 1
Level 1
5 questions asked First comment on blog 5 likes given

Hi, I am trying to wrap my head around a potential smartio use:

Goal: Deterministic cycling between three GPIO signals that control isolated FETs to toggle between three voltage levels on *one* output pin. To avoid shorts, only one signal may be high, and a dead time between switching would be helpful. In the end I'd like to have a function that enables the smartio voltage cycling like cycle_voltage(count,ontime,deadtime);

Signal pins: SIG_GND, SIG_MID, SIG_HIGH -> controlling the external 0V, 75V, 135V switching in my application:

SIG_HIGH=1                          ________                                           135V              
                                                    |                 |
SIG_LOW=1           _______|                 |               ______...          75V
                                   |                                  |               |
SIG_GND=1 ____|                                  |______ |                            0V

Desired toggle behavior: 100-500uS signal high, then 0-1uS dead time, then signal high for next SIG_ pin. 

Questions:
- I want to 1) cycle and 2) control signal high time for each signal and dead time from firmware. How do I think of this problem in terms of Chip inputs, clocks and perhaps chained LUTs?
- Can I link the SAR ADC's EOS trigger to start the smartio cycling?
- Alternatively, would it be possible in smartio to start the ADC on the first voltage cycling and snapshot scan every X cycles? 

Thanks! 

0 Likes
1 Solution
odissey1
Level 9
Level 9
First comment on KBA 1000 replies posted 750 replies posted

To have repeatable deterministic timing one can use  DMA writing to the port from cyclical RAM buffer. It is quite deterministic if there are no other concurrent DMA. 

PS. Looks like an ion mobility sensor.. 

View solution in original post

0 Likes
6 Replies