fpga_phy_zigbee
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
fpga_phy_zigbee [2017/12/06 16:08] – [Upload files and run the experiment] ooubejja | fpga_phy_zigbee [2017/12/14 16:25] (current) – [What's new here ?] ooubejja | ||
---|---|---|---|
Line 1: | Line 1: | ||
--- // | --- // | ||
- | ! UNDER CONSTRUCTION ! | ||
{{ : | {{ : | ||
Line 9: | Line 8: | ||
- | In this tutorial we will focus on the PHY layer exclusively and, in order to encode/ | + | In this tutorial we will focus on the PHY layer exclusively and, in order to encode/ |
==== What's new here ? ==== | ==== What's new here ? ==== | ||
As seen in the previous tutorials, operations such as FFT, MUX/DEMUX, encoding, modulation, | As seen in the previous tutorials, operations such as FFT, MUX/DEMUX, encoding, modulation, | ||
The goal of this tutorial is to transmit IEEE 802.15.4 packets with a " | The goal of this tutorial is to transmit IEEE 802.15.4 packets with a " | ||
- | In this tutorial, we will see how to transmit and receive IEEE 802.15.4 packets using a .hex file as an input and a [[custom Bitstream]] of a IEEE 802.15.4 PHY Layer Transmitter targeting the Xilinx FPGA [[https:// | + | In this tutorial, we will see how to transmit and receive IEEE 802.15.4 packets using a .hex file as an input and a custom Bitstream of a IEEE 802.15.4 PHY Layer Transmitter targeting the Xilinx FPGA [[https:// |
---- | ---- | ||
Line 22: | Line 21: | ||
We will need some blocks of the module [[https:// | We will need some blocks of the module [[https:// | ||
- | ==== Download bitstream | + | ==== Find the Bitstream |
- | In order to use the FPGA Transmitter design, we will have to load the custom | + | In order to use the FPGA Transmitter design, we will have to load the custom |
- | The receiver node(s) will run the default | + | |
+ | ''/ | ||
+ | |||
+ | Copy the file in your main directory : | ||
+ | < | ||
+ | you@srvairlock: | ||
+ | </ | ||
+ | |||
+ | //The receiver node(s) will run the default | ||
---- | ---- | ||
Line 56: | Line 63: | ||
* ATTENTION : **Channel** parameter has to be set to **__3__** as in the previous image. That's the only channel that allows access to the custom design. | * ATTENTION : **Channel** parameter has to be set to **__3__** as in the previous image. That's the only channel that allows access to the custom design. | ||
- | |||
- | * **Radio420x** | ||
- | * Set CR1 value to 0 to enable the transmitter | ||
* **Custom Register** (CR 1 & 4) | * **Custom Register** (CR 1 & 4) | ||
Line 64: | Line 68: | ||
* Set CR1 value to 0 to enable the transmitter | * Set CR1 value to 0 to enable the transmitter | ||
* Set CR4 value to 0 to disable MIMO synchronization | * Set CR4 value to 0 to disable MIMO synchronization | ||
+ | |||
+ | * **Radio420 ** | ||
+ | * The Radio420x is a Multimode SDR [[https:// | ||
+ | * To be short, add 2 '' | ||
+ | * Now, we only need one transmitter per node, so make sure to enable only the Radio420 TX of Card 1, and set the gain values as following : | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | * For the 3 remaining '' | ||
+ | |||
//If you don't get this part, have a look [[from_gnuradio_to_cortxlab_pico|here]].// | //If you don't get this part, have a look [[from_gnuradio_to_cortxlab_pico|here]].// | ||
- | There isn't that much done in here since all baseband processing is done by the FPGA. All that is left is to connect a '' | + | There isn't that much left in here since all baseband processing is done by the FPGA. All you have to do now is to connect a '' |
{{ : | {{ : | ||
- | The final flow-graph should look like this : | + | The final flow-graph |
{{ : | {{ : | ||
Line 149: | Line 163: | ||
< | < | ||
... | ... | ||
- | ├── pico_zigbee.task | ||
├── pico_zigbee | ├── pico_zigbee | ||
│ | │ | ||
Line 158: | Line 171: | ||
│ | │ | ||
│ | │ | ||
- | |||
... | ... | ||
</ | </ | ||
Line 183: | Line 195: | ||
===== Check results ===== | ===== Check results ===== | ||
- | Wait until the task is finished, proceed to extract results of the RX node(s). In our case it's the Node31 only. | + | Check the experiment status : |
+ | |||
+ | < | ||
+ | you@srvairlock: | ||
+ | </ | ||
+ | |||
+ | And when the task is finished | ||
+ | |||
+ | < | ||
+ | you@srvairlock: | ||
+ | num total tasks: | ||
+ | num tasks waiting: 0 | ||
+ | num tasks running: 0 | ||
+ | tasks currently running: | ||
+ | (none) | ||
+ | </ | ||
+ | |||
+ | Then proceed to extract results of the RX node(s). In our case it's the Node31 only. | ||
The file tree should look like this : | The file tree should look like this : | ||
Line 201: | Line 230: | ||
│ | │ | ||
│ | │ | ||
- | impact_instr.txt | + | │ |
- | frame_fpga.hex | + | │ |
- | _impactbatch.log | + | │ |
- | stderr.txt | + | │ |
- | __stdout.txt__ | + | │ |
... | ... |
fpga_phy_zigbee.txt · Last modified: 2017/12/14 16:25 by ooubejja