Hi everyone. I’m sorry to bother you, but I have a...
# caravan
l
Hi everyone. I’m sorry to bother you, but I have a question that can seem obvious to you but I prefer to ask. What is the difference between the io_in/io_out and gpio_analog ? Thanks for any help !
a
Io_in is the GPIO in the state of input. Io_out is the GPIO in the state of output Gpio_analog is GPIO in the state of Analog pass through. Keep in mind that when the GPIO is in that state there is a pass resistance of about 150 ohms according to what has been mentioned earlier by Efabless team. Not like the Analog[*] pins which are fundamentally a wire. Advantage over the Analog[*] that it has ESD protection. But keep in mind that you don’t have control over the ESD. But you can use the spice netlist provided to simulate the impact of the entire GPIO design.
Also keep in mind, because of the GPIO design it can’t be used for high frequency designs.
One last note, that the three connections only take one pin of the chip output.
@Lea Enginger I hope that helps
l
Yes thanks a lot @Amro Tork, it helps a lot. It is more clear for me !
t
A picture is worth a thousand words. . . This shows the five signals in question.
gpio_noesd
connects directly to the pad and apart from the reverse-biased diodes from pad to power and ground, there is no ESD protection on this line.
gpio_analog
is also a direct connection to the pad, but has a resistor for some moderate additional ESD protection. All the other signals are digital.
io_in
,
io_out
, and
io_oeb
are the usual 1.8V domain signals for digital bidirectional input/output. There is an additional
io_in_3v3
which is a copy of
io_in
but in the 3.3V domain. The pad itself is in the 3.3V domain. Because all these signals share the pad, if you want to connect analog signals to the pad, then the program on the flash for the SoC should put the GPIO state under management control (which effectively decouples
io_in
,
io_out
, and
io_oeb
from the pad), and then set the GPIO state to turn off the input and output buffers. These six signals are available for most of the GPIO pins, although some GPIO pins have functions for the managment SoC that would interfere with SoC functionality if they were connected to an analog signal, so there are about eight of the GPIOs that have only the three 1.8V domain digital signals. That's why the indexes for
gpio_analog
and
gpio_noesd
aren't the same as the others. But you'll find on the wrapper frame that when all six signals shown in the diagram are available, they are always clustered together and are all connected to the same pin.
l
Thank you @Tim Edwards! The picture makes sense to everything and your explanation also, thank you a lot !
a
@Mariam Zanaty
Could you please read the above?