Monday, 4 May 2015

An Expansion Board for TI's C2000 Series Piccolo LaunchPad



PCB of the C2000 LaunchPad Expansion Board

I have been using TI's C2000 Piccolo LaunchPad from the past 6 months and it's a great tool which is available at an affordable price. I enjoy working with this LaunchPad and have been using it my projects, which generally are focused on Power Electronics applications.

The main charm about this LaunchPad is that it provides isolated JTAG Emulation. Since the C2000 Series Microcontrollers are targeted towards real-time Power Electronics applications, isolation being included in the LaunchPad itself makes real-time debugging of any application safe in the prototyping stage. So you can at least make sure that your PC / Laptop isn't fried while debugging the code if there is any fault on the converter side.

In order to make prototyping easier, and making some sections of the microcontroller compatible to 5V logic devices as well, I thought that I should design an expansion board dedicated to the Piccolo LaunchPad.

Features of the Expansion Board :

1. To make use of the Isolation section provided on the LaunchPad, it is important that the jumpers JP1, JP2, JP3 on it are removed first. Removing the jumpers isolates the grounds of the JTAG Section and the microcontroller (Beyond the isolation boundary). Hence, an auxiliary supply is required to power up the microcontroller side after the disconnection of the jumpers.
The microcontroller side requires a 5 V and a 3.3 V Supply. The 3.3 V Supply is required to power up the microcontroller, the ISO72xx ICs, and the LED drivers on the LaunchPad. It seems that the other 5 V Supply is simply made accessible on one of the header pins, probably to power up any booster-pack connected to the LaunchPad.

The Expansion Board accepts inputs in between 6.5 V - 9 V, which powers up a LM1117-N-5.0 LDO, and it provides the 5 V Supply. A LM1117-N-3.3 is then cascaded after the 5 V LDO and that provides the 3.3 V Supply to power up the microcontroller and it's peripherals.

2. I also intend to use the serial communication modules (UART, SPI, I2C) along with 5V logic devices, hence I routed a 3.3 V to 5 V level translator that I found on Arduino's website (Link). Since I wanted to keep the board single sided and wanted to avoid surface mount components, I decided to use 2N7000 MOSFETs along with 4.7k pull-ups on the transmission rails of all pins. 
In case I need to use the communication pins as standard GPIO, the LaunchPad is ready to communicate with 5 V devices for bi-directional usage of the pins.

Note : The SCK pin of the SPI Module is routed for 5 V logic via a unidirectional buffer, hence the module cannot receive a clock from the other device. Hence, the microcontroller will always have to be used as a master and will not be able to function as a slave. The chip-select function can be implemented in software and any unused GPIO can be used for the purpose.

3. One of my LaunchPad was damaged due to over voltage on an ADC pin. I had initially thought that there are inbuilt protection diodes on each ADC input. I was mistaken and found that after I read the reference guide of the ADC Module (Link).

Internal ADC structure of a 28x Series DSP

6 ADC Channels are made available on header pins as well as screw-terminals. 3 of the channels  
( B3, B1, A0 ) have been added diodes to clamp positive and negative over-voltages to +/- 0.7 V with respect to Vcc and GND using UF4007 ultrafast diodes. These channels should be connected to analog voltages which have high chances of transient voltages in their signals ( Eg. Current Transformers).
The remaining unprotected channels ( A1, A3, A7 ) can be connected to analog signals with a predictable output which lies within limits and that are less susceptible to transients.

All the 6 channels routed via the expansion board receive the analog signals through a 10 ohm Resistor.

4. The pins GPIO0 - GPIO5 can be also used as EPWM pins. These pins are connected to the unidirectional buffer IC 74HC7541 and always need to be configured as output pins. The buffer IC makes the signal matched to 5 V Logic and also increases it's driving capability. Also while using the GPIOs as EPWM outputs or while operating the SPI module, there are chances that the signal may induce noise in it from the power supply. Hence I added a 4x10mm ferrite bead (That was the smallest that I had) and a local decoupling capacitor near the buffer IC to filter any transients created in the supply due to high frequency switching in the IC.



Silkscreen and LaunchPad template


Silkscreen and Copper

I will be making the PCB within a few days and will keep you updated.

2 comments: