cancel
Showing results for 
Search instead for 
Did you mean: 

PSoC 4 MCU

Contributor

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
Reply
1 Solution
Contributor II

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
Reply
10 Replies
Contributor II

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
Reply
Contributor

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
Reply
Contributor II

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
Reply
Contributor

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
Reply
Contributor II

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
Reply
Contributor

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
Reply
Contributor II

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
Reply
Contributor

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
Reply
Contributor II

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
Reply
Contributor

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

0 Likes
Reply