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 15:37] – [Transmitter] 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 50: | Line 57: | ||
| - === TX Flowgraph in GRC (ieee802154_tx_pico.grc)=== | - === TX Flowgraph in GRC (ieee802154_tx_pico.grc)=== | ||
| - | The PicoSDR needs some initializing stuff to be done, here is what is new comparing to the previous tutorials | + | The PicoSDR needs some initializing stuff to be done : |
| - | * Add and configure these blocks: | + | * Add and configure these blocks |
| * **RTDEx Sink** | * **RTDEx Sink** | ||
| * 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 86: | Line 100: | ||
| ==== Receiver (ieee802154_rx_pico.grc)==== | ==== Receiver (ieee802154_rx_pico.grc)==== | ||
| + | |||
| + | not finished | ||
| + | |||
| + | |||
| {{ : | {{ : | ||
| ==== Generate .py files ==== | ==== Generate .py files ==== | ||
| Line 141: | 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 153: | 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 163: | 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 181: | Line 230: | ||
| │ | │ | ||
| │ | │ | ||
| - | impact_instr.txt | + | │ |
| - | frame_fpga.hex | + | │ |
| - | _impactbatch.log | + | │ |
| - | stderr.txt | + | │ |
| - | __stdout.txt__ | + | │ |
| ... | ... | ||
fpga_phy_zigbee.1512571042.txt.gz · Last modified: by ooubejja
