General ======= Things not done yet ------------------- - document directory hierarchy - make sure all files have a copyright header or are listed in AUTHORS - connect all the bits and pieces of the build system - combine io-parts.h generation - combine "standard" EP0 commands, such as *_ID and *_BUILD - implement return to DFU in application's EP0 protocol - consider removing *_ID and using bcdDevice instead Bugs to fix ----------- - builds fail if .version isn't there yet atrf ==== AT86RF230-based IEEE 802.15.4 transceiver. Two variants: one to make a USB dongle for use with any Linux host, and one that connects with SPI directly inside a Ben. Update: following Rikard Lindstrom's revelation that we can use the uSD slot also just as general GPIOs, the variant that goes inside the Ben can wait a bit and the atusd board for insertion into the uSD slot is being worked on first. We can verify most of the design of a fully integrated board with the atusd board and the latter will be of greater immediate use. Things done ----------- - verify that the Ben can output an a) 16 MHz clock, and b) with +/- 40 ppm Done, see ecn/ecn0005.txt. Works fine. - replace discrete balun and filter with integrated solution, to reduce BOM size, maybe cost, insertion loss, and PCB space (see ATRF/ECN0003) Done for atusd. At a first glamce, does not seem to affect performance. - check if we really need three DC blocking caps in the RF path Reduced to two in atusd without apparent ill effects. Things not done yet ------------------- - examine spectrum around carrier frequency and first harmonic to look for obvious distortions. Vary transmit power. - measure throughput as a function of placement/distance, carrier frequency, and transmit power - atspi-txrx: suppport "extended mode" with IEEE 802.15.4 CSMA-CA for more realistic throughput figures - measure full spectrum (ideally up to 25 GHz, but just 2nd and 3rd harmonic will already tell most of the story) with calibrated antenna for FCC/ETSI compliance assessment. Vary transmit power. - use IEEE 802.15.4 stack from linux-zigbee. The linux-zigbee kernel is currently at 2.6.35. Once 2.6.36 is released, we should have Ben and IEEE 802.15.4 support in the same kernel without further ado. - change layout of transceiver side of the board for placement inside Ben - define EMI filters for placement inside Ben - check USB standard for recommended USB dongle dimensions - change layout for straight USB dongle - generate proper BOM - implement sleep mode - (atusd) verify SPI signal timing, particularly the data clock Bugs to fix ----------- - atrf vs. atspi naming is a bit confusing. Rename atrf hardware to atusb, and maybe the tools from atspi to atrf ? ccrf ==== Board similar to the atrf, but with the TI/Chipcon CC2520. Cancelled. The CC2520 falls under US export restrictions, apparently because it contains an AES engine. cntr ==== Simple USB-based counter to measure a clock's long-time accuracy with arbitrarily high precision, by comparing it to an NTP time reference. Things not done yet ------------------- - measure duty cycle - use the LED to display activity on clock input and duty cycle - consider using a comparator and a DAC to allow for programmable logic levels - evaluate termination resistance - document circuit design - record beats between 16 bit counter polls and use them for the estimate of lost cycles (2*1 is way too optimistic) - include system clock resolution in accuracy calculation - consider running shorter sliding windows to estimate drift - consider detecting unusual half-periods - consider using a reversed USB connector, to avoid having to cross D+/D- and, worse, VBUS and GND - test input performance by counting a source that emits a known number of cycles - consider using historical margins to sanity-check the current margin (if any old.max < curr.min or old.min > curr.max, we have a problem) and to further narrow the effective margin, thus achieving faster convergence. We would have to consider temperature drift of the frequency source in this case. - find out why frequency measurements always seem to start high and then slowly drop