Osmocom icE1usb
Introducing Osmocom icE1usb
(Download the Data Sheet)
The icE1usb is an E1 adapter with a USB interface. It can be used to attach to circuit-switched primary-rate E1 circuits used in traditional/legacy telecom environments.
Today, E1 circuits can primarily be found in the context of cellular networks; whether to carry A-bis back-haul, Gb over Frame Relay, A over TDM interfaces or any classic circuit SS7 signaling.
Those few other E1 adapters available on the market are typically PCI / PCIe cards, which constrains their usage to larger servers with the appropriate slots. Contrary to that, icE1usb connects via USB to the computer, allowing for use cases like
E1 attached to a Laptop computer
E1 attached to embedded Single Board Computers like for example Beagleboard, Raspberry Pi, Intel NUC or any other platform with a USB host controller.
The icE1usb has two physical E1 ports. However, the use of two simultaneous ports is border-line of what full-speed USB can physically do, and it only works in very specific constellations with very specific host controllers, software, etc. So in general, we now advertise it as a single-port device. If you can make the second port work for you: Great. If not: You have been warned!
E1 Clock / GPS-DO
E1 circuits not only carry symmetric full-duplex 2.048 Mbps data, but also a precise clock reference. Traditionally, this clock reference was provided by the public wide-area PDH/ISDN network.
As classic PDH/ISDN wide-area networks are less frequently deployed today, one important topic is the question of clock source. Many devices, including cellular base stations require a precise E1 clock as they use it as a reference for its internal clocks, which in turn drive the frequency synthesizers of the radio transmitters/receivers.
The Osmocom icE1usb solves this problem in a novel way: By integrating a GPS Disciplined Oscillator (GPS-DO) right in the E1 adapter.
Use of the GPS-DO is entirely optional. If your use case features a different E1 clock source, or it is happy with the precision of a normal crystal oscillator, you can use icE1usb without the GPS-DO functionality.
Open Source Hardware
The icE1usb is 100% Open Source Hardware (OSHW). This includes
mechanical cad files
schematics, circuit board layout, bill of materials
Verilog/HDL sources for the gateware
C source code for the firmware running on the PicoRV32 softcore in the FPGA
C source code for the (Linux) drivers on the host computer
Having the entire design as OSHW ensures future availability. At a time where most silicon E1 framers are already long end-of-life, open source hardware is a future-proof alternative.
Furthermore, the hardware design is synthesized using open source tools only (yosys and nextpnr), to remove the dependency on using proprietary vendor tools.
Software Interface / Drivers
There are two different options for the software / driver side:
pure Linux userspace driver (no kernel patches/modules required (osmo-e1d)
Linux kernel DAHDI driver (useful for interop with yate, FreeSwitch, Asterisk, etc.)
Both osmo-e1d and DAHDI are fully integrated with libosmo-abis,
Integration with other drivers/software is not provided at this point, but it is relatively straight-forward due to the simplicity of the E1 protocol implemented over USB: The isochronous USB transfers basically consist of octet-aligned 32-byte E1 frames. sysmocom can provide R&D and software integration services, if needed.
Technical Data
Mechanical / Electrical specification
Dimensions of Device |
90 x 63 x 30 mm (length excluding SMA connector) |
Power Supply |
USB bus powered |
E1 interface |
balanced E1 on RJ45 connector; one for each E1 circuit |
long haul / short haul |
tested with short-haul only at this point! |
Antenna connector of GPS-DO |
SMA jack, female; provides DC phantom supply voltage to antenna |
USB port |
USB 2.0 full-speed on USB-C connector |
Serial Console (for development) |
Osmocom style 2.5mm stereo jack with UART at 3.3V level |
Future Extensions |
internal header for extension board; extra RJ45 socket |
Software / Logical specification
USB Protocol/Interface |
|
User Manual |
|
Linux driver |
|
hardware/gateware/firmware git |
|
Microprocessor softcore |
|
E1 Framer softcore |
|
USB device softcore |
|
wiki / bug tracker |
https://osmocom.org/projects/e1-t1-adapter/wiki/ICE40_E1_USB_interface |
Schematics in PDF format |