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

PSoC™ 4 Forum Discussions

yangyong
Level 4
100 sign-ins 5 likes given 5 solutions authored
Level 4

PSoC4100s has sixteen individually configurable channels ,  SARMUX has many switches that  can  connected to multiple inputs,including both external pins and internal signals.   My question is  whether ADC can connect 16 external pins at the same time,for example, port 2 and port 1 .thanks

0 Likes
1 Solution
Srivastav
Moderator
Moderator 100 sign-ins 10 likes received 5 likes given
Moderator

Hi @yangyong ,

As Figure 21-4 SARMUX Switches and Control Capability in https://www.infineon.com/dgdl/Infineon-PSoC_4100S_and_PSoC_4100S_Plus_PSoC_4_Architecture_TRM-Additi... indicates, Port 2 is the dedicated port for ADC, so from there you get 8 Channels. Also, you get two more channels from AMUXBUS A and AMUXBUS B as shown in the Figure 21-6 Input from Analog Bus. In addition to that, 2 more channels you can get from the CTBm (Notice sarbus0 and sarbus1). This way you can get 12 Channels.
Apart from that, if you want further more input channels, through AMUX bus, we can dynamically change the inputs and can get further more channels. First connect AMUX A and AMUX B to some pin (say P3.7 and P3.6) then after the data has been sent to ADC through these pins, then you have to put them in waiting using some delay and then connect AMUXBUS A and AMUXBUS B to another set of pins and then they'll become the input channels. This way you can increase number of channels but due to waiting/delay the output may not be completely correct.

So using Analog Routing you can take Input from:
1. External pins: Refer to https://www.infineon.com/dgdl/Infineon-PSoC_4100S_and_PSoC_4100S_Plus_PSoC_4_Architecture_TRM-Additi... Page Number 224

2. Analog Bus (AMUXBUS_A/B): Refer to https://www.infineon.com/dgdl/Infineon-PSoC_4100S_and_PSoC_4100S_Plus_PSoC_4_Architecture_TRM-Additi... Page Number 225

3. CTBm Output via sarbus: Refer to https://www.infineon.com/dgdl/Infineon-PSoC_4100S_and_PSoC_4100S_Plus_PSoC_4_Architecture_TRM-Additi... Page Number 226

4. Temperature Sensor: Refer to https://www.infineon.com/dgdl/Infineon-PSoC_4100S_and_PSoC_4100S_Plus_PSoC_4_Architecture_TRM-Additi... Page Number 228

Kind Regards
Arpit Srivastav

View solution in original post

0 Likes
3 Replies
Srivastav
Moderator
Moderator 100 sign-ins 10 likes received 5 likes given
Moderator

Hi @yangyong ,

As Figure 21-4 SARMUX Switches and Control Capability in https://www.infineon.com/dgdl/Infineon-PSoC_4100S_and_PSoC_4100S_Plus_PSoC_4_Architecture_TRM-Additi... indicates, Port 2 is the dedicated port for ADC, so from there you get 8 Channels. Also, you get two more channels from AMUXBUS A and AMUXBUS B as shown in the Figure 21-6 Input from Analog Bus. In addition to that, 2 more channels you can get from the CTBm (Notice sarbus0 and sarbus1). This way you can get 12 Channels.
Apart from that, if you want further more input channels, through AMUX bus, we can dynamically change the inputs and can get further more channels. First connect AMUX A and AMUX B to some pin (say P3.7 and P3.6) then after the data has been sent to ADC through these pins, then you have to put them in waiting using some delay and then connect AMUXBUS A and AMUXBUS B to another set of pins and then they'll become the input channels. This way you can increase number of channels but due to waiting/delay the output may not be completely correct.

So using Analog Routing you can take Input from:
1. External pins: Refer to https://www.infineon.com/dgdl/Infineon-PSoC_4100S_and_PSoC_4100S_Plus_PSoC_4_Architecture_TRM-Additi... Page Number 224

2. Analog Bus (AMUXBUS_A/B): Refer to https://www.infineon.com/dgdl/Infineon-PSoC_4100S_and_PSoC_4100S_Plus_PSoC_4_Architecture_TRM-Additi... Page Number 225

3. CTBm Output via sarbus: Refer to https://www.infineon.com/dgdl/Infineon-PSoC_4100S_and_PSoC_4100S_Plus_PSoC_4_Architecture_TRM-Additi... Page Number 226

4. Temperature Sensor: Refer to https://www.infineon.com/dgdl/Infineon-PSoC_4100S_and_PSoC_4100S_Plus_PSoC_4_Architecture_TRM-Additi... Page Number 228

Kind Regards
Arpit Srivastav

0 Likes
yangyong
Level 4
100 sign-ins 5 likes given 5 solutions authored
Level 4

That is to say, ADC can support simultaneous access to 12 external pins. do both PSoC creator and ModusToolbox support it?

0 Likes
Srivastav
Moderator
Moderator 100 sign-ins 10 likes received 5 likes given
Moderator

Hi @yangyong ,

Yes, ADC supports 12 simultaneous channels without CPU intervention. As mentioned above, you can go ahead and use Dedicated Port for ADC i.e. Port 2 hence you get 8 channels and then you get two more channels from AMUXBUS A and AMUXBUS B as shown in the Figure 21-6 Input from Analog Bus. In addition to that, 2 more channels you can get from the CTBm (Notice sarbus0 and sarbus1). This way you can get 12 Channels. IF you need more than 12 channels then you can do that as well using AMUX Bus However, in that case you have to take care of the result returned by the sampling of first 12 channels, store it in some other memory location (In firmware) and then using AMUX Bus, switch to some other pin, which will act as channel 13. Then you can initiate sampling for channel 13. Same is applicable for subsequent channels i.e. channel 13, 14, 15.....and so on. Also, please be informed that, it will introduce some CPU overhead.

Kind Regards
Arpit Srivastav

0 Likes