Project

General

Profile

IcE1usb » History » Version 2

laforge, 01/06/2020 04:06 PM

1 1 tnt
h1. iCE40 E1 USB interface
2
3
This page is the main entry point for the E1 Software defined interface using the iCE40 FPGA as the core.
4
5
6
h2. Architecture
7
8 2 laforge
This approach tries to implement as much as possible inside an iCE40 FPGA
9 1 tnt
10 2 laforge
Particularly, the iCE40 FPGA
11
* contains the E1 PHY. There is no external LIU*, reducing the BOM cost significantly.  Instead, the comparators of the FPGA are used.  In practice, this has shown to work on short E1 links of a few meters.  We'd expect some problems in terms of long-haul E1 links, but those are not really the target use case here.
12
* contains the E1 framer, including frame alignment
13
* contains a USB softcore (no external USB PHY needed)
14
* contains a PicoRISCV softcore to implement USB protocol handling and to connect the E1 softcore with the USB softcore
15
16
So all-in-all, we can build a USB-E1 interface from little more than an iCE40 FPGA and an E1 line transformer!
17
18 1 tnt
h2. Current stack
19
20 2 laforge
* The hardware is currently not documented, only few prototypes exists and have been half hand-wired. They are currently based off iCEBreaker and iCEBreaker-bitsy iCE40 dev boards. ( https://github.com/icebreaker-fpga/icebreaker ) as well as iCEpick by @tnt.
21 1 tnt
* The gateware is temporarily hosted in the 'e1' branch of this repo : https://github.com/smunaut/ice40-playground/tree/e1/projects/riscv_usb
22
* The embedded software is in the same repository as above, in the 'fw' sub-directory : https://github.com/smunaut/ice40-playground/tree/e1/projects/riscv_usb/fw
23 2 laforge
* The userspace daemon that handles the USB communication is hosted at: https://git.osmocom.org/osmo-e1d
24
* The support for this daemon interface to the rest of the cellular stack is in a 'tnt/e1d' branch of the libosmo-abis repo : https://git.osmocom.org/libosmo-abis/log/?h=tnt/e1d
25 1 tnt
26
h2. Presentations
27
28
* Talk from OsmoCon 2018 about the Software Defined E1 project as a whole : attachment:osmocon_2018_e1.pdf
29
* Talk from OsmoDevCon 2019 about the iCE40 based solution specifically: attachment:osmodevcon_2019_e1.pdf
30 2 laforge
31
"video recording of the iC40 based approach / OsmoDevCoon 2019":https://media.ccc.de/v/osmodevcon2019-97-software-defined-e1
Add picture from clipboard (Maximum size: 48.8 MB)