1
0
mirror of git://projects.qi-hardware.com/ben-wpan.git synced 2024-12-28 21:13:20 +02:00
Commit Graph

357 Commits

Author SHA1 Message Date
Werner Almesberger
dce0a19794 Measurement results and a script to view them.
- usrp/plot: convenience script to plot the signal strength scans
- usrp/step-A, usrp/step-I, usrp/step-II: signal strength scans for three
  boards
2010-09-16 14:45:09 -03:00
Werner Almesberger
e445fe1b01 usrp/: a set of utilities for testing board performance with an USRP2
- usrp/d.c: reduce the number of data points in a file produced by
  usrp2_rx_cfile.py and print them as text suitable for gnuplot
- usrp/p.c: determine the peak amplitude in a series of transmissions,
  filtering noise and artefacts at the beginning of the data file
- usrp/step: step through all channels and measure TX power (for antenna
  tuning)
- usrp/Makefile: built "p" and "d"
2010-09-16 01:01:02 -03:00
Werner Almesberger
c99ba2c769 atspi-txrx can now send repeatedly, cleans up on ^C, prints the power level.
if it differs by more than 0.01 dBm from the level specified
- tools/atspi-txrx/Makefile (LDLIBS): added -lm, for fabs()
- tools/atspi-txrx/atspi-txrx.c (transmit, usage, main): add optional
  command-line argument with the number of times to send the message
- tools/atspi-txrx/atspi-txrx.c (receive, transmit, die, main): return and
  clean up on ^C
- tools/tools/lib/misctxrx.c (wait_for_interrupt) return and raise SIGINT
  for the caller's signal handler on ^C
2010-09-14 17:12:03 -03:00
Werner Almesberger
b390b28364 atusd/ERRATA: started errata section for 100912. Nothing major so far. 2010-09-14 13:44:16 -03:00
Werner Almesberger
6b5d239bf5 Added more resistor choices to BOM processor.
- bom/Makefile, bom/stackpole.chr: added Stackpole 0R 0402 resistor
- bom/Makefile, bom/panasonic.gen: added Panasonic 5% resistors
2010-09-12 18:46:43 -03:00
Werner Almesberger
499df0ea40 Added generation of Yageo RC0402 resistors. We can now produce the full BOM.
- bom/lib/e12.inc: added _E12_1 translation
- bom/yageo.gen: added RC0402 resistor series
2010-09-12 17:01:54 -03:00
Werner Almesberger
f2824f1d35 Moved all capacitor tolerance and _E12_P translations to shared includes.
- bom/lib/captol.inc: translation of all capacitor tolerance values
- bom/lib/e12.inc: translation of E12 values (for pico-based scale for now)
- bom/avx.gen, bom/johanson.gen, bom/murata.gen, bom/tdk.gen, bom/yageo.gen:
  include libraries instead of copying the same tables
2010-09-12 16:47:08 -03:00
Werner Almesberger
636011c23d Adjusted parsing of component values. Now all capacitors get properly selected.
- bom/atrf.sub: adjusted setting of capacitance and inductivity to
  conventions used in these projects
2010-09-12 16:43:33 -03:00
Werner Almesberger
66e5aa5a90 Rename bom/yageo-cap.* to bom/yageo.* to keep things simple.
- bom/yageo-cap.gen: renamed to bom/yageo.gen
- bom/Makefile: changed all occurrences of yageo-cap to "yageo"
2010-09-12 15:47:56 -03:00
Werner Almesberger
c0052faa25 BOM work in progress. Completed generation of capacitor characteristics.
- bom/Makefile (INV): added project-local inventory
- bom/Makefile (CHR): auto-populate from $(GEN)
- bom/Makefile: added generation of characteristics for Johanson and Murata
  parts
- bom/Makefile (dk/digi-key.dsc): need this target to generate digi-key.dsc
- bom/Makefile (spotless): remove generated .chr files based on $(GEN)
- bom/atrf.equ, bom/dk/digi-key.equ: added the less expensive Johanson
  2450FB15L0001 as alternative for the Wuerth 748421245
- bom/dk/digi-key.equ: added more capacitors, including specific RF caps
- bom/atrf.inv: renamed test-point from PAD_60x60 to TST
- bom/avx.gen, bom/johanson.gen, bom/tdk.gen, bom/yageo-cap.gen: corrected
  the part number parsers and added more product families
2010-09-12 15:19:38 -03:00
Werner Almesberger
843a0bcb18 atusd/cam/pcb.pl: updated for new board shape 2010-09-12 12:43:52 -03:00
Werner Almesberger
f8ae351347 Moved cam/ to atrf/cam/ 2010-09-12 12:37:40 -03:00
Werner Almesberger
b3374dd7c8 Added antenna tuning "tail" suggested by Joerg. Made board slimmer.
- modules/meander.fpd, atusd/atusd.brd: added tuning "tail" to antenna
  (suggested by Joerg Reisenweber)
- atusd/atusd.brd: pulled back somewhat protruding CLKM test point
- atusd/atusd.brd: made external board 20 mil narrower
- atusd/atusd.brd: version number is now 20100912
- atusd/atusd.pro: KiCad commit noise
2010-09-12 12:25:57 -03:00
Werner Almesberger
5d28e1b182 Corrected small footprint errors. Made 0R "inductor" a resistor.
- atusd/atusd.sch, atusd/atusd.cmp, atusd/atusd.brd: made L1 a resistor
- atusd/atusd.sch, atusd/atusd.cmp, atusd/atusd.brd: changed effective
  footprints of components erroneously using 0805 to 0805-M
- atusd/atusd.pro: commit noise
2010-09-12 00:27:10 -03:00
Werner Almesberger
1a5d9f5a1e bom/: automatic BOM generation (work in progress)
- bom/Makefile: run and control the BOM generation system
- bom/atrf.equ: project-specific equivalences
- bom/atrf.inv: "inventory" of parts implemented as PCB features
- bom/atrf.sub: substitution rules
- bom/avx.gen, bom/johanson.gen, bom/tdk.gen, bom/yageo-cap.gen: part number
  translators for capacitors
2010-09-12 00:17:18 -03:00
Werner Almesberger
6fc656fd7f Added Digi-Key catalog data for automated BOM processing.
- bom/dk/Makefile, bom/dk/dk-db.pl: Digi-Key catalog query environment from
  gta02-core
- bom/dk/digi-key.equ: manufacturer-distributor equivalences for some parts
  used in atusd and atusb
2010-09-11 17:12:05 -03:00
Werner Almesberger
f17613bc69 Applied clock voltage divider fix and corrected too closely spaced via.
- atusd/atusd.sch, atusd/atusd.cmp, atusd/atusd.brd: changed resistive
  clock voltage divider to capacitative
- atusd/atusd.brd: moved via near pin 1 and rearranged ground planes
  accordingly
- atusd/atusd.sch, atusd/atusd.brd: bumped version number to 20100911
- atusd/atusd.pro: KiCad commit noise
2010-09-11 17:08:25 -03:00
Werner Almesberger
876a5ca8c5 Removed DTC123JE transistor files. (Was used only in 20100903 design.)
- AUTHORS, atusd/atusd.pro, atusd/dtc123.lib: removed DTC123 schematics
  symbol
- AUTHORS, atusd/Makefile, atusd/atusd.pro, atusd/dtc123.fpd: removed
  DTC123 footprint
2010-09-11 15:57:34 -03:00
Werner Almesberger
4c81175da3 atusd/tests/psd*: first transmit power spectral density measurement 2010-09-11 15:24:59 -03:00
Werner Almesberger
d14e55bea2 Updated to do list. 2010-09-10 16:18:20 -03:00
Werner Almesberger
df071c3398 New ECN about clock circuit of atusd boards. Measured (absence of) effect of
adding an inductor to the clock line.

- ecn/INDEX, ecn/ecn0005.txt: new ECN discussing the switch to a
  capacitative clock voltage divider. With frequency measurements.
- atusd/tests/send-20100910: measurement of transceiver performance when
  placing an inductor in the 16 MHz clock line.
2010-09-10 00:06:33 -03:00
Werner Almesberger
d3bc274dab Moved the ECNs from atrf/ecn to the top-level. 2010-09-09 20:56:58 -03:00
Werner Almesberger
b32827dc7e Oops. The atusb boards are of course 20100813. 20100902 was the first
(failed) attempt to make an atusd board.
2010-09-09 20:43:45 -03:00
Werner Almesberger
0a0a50d73d Performance comparison of atusb vs. atusd.
- atusd/tests/send-20100909: conducted performance comparison of atusb vs.
  atusd
- atusd/ERRATA: changed also first board to capacitative divider
2010-09-09 20:38:50 -03:00
Werner Almesberger
b6a80ba3dd Added interrupt polling support for atusb.
- atrf/fw/include/atspi/ep0.h enum atspi_requests), atrf/fw/atspi/ep0.c
  (my_setup): new command ATSPI_POLL_INT to poll IRQ_RF
- atrf/fw/atspi/ep0.c (my_setup): ATSPI_BUILD sent one byte too many
- tools/lib/atusb.c (atusd_interrupt, atusb_driver): implemented interrupt
  polling
- tools/lib/atusd.c: added section title for the RF interrupt function
2010-09-09 20:22:45 -03:00
Werner Almesberger
4df6d2c2f9 atspi-rssi cleanup: wait for interrupt, exit cleanly.
- tools/atspi-rssi/atspi-rssi.c: removed unnecessary inclusion of
  atspi/ep0.h
- tools/atspi-rssi/atspi-rssi.c (sweep): instead of fixed delay, wait for
  the PLL lock interrupt
- tools/atspi-rssi/atspi-rssi.c (die, main): catch SIGINT to exit cleanly
- tools/atspi-rssi/atspi-rssi.c (main): shut down properly when done
- tools/atspi-rssi/atspi-rssi.c (usage): print "usage:" before the program's
  name
2010-09-09 17:56:04 -03:00
Werner Almesberger
2a245e1ee3 Make wait_for_interrupt available to all atspi tools.
- tools/atspi-txrx/atspi-txrx.c: cleaned up includes - we need stdint.h but
  we don't need atspi/ep0.h
- tools/atspi-txrx/atspi-txrx.c (wait_for_interrupt),
  tools/include/misctxrx.h (wait_for_interrupt), tools/lib/Makefile (OBJS),
  tools/lib/misctxrx.c (wait_for_interrupt): moved wait_for_interrupt from
  atspi-txrx to the atspi library, so that we can share it
2010-09-09 17:42:47 -03:00
Werner Almesberger
be624169a9 tools/Makefile.common: added quiet compilation 2010-09-09 17:33:38 -03:00
Werner Almesberger
9162689d3e Cleaned up interrupt handling in atspi-txrx. Report ED. Shut down at end.
- tools/atspi-txrx/atspi-txrx.c (receive, wait_for_interrupt): moved wait
  for interrupt logic to separate function and made it more versatile
- tools/atspi-txrx/atspi-txrx.c (init_txrx, receive): clear interrupts in
  init_txrx now, so that also transmit has a clear interrupt register
- tools/atspi-txrx/atspi-txrx.c (set_channel): since we're in TRX_OFF,
  don't wait for PLL lock
- tools/atspi-txrx/atspi-txrx.c (receive): wait for PLL lock interrupt
  after activating receiver
- tools/atspi-txrx/atspi-txrx.c (transmit): wait for PLL lock interrupt
  after activating the PLL
- tools/atspi-txrx/atspi-txrx.c (transmit): wait for TRX_END interrupt
  after sending a frame
- tools/atspi-txrx/atspi-txrx.c (receive): report the Energy Density (ED)
  after receiving a frame
- tools/atspi-txrx/atspi-txrx.c (main): shut down the board with
  atspi_close, so that we can hot-swap safely
2010-09-09 17:23:47 -03:00
Werner Almesberger
6e726d1fb9 Improved clock stability by using a capacitative divider and found more minor
issues.

- atusd/ERRATA: work around the clock instability by replacing the
  resistive divider with a capacitative divider
- atusd/ERRATA: a ground plane under the clock circuit would also be good to
  have
- atusd/ERRATA: via near pin 1 is too close to the chip if we need to cut
  wires (in DIY boards)
- atusd/sim/cdiv.sch: simulation of the capacitative divider
2010-09-09 12:35:47 -03:00
Werner Almesberger
93f0f403a7 New atusd errata and a few small CAM updates.
- atusd/ERRATA: added errata section for version 20100908
- atusd/cam/doit: increase tool clearance from 1.5 mm to 2 mm
- atusd/cam/pcb.pl (cut): cutting counter-clockwise did not reduce burr.
  Removed reversal of cutting direction.
- atusd/cam/pcb.pl: made area selection formulas easier to understand
2010-09-09 09:23:18 -03:00
Werner Almesberger
18eec557d0 Updated atusd driver for new hardware. Make use of the interrupt line.
- tools/lib/atusd.c (spi_send_partial, spi_send): removed the old spi_send
  and renamed spi_send_partial to spi_send
- tools/lib/atusd.c (atusd_cycle, spi_send, spi_recv, atusd_open): updated
  for removal of SLP_TR and split of MxSx into MOSI and MISO
- tools/lib/atusd.c (atusd_reset_rf, atusd_open): added delays to precharge
  the capacitors
- tools/lib/atusd.c (atusd_reset, spi_data_in, spi_data_out, spi_finish):
  removed functions for obsolete hardware features
- tools/lib/atusd.c (atusd_reg_read): removed calls to removed functions
- tools/lib/atusd.c (atusd_buf_write, atusd_buf_read, atusd_driver): new
  buffer read/write functions
- tools/atspi-txrx/atspi-txrx.c (init_txrx): set the internal osciallator
  trim only in the USB version. Switch to the external oscillator in the
  uSD version.
- tools/atspi-rssi/atspi-rssi.c (sweep), tools/atspi-txrx/atspi-txrx.c
  (set_channel): wait for the PLL to settle after setting the channel
- tools/include/atspi.h, tools/lib/atspi.c (atspi_interrupt),
  tools/lib/driver.h (struct atspi_driver), tools/lib/atusd.c
  (atusd_interrupt): new function to poll the interrupt line
- tools/atspi-txrx/atspi-txrx.c (receive): only read REG_IRQ_STATUS if
  there is a pending interrupt
- tools/atspi-id/atspi-id.c (usage): print "usage:" as well
- tools/Makefile (upload): upload the atspi tools to the Ben
2010-09-09 09:19:06 -03:00
Werner Almesberger
284b557434 atusd/atusd.brd: bumped the version to 100908 2010-09-08 22:54:44 -03:00
Werner Almesberger
3533e0463c Found out that we can't share MISO and MOSI after all. Redesigned the atusd
board.

- atusd/atusd.sch, atusd/atusd.brd: separate MISO and MOSI and free the
  extra signal we need by no longer connecting SLP_TR to the host
- atusd/atusd.sch, atusd/atusd.cmp, atusd/atusd.brd: removed reset circuit
  Power-on reset seems to be sufficient.
- atusd/atusd.brd: improved AVDD ground plane
- cam/pcb.pl (rot): cut counter-clockwise to reduce burr
- cam/pcb.pl: advanced origin for 2nd run
2010-09-08 17:36:47 -03:00
Werner Almesberger
002941d986 Moved schhist2web and friends over to project eda-tools. 2010-09-07 17:03:45 -03:00
Werner Almesberger
b25cbd8120 Fix board initialization in uSD driver. atspi-id now works.
- tools/lib/atusd.c (atusd_cycle): we never turned power back on ?
- tools/atspi-id/atspi-id.c (main): call atspi_close on exit
- tools/lib/atusd.c (atusd_cycle, wait_for_power): moved power on delay to
  separate function
- tools/lib/atusd.c (atusd_open): wait for power to stabilize
- tools/lib/atusd.c (atusd_open): need to reset the board to bring it
  up properly
2010-09-05 21:18:56 -03:00
Werner Almesberger
406517baa2 - tools/lib/atusd.c (atusd_cycle): we never turned power back on ?
- tools/lib/atusd.c (atusd_open): need to power cycle the board to bring it
  up properly
2010-09-05 20:59:02 -03:00
Werner Almesberger
bb65155eab Further cleanup to make the tools build for the "ben" target.
- tools/Makefile.common: set CC to the target-specific compiler
- tools/atspi-id/atspi-id.c: exclude everything USB if HAVE_USB is not set
- tools/atspi-id/atspi-id.c (atspi_usb_handle): rearrange to use a "struct
  atspi_dsc *" argument, so that we don't expose an USB dependency
- tools/lib/Makefile: $(F32XBASE)/lib/usb.o is target-specific. Moved it
  from OBJS to OBJS_host.
- tools/lib/Makefile (clean): remove objects of all targets
2010-09-05 20:51:07 -03:00
Werner Almesberger
f20d685f8e Merged uSD driver into unified tool build, completed conversion of tools.
- atusd/tools/lib/atusd.c: moved to tools/lib/
- atusd/tools/lib/atusd.h: removed, we can now use tools/include/atspi.h
- tools/lib/atusd.c: added copyright header
- tools/lib/atusd.c: updated for driver API
- tools/lib/Makefile: added atusd.o
- tools/Makefile.common: moved common elements from all other makefiles in
  tools/*/ here
- tools/Makefile.common: added target-specific compiler and flags
- tools/atspi-id/Makefile, tools/atspi-reset/Makefile,
  tools/atspi-rssi/Makefile, tools/atspi-trim/Makefile,
  tools/atspi-txrx/Makefile, tools/lib/Makefile: used Makefile.common
- tools/lib/Makefile: differentiate USB and uSD build
- tools/atspi-id/atspi-id.c, tools/atspi-reset/atspi-reset.c,
  tools/atspi-rssi/atspi-rssi.c, tools/atspi-trim/atspi-trim.c,
  tools/atspi-txr/atspi-txr.c: updated for driver-agnostic API
- tools/atspi-id/atspi-id.c, tools/atspi-reset/atspi-reset.c,
  tools/atspi-rssi/atspi-rssi.c, tools/atspi-trim/atspi-trim.c,
  tools/atspi-txr/atspi-txr.c: corrected AF86RF230 typo in title
- tools/include/atspi.h, tools/lib/atspi.c, tools/lib/driver.c,
  tools/lib/atusb.c: brought back support for atspi_error and
  atspi_clear_error
- tools/atspi-id/atspi-id.c (atspi_get_protocol): renamed to get_protocol,
  to make it clear that it's not from libatspi
- tools/atspi-id/atspi-id.c (atspi_get_build): renamed to get_build, to
  make it clear that it's not from libatspi
- tools/include/atspi.h, tools/lib/atspi.c (atspi_usb_handle): new function
  to obtain a driver's USB device handle (or NULL if the driver doesn't use
  USB)
2010-09-05 20:32:58 -03:00
Werner Almesberger
e2b2df2e31 Made the libatspi API driver-agnostic.
- tools/include/atspi.h: API is now driver-independent
- tools/lib/driver.h: API between driver and frontend
- tools/lib/atspi.c: renamed to atusb.c and updated for driver API
- tools/lib/atspi.c: frontend functions for the driver API
- tools/lib/Makefile: added atusb.o
2010-09-05 19:06:48 -03:00
Werner Almesberger
36e73c4abb Moved tools/ out of atrf, in preparation of merge with atusd.
- atrf/tools/: moved to tools/
- tools/Makefile: updated path to Makefile.recurse
- tools/atspi-id/Makefile, tools/atspi-reset/Makefile,
  tools/atspi-rssi/Makefile, tools/atspi-trim/Makefile,
  tools/atspi-txrx/Makefile, tools/lib/Makefile: updated paths to f32xbase
  and to atrf/fw/include
2010-09-05 17:37:35 -03:00
Werner Almesberger
9ad96bd5f9 Board bringup: talk to the chip and read IDs.
- atusd/ERRATA: mention that the reset circuit can go, as expected
- atusd/tools/Makefile: add include path to at86rf230.h
- atusd/tools/lib/atusd.c: include atusd.h, for consistency checking
- atusd/tools/lib/atusd.c (spi_begin, spi_end, spi_data_in, spi_data_out,
  spi_send_partial, spi_recv, spi_finish, spi_send): low-level functions
  to access our modified SPI
- atusd/tools/lib/atusd.h, atusd/tools/lib/atusd.c (atusd_reg_write,
  atusd_reg_read): register read and write access
- atusd/tools/try.c: read and print chip IDs
2010-09-05 16:59:59 -03:00
Werner Almesberger
a18d5969bd Next part of board bringup: reset and power cycling.
- atusd/ERRATA: one more problem: the transistor footprint is wrong
- atusd/tools/lib/atusd.c (atusd_cycle, atusd_reset): added power cycling and
  hardware reset
- atusd/tools/lib/atusd.h: be nice and make a header file
- atusd/tools/try.c: be nice and use header files (caught a bug as well)
2010-09-05 14:07:01 -03:00
Werner Almesberger
86e556ce92 First part of the board bringup: power and clock.
- atusd/ERRATA: variations of the circuit being debugged from the design
- tools/Makefile, tools/try.c, tools/lib/atusd.c: user-space tool to enable
  the board and (in the future) establish communication
- atusd/sim/clk.sch: simulation of CLK attenuation circuit with capacitative
  load from scope probe
2010-09-04 23:14:57 -03:00
Werner Almesberger
fc0acf1787 Assorted small layout improvements.
- atusd/atusd.brd: tightened routing of nSS and XTAL1 net to improve ground
  place coverage
- modules/0805-6.fpd: widened pads for easier manual soldering (note: this
  is still ad hocery)
- atusd/atusd.brd: use thinner track to connect feed line to comply with
  DRC
- atusd/atusd.brd: version is now 100903
2010-09-03 08:02:07 -03:00
Werner Almesberger
eb6f066bbd atusd/cam/: CAM data for cutting the PCB. 2010-09-02 23:50:45 -03:00
Werner Almesberger
dd999ebba3 atusd/: first try at a uSD-based board. Improved RF design. 2010-09-02 23:02:46 -03:00
Werner Almesberger
7c1383d43e Added components (transistor and balun) for the uSD variant.
- atusd/Makefile:
- AUTHORS, atusd/Makefile, atusd/dtc123.lib, atusd/dtc123je.fpd: borrowed
  the DTC123 symbol (Alvaro Lopes) and footprint (Dave Ball) from
  gta02-core. Note that this isn't the part I'm using in my prototype, and
  I'm trying to get rid of it entirely, so all this will change before too
  long.
- components/BOOKSHELF, components/INFO, components/balun.lib,
  modules/Makefile, modules/INFO, modules/0805-6.fpd: added the Wuerth
  748421245 balun

makefile
2010-09-02 18:15:28 -03:00
Werner Almesberger
541dd04a77 Debugged and cleaned up schps2pdf.
- scripts/schps2pdf: don't need to export i (reported by Wolfgang Spraul)
- scripts/schps2pdf: removed dysfunctional (and incorrect, if it had
  worked) second increment of i
- scripts/schps2pdf: simplified quoting of the -sOutputFile argument
- scripts/schps2pdf: \$$i needs curly braces to work for more than nine
  files
2010-08-31 03:04:46 -03:00
Werner Almesberger
80c6f3e75f Fix two bugs left from the great reorganization.
- Makefile (UPLOAD): updated for new directory structure
- scripts/schhist2web: unchanged Postscript files were not replaced with
  symlinks because the symlink paths were wrong
2010-08-31 01:46:18 -03:00