SeparatorPrevious TopicNext Topic
You are here: I/O Pins (P8X32A)

I/O Pins

How many pins does the Propeller have?

The Propeller P8X32A comes in 3 package types:

  • 40-Pin DIP
  • 44-Pin LQFP
  • 44-pin QFN

 

Do the 44-pin packages have more I/O pins than the 40-pin DIP?

No. All three Propeller P8X32A packages have 32 I/O pins. On the 44-pin packages, there are extra power and ground connections.

 

What is the default pin state on startup?

Upon startup or reset, all I/O pins default to input (high impedance), meaning each cog's DIRA register is initialized to zero. Each cog's OUTA register is initialized to zero as well, but this low (ground) state is not reflected on the pin until the pin is set to the output direction (via DIRA).

 

Are there any special-purpose I/O pins?

I/0 pins P28–P31 have a special purpose upon power-up/reset but are general-purpose I/O afterwards:

  • P28: I2C SCL connection to optional, external EEPROM.
  • P29- I2C SDA connection to optional, external EEPROM.
  • P30: Serial Tx to host.
  • P31:Serial Rx from host.

 

Can any cog access any I/O pin?

After boot-up, any cog can access every pin at any time. There is no special relationship between a specific cog and a specific group of I/O pins.

 

How is cog contention for I/O pins handled?

Each cog has its own 32-bit I/O Direction Register (DIRA) and 32-bit I/O Output Register (OUTA) to influence the directions and output states of the Propeller chip’s corresponding 32 I/O pins.  A cog's desired I/O directions and output states is communicated through the entire cog collective to ultimately become what is called "Pin Directions" and "Pin Outputs" in the upper right corner of the P8X32A Block Diagram.

The result of this I/O pin wiring configuration can easily be described in the following simple rules:

  1. A pin is an input only if no active cog sets it to an output.
  2. A pin outputs low only if all active cogs that set it to output also set it to low.
  3. A pin outputs high if any active cog sets it to an output and also sets it high.

For details and I/O sharing examples see I/O Pins in the Propeller Help.

 

What is the I/O pin logic threshold and logic levels?

The P8X32A is a CMOS device, so the I/O pin logic threshold is approximately 1/2 Vdd.

  • With the P8X32A running at 3.3 V, the I/O pin logic threshold is about 1.6 V.
  • An input pin will interpret a voltage below 1.6 V as a logic level low, and will interpret a voltage above 1.6 V as a logic level high.
  • An output pin will produce 0 V for low and 3.3 V for high.

 

Are there any analog I/O pins?

No, the Propeller P8X32A I/O pins are all tri-state digital pins, supporting output-high, output-low, and input states. However, sigma-delta analog-to-digital and digital-to-analog conversion can be synthesized on any I/O pin through the use of any cog's Counter Modules.

 

Do any Propeller I/O pins support Schmitt triggering?

No; however, one or more I/O pins can be configured to handle Schmitt-triggered inputs with a few external resistors and one additional pin with programmed positive feedback. See Application Note AN015.

 

How much current can each I/O pin source or sink?

Any individual I/O pin can source or sink about 40 mA; however, care should be taken to ensure that the entire chip does not exceed 1 W of power dissipation. See the Propeller P8X32A Datasheet for more information.

 

Can I power devices from an I/O pin?

Yes, but be careful that the device's voltage requirements are within the Propeller's supply voltage, and the device's current draw doesn't exceed the I/O pin's source/sink current limit.

 

Can I power devices from the Propeller Vdd pins?

No, the Propeller's Vdd pins are for supplying power to the chip: 2.7 to 3.6 VDC, 300 mA. However, the Propeller and an external device can be powered from the same source (approximately 3.3 VDC) as long as that power source is capable of handling the overall current draw. See the Propeller P8X32A Datasheet for more information.

 

Propeller Q&A

Copyright © Parallax Inc., dba Parallax Semiconductor

Version 1.2

8/22/2013

Terms of Use