In my board design I have connected these 2 analog pair inputs to the SIO pins in the PSoC:
AIN_O6P = P12_2
AIN_O6M = P12_3
*M refers to GND path which belong to this specific analog input.
*P refers to the analog input.
Please your support understanding how to configure these SIO inputs.
Solved! Go to Solution.
I believe that there is nothing special about there pins, just set them to analog, high impedance.
There is custom annotation component, helping to understand pins configuration
When I try to define the pin as analog input with high impedance analog I am getting an error in the "Pins" window as shown below:
Yes I know but I am trying to figure out a way how to use these SIO pins without changing my HW design.
What are my possibilities if I define the pins as digital input? can I receive a voltage measurement? If it is possible how can I do that?
Oh I see, and if I change my HW design how can I define a pair input? which the GND input path which belong to the specific analog input is defined as the reference?
I am a little bit lost. Can you post a schematic sketch to better understand the problem.
Generally, any pin (except the SIO pins of port_12 on your PSoC) can be assigned to be an Analog pin. Technically, it becomes just a wire. For a differential input, assign any two analog pins available. It would be reasonable to use a pair of adjacent pins, but not necessary.
Here is my current schematics:
I have both single ended inputs and pair inputs, I need help to define the pair inputs.
Currently I have connected them to the SIO pins.
If I want to measure the voltage of a power supply, I connect both VCC and GND cables of the power supply to AIN_I6P, AIN_O6MX.
The VCC going through a voltage divider and also through an op amp [U5/U6 in the bottom].
Afterwards the signals go into the PSoC and I want to use the AIN_O6M as the reference for the voltage measurements.
Which pins should I use? and how should I configure them in the PSoC Creator?
Please your support if you can, I have currently stopped the PCB production process until I understand if its possible to measure voltage using the SIO pins. If not please help me understand which pins should I use and how do I configure them in the PSoC Creator.
All the relevant information is written in the above posts.
As BoTa (/odissey1) indicated, the SIO port pins (Port 12) are not capable of Analog input or output. Virtually all other GPIO port pins are capable of being configured as analog input. (Some might be better than others).
Which one are better? It depends on your application.
If you're using analog outputs, there are preferred pins to use with more drive capability for the Opamps and the VIDACs.
For analog inputs, there are pins with lower input routing resistance. This will potentially lower any low input current voltage drops as well as be a little more immune to digital cross-talk coupling. Avoid putting analog input pins near higher speed digital input or output pins on the PSoC.
Cypress provides a tool to help visualize as well as manually route (if needed) your analog signals. It is located as a part of the DWR (Design-Wide-Resource). It is the "Analog" tab.
This tools shows the routing info including the approximate routing resistance of any analog signal. For example you can have it calculate the routing resistance from the GPIO pin to internal resource like a VDAC. Right-select the pin in question and select "Start ohm meter" with the pin.
Next select the internal resource to measure the series routing resistance.
It does its best to approximate the resistance to the input or output of the resource. Additionally it displays the switches (and their resistances) being used to route it.
My usual method for initial design to production is to create two breadboard prototypes to get a HW feasible design working. This is the first unit for SW to start coding on. The second unit is for my HW debugging of base driver code.
The next step is to debug the proto to find any "glitches" DC, AC or transient. If needed I reroute signals for better performance (and sometimes simpler routing) then commit to my PCB layout.
Hopefully, no further "glitches" are found after this stage. However, the EMC "glitches" are hard to detect without having a Production-intent layout.
If needed, a second round of PCB layout is needed fix ALL "glitches". (Murphy's Law comes into play here).
One last suggestion: Since you plan to use differential inputs, there are good layout and pin selection strategies to minimize cross-coupling to high external electric fields.
Ok thank you very much for the explanation, I will change the pins for these inputs.
How should I configure the pins the "TopDesign" in order to use the AIN_O6M [GND] as the reference to the AIN_O6P [Analog Input]?
Is it enough to connect both of them to a Mux and than to the ADC?
You shouldn't need to change the TopDesign. The analog pins you have already assigned should suffice.
You need to assign the pins in the DWR\Pins tab.