CCA2D2 v2 Interface
Version 2 of the CCA2D2 is an analog and digital interface with both
real-time and datalogging capabilities. It has two ports for probes a
serial interface for connecting to handheld, laptop, and desktop
computer systems and a IrDA port. The microcontroller and the low-power
I/O functions are operated with a 3.3V bus which can be powered
directly from the handshake line on a connected serial port, from 2
internal AA batteries, or from a wall blob. The batteries through the
power convertor can supply up to 300 mA at 5V to systems that need more
power than can be stolen from the serial port such as high-power probes
and the IrDA communications port.
Design Overview
More Details:

Prototype CCA2D2 v2 interface with light probe in Probe Port A

Prototype CCA2D2-v2 opened
Design Overview
The PIC16F874-04 microcontroller running at 4 MHz is used to operate
the interface. On the prototypes we expect to use a PLCC-44 package. We
are also looking for either PQFP or TQFP packages, which are smaller,
but they may cost more and are harder to get. In addition to the I/O
ports on the PIC we have also added an 8-bit serial shift register to
set output signals which do not need to be changed often.
The CCA2D2 includes an 8kb non-volatile ferro-electric memory storage
from Ramtron which can be used to save probe data when operated
disconnected from a host computer in datalogger mode as well as a
buffer to store data collected at higher speed than can be communicated
by the serial port. The advantage of FRAM instead of standard EEPROM is
a much faster write time and much lower power usage. The initial
prototypes will only have 2kb of memory because the 8kb parts won't be
available until September.
The CCA2D2 uses a 0-3.3 V level serial port communicating at 9600 bps
to communicate to a host computer. While this is well under the RS-232
specification it works correctly on many systems including Palm, Casio
and Compaq Pocket PC's and IBM Thinkpad systems. A custom cable must be
used in order to communicate with Macintosh serial ports.
In addition to the serial port there we have designed in the capability
for a 9600 bps IrDA low speed SIR IrDA port which can be used to
communicate previously logged data. Initially the IrDA chip will not be
installed. The IrDA port is only used to transmit previously saved
blocks of data. It is not designed to operate while the interface is
collecting data. When used at normal IrDA power settings the IrDA led
will take peak currents of up to 350 mA and transmit over a 1 m range.
Certain transceivers will also function according the IrDA 1.2a low
power specification at approximately 10% of the optical power and over
a range of 20 cm, for example the Sharp GP2W002.
The interface has both a high efficiency led output and a push button
input. These I/O devices are used for simplified direct communication
with a user to initiate datalogging when operated remotely from a host
computer. In addition the button can be used as a reset button and to
wake the interface from a comatose state.
The button status and IrDA RX lines are both read by port B0 however
the button is only enabled when the Shutdown line to the IrDA
transceiver is asserted (held high). The IRDA Rx pin connects through a
10K resistor to the PIC's RB0/INT. RB0/int has a 470K pulldown. the
port b pullups are disabled. the pushbutton connects the RB0/int pin
through a diode to the IRDA DISABLE line (high to disable). If IRDA
DISABLE is high, the IRDA Rx should be inactive, RB0 should be low from
the 470K pulldown. When the button is pressed, RB0 is pulled high
through the diode. If IRDA DISABLE is low, the IRDA Rx may be active,
therefore the state of RB0 is unknown. when the button is presses, the
diode prevents current from flowing across the switch.
Each probe port can be operated independently and include 2 24-bit
low-speed (3Hz) and two 10-bit high-speed (200 Hz) analog inputs. The
10-bit inputs can be operated as fast as 10KHz if the data is saved
first to memory built into the interface and then transmitted later
over the serial interface. There are also 3 digital lines which can be
used for output and input, 3.3V power and switched 5V power.
Currently the plan is to use the 2.5V reference for the 24 bit
converters and through a filter as the reference for the 10 bit
converter. It will be used as a single ended reference. The PIC can
switch between this 2.5V ref and the 3.3V bus under software control.
The 10 bit converter inputs will be buffered though unity gain op amps.
The inputs to the buffers are very high impedance. If there is room on
the board, we could use differential inputs to these buffers. The trade
off would be lower impedance inputs. (100K or 200K as opposed to
>1M).
Each probe includes a non-volatile, 2k, low-power, $0.80 ferro-electric
ram memory chip for holding type, identification, and calibration
information specific for that probe. In addition the interface can
identify when a probe is plugged in to the interface and when it is
removed. Communication to the FRAM chips are through 2 bit-banged I2C
busses. The serial clock line is shared and each probe port has an
individual pin for it's FRAM Serial data line. The FRAM chip when
active uses a weak pullup on it's serial data line. On the interface
the same signal line is connected to an even weaker pulldown. This
allows the SDA lines to be configured as inputs and to determine
whether a probe is plugged in to that port.
The interface can be powered from the RTS line of an active serial port
or from two internal AA batteries or a 4-5V wall blob. Power from the
batteries and/or wall blob are diode-or'd together and sent through an
inductor-based power convertor which steps up the voltage to 5V with an
efficiency of 82% at 1.6 mA. The power convertor will operate normally
with input voltages between 1.1 to 6V. If the input is greater than 5
volts, it will be passed to the 5V bus voltage. The input should not be
greater than 6 volts. We will probably add some protection against
inputs greater than 5V. The efficiency of the converter increases to
94% before the load reaches 10mA.
Internally there is a 5V and a 3.3V power bus. The 5V bus powers the
3.3V bus and is available as individually switched voltage supplies on
the probe ports. The 3.3V bus powers the microcontroller, analog
interface circuitry and the probe ports -- basically everything except
the switched 5V supply on the probe ports.
The three different system supply voltages can be monitored on analog
input port E2. At this point the plan is to have the three pins on port
B assigned to the 24 bit shared serial clock and two serial data pins
are used to select which voltage supply is measured.
The interface has four power states.
Off: This state only occurs when there are no batteries installed (or
they are dead) and no power is available from a wall blob, and no power
is available from an active serial port.
Comatose: This states uses less than 1 uA. The state is entered when
power is available from either batteries or a wall blob and the serial
port is inactive. The state is entered by disabling the power convertor
through an output bit on the serial shift register. The interface may
be woken from this state by either an active serial port or by pressing
the reset button. Pressing the reset button will cause a capacitor to
be charged which will power the enable line on the power convertor for
2-4s during which time the power convertor must be enabled through the
serial shift register for continued operation.
Sleep: This state uses less than 500 uA. In this state the power
convertor is operating and the 3.3V bus is powered however chips on the
board are either in sleep or low power modes. The interface can be
woken from sleep by either a timer one countdown to zero or by a change
in status on port B0. The port B0 signal can be either the IrDA RX line
or the push button input.
Port pins C0 and C1 are connected to a 32.768 KHz crystal whose
oscillation increments the T1 counter while the system is asleep. When
T1 rolls over to zero the processor is woken up. Sleep intervals from 0
to 16s can be programmed by setting T1 and the T1CON prescaler. The
processor wakes up and starts operation approximately 0.25 ms after the
T1 countdown.
Wake up from sleep could also be from the special event trigger
associated with timer1. This also allows an arbitrary periodic wake up
frequency.
With fresh 1600 mAh alkaline batteries the interface can operate as a
datalogger for approximately 14-18 weeks.
Low-power Operation: This mode takes less than 2 mA and is the normal
operating mode.
High-power Operation: This mode is entered when either one of the probe
ports 5 volt supplies are switched on or when IrDA transmit led is
being powered.
When the interface is not in a datalogging mode it will turn on when
connected to an active serial port and enter the comatose state when
the external serial port is shut down or the serial cable is
disconnected.
There are two datalogging modes. The traditional mode is long-term
datalogging. In this mode the interface is normally asleep and it will
wake up at intervals check to see if probe data need to be collected,
if true collect the data and save it and then go back to sleep. The
interface will operate between 14-18 weeks when supplied with fresh
alkaline batteries.
The other mode is high-speed. In high-speed mode the interface waits
for a trigger condition and saves data to the internal memory at a
relatively fast sample rate. This rate can go to the maximum possible
for the selected convertor. The lower limit is that rate beyond which
it saves power by going to sleep between data samples.
Site questions and comments: stephen@concord.org
