1
0
mirror of git://projects.qi-hardware.com/ben-wpan.git synced 2024-11-19 09:01:34 +02:00
Commit Graph

39 Commits

Author SHA1 Message Date
Werner Almesberger
b2049e7074 Various items in CNTR referred to ATSPI/atspi
- cntr/tools/Makefile, cntr/fw/cntr/descr.c, cntr/fw/cntr/Makefile: files
  were originally from ATSPI/ATRF and has comments left over from there
2010-11-11 10:56:42 -03:00
Werner Almesberger
4c905300d3 Minor CNTR layout cleanup.
- cntr.brd: added pin 1 marker for U1
- cntr.brd: moved via next to P7 a 5 mil away from the probe trace
- cntr.pro: commit noise
2010-11-06 17:14:25 -03:00
Werner Almesberger
190e8f0082 Firmware support for CNTR version 3.
- common/io.h: describe the role of PROBE_TERM in version 3
- common/io.h (VERSION_ID): renamed to VERSION_ID1
- common/io.h (VERSION_ID2): added P2_0, and described version number
  encoding
- cntr/cntr.h (enum hw_type): added HW_TYPE_V3
- cntr/cntr.c (init_io): decode version 3, flash LED three times, and
  configure PROBE_TERM according to version
2010-11-06 17:03:33 -03:00
Werner Almesberger
f2ab3cfd18 Updated cntr.sch for BOM processing. Fixed omission in atrf.sub
- cntr/cntr.sch (P5, P6, P7): added footprint
- cntr/cntr.pro: commit noise
- bom/atrf.sub: accept resistor values without unit or multiplier (e.g.,
  "68" becomes "68R")
2010-11-06 03:09:21 -03:00
Werner Almesberger
b7eb4b9496 cntr/: version 3 with simplified input circuit.
- cntr/cntr.sch: change input circuit according to ECN0006
- cntr/cntr.sch: make P2_0 yet another version ID input
- cntr/cntr.cmp: surprise, this wasn't checked in either
- cntr/cntr.brd: update for above changes
- cntr/cntr.brd: adjust for resized USB connector
- cntr/cntr.brd: top ground fill was very spotty - removed it
- cntr/cntr.brd: board can now be 100 mil shorter
- cntr/cam/pcb.pl: updated for new board outline
2010-11-06 02:53:18 -03:00
Werner Almesberger
6d4ea61ae1 More detailed examination of the input circuit problem.
- cntr/README, ecn/INDEX, ecn/ecn0006.txt: moved discussion of the input
  circuit from README to ECN0006
- cntr/cntr.sch: changed pointer from README to ECN0006
- ecn/ecn0006.txt: added more measurements, explanations, and an analysis
  of the situation
2010-11-05 14:45:12 -03:00
Werner Almesberger
a8d74345b0 cntr/cntr.c: option -v (report data corruption) was never implemented, oops. 2010-11-05 13:37:34 -03:00
Werner Almesberger
9361f14875 Print a frequency estimate after each burst.
- tools/cntr/cntr.c (measure, print_f): moved pretty-printing of the
  frequency to a separate function
- tools/cntr/cntr.c (count_bursts): print a frequency estimate after each
  burst
- tools/cntr/cntr.c (count_bursts): added comment explaining when and where
  we take the various samples
2010-11-05 10:14:26 -03:00
Werner Almesberger
43f0bcee36 cntr/README: cntr -r always returns an error, so we cannot use it with && 2010-11-04 22:40:50 -03:00
Werner Almesberger
df1706fe74 Added burst counter mode to cntr tool, plus assorted small improvements.
- tools/cntr/cntr.c (measure): also stop if ^C is pressed while we're
  unsuccessfully trying to communicate with the device
- tools/cntr/cntr.c (main): report a usage error if an argument is given to
  -i or -r
- tools/cntr/cntr.c (arm_stop, measure): moveing open-coded arming of the
  SIGINT handler to separate function
- tools/cntr/cntr.c (count_bursts, usage, main): added burst counter mode
  (cntr -b [timeout_s])
2010-11-04 22:35:24 -03:00
Werner Almesberger
8cb17bb1b3 Document that the input circuit does not reach the design frequency (3 MHz) yet.
- cntr/cntr.sch: added warning that input circuit isn't good enough yet
- cntr/README: document input circuit problem, with measurement results
2010-11-04 22:33:04 -03:00
Werner Almesberger
4e568b0f1a Adapted firmware for V2 hardware.
- cntr/cntr.h: new file for variables shared among cntr.c and ep0.c
- cntr/cntr.c (cntr), cntr/ep0.c (cntr): moved to cntr/cntr.h
- fw/common/io.h (VERSION_ID): we can detect the board version by reading
  P2_1 (GND on version 1, open on version 2)
- cntr/cntr.c (init_io): added board version detection, board-specific
  GPIO initialization, and a LED blink to indicate version 2
- cntr/cntr.h (hw_type), cntr/cntr.c (hw_type), cntr/ep0.c (my_setup),
  common/config.h (HW_TYPE): the hardware type is now determined at run
  time
2010-11-03 12:20:13 -03:00
Werner Almesberger
f5388cac42 include/cntr/crc32.c was lost in the great involuntary purge. Add a dummy. 2010-11-03 11:05:40 -03:00
Werner Almesberger
c91658e1ed cntr/README update: name clarification and bugs list.
- cntr/README: change the name from "Arbitrary-precision counter" to
  "Arbitrary-precision frequency counter"
- cntr/README: added list of known hardware issues
2010-11-03 10:30:34 -03:00
Werner Almesberger
188bdb892b Support design version 2 in the boot loader.
- cntr/fw/common/io.h (LED): define version-specific LED pins
- cntr/fw/common/io.h (PROBE_TERM): describe how the role differs between
  version 1 and 2
- cntr/fw/common/config.h (PLATFORM_ENTER, PLATFORM_EXIT): add the version
  2 LED
2010-11-03 10:21:22 -03:00
Werner Almesberger
0fc2960b17 CAM setup update. Local relevance only.
- cam/doit: add board data for 2nd run
- cam/pcb.pl: set piece location to 2nd slot in bottom row
2010-11-03 10:12:51 -03:00
Werner Almesberger
c28ab2c99a cntr/fw/include/cntr/usb-ids.h was never checked in. Oops ! 2010-11-03 09:58:45 -03:00
Werner Almesberger
9103ae0aec Make toolpath cameo-friendly and use cameo for tool size compensation.
- cntr/cam/doit: use cameo
- cntr/cam/pcb.pl (cut): use exact value of pi, to make sure arcs meet
  with lines connecting to them
- cntr/cam/pcb.pl (hhole): force cut to be continuous
- cntr/cam/pcb.pl (arc, hhole, pcb): don't compensate for the tool size.
  Cameo now does this for us.
- cntr/cam/pcb.pl: switch to 2nd piece position
2010-11-01 20:14:43 -03:00
Werner Almesberger
1702234db6 cntr/cam/: added PCB-cutting process
- cam/Makefile (pcb, spool): generate the job and spool it to the mill
- cam/doit: coordinate transform and format conversions
- cam/pcb.pl: PCB outline and holes
2010-10-31 23:59:35 -03:00
Werner Almesberger
fca53a386b Corrected MMCX connector fields.
- cntr/cntr.sch: footprint is MMCX-F-EDGE*, not MMCX-F-PLUG*
- cntr/cntr.sch: changed value from BNC to MMCX
2010-10-25 18:34:04 -03:00
Werner Almesberger
8cd7acd622 Use "standard" 2:1 pad to hole ratio for USB connector shield.
- modules/usb_a_plug_smt.fpd: increased pad to hole ratio from 1.5 to 2
- cntr/cntr.brd: updated layout to accommodate larger USB connector pads
2010-10-25 18:18:41 -03:00
Werner Almesberger
2ad54bf2e2 Cleaned up board outline and ground routing.
- cntr/cntr.pro, cntr/cntr.brd: reduced PCB edge line width from 15 mil to
   5 mil
- cntr/cntr.brd: make edge follow hole for MMCX connector
- cntr/cntr.brd: fill bottom and input area with ground
- cntr/cntr.sch, cntr/cntr.brd (R4): replace 0 Ohm jumper and GND via
  P2.1 with vias
2010-10-25 18:09:42 -03:00
Werner Almesberger
e9147b0ba9 Major redesign of "cntr" circuit.
- cntr/cntr.pro: added usb_a_plug.lib, mmcx-f-edge.mod, usb_a_plug_smt.mod,
  and sot-323.mod
- cntr/cntr.sch, cntr/cntr.brd: reassigned LED and pull GPIO for easier
  routing
- cntr/cntr.sch, cntr/cntr.brd: replaced mini-USB receptacle with USB A
  plug and removed 0 Ohm resistor previously used for swapping D+/D-
- cntr/cntr.sch, cntr/cntr.brd: changed TVSs on USB from 200 pF 0603 to
  100 pF 0402 type
- cntr/cntr.sch, cntr/cntr.brd: replaced basically unterminated 100 mil
  header with properly terminated MMCX connector
- cntr/cntr.brd: reduced board width (nominally 15.8 mm) to USB connector
  width (16 mm)
- modules/mmcx-f-edge.fpd: swap contacts for compatibility with "BNC"
  symbol
2010-10-25 08:44:41 -03:00
Werner Almesberger
57874cf5e2 Revert TVS size reduction. We're not ready for it yet.
- cntr/cntr.sch (VR1, VR2, VR3): reverted change to 0402, because this
  would be too difficult to route with current board
- cntr/cntr.sch (VR1, VR2, VR3): change voltage from 5.6 V to 5.5 V,
  for compatibility with selected part
- cntr/cntr.brd: updated for value change
2010-10-24 23:55:37 -03:00
Werner Almesberger
a2e91cf13e Take "pads" and "stdpass" modules from kicad-libs and remove local copy.
- atrf/wpan-atrf.pro, atusd/atusd.pro, cntr/cntr.pro: use "pads" footprint
  from kicad-libs
- atrf/wpan-atrf.pro, cntr/cntr.pro: use "stdpass" footprint from
  kicad-libs
- AUTHORS, modules/INFO, modules/pads.fpd, modules/stdpass.fpd: removed
  pads.fpd and stdpass.fpd
2010-10-24 23:52:23 -03:00
Werner Almesberger
2e742d9281 Assorted termination simulation cleanup.
- term/Makefile: "make qucs" shortcut for invoking qucs
- term/term.sch: disable switch to .dpl page after simulation
- term/term.sch: changed R3 from 50 Ohm to the more common 47 Ohm
- term/term.sch: changed C2 from 22 pF to 330 pF to match TVS
- term/term.sch: renamed Vin to Vdst and put graph in diagram on top
- term/term.sch: added more annotations
2010-10-24 20:15:11 -03:00
Werner Almesberger
021bb00e96 Cleaned up component values in cntr schematics.
- cntr/cntr.sch: LED part number is LTST-C190KRKT, not LTST-C190KTKR
- cntr/cntr.sch: changed Vdc of VR4 from 5.6 V to 5.5 V (to match EPCOS
  CT0603M4G
- cntr/cntr.sch: changed VR1 through VR3 to 0402 for lower capacitance
2010-10-24 19:43:53 -03:00
Werner Almesberger
41765416db cntr/term/term.sch: simulation of impedance-matched termination circuit 2010-10-24 13:07:24 -03:00
Werner Almesberger
85ab2c41d5 Picking time in the middle of the interval, not its edge, and reduce
error bound.

- cntr/tools/cntr/cntr.c (measure): use the middle of a round-trip interval
  for the sample's nominal time
- cntr/tools/cntr/cntr.c (measure): error bound is only +/- RTT/2, not
  +/- RTT
2010-08-26 00:52:50 -03:00
Werner Almesberger
c1b7b81936 Added title, author, and revision to all schematics and layouts.
- atrf/wpan-atrf.sch, atrf/usb.sch, atrf/atrf.sch, atrf/wpan-atrf.brd: added
  title, author, and revision (100820)
- cntr/cntr.sch, cntr/cntr.brd: added title, author, and revision (1)
2010-08-25 19:42:46 -03:00
Werner Almesberger
c7303e4ac1 Made communication with CNTR board more robust. Added documentation.
- 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
2010-08-25 18:47:45 -03:00
Werner Almesberger
4d49921b9b Added user-space counter utility.
- cntr/tools/Makefile: the usual recursive Makefile
- cntr/tools/cntr/Makefile, cntr/tools/cntr/cntr.c: user-space tool to
  periodically read the free-running counter and to calculate frequency
  and deviation from it
2010-08-25 06:40:03 -03:00
Werner Almesberger
81ab679fbd The parasitic capacitance of the three probe input pins and R1 formed a
quite formidable low-pass filter that almost completely eliminated the
1 MHz signal.

- cntr/cntr.sch, cntr/cntr.brd: changed R1 from 100k to 1k to increase
  input bandwidth
2010-08-25 06:36:02 -03:00
Werner Almesberger
3584b5b736 Got "cntr" to show signs of life. It was the watchdog, as usual.
- TODO: "cntr" now makes it to DFU and beyond
- atrf/fw/common/config.h (PLATFORM_SETUP): rename to PLATFORM_ENTER
- cntr/fw/common/config.h (PLATFORM_SETUP): rename to PLATFORM_ENTER and
  make the new PLATFORM_SETUP turn off the watchdog
2010-08-25 04:35:18 -03:00
Werner Almesberger
5514c336a5 Completed the basic counter firmware. Now it just has to work ...
- cntr/fw/cntr/Makefile, cntr/fw/cntr/descr.c, cntr/fw/cntr/ep0.c: enabled
  the usual USB stack
- cntr/fw/cntr/cntr.c: initialize and poll USB
- cntr/fw/cntr/cntr.c, cntr/fw/cntr/ep0.c: added counter application
- cntr/fw/common/config.h (PLATFORM_SETUP): enable the crossbar
2010-08-23 19:56:02 -03:00
Werner Almesberger
5109e0bd44 Basic framework for CNTR firmware.
- atrf/fw/common/regs.h: forward to regs-f326.h
- cntr/: added basic framework for CNTR firmware
2010-08-23 14:32:50 -03:00
Werner Almesberger
9c2deb8e0a cntr/cntr.brd: remove the ground fill. The board got a bit messy with it.
Bumped the version to V1.
2010-08-23 00:52:23 -03:00
Werner Almesberger
51de2a5235 Forgot cntr/Makefile. Added ground fill.
- cntr/Makefile: oops, forgot to add this one to the repository
- cntr/cntr.brd: fill unused spaces with ground
2010-08-22 21:45:25 -03:00
Werner Almesberger
5553d3e75b New circuit: an arbitrary-precision counter.
- BOOKSHELF: added the C8051F320 (alias "f320")
- BOOKSHELF: added "atrf" alias for AT86RF230
- BOOKSHELF: added "f326" alias for C8051F326
- AUTHORS, components/INFO, components/c8051f320.lib,
  components/c8051f320.dcm: added Silabs C8051F320
- AUTHORS, modules/INFO, modules/Makefile, modules/qfp.fpd: added LQFP32
  for C8051F320
- cntr/cntr.pro, cntr/cntr.sch, cntr/cntr.brd: arbitrary-precision counter
2010-08-22 21:32:54 -03:00