Project

General

Profile

Osmo-fl2k » History » Version 23

laforge, 04/22/2018 02:54 PM
slides

1 9 steve-m
h1. osmo-fl2k
2 2 steve-m
3 19 laforge
{{>toc}}
4
5 3 steve-m
h2. Introduction
6 1 steve-m
7 17 steve-m
Since rtl-sdr has been released a couple of years ago, cheap SDR receivers are ubiquitous. SDRs with transmission capability have become cheaper as well, but are still more expensive. osmo-fl2k allows to use USB 3.0 to VGA adapters based on the Fresco Logic FL2000 chip, which are available for around $5, as general purpose DACs and SDR transmitter generating a continuous stream of samples by avoiding the HSYNC and VSYNC blanking intervals.
8 3 steve-m
9 12 steve-m
The idea of using VGA adapters as a transmitter has a long history. In 2001 Erik Thiele released "Tempest for Eliza":http://www.erikyyy.de/tempest/, which transmits a signal that can be received with an AM radio. In 2005 Fabrice Bellard used an ATI Radeon 9200SE to transmit "DVB-T, PAL and NTSC video signals":https://bellard.org/dvbt/. Later in 2009, Bartek Kania published "VGASIG":https://bk.gnarf.org/creativity/vgasig/, which allows to transmit wideband FM radio in realtime using SDL and a regular graphics card. In 2013, siro at das Labor used all three DAC outputs of a VGA card and "attached an I/Q modulator to transmit arbitrary signals":https://wiki.das-labor.org/w/VGAtoBaseband.
10 3 steve-m
11 18 steve-m
However, a major downside with regular graphics cards is that the generated signal of the RAMDAC is not entirely user controllable, as VGA uses "horizontal and vertical blanking":https://en.wikipedia.org/wiki/Video_Graphics_Array#Signal_timings, thus interrupting the signal. In comparison to competitor devices from DisplayLink, which resemble a classic graphics card with USB 2.0/3.0 interface, Fresco Logic took a different approach for their USB to VGA adapter, which they've also "patented":https://patents.google.com/patent/US20130346646A1/. Instead of having the framebuffer for the VGA DAC in the device itself, they use the memory of the host computer and continuously stream the display content via USB. This makes such adapters very cheap, as it essentialy reduces the adapter to a single chip without requiring framebuffer memory. The main drawback is that if the host CPU or USB bus is busy or congested, this results dropouts and flickering of the screen.
12 3 steve-m
13 4 steve-m
After reverse-engineering the USB protocol of the FL2000 in 2016, Steve Markgraf discovered through experimentation that it is possible to operate the FL2000 in a way that both horizontal and vertical synchronization are disabled, thus creating a continous stream of samples. This work resulted in osmo-fl2k, which so far was used to transmit low-power FM, DAB, DVB-T, GSM, UMTS and GPS signals.
14 3 steve-m
15 7 steve-m
h2. Supported Hardware
16 1 steve-m
17 21 laforge
h3. USB 3.0 VGA Dongles
18
19 7 steve-m
Only devices based on the Fresco Logic FL2000 chip are supported. Typically they are branded as "USB 3.0 to VGA" adapters, and are advertised with a maximum resolution of 1920 × 1080 for USB 3.0 and 800 × 600 for USB 2.0. Sometimes also 1920 × 1200 is advertised as maximum resolution (this mode only works with few xHCI controllers and enabled RLE compression). If they are advertised with 2048 × 1152 maximum resolution and support for Mac OS X, or only have a USB 2.0 interface, they contain a DisplayLink chipset and are *not* compatible with osmo-fl2k! The price range for the FL2000-based adapters is $5-15, whereas the DisplayLink devices typically cost more than $25. Also note that devices sold with USB type C connector contain a different chipset (e.g. Realtek RTD2166) and are just DisplayPort to VGA converters.
20
Sources include Aliexpress, eBay and Amazon. The devices are available in various sizes, sometimes also with additional DVI or HDMI support. Two of the most typical devices are shown below.
21 1 steve-m
22
{{thumbnail(fl2k_devices.jpg, size=700, title=FL2000 based devices)}}
23 8 steve-m
24
25
{{thumbnail(fl2k_pcb_top.jpg, size=500, title=FL2000 PCB top view)}}
26 6 steve-m
27
28 7 steve-m
29 15 steve-m
{{thumbnail(osmo-fl2k_pinout.png, size=500, title=FL2000 VGA pinout)}}
30 6 steve-m
31 1 steve-m
32 21 laforge
h2. USB Host Controller comparison
33 5 steve-m
34
|*USB 3.0 Host controller*|*Achievable sample rate*|
35
|Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)|157 MS/s|
36
|Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)|155 MS/s|
37
|ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller|140 MS/s|
38
|Fresco Logic FL1100 USB 3.0 Host Controller (rev 10)|140 MS/s|
39
|Fresco Logic FL1100 USB 3.0 Host Controller (rev 01)|136 MS/s|
40
|Fresco Logic FL1009 USB 3.0 Host Controller (rev 02)|136 MS/s|
41
|Etron Technology, Inc. EJ188/EJ198 USB 3.0 Host Controller|129 MS/s|
42
|VIA Technologies, Inc. VL805 USB 3.0 Host Controller (rev 01)|123 MS/s|
43
|Etron Technology, Inc. EJ168 USB 3.0 Host Controller (rev 01)|117 MS/s|
44
|Renesas Technology Corp. uPD720202 USB 3.0 Host Controller (rev 02)|115 MS/s|
45 1 steve-m
|Intel USB 2.0 EHCI Controller|14 MS/s|
46 19 laforge
47
h2. Download
48
49
h3. Source Code
50
51
Source code is available from git.osmocom.org
52
* web access: http://git.osmocom.org/osmo-fl2k*
53
* read-only clone access: @git clone git://git.osmocom.org/osmo-fl2k@
54 20 laforge
55 23 laforge
h2. Presentation Slides / Recording
56
57
On April 22nd, 2018, Steve Markgraf publicly released @osmo-fl2k@ at OsmoDevCon.
58
* slides of the presentation available at http://people.osmocom.org/steve-m/fl2k_slides/osmo-fl2k.html
59
* video recordings will be released soon via C3VOC at http://media.ccc.de/
60
61 22 steve-m
h2. Using the Software
62
63
h3. GSM transmission
64
65
{{thumbnail(osmo-fl2k_gsm.jpg, size=500, title=GSM transmission using FL2K)}}
66
67
68 20 laforge
h2. Contact / Mailing List
69
70
All questions should be directed to the public osmocom-sdr@lists.osmocom.org mailing list, to which you can subscribe at https://lists.osmocom.org/mailman/listinfo/osmocom-sdr
Add picture from clipboard (Maximum size: 48.8 MB)