You need to use only Port 12 for SIO pins. Also set the drive mode to Open Drain and connect your SIO to 5V with a resistor so that you can drive the external device.
Thanks for the response.
I'm still not sure what was causing the error message. It went away when I changed the levels to CMOS instead of VREF. I had overlooked the fact that SIO can't source a voltage higher than its vddio. I am now configured as you recommend. I'm not convinced I won't see the error again the next time I attempt to specify VREF instead of CMOS - I think a bug is lurking in there somewhere.
SIO cannot source voltage more than the voltage set in its Vddio setting. However you can connect it to higher voltage system (upto 6V) by using external pull up resistors and configuring the SIO to open drain.
The error you have encountered may be due to different configuration setting for the SIO pins in a given pair.
In PSoC3/5 the Voltage supplied to I/O pins (Vddio) are divided into 4 quadrants. Hence there are 4 Vddio available- Vddio0, Vddio1, Vddio2 and Vddio3. There is a pair of SIO (Port 12 pins) present in every quadrant.
Vddio0 - P12:P12
Vddio1 - P12:P12
Vddio2 - P12:P12
Vddio3 - P12:P12
Hence two pins a a given pair cannot have different voltage configuration.
The appropriate voltages for Vddio can be set at the following location in the project:
.cydwr > System > Voltage Configuration
Let us know if this works.
Like I said, my problem was solved by changing the input thresholds to CMOS or LVTTL and changing the output to VDDIO with the drive set to Open Drain, Drives Low.
However, if I change both pins on a SIO port setting the input threshold to 0.5 Vref and the output drive level to Vref (leaving the drive set to Open Drain, Drives Low, in the General tab), the fitter spits out:
Error: apr.M0014: Location for SIO port "I2C_Clk_SIOREF_0" is invalid; SIO ports must align with the start of an SIO pair. (App=cydsfit)
In PSoC3 there are 2 types of IOs namely GPIO and SIO. There only 8 pins available as SIO. These are available on PORT12. The SIO pins are tolerant to input voltages higher than the I/O supply voltage and can sink up to 25 mA current. The input threshold levels 0.5 VDDIO, 0.4 VDDIO, 0.5 VREF, VREF is available only with an SIO. Selecting 0.5 x VREF and VREF threshold options add reference Terminal to the Digital Input Pin component. This allows to route external reference from other components such as DAC or a Pin.
If you need the 24mA current capability or the above mentioned input thresholds, the pins have to mapped to PORT12 in the project.CYDWR file.
Hope this helps.