IEEE 802.15.4 subsystem
Sign in or create your account | Project List | Help
IEEE 802.15.4 subsystem Git Source Tree
Root/
Source at commit a7a94b85cd782d9e56cbbe3f44db29b6f4e0bdbe created 13 years 4 months ago. By Werner Almesberger, Use getopt in atspi-rssi.c | |
---|---|
1 | General |
2 | ======= |
3 | |
4 | Things not done yet |
5 | ------------------- |
6 | |
7 | - document directory hierarchy |
8 | |
9 | - make sure all files have a copyright header or are listed in AUTHORS |
10 | |
11 | - connect all the bits and pieces of the build system |
12 | |
13 | - combine io-parts.h generation |
14 | |
15 | - combine "standard" EP0 commands, such as *_ID and *_BUILD |
16 | |
17 | - implement return to DFU in application's EP0 protocol |
18 | |
19 | - consider removing *_ID and using bcdDevice instead |
20 | |
21 | |
22 | Bugs to fix |
23 | ----------- |
24 | |
25 | - builds fail if .version isn't there yet |
26 | |
27 | |
28 | |
29 | atrf |
30 | ==== |
31 | |
32 | AT86RF230-based IEEE 802.15.4 transceiver. Two variants: one to make a USB |
33 | dongle for use with any Linux host, and one that connects with SPI directly |
34 | inside a Ben. |
35 | |
36 | Update: following Rikard Lindstrom's revelation that we can use the uSD slot |
37 | also just as general GPIOs, the variant that goes inside the Ben can wait a |
38 | bit and the atusd board for insertion into the uSD slot is being worked on |
39 | first. We can verify most of the design of a fully integrated board with the |
40 | atusd board and the latter will be of greater immediate use. |
41 | |
42 | |
43 | Things done |
44 | ----------- |
45 | |
46 | - verify that the Ben can output an a) 16 MHz clock, and b) with +/- 40 ppm |
47 | |
48 | Done, see ecn/ecn0005.txt. Works fine. |
49 | |
50 | - replace discrete balun and filter with integrated solution, to reduce BOM |
51 | size, maybe cost, insertion loss, and PCB space (see ATRF/ECN0003) |
52 | |
53 | Done for atusd. At a first glamce, does not seem to affect performance. |
54 | |
55 | - check if we really need three DC blocking caps in the RF path |
56 | |
57 | Reduced to two in atusd without apparent ill effects. |
58 | |
59 | |
60 | Things not done yet |
61 | ------------------- |
62 | |
63 | - examine spectrum around carrier frequency and first harmonic to look for |
64 | obvious distortions. Vary transmit power. |
65 | |
66 | - measure throughput as a function of placement/distance, carrier frequency, |
67 | and transmit power |
68 | |
69 | - atspi-txrx: suppport "extended mode" with IEEE 802.15.4 CSMA-CA for more |
70 | realistic throughput figures |
71 | |
72 | - measure full spectrum (ideally up to 25 GHz, but just 2nd and 3rd harmonic |
73 | will already tell most of the story) with calibrated antenna for FCC/ETSI |
74 | compliance assessment. Vary transmit power. |
75 | |
76 | - use IEEE 802.15.4 stack from linux-zigbee. The linux-zigbee kernel is |
77 | currently at 2.6.35. Once 2.6.36 is released, we should have Ben and |
78 | IEEE 802.15.4 support in the same kernel without further ado. |
79 | |
80 | - change layout of transceiver side of the board for placement inside Ben |
81 | |
82 | - define EMI filters for placement inside Ben |
83 | |
84 | - check USB standard for recommended USB dongle dimensions |
85 | |
86 | - change layout for straight USB dongle |
87 | |
88 | - generate proper BOM |
89 | |
90 | - implement sleep mode |
91 | |
92 | - (atusd) verify SPI signal timing, particularly the data clock |
93 | |
94 | |
95 | Bugs to fix |
96 | ----------- |
97 | |
98 | - atrf vs. atspi naming is a bit confusing. Rename atrf hardware to atusb, |
99 | and maybe the tools from atspi to atrf ? |
100 | |
101 | |
102 | ccrf |
103 | ==== |
104 | |
105 | Board similar to the atrf, but with the TI/Chipcon CC2520. |
106 | |
107 | Cancelled. The CC2520 falls under US export restrictions, apparently because |
108 | it contains an AES engine. |
109 | |
110 | |
111 | cntr |
112 | ==== |
113 | |
114 | Simple USB-based counter to measure a clock's long-time accuracy with |
115 | arbitrarily high precision, by comparing it to an NTP time reference. |
116 | |
117 | |
118 | Things not done yet |
119 | ------------------- |
120 | |
121 | - measure duty cycle |
122 | |
123 | - use the LED to display activity on clock input and duty cycle |
124 | |
125 | - consider using a comparator and a DAC to allow for programmable logic levels |
126 | |
127 | - evaluate termination resistance |
128 | |
129 | - document circuit design |
130 | |
131 | - record beats between 16 bit counter polls and use them for the estimate |
132 | of lost cycles (2*1 is way too optimistic) |
133 | |
134 | - include system clock resolution in accuracy calculation |
135 | |
136 | - consider running shorter sliding windows to estimate drift |
137 | |
138 | - consider detecting unusual half-periods |
139 | |
140 | - consider using a reversed USB connector, to avoid having to cross D+/D- and, |
141 | worse, VBUS and GND |
142 | |
143 | - test input performance by counting a source that emits a known number of |
144 | cycles |
145 | |
146 | - consider using historical margins to sanity-check the current margin (if any |
147 | old.max < curr.min or old.min > curr.max, we have a problem) and to further |
148 | narrow the effective margin, thus achieving faster convergence. We would have |
149 | to consider temperature drift of the frequency source in this case. |
150 | |
151 | - find out why frequency measurements always seem to start high and then slowly |
152 | drop |
153 |