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:00] – [Receiver (ieee802154_rx_pico.grc)] 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 145: | Line 159: | ||
| ===== Upload files and run the experiment ===== | ===== Upload files and run the experiment ===== | ||
| + | The experiment directory should look like this by now : | ||
| < | < | ||
| ... | ... | ||
| - | ├── pico_zigbee.task | ||
| ├── pico_zigbee | ├── pico_zigbee | ||
| │ | │ | ||
| Line 157: | Line 171: | ||
| │ | │ | ||
| │ | │ | ||
| - | |||
| ... | ... | ||
| </ | </ | ||
| - | The .grc files are not needed to create the task, but if ever you want to change/ | + | The '' |
| + | |||
| + | Now you have to [[exp_upload|upload the files]] to Airlock server and [[reserve|book the testbed]]. | ||
| + | |||
| + | Create the task : | ||
| + | < | ||
| + | you@srvairlock: | ||
| + | </ | ||
| + | |||
| + | And submit it : | ||
| + | < | ||
| + | you@srvairlock: | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| Line 167: | 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 185: | Line 230: | ||
| │ | │ | ||
| │ | │ | ||
| - | impact_instr.txt | + | │ |
| - | frame_fpga.hex | + | │ |
| - | _impactbatch.log | + | │ |
| - | stderr.txt | + | │ |
| - | __stdout.txt__ | + | │ |
| ... | ... | ||
fpga_phy_zigbee.1512572407.txt.gz · Last modified: by ooubejja
