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

cross mob
DaEr_349131
Level 5
Level 5
25 likes received 50 sign-ins 5 comments on KBA

I couldn't find an overview for this, I could of course check the datasheets 🙂 but assuming someone @ cypress has this info!

I need as many ADC inputs as I can get, 8-12bits input is ok and can be fairly slow / muxed.

Preferably from the PSoC 4000S, 4100S, 4100S Plus range (as supported by modus)

0 Likes
1 Solution

Hello DaEr.

Surprisingly, I found an article with a table showing number of GPIO's directly connected to ADC mux.

Multiplexing PSoC® 4 SAR ADC Channels - KBA87497 | Cypress Developer Community

So, a few devices have 16 GPIO's directly connected to ADC mux.

I know this doesn't answer your latest question.  Maybe close off this thread and start a new discussion focusing on latest question (referencing this thread).

Good luck with your project.

View solution in original post

0 Likes
10 Replies
BiBi_1928986
Level 7
Level 7
First comment on blog 500 replies posted 250 replies posted

Hello DaEr.

Any GPIO pin in PSoC families you mentioned, can be used as an analog input.  This is shown on the first page of any datasheet.

The number of GPIO's is only limited to the size of the device package.

The analog inputs would be mux'ed to the ADC thru AMUXBUS A and/or AMUXBUS B.

Have a look at PSoC 4 - Using GPIO Pins AN86439

Good luck with your project.

0 Likes

Hi, yes, but the amux bus is limited to the number on inputs it can multiplex into the ADC, can't find that number other than for the SARMUX that seems to be 8-pins only on the 4100S

0 Likes
lock attach
Attachments are accessible only for community members.

Hi.

Yes, there are only 8 direct connects to ADC input.

To use more than 8 inputs (not directly connected to ADC), use an analog mux with up to 64 single-ended signals or 32 diff signals.

Have a look at Cypress project example, Opamp_DynamicGainSwitching to see a few different ways to use the analog mux.  I use PSoC Creator, not sure if this example is found in Modus.

0 Likes

Thanks BiBi,

Who can help with an overview of which (modus supported) mcu's have the most muxable adc inputs?

Each "adc input" I need to read at about 500Hz, so I believe we can multiplex quite a bit (not knowing how long the sampling time needs to be when switching from one single-ended gpio to another)

0 Likes

Hi.

The Cypress page for Product Selection, gives the number of GPIO's per PSoC 4 family.

Product Selector Guide (cypress.com)​ for PSoC 4000S.

Here's the general selector guide web page:

Product Selector Guide (cypress.com)

The number of GPIO's is determined by physical size of the device package.  It does not depend on how many GPIO's can be mux'd to the ADC.

Each PSoC 4 family datasheet has a table (under the topic Ordering Information) and here you'll find the number of GPIO based on package size and device.

Modus 2.2 now supports PSoC 4 devices.

Just Released – PSoC 4® support in ModusToolbox | Cypress Developer Community

0 Likes

Thanks,

So in other words, a PSoC 4000S like CY8C4146AXI-S455 with 54 gpio's and one 12-bit @ 1 msps ADC,

I could then mux & multiplex 54x analog signals into that same ADC runtime, correct?

David

0 Likes

Hello.

The simple answer is yes.  But, it comes with a few constraints.

If you use GPIO's that are mux'd with SWD debug signals, then you'll have to think about how you will program/debug the target device.  So, you may need to subtract 2 pins from total GPIO count.

Any GPIO can be routed to the ADC via analog switches inside PSoC.  This family of PSoC's does not support the analog mux that I'm familiar with (from CY8C4245, 5888) since it does not have UDB components.  However, the routing of GPIO's to the ADC is accomplished with firmware.  This is shown in Technical Reference Manual.

https://www.cypress.com/documentation/technical-reference-manuals/psoc-4100s-and-psoc-4100s-plus-pso...

The TRM notes SARMUX directly connected GPIO's are best to use.  Other GPIO's (connected to ADC via analog switches) will work but not recommended.  I think you'd have to look at your requirements to understand if these 'other' GPIO's are good enough.  Cypress is just saying you won't get similar performance vs the directly connected GPIO pins.

0 Likes

good input, could someone at Cypress shed some light on this text from the datasheet:

The additional switches reduce the scanning performance (more parasitic coupling, longer RC time to settle) – it is not fast enough to sample at 1 Msps. This is not recommended for external signals; the dedicated SARMUX port should be used, if possible.

assuming we're sampling something external, what would be the way to calculate the settling time etc. to get reliable measurements? let's assume 100% of all GPIO's are used for ADC action

0 Likes

Hello DaEr.

Surprisingly, I found an article with a table showing number of GPIO's directly connected to ADC mux.

Multiplexing PSoC® 4 SAR ADC Channels - KBA87497 | Cypress Developer Community

So, a few devices have 16 GPIO's directly connected to ADC mux.

I know this doesn't answer your latest question.  Maybe close off this thread and start a new discussion focusing on latest question (referencing this thread).

Good luck with your project.

0 Likes

ok, I created a follow-up topic here: How to calculate GPIO to ADC muxing timings?

0 Likes