revisiting the UART board
werner at openmoko.org
Sat Feb 5 23:51:28 EST 2011
The UART board still has a rather largish to do list:
- find a better name ("UART" isn't specific enough. There could be
many UARTs in a given scenario. "uart-8:10" or such would be
unambiguous but it's also a bit lame.)
- to keep things small, the board only has TX and RX, but no modem
or flow control signals. This design choice may be controversial.
Why small ? 1) because I think tiny circuits are cool. 2) to
minimize the mechanical stress on that little 8:10 card holder.
- review the pin assignment at the connector (TX-GND-RX). I think
it's convenient to use (e.g., for a gender change, just rotate)
and makes it easy to avoid problems with reverse polarity, but if
there's a different convention already established at the other
end, it may be better to follow that.
- examine signal integrity and adjust the termination circuit
- add over-/undervoltage protection (5 V, reversed polarity, etc.)
Three should probably be a pair of ~3.3 V Zeners to prevent 5 V
mishaps from getting out of hand, and similar issues.
- maybe loosen the quite tight spacing around vias a little.
The via spacing is pushing the limits of the toner transfer
process I'm using. There's a bit of room left, so maybe a less
crowded arrangement is possible.
- the current design allows the UART board to use the Ben's clock.
The ATmega48's internal RC oscillator may be accurate enough for
the task, and using it would free the clock signal line for other
- ... such as an interrupt to signal the arrival of new data, which
is currently not included in the design. (Creative sharing of
some of the other lines may also work, though.)
- write firmware that actually transfers data between SPI (which
is what the board talks with the Ben) and the UART. Right now,
all my firmware does it blink the LED.
This also means that the SPI slave functionality hasn't been
- host software support, at least in user space, if not a kernel
I mentioned that it has already fulfilled the purpose I made it
for, so completing it has a low priority for me. If someone else
feels like taking over this little project to make things happen
more quicky, please don't hesitate to grab this opportunity :-)
More information about the discussion