- atusb.c (main), board.h (board_init), board.c (board_init): moved
clock and I/O initialization to board file
- board.h (led), board.c (led), atusb.c (main): abstracted LED setting
in function "led" instead of open-coding it
- spi.c (spi_init): set nSS to 1 before enabling the output, so that we
don't generate what looks like an empty SPI transaction
- atusb.brd: moved C14 and adjacent via 10 mil away from the transceive,
for improved solderability
- atusb.brd: moved nRST_RF via and trace by 5 mil, for better access to
the trace
- atusb.brd: reduced crystal front ground zone such that it does not
creep under XTAL2 corner (where it might meet exposed metal)
- board.h (read_irq), board.c: return status of the RF IRQ
- board.h (PIN, PIN_1, PIN_2): macros to read port pins
- ep0.c (my_setup): make ATUSB_POLL_INT return the real interrupt
- fw/include/atusb/ep0.h (HW_TYPE_110131): defined hardware type 2 for
ATmega32U2-based boards
- fw/ep0.c: define HW_TYPE as HW_TYPE_110131, not directly as 2
- fw2/atusb.c: include atusb/ep0.h instead of declaring ep0_init locally
- io.h: renamed to board.h
- Makefile (OBJS): added board.o
- atusb.c (reset_rf): moved to board.c
- board.h (reset_rf): give reset_rf a proper declaration
- atusb.c, ep.c, spi.c: include board.h instead of io.h
- ep0.c (do_usb_recv, usb_recv): implemented creepy buffer reception
- ep0.c (my_setup): added dummy for ATUSB_POLL_INT (always return 0)
- ep0.c (my_setup): send a zero-length packet at the end of
ATUSB_RF_RESET and ATUSB_REG_WRITE to indicate status stage
- Makefile (OBJS): added spi.o
- spi.h, spi.c, atusb.c: moved SPI functions to new file
- spi.h (spi), spi.c (spi), atusb.c (main): renamed function "spi" to
"spi_io"
- atusb.c (reset_rf, main): moved transceiver reset to separate function
- ./: basic framework to build a firmware that can enumerate
- usb/patches/: patches to make FreakUSB 0.7 compile cleanly and to make
it work in our context
- usb.sch: cleaned up programming/auxiliary/LED signals
- usb.sch: swapped LED and nRST_RF (tracking the layout)
- atusb.brd: updated for corrected netlist
- atusb.brd: moved date code which overlapped with traces
- atusb.brd: reduced front RF and power ground zones to avoid ground
fill between transceiver pads
- atusb.brd: added ground traces around crystal to widen ground zone
- atusb.pro, atusb.cmp: updated for ATmega32U2-based design
- usb.sch: rearranged LED, nRST_RF, and SLP_TR, to make layout easier
- atusb.brd: redid layout for the ATmega32U2-based design
- usb.sch: renumbered test points for serial programming
- usb.sch: moved everything down to make room on top
- usb.sch: moved description of pad placement near the pads
- usb.sch: added footprint of U1
- atusb.pro (LibName5): changed from c8051f326 to atmega8u2
- atrf.sch: export CLKM and added filter for 8 MHz clock
- atusb.sch: connect CLK between RF and USB side
- usb.sch: changed design frim C8051F326 to ATmega32U2 (needs cleanup)
Settings according to
http://www.nxp.com/documents/mounting_and_soldering/AN10365.pdf
- atben.pro, atben.brd, atusb.pro, atusb.brd: set solder mask clearance
to 50 um (copper-defined pads)
- atben.pro, atben.brd, atusb.pro, atusb.brd: set solder paste clearance
to 25 um
- atusb.brd: moved component references for proper printing on silk screen
- atusb.brd: moved component values for easy display (do not print on
silk screen !)
- atusb.brd, atusb.cmp: changed all 0402-M to the new 0402
- atusb.brd, atusb.cmp: changed 0603-M to the new 0603
- atusb.brd: updated layout for component changes
- at86rf230.h (REG_BATMON): address is 0x11, not 0x10
- at86rf230.h (TRX_CMD_MASK): width is 5 bits, not 3
- at86rf230.h (CLKM_CTRL_MASK): width is 3 bits, not 2
- at86rf230.h (PA_EXT_EN, IRQ_2_EXT_EN, TX_AUTO_CRC_ON_231): shifted by one
bit
- at86rf230.h (RX_BL_CTRL, AACK_DIS_ACK): added missing field
- at86rf230.h: added fields PA_BUF_LT and PA_LT
- at86rf230.h (ANT_DIV): added fields of this register
- at86rf230.h (NATMON_VTH_SHIFT, NATMON_VTH_MASK): corrected typo
- atrf.sch: replaced the AT86RF230 with the AT86RF231
- atusb.sch, usb.sch, atrf.sch: removed TST signal
- atrf.sch: grounded former TST pin
- atusb.brd: updated for TST removal
- atusb.brd: increased space between SLP_TR and nRST_RF vias
- atusb.brd: connect U2 pin 6 to ground pad
- atusb.sch, usb.sch, atrf.sch, atusb.brd: changed version to 20110104
- atusb.brd: increased RF ground zone by 150 mil in an attempt to reduce
interferences between the the antenna and the rest of the circuit
- atusb.brd: added more vias around and inside the RF ground zone
- atusb.brd: set version to 20110102
Traces leaving a pad on the side may invite solder bridges to "false pads"
exposed at the edges of the chip, with unknown consequences.
- atusb.brd: make trace from P0.0 (IRQ_RF) leave pad at the front, not
at the side
- atusb.brd: make trave from P0.7 (SCLK) leave pad at front, not at the
side
- atusb.brd: nRST may need an external pull-up to VDD. Added via to bring
nRST and VDD within reach (pull-up suggested by Joerg Reisenweber)
- atusb.brd: increased version to 20101229
- atusb.brd: increase clearance between RF clock front ground area and MCU
(ground area acted as solder trap)
- atusb.brd: route nRST_RF trace out of corner (to avoid accidental
contact)
- atusb.brd: don't route VBUS corner trace underneat chip (for general
tidiness)
- atusb.brd: bumped version to 20101219
- atusb.brd: reduced RF front ground area to avoid interconnections very
close to the chip
- atusb.brd: reduced RF power front ground area to avoid interconnections
very close to the chip
- atusb.brd: moved via next to TXRX pad 18 (GND) to make room for making
CLK trace leave the pad at its end, not at its side
- atusb.brd: bumped design date to 20101217
- fw/Makefile: replaced "make" with $(MAKE) (just for style)
- common/Makefile.common: Makefile settings shared within project. For now,
this contains only the board version, which defaults to 2010-12-16.
- fw/common/Makefile, fw/boot/Makefile, fw/atusb/Makefile: include
common/Makefile.common
- fw/common/Makefile, fw/boot/Makefile, fw/atusb/Makefile: pass board
version to cpp and gcc
- fw/atusb/atusb.c (init_io): individually set IRQ_RF to one, LED and TST
to zero
- fw/atusb/atusb.c (init_io): added macros to set all unused pins to zero
in a way that doesn't need updating if a signal moves from one pin to
another
- include/atusb/ep0.h: added hardware type 1 (2010-12-16 design)
- common/config.h: set hardware type depending on board version
- common/io.h: assign pins depending on board version
- atusb/cam2/mkmk: updated for new board
- atusb/cam2/mkmk: further increased board to board spacing, to reduce
board deflection
- atusb/cam2/mkmk: decreased nominal mill diameter to 20 mil to compensate
for board/tool deflection
- atusb/cam2/mkmk: added target "dplot" to visualize the sequence in which
holes are drilled
- mkmk: adjust board position
- mkmk: reorder output such that the edge is cut last, reducing board shift
- mkmk: reduce nominal mill diameter for large holes and slots, to increase
hole/slot size
- mkmk: generate "plot" target in Makefile, to visualize the output
- mkmk: use toolpath file for "cngt" instead of calculating the reference
point manually
Run ./mkmk to generate toolpaths and a Makefile. Then
make cng changes tools (used for drill and mill)
make drill does the drilling
make mill does the milling
- usb.sch: use P0.2 as board revision ID pin
- atrf.sch: label feed line
- atusb.brd: set feed line width via design rule, not as user size
- atusb.brd: increase feed line width from 18 mil to 19 mil (it should be
58 mil, but we don't have room for more)
- atusb.brd: bumped version number to 20101202
- atusb.brd: put version number on PCB
- atusb.sch, usb.sch, atrf.sch: bumped version number to 20101202
- atusb.brd: moved traces into USB plug such that they coincide with
thermal relief
- atusb.brd: moved trace into antenna ground such that it coincides
with thermal relief
- atusb.pro: reduced edge and drawing line width from 15 mil to 5 mil
- atusb.brd: added ground zones on bottom layer
- atusb.brd: moved IRQ_RF and VDD traces for better ground area coverage
- atusb.brd: move antenna to its rightful place
- atusb.brd: added two more GND vias after antenna move
- atusb.brd: added proper board edge
- atusb.brd: added board dimensions (16.3 x 33.2 mm)
- atusb.brd: moved via next to C11 closer to C11 and away from RF section
- atusb/atusb.pro: instead of modules/meander, use experimental ants/meander
- atusb/atusb.pro: typo - it's modules/usb_a_plug_smt, not
modules/usb_a_plug
- atusb/atusb.cmp (ANT1): change antenna from "meander" to "MEANDER-110"
(10% enlarged)
- atusb/atusb.cmp (CON1): change from "miniUSB_B" USB receptacle to
"USB-A-PLUG-SMT" plug
- atusb/atusb.cmp (VR1, VR2, VR3): update value from schematics
We know from CNTR that the capacitance of the 0603 TVS (EPCOS CT0603M4G,
200 pF) is too large and can disturb the USB signal. The 0402 TVS
(Panasonic EZJ-P0V080GA, 100 pF) works much better.
Since we have lots of 0402 components already, just change the remaining
0603 to 0402, too.
- usb.sch (VR1, VR2, VR3): change from 0603 to 0402 and from 5V5 to 5V6
- usb.sch (C1, C2, R1): change from 0603 to 0402
- atrf.sch (R3): set footprint to 0402
- atusb.pro: replaced modules/mini-usb with modules/usb_a_plug
- atusb.pro: removed extension from components/balun-smt6.lib
- atusb.cmp: update footprints for above changes
- atusb.cmp: change 0402 to 0402-M and 0603 to 0603-M, for easier
soldering
This way, we can plug the device into a USB port, like a USB stick.
We use a real plug (instead of shaping the PCB in the form of a plug)
for better mechanical stability.
- atusb.pro: change from components/mini_usb_b to components/usb_a_plug
- usb.sch (CON1): replace MINI_USB_B with USB_A_PLUG
The C2 pads were originally sized for permanently soldering a 100 mil
header. For development, a temporary connection is sufficient. Eventually,
we will just use pogo pins to make this connection.
- usb.sch: changed C2 pads from PAD_120x60 to PAD_60x60
- usb.sch: added comment that pads should be spaced at 100 mil interval
- atusb.sch: removed test points for signals going between USB and RF side
- atusb.sch: TST is no longer a rework item - removed comment saying it is
- atusb.sch, usb.sch, atrf.sch: bumped version number to 100930
- atusb/fw/boot/Makefile: still referred to the project as ATSPI (not ATRF)
in title comment
- atusb/fw/include/atusb/usb-ids.h: still had old atspi path in title comment