How to figure out why pins can't be connected to a given port?

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

cross mob
RaAl_264636
Level 6
Level 6
50 sign-ins 25 sign-ins 10 solutions authored
        Hi, I received a CY8CKit-049 http://www.cypress.com/?rID=92146 which I want to use to do the software developement prior to ordering the PCBs. I'm working on a project where the port mapping in PSoC Creator has been done and the PCB layout has finished, but not ordered yet. So, I build the main circuit on a breadboard with the same port connections used in the finished design. While finishing the breadboard circuit I got the idea to use a display during software development. Since the Cypress provided LCD component doesn't allow to connect the LCD over multiple ports and I don't want to use the multiport LCD community component I decided to control the LCD by simple bit-banging and added the corresponding pins, three single output pins and a 4-bit wide IO pin. Now, here comes the problem: PSoC Creator doesn't allow me to set the single pins to the remaining free port pins. Since PSoC Creator doesn't show why a pin can't be connected to a given port I don't have any idea how to solve it. Some of the ports used in the end design required to use LVTTL input threshold. After setting the 4-bit IO pin to LVTTL threshold I was able to assign it to a free adjacent port portion, but it seems that this doesn't help for the single pins. I still can change some of the pin<->port connections, but I'm interested why some connections are not allowed (would be nice if PSoC Creator has a list of 'unusable port for this pin because...' list) and how to figure it out. The current datasheet doesn't mention any side-effects or 'unusable' combinations, and the I'll investigate further when I'm back in office tomorrow, but maybe someone can give me some hints. If needed I can provide the project files. Regards, Ralf   
0 Likes
13 Replies
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

What exactly do you mean with "can't be connected"? Do the pins just show up in the pin editor in Creator? Do you get an error message during compile? Anything else?

   

Typically all ports available for the current device can be selected in Creator, and if there is something amiss / wrong this gets reported during compile time.

   

Which ports did you want to connect? There are three full ports available on the '4245, why didn't you use them for the LCD?

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

Take a look at these -

   

 

       

http://www.cypress.com/?app=forum&id=2492&rID=75707

   

 

   

http://www.cypress.com/?rID=75882

           

 

   

Regards, Dana.

0 Likes
RaAl_264636
Level 6
Level 6
50 sign-ins 25 sign-ins 10 solutions authored

Hi hli,

   

 

   

"can't be connected" means I can't assign the pin to the port I want to. However, I figured out why it doesn't work as expected. I wanted to push a signal from port 2 to port 0. The signal must have LVTTL input threshold. On port 0 also a SCB-UART is connected, where the Rx pin must also have LVTTL threshold - Dana helped me to configure the Rx pin by using corresponding register writes (see http://www.cypress.com/?app=forum&id=4749&rID=92162 ) in firmware.

   

But now the problem grows, because a second pin with LVTTL threshold is on the same port, causing PSoC Creator to throw errors. So, two pins must be configured for the new threshold - I assume this behaviour is not expected by the PSoC Creator developer 😉 I'll open a ticket for it and give feedback.

   

 

   

Regards,

   

 

   

Ralf

0 Likes
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

I'm still confused: what does 'cannot assign' mean? Do you get a compile error? (if yes - what is it?). Another error message?

   

Actually, judging from the PSoC4 TRM, it should be possible to configure the input voltage level on each pin independently. What is the error you get?

   

(Maybe you can post the project to look at?)

0 Likes
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

I'm still confused: what does 'cannot assign' mean? Do you get a compile error? (if yes - what is it?). Another error message?

   

Actually, judging from the PSoC4 TRM, it should be possible to configure the input voltage level on each pin independently. What is the error you get?

   

(Maybe you can post the project to look at?)

0 Likes
RaAl_264636
Level 6
Level 6
50 sign-ins 25 sign-ins 10 solutions authored

Hi Hli,

   

 

   

I'm sorry for the confusion. There are no error messages.

   

You're right that the threshold can be configured for a single pin component, but it affects the whole port to which the pin is assigned. That caused my problem, try the following: create a couple of pins, some with CMOS and some with LVTTL thresholds. Assign the CMOS pins first, let's say to port 2. Now, if you want to assign the LVTTL pins to port 2, you can't select port 2 in the assignment tab. Since the SCB-UART doesn't provide a setting for the thresholds, this caused my initial problem because you can't mix the thresholds - the SCB-UART component is fixed to CMOS.

   

 

   

Regards,

   

 

   

Ralf

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

From the TRM -

   

 

   

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

Try again -

   

 

   

7.5 CMOS LVTTL Level Control

   


GPIO pins can work at two voltage levels. These levels can
be selected by writing to the PRTx_PC[24] bit.

   


Input level is individually configurable for each port. This bit
is cleared by default and the port works in CMOS mode. Set
this bit, to configure the port on LVTTL mode.

   


CMOS mode can be used in most cases, whereas LVTTL
can be used for custom interface requirements, which works
at lower voltage levels.

0 Likes
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

Ah, I see where I got confused. I read only the intro in part 7.3 of the TRM, and jumps betwen pin-control and port-control and the pin-control again. I kinda lost track there in the middle of it 😞

0 Likes
RaAl_264636
Level 6
Level 6
50 sign-ins 25 sign-ins 10 solutions authored

Dana, what do you mean by 'try again'? PSoC Creator doesn't allow to connect pins with different thresholds on a single port. This is valid since it's simply not possible, but on the first occurence where I can't connect the affected pin to the preferred port there was no indicator why it doesn't work.

   

 

   

Hli, no problem 😉 I opened a ticket, where Cypress agrees that the threshold for pin buried inside components should be configurable. I think this will be one of the changes of the next update.

   

 

   

Regards,

   

 

   

Ralf

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

"Try again", prior post did not show image paste of TRM information,

   

so I pasted it in text form.

   

 

   

Regards, Dana.

0 Likes
ETRO_SSN583
Level 9
Level 9
250 likes received 100 sign-ins 5 likes given

I placed two input pins on a schematic, PSOC 5LP, configed one as

   

CMOS input, the other as LVTTL. When I attempted to assign both

   

pins to a specific port, the first pin assigned fine, but when assigning

   

second pin, the port for the first pin is no longer available as a choice

   

for the second pin.

   

 

   

Basically forcing me to assign the second pin to another port.

   

 

   

So tool is consistent with TRM statement that threshold affects all pins

   

in a port.

   

 

   

Regards, Dana.

0 Likes
RaAl_264636
Level 6
Level 6
50 sign-ins 25 sign-ins 10 solutions authored

Hi Dana,

   

 

   

yes, the tool is consistent, no question. But the component should allow to configure the thresholds, even if the pins are buried.

   


Regards,

   

 

   

Ralf

0 Likes