mirror of
git://projects.qi-hardware.com/ben-wpan.git
synced 2024-11-04 23:44:59 +02:00
c7303e4ac1
- cntr/README: description of the counter board and its application - cntr/fw/common/crc32.c: variant of CRC32-IEEE802.3 shared by firmware and measurement application - cntr/fw/cntr/ep0.c (my_setup), cntr/tools/cntr/cntr.c (get_sample): protect the counter value with a CRC and an one's complement copy - cntr/fw/include/cntr/ep0.h: oops, wasn't checked into repository - cntr/tools/cntr/cntr.c: added section titles - cntr/tools/cntr/cntr.c (measure): show communication statistics at the end - cntr/tools/cntr/cntr.c (measure, usage, main): new option -d to enable reporting of communication errors - cntr/tools/cntr/cntr.c (set_stop, measure): let user stop measurement with SIGINT - cntr/tools/cntr/cntr.c (measure): get multiple "first samples" and keep the one with the shortest round-trip time - cntr/tools/cntr/cntr.c (measure): changed unit "ppk" (1/1000) to percent (1/100) - cntr/tools/cntr/cntr.c (usage, main): command-line argument is now the accuracy goal, while the system clock deviation is set with the new option -c - TODO: some more things to do
135 lines
3.5 KiB
Plaintext
135 lines
3.5 KiB
Plaintext
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 variantes: one to make a USB
|
|
dongle for use with any Linux host, and one that connects with SPI directly
|
|
inside a Ben.
|
|
|
|
|
|
Things not done yet
|
|
-------------------
|
|
|
|
- define values for crystal load capacitors. Measurements with instruments not
|
|
quite precise enough (+/- 100 ppm) for the task (+/- 40 ppm, preferably
|
|
< +/- 10 ppm) suggest that we're about 300 ppm off with no capacitors at all
|
|
and can only correct about 150 ppm with the internal trim capacitors.
|
|
|
|
- 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
|
|
|
|
- verify that the Ben can output an a) 16 MHz clock, and b) with +/- 40 ppm
|
|
|
|
- replace discrete balun and filter with integrated solution, to reduce BOM
|
|
size, maybe cost, insertion loss, and PCB space
|
|
|
|
- check if we really need three DC blocking caps in the RF path
|
|
|
|
- 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
|
|
|
|
|
|
Bugs to fix
|
|
-----------
|
|
|
|
- two of my systems (tv and u1010) flat out refuse to talk to the board's USB
|
|
application, but have no problem talking to its DFU boot loader. Very
|
|
strange.
|
|
|
|
- atrf vs. atspi naming is a bit confusing
|
|
|
|
|
|
ccrf
|
|
====
|
|
|
|
Board similar to the atrf, but with the TI/Chipcon CC2520.
|
|
|
|
|
|
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.
|