2 Replies Latest reply on May 16, 2016 4:28 AM by johi_296581

    Configuring SCB IO Pins to LVTTL rather than CMOS levels

      Does anyone know if it is possible to set the logic thresholds for the RX input pin of an SCB component is the same way as you can for a discrete IO pin? The architecture seems to suggest it should be possible in hardware but I cannot find how to configure it in PSoC Creator.


      For background, I am trying to interface with a FT230X FTDI USB converter chip which has IO at 3.3V maximum, but with 5V tolerance on the inputs. My PSoC (actually it is a PRoC BLE Module, but I posted here because this question should apply to any PSoC/PRoC 4 chip) has to run at 5V for other reasons. It works fine as a prototype, but I am concerned that the CMOS high logic level is marginal (spec says 0.7*VCC minimum = 3.5V). Actual tests indicate the threshold is 2.2V on the prototype, but I do not want to chance my arm! The LVTTL specification of 2V minimum would be safe, but I do not know how to set this for the SCB component as opposed to a Pins component.


      Since the threshold setting is per port, I layed out my PCB so one other 3.3V input was on the same port as the SCB expecting that setting that pin to LVTTL would set the entire port including the SCB RX (and TX). But when I try doing that in PSoC Creator 3.3 I get the following error:


      pft.M0032:Pin Error: (Mixed Input Threshold. Cannot assign 'USB_ON(0)' with Input Threshold LVTTL to physical port 1 where '\SCB_2:tx(0)\' with Input Threshold CMOS is already placed.).


      This is followed by error messages about the SCB rx and tx pins not having the same <vtrip> as the pin USB_ON.


      But there is nothing on the SCB configuration about setting the Input Threshold.

        • 1. Re: Configuring SCB IO Pins to LVTTL rather than CMOS levels

          You could try to configure it directly using register write. Here is the registers TRM of PRoC BLE device,




          Check for address: 0x40040008 for Port 0.

          • 2. Re: Configuring SCB IO Pins to LVTTL rather than CMOS levels

            Many thanks for this pointer @KeerthiRocks! Since my SCB is on Port 1, I put the following right at the start of my main routine:


                (*(reg32*)(CYREG_GPIO_PRT1_PC)) |= 0x1000000;


            With this there I measure a threshold of 1.6V while with it commented out the threshold is 2.1V. This is measured on another P1 pin because I have not got a suitable way of measuring it on the actual SCB RX pin, but I assume that must go through the same input circuit otherwise why would PSOC Creator object to having the Pin component properties set to LVTTL? To be thorough though maybe I need to set up a test with a potentiometer between the USB converter and the PSOC RX pin.


            As feedback, it would be better if PSOC Creator represented the SCB TX and RX as ordinary Pin components on the schematic (a composite component) so their properties could be set directly. This would also allow external components connected to these pins to be represented on the schematic in the same way as for other Pin components.