Project

General

Profile

E1 tracer » History » Version 10

laforge, 12/23/2021 05:00 PM

1 2 laforge
h1. e1-tracer
2 1 tnt
3 4 laforge
This page is about the "production" version of the setup described in [[ICE40_based_passive_tap]].
4 1 tnt
5 4 laforge
It is a bi-directional, high-impedance passive tap for E1 (PRI/S2M) tracing.  It traces both directions of a link simultaneously via two LIU (Line Interface Units) attached to an iCE40 FPGA with E1 framer + USB softcores.  
6
7
The traces are sent as isochronous USB transfers to the host PC, where they can (for example) be stored on disk.
8
9 1 tnt
h2. hardware 
10 4 laforge
11 5 tnt
Hardware files can be found at: http://git.osmocom.org/osmo-e1-hardware/tree/hardware/e1-tracer and are available as Open Source Hardware.
12 3 laforge
13
!e1_tracer.jpg!
14 2 laforge
15 10 laforge
h3. 3U component carrier assembly
16
17
{{thumbnail(e1_tracer-bgt-1.jpg)}}
18
{{thumbnail(e1_tracer-bgt-2.jpg)}}
19
{{thumbnail(e1_tracer-bgt-3.jpg)}}
20
{{thumbnail(e1_tracer-bgt-4.jpg)}}
21
22 2 laforge
h3. design files
23
24
We originally started with a prototype from an iCE40 evaluation board plus two osmo-e1-xcvr and one e1-tap as described in [[ICE40_based_passive_tap]].
25
26 5 tnt
Meanwhile, we have designed a fully integrated board.  Design files are part of the @osmo-e1-hardware.git@ repository.
27 2 laforge
* Schematics:
28 5 tnt
** EAGLE: source:hardware/e1-tracer/e1-tracer.sch
29
** PDF: source:hardware/e1-tracer/e1-tracer_sch.pdf
30 2 laforge
* Board layout
31 5 tnt
** EAGLE: source:hardware/e1-tracer/e1-tracer.brd
32
** PDF: source:hardware/e1-tracer/e1-tracer_brd.pdf
33
** Gerber: source:hardware/e1-tracer/gerber
34 2 laforge
* Bill of Materials
35 5 tnt
** gnumeric spreadsheet: source:hardware/e1-tracer/e1-tracer_eBOM.gnumeric
36
** CSV export: source:hardware/e1-tracer/e1-tracer_eBOM.csv
37 2 laforge
38
h3. gateware + firmware
39
40 5 tnt
The FPGA gateware and RISC-V softcore firmware are found in the @osmo-e1-hardware.git@ repository, under the @gateware@ and @firmware/ice40-riscv/e1-tracer@ directories respectively.
41 2 laforge
42 6 roh
h3. flashing
43
44
to bring up the board after manufacturing there are 2 steps:
45
46
* flash the padded bootloader into spi flash
47
* flashing the runtime gateware and application via dfu
48
49
h4. flashing the bootloader
50
51 8 roh
this involves pulling the _CRESET line on the spi programming header next to ground (the pin next to gnd) to keep the fpga in reset while we access the flashchip.
52 6 roh
the board can be powered via usb for this, but the spi programming cable should not have a vcc line connected then.
53
the 1M0xff.bin file consists of 0xFF and is used as padding for the unused flash areas.
54
the tool used for flashing here is flashrom via a stm32(bluepill) based adapter ("STM32 virtual serprog for flashrom") but virtually any spi programmer can be used.
55
56
<pre>
57
cat e1tracer-bootloader-20200822.bin 1M0xff.bin > tmp
58
dd if=tmp of=flashme1M.bin bs=1024 count=1024
59
rm tmp
60
flashrom -p serprog:dev=/dev/ttyACM3:4000000 -w flashme1M.bin
61
</pre>
62
63
h4. flashing the runtime
64 1 tnt
65 7 roh
to access the bootloader the first time, before any runtime is flashed you need to reset the board (power) while SW1 (button) is pressed to force bootloader(dfu) mode. the board should now enumerate on usb
66 6 roh
67 9 roh
flashing should be easy - it only needs the regular userspace tool dfu-util and firmware from http://ftp.osmocom.org/binaries/e1-tracer/firmware/ (for now on https://people.osmocom.org/tnt/stuff/e1-recorder/ )
68 6 roh
69
<pre>
70
dfu-util -d 1d50:6150 -c 1 -a 0 -D riscv_usb.bin
71
dfu-util -d 1d50:6150 -c 1 -a 1 -D fw_app.bin -R
72
</pre>
73
74 2 laforge
h3. availability
75
76
Fully assembled products based on this hardware are going to be made available by "sysmocom":https://sysmocom.de/
77
78
h2. software
79
80
The host software is found in the @e1-recorder@ branch of @ice40playground.git@, see https://github.com/smunaut/ice40-playground/tree/e1-recorder/projects/riscv_usb/sw
81
82
There are two related programs:
83
84
* @main@ - the program used to perform recordings and store them
85
* @dump@ - the program to analyze recordings
Add picture from clipboard (Maximum size: 48.8 MB)