diff --git a/Makefile b/Makefile index 9a49611..dceafa9 100644 --- a/Makefile +++ b/Makefile @@ -16,8 +16,8 @@ FILES = l00_diode \ l07_vreg \ l08_pll \ l09_osc \ -# l10_lpradio \ - l11_aver \ + l10_lpradio \ +# l11_aver \ lx_energysrc all: posts latex book diff --git a/lectures/l10_lpradio.md b/lectures/l10_lpradio.md index fcfaf52..00d0fb6 100644 --- a/lectures/l10_lpradio.md +++ b/lectures/l10_lpradio.md @@ -1,7 +1,8 @@ -footer: Carsten Wulff 2023 +footer: Carsten Wulff 2024 slidenumbers:true autoscale:true theme:Plain Jane,1 +date: 2024-03-22 [.background-color: #00A9CE] @@ -20,8 +21,6 @@ theme:Plain Jane,1 Let's make a radio (or at least, let's **pretend**) - - --- [.background-color: #00A9CE] @@ -67,10 +66,12 @@ There are a few key concepts we would have to know before we decide on a radio t @@ -140,11 +142,37 @@ The above statements are a exact copy of what happens in industry when we start There are rules and regulations that prevent us from transmitting and receiving at any frequency we want. We need to pick one of the ISM bands, or we need to get a license from governments around the world. -But how should we pick? There are at least two criteria that should be investigated. Antenna and Range. +For the ISM bands, there are regions, as seen below. + + +--> + + + +![left fit](https://upload.wikimedia.org/wikipedia/commons/9/9b/International_Telecommunication_Union_regions_with_dividing_lines.svg) + +- Yellow: Region 1 +- Blue: Region 2 +- Pink: Region 3 + +--- + + -![inline](../media/ism.png) +| Flow| Fhigh | Bandwidth | Description| +|:---|:---|:---|:---| +|40.66 MHz|40.7 MHz|40 kHz|Worldwide| +|433.05 MHz|434.79 MHz|1.74 MHz|Region 1| +|902 MHz|928 MHz|26 MHz|Region 2| +|2.4 GHz|2.5 GHz|100 MHz|Worldwide| +|5.725 GHz|5.875 GHz|150 MHz|Worldwide| +|24 GHz|24.25 GHz|250 MHz|Worldwide| +|61 GHz|61.5 GHz|500 MHz|Subject to local acceptance| + --- @@ -152,7 +180,7 @@ But how should we pick? There are at least two criteria that should be investiga [.column] assume $$\lambda/4$$ is an OK antenna size ($$\lambda = c/f$$) @@ -297,10 +325,22 @@ Next we need to decide what modulation scheme we want for our light. How should --- -## Modulation scheme +## Modulation + +$$ A_m(t) \times cos\left( 2 \pi f_{carrier}(t)t + \phi_{m}(t)\right)$$ + +--- + + @@ -371,7 +411,7 @@ Standards like Zigbee used offset quadrature phase shift keying, with a constell --> -![left fit](../media/l7_qpsk.pdf) +![inline fit](../media/l7_qpsk.pdf) + +--- + ![inline fit](../media/l7_const_env.pdf) + +--- + + ![inline fit](../media/l7_polar.pdf) + +--- + + ![inline fit](../media/l8_cartesian.pdf) --- @@ -461,21 +512,42 @@ If you wanted to research "new fancy modulation schemes" I'd think about [Sphere ![original fit](../media/l8_16qam.pdf) - + +--- + +![inline fit](../media/l10_single_carrier.pdf) + + + + +--- + +![inline fit](../media/l10_multiple_carrier.pdf) + + ---- - - - -## Single carrier, or multi carrier? - -Bluetooth, 802.15.4, ANT all use one carrier -- Simple TX, constant envelope - -WiFi, LTE ++ all use Orthogonal frequency division multiplexing (OFDM) -- Complex TX, non-constant envelope - --- @@ -523,7 +583,7 @@ WiFi, LTE ++ all use Orthogonal frequency division multiplexing (OFDM) For our mouse, what radio scheme should we choose? One common instances of "how to make a choice" in industry is "Delay the choice as long as possible so your sure the choice is right". -Maybe the best would be to integrated a software defined radio reciever? Something like the picture below, an antenna, low noise amplifier, and a +Maybe the best would be to use a software defined radio reciever? Something like the picture below, an antenna, low noise amplifier, and a analog-to-digital converter. That way we could support any transmitter. Fantastic idea, right? --> @@ -550,58 +610,11 @@ State of the art FOM $$\approx 5 \text{ fJ/step}$$ ---- - - -## WiFi 6 - - - -[An 802.11ax 4 × 4 High-Efficiency WLAN AP Transceiver SoC Supporting 1024-QAM With Frequency-Dependent IQ Calibration and Integrated Interference Analyzer](https://ieeexplore.ieee.org/document/8528383) - ---- - - - -![ fit](../media/wifi6_arch.gif) - - ---- - - - - -![inline](../media/wifi6_qam.gif) - ---- - - - - -![inline](../media/wifi6_power.gif) - --- @@ -712,9 +725,11 @@ Bluetooth LE is the perfect standard for wireless mice. For further information [Building a Bluetooth application on nRF Connect SDK](https://devzone.nordicsemi.com/guides/nrf-connect-sdk-guides/b/software/posts/building-a-ble-application-on-ncs-comparing-and-contrasting-to-softdevice-based-ble-applications) +[Bluetooth Specifications in Development](https://www.bluetooth.com/specifications/specifications-in-development/) + -![right](../media/bluetooth_future.png) +![right fit](../media/bluetooth_future.png) --- [.background-color: #00A9CE] @@ -734,11 +749,18 @@ For further information [Building a Bluetooth application on nRF Connect SDK](ht -![](../media/sony_architecture.png) +![inline fit](../media/l10_lprxarch.pdf) --- @@ -750,13 +772,13 @@ In the typical radio we'll need the blocks below. I've added a column for how ma | Blocks | Key parameter | Architecture | Complexity (nr people) | |-------------------|---------------------------------------|---------------|------------------------| -| Antenna | Gain, impedance | ?? | <1 | -| RF match | loss, input impedance | PI-match? | <1 | +| Antenna | Gain, impedance | lambda/4 | <1 | +| RF match | loss, input impedance | PI-match | <1 | | Low noise amp | NF, current, linearity | LNTA | 1 | | Mixer | NF, current, linearity | Passive | 1 | -| Anti-alias filter | NF, linearity | TIA + AFIR | 1 | +| Anti-alias filter | NF, current, linearity | Active-RC | 1 | | ADC | Sample rate, dynamic range, linearity | NS-SAR | 1 - 2 | -| PLL | Freq accuracy, phase noise, current | AD-PLL | 2-3 | +| PLL | Phase noise, current | AD-PLL | 2-3 | | Baseband | Eb/N0, gate count, current. | SystemVerilog | > 10 | --- @@ -773,41 +795,50 @@ The earlier we can amplify the input noise, the less contribution there will be The challenges in the low noise amplifier is to provide the right gain. If there is a strong input signal, then reduce the gain. If there is a low input signal, then increase the gain. -One way to implement variable gain is to reconfigure the LNA. +One way to implement variable gain is to reconfigure the LNA. For an example, see -The example below combines a NMOS common gate, common source and a PMOS common source. Depending on the required gain there is also attenuation introduced. +--> -One second challenge in the LNA is that the gain must be tuned without change to the input impedance. At RF it matters that the impedances are matched, otherwise -power would be lost to reflections. +[30.5 A 0.5V BLE Transceiver with a 1.9mW RX Achieving -96.4dBm Sensitivity and 4.1dB Adjacent Channel Rejection at 1MHz Offset in 22nm FDSOI](https://ieeexplore.ieee.org/document/9063021) ---> -![](../media/lnta1.png) + + +![left](../media/l10_lna.pdf) --- ## [fit] MIXER +--- + -In order to reduce power, it's most common with a passive mixer as shown below. A passive mixer is just MOS that we turn on and off with 25% duty-cycle. +[Complex signal processing is not complex](https://ieeexplore.ieee.org/document/1333231) + + ---- +[A 370uW 5.5dB-NF BLE/BT5.0/IEEE 802.15.4-Compliant Receiver with >63dB Adjacent Channel Rejection at >2 Channels Offset in 22nm FDSOI](https://ieeexplore.ieee.org/document/9062973/) -![](../media/mixer.png) + + +![left fit](../media/l10_mix.pdf) --- @@ -817,8 +848,6 @@ In order to reduce power, it's most common with a passive mixer as shown below. To generate the quadrature and in-phase clock signals, which must be 90 degrees phase offset, it's common to generate twice the frequency in the local oscillator (4.8 GHz), and then divide down to 4 2.4 GHz clock signals. -I liked the "Windmill" divider in the picture below (I have not tried it though, but it looked cool). - If the LO is the same as the carrier, then the modulation signal will be at DC, often called direct conversion. @@ -836,17 +865,16 @@ These days most de-modulation happens in digital, and we need to convert the ana --> -![](../media/divider.png) ---- + ## [fit] AAF --- -![fit](../media/garvik.png) +![fit](../media/l6_harald_arch.gif) --- +--> -![fit](../media/wulff.png) ---- -![fit](../media/fig_toplevel.pdf) +![fit](../media/l06_fig_toplevel.pdf) --- @@ -934,21 +949,17 @@ I have a completed ADC. --- -#Phase Locked loops -[.column] -![inline](../media/basic_pll.png) +![inline](../media/l08_pll_2mod.pdf) -[.column] -- Read Razavi's PLL book --- AD-PLL with Bang-Bang phase detector for steady-state @@ -1021,7 +1032,7 @@ I hope you understand now that it's actually complicated. -![150%](../media/nRF52832 CIAA.png) +![150%](../media/nrf52832.png) --- @@ -1031,19 +1042,19 @@ I hope you understand now that it's actually complicated. # References -"A 0.5V BLE Transceiver with a 1.9mW RX Achieving -96.4dBm Sensitivity and 4.1dB Adjacent Channel Rejection at 1MHz Offset in 22nm FDSOI", M. Tamura, Sony Semiconductor Solutions, Atsugi, Japan, 30.5, ISSCC 2020 +[A 0.5V BLE Transceiver with a 1.9mW RX Achieving -96.4dBm Sensitivity and 4.1dB Adjacent Channel Rejection at 1MHz Offset in 22nm FDSOI](https://ieeexplore.ieee.org/document/9063021), M. Tamura, Sony Semiconductor Solutions, Atsugi, Japan, 30.5, ISSCC 2020 -"A 370uW 5.5dB-NF BLE/BT5.0/IEEE 802.15.4-Compliant Receiver with >63dB Adjacent Channel Rejection at >2 Channels Offset in 22nm FDSOI", B. J. Thijssen, University of Twente, Enschede, The Netherlands +[A 370uW 5.5dB-NF BLE/BT5.0/IEEE 802.15.4-Compliant Receiver with >63dB Adjacent Channel Rejection at >2 Channels Offset in 22nm FDSOI](https://ieeexplore.ieee.org/document/9062973/), B. J. Thijssen, University of Twente, Enschede, The Netherlands -"A 68 dB SNDR Compiled Noise-Shaping SAR ADC With On-Chip CDAC Calibration", H. Garvik, C. Wulff, T. Ytterdal +[A 68 dB SNDR Compiled Noise-Shaping SAR ADC With On-Chip CDAC Calibration](https://ieeexplore.ieee.org/document/9056925), H. Garvik, C. Wulff, T. Ytterdal -"A Compiled 9-bit 20-MS/s 3.5-fJ/conv.step SAR ADC in 28-nm FDSOI for Bluetooth Low Energy Recievers", C. Wulff, T. Ytterdal +[A Compiled 9-bit 20-MS/s 3.5-fJ/conv.step SAR ADC in 28-nm FDSOI for Bluetooth Low Energy Recievers](https://ieeexplore.ieee.org/document/7906479), C. Wulff, T. Ytterdal Cole Nielsen, "Python Framework for Design and Simulation of Integer-N ADPLLs", Cole Nielsen, -Design of CMOS Phase-Locked Loops, Behzad Razavi, University of California, Los Angeles +[Design of CMOS Phase-Locked Loops](https://doi.org/10.1017/9781108626200), Behzad Razavi, University of California, Los Angeles diff --git a/media/EDR.png b/media/EDR.png new file mode 100644 index 0000000..1b891f8 Binary files /dev/null and b/media/EDR.png differ diff --git a/media/bluetooth_future.png b/media/bluetooth_future.png new file mode 100644 index 0000000..ec47fdf Binary files /dev/null and b/media/bluetooth_future.png differ diff --git a/media/l10_lna.pdf b/media/l10_lna.pdf new file mode 100644 index 0000000..ec8d642 Binary files /dev/null and b/media/l10_lna.pdf differ diff --git a/media/l10_lna.svg b/media/l10_lna.svg new file mode 100644 index 0000000..2b6195f --- /dev/null +++ b/media/l10_lna.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/l10_lprxarch.pdf b/media/l10_lprxarch.pdf new file mode 100644 index 0000000..7ac4f33 Binary files /dev/null and b/media/l10_lprxarch.pdf differ diff --git a/media/l10_lprxarch.svg b/media/l10_lprxarch.svg new file mode 100644 index 0000000..5e388a6 --- /dev/null +++ b/media/l10_lprxarch.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/l10_mix.pdf b/media/l10_mix.pdf new file mode 100644 index 0000000..ca0caad Binary files /dev/null and b/media/l10_mix.pdf differ diff --git a/media/l10_mix.svg b/media/l10_mix.svg new file mode 100644 index 0000000..55c36c6 --- /dev/null +++ b/media/l10_mix.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/l10_multiple_carrier.pdf b/media/l10_multiple_carrier.pdf new file mode 100644 index 0000000..6724174 Binary files /dev/null and b/media/l10_multiple_carrier.pdf differ diff --git a/media/l10_multiple_carrier.svg b/media/l10_multiple_carrier.svg new file mode 100644 index 0000000..9f7b462 --- /dev/null +++ b/media/l10_multiple_carrier.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/l10_single_carrier.pdf b/media/l10_single_carrier.pdf new file mode 100644 index 0000000..e300acb Binary files /dev/null and b/media/l10_single_carrier.pdf differ diff --git a/media/l10_single_carrier.svg b/media/l10_single_carrier.svg new file mode 100644 index 0000000..a326adb --- /dev/null +++ b/media/l10_single_carrier.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/l7_bpsk_circuit.pdf b/media/l7_bpsk_circuit.pdf new file mode 100644 index 0000000..3cefc93 Binary files /dev/null and b/media/l7_bpsk_circuit.pdf differ diff --git a/media/l7_bpsk_circuit.svg b/media/l7_bpsk_circuit.svg new file mode 100644 index 0000000..98dd508 --- /dev/null +++ b/media/l7_bpsk_circuit.svg @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/l7_bpsk_real.pdf b/media/l7_bpsk_real.pdf new file mode 100644 index 0000000..3e50551 Binary files /dev/null and b/media/l7_bpsk_real.pdf differ diff --git a/media/l7_bpsk_real.svg b/media/l7_bpsk_real.svg new file mode 100644 index 0000000..406017e --- /dev/null +++ b/media/l7_bpsk_real.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/l7_const_env.pdf b/media/l7_const_env.pdf new file mode 100644 index 0000000..bcc907f Binary files /dev/null and b/media/l7_const_env.pdf differ diff --git a/media/l7_const_env.svg b/media/l7_const_env.svg new file mode 100644 index 0000000..2d85e9e --- /dev/null +++ b/media/l7_const_env.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/l7_polar.pdf b/media/l7_polar.pdf new file mode 100644 index 0000000..9f152d1 Binary files /dev/null and b/media/l7_polar.pdf differ diff --git a/media/l7_polar.svg b/media/l7_polar.svg new file mode 100644 index 0000000..2658820 --- /dev/null +++ b/media/l7_polar.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/l7_qpsk.pdf b/media/l7_qpsk.pdf new file mode 100644 index 0000000..502dfd8 Binary files /dev/null and b/media/l7_qpsk.pdf differ diff --git a/media/l7_qpsk.svg b/media/l7_qpsk.svg new file mode 100644 index 0000000..bb29abb --- /dev/null +++ b/media/l7_qpsk.svg @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/l8_16qam.pdf b/media/l8_16qam.pdf new file mode 100644 index 0000000..8136a66 Binary files /dev/null and b/media/l8_16qam.pdf differ diff --git a/media/l8_16qam.svg b/media/l8_16qam.svg new file mode 100644 index 0000000..e8b7c4d --- /dev/null +++ b/media/l8_16qam.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/l8_8psk.pdf b/media/l8_8psk.pdf new file mode 100644 index 0000000..88d94f8 Binary files /dev/null and b/media/l8_8psk.pdf differ diff --git a/media/l8_8psk.svg b/media/l8_8psk.svg new file mode 100644 index 0000000..f3797d9 --- /dev/null +++ b/media/l8_8psk.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/l8_cartesian.pdf b/media/l8_cartesian.pdf new file mode 100644 index 0000000..67fe513 Binary files /dev/null and b/media/l8_cartesian.pdf differ diff --git a/media/l8_cartesian.svg b/media/l8_cartesian.svg new file mode 100644 index 0000000..7959b1f --- /dev/null +++ b/media/l8_cartesian.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/lg_lna_adc.pdf b/media/lg_lna_adc.pdf new file mode 100644 index 0000000..86d856a Binary files /dev/null and b/media/lg_lna_adc.pdf differ diff --git a/media/lg_lna_adc.svg b/media/lg_lna_adc.svg new file mode 100644 index 0000000..b3af8f5 --- /dev/null +++ b/media/lg_lna_adc.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/nrf52832.png b/media/nrf52832.png new file mode 100644 index 0000000..bd55535 Binary files /dev/null and b/media/nrf52832.png differ diff --git a/media/nrf53.png b/media/nrf53.png new file mode 100644 index 0000000..21687ef Binary files /dev/null and b/media/nrf53.png differ diff --git a/media/nrf53_rx.png b/media/nrf53_rx.png new file mode 100644 index 0000000..c4c3e54 Binary files /dev/null and b/media/nrf53_rx.png differ diff --git a/media/pll_master_arch_28feb2020.pdf b/media/pll_master_arch_28feb2020.pdf new file mode 100644 index 0000000..10b0976 Binary files /dev/null and b/media/pll_master_arch_28feb2020.pdf differ diff --git a/media/pll_master_arch_28feb2020.svg b/media/pll_master_arch_28feb2020.svg new file mode 100644 index 0000000..bcafcc9 --- /dev/null +++ b/media/pll_master_arch_28feb2020.svg @@ -0,0 +1,723 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pdf/aic.tex b/pdf/aic.tex index 31d9142..e9fcc06 100644 --- a/pdf/aic.tex +++ b/pdf/aic.tex @@ -105,8 +105,8 @@ \chapter{Clocks and PLLs} \chapter{Oscillators} \input{lecture_9_-_oscillators_fiximg.tex} -%\chapter{Low Power Radio} -%\input{lecture_10_-_low_power_radio_fiximg.tex} +\chapter{Low Power Radio} +\input{lecture_10_-_low_power_radio_fiximg.tex} %\chapter{Analog SystemVerilog} %\input{lecture_11_-_analog_systemverilog_fiximg.tex} diff --git a/pdf/version.tex b/pdf/version.tex index eb74b34..aa54abb 100644 --- a/pdf/version.tex +++ b/pdf/version.tex @@ -1,2 +1,2 @@ -{\noindent Built on Thu Mar 7 16:00:44 CET 2024} \\ - {\noindent from 2ac4fd9499dc4be928fd8474f05019c72d3ce81a} +{\noindent Built on Sun Mar 10 14:27:04 CET 2024} \\ + {\noindent from 1a8929bded921dd08fb2d3077916259b41a7337a}