I thought I would write a quick post on a booster pack that I am working on.
First a bit of background.
I am working on a High Altitude Amateur Radio Balloon. I have some sensors and peripherals that use standard async serial for IO (GPS, speech module, radio modem), and I have run into a shortage of serial ports on the G2553. I could bit bang the serial out over GPIO but that just seems a bit inelegant to me. So I went looking for a better way. What I found is the SC16IS7xx line from NXP.
I chose the SC16IS752 since it offers dual serial ports with a single connection to the I2C bus, 64 byte FIFO, and 8 programmable GPIO lines.
From the datasheet it looks like the chip has 16 possible I2C slave addresses, so in theory you could stack 16 booster packs for a total of 32 additional serial ports and 128 additional I/O lines.
http://www.nxp.com/documents/data_sheet/SC16IS752_SC16IS762.pdf
So far I have designed the board and sent it out for production. I'm hoping to receive the bare boards near the end of September. After that I'll start doing some testing and working on driver code for the board.
I designed the board to use as few I/O pins as possible and to pass through all pins so other booster packs can stack on top if it.
J1-J4 and I2C address lines
J5/J6 are the serial ports and GPIO
J7-J9 are the boosterpack connections.
So as I'm writing this and just about to hit the POST button, I look at the rendering on the board and realize that I forgot something!
I noticed that I forgot to include the I2C pull-up resistors. DOH!! I also noticed that I mislabeled the J2 & J4 address pin. The pins closest to J7 should be labeled SDA not SCL. At least I only ordered 3 boards for prototyping. I'll fix it on Rev 2.
Thoughts, comments and questions are welcome
thanks
Brian