This is an old revision of the document!
Table of Contents
4. Exercise: Packet Transmission
Most protocol in communication networks are packet oriented. To send a packet, all user data stored in the TX FIFO will be send. To store data in TX FIFO, function cc1200_reg_write will be used. As address parameter the address 0x3F will be provided and the data to store. After the TX FIFO has been filled. The CC1200 has to be switched into sending mode.
In sending mode, CC1200 will prepend the data to send with a programmable preamble and a sync word. After the data of the TX FIFO has been sent, an optional CRC will be calculated and also been sent. After sending a packet, CC1200 will go back to idle mode. The mode to enter after sending a packet can be changed by programming the RFEND_CFG0 register.
The aim of this exercise is to send fixed length packets and variable length packets.
Requirements
This task requires
- a ready BeagleBone Black equipped with the CC1200.
- 5C attached to a second BeagleBone Black equipped with the CC1200.
Tasks
- connect the first BeagleBone Black to your computer and install, execute 4C.
- open “TX Packet Mode” in test window. Some registers in the register view will change their value.
- in the option
length configchangevariabletofixed. - enter charters in the the text window. You will see, that
Lengthfield will change. - export all registers to a file. This means 208 registers must be exported.
- connect the BeagleBone Black to your computer and login as superuser.
- copy the export file from SmartRF Studio to the BeagleBone Black
- import the export file into your program and initialize the registers according the values of the export file.
- verify that the registers have been written correctly.
- Read chapter 8 about the packet handling of the CC1200 Users Guide and implement it.
- Bring SmartRF Studio in “Packet RX” mode, change the
length configto fixed and change theLengthfield to the value used in the export file - start the transmitter. At the receiver at SmartRF Studio, you should now receive the packets.
If you are able to transmit packets in fixed length mode, the next step will be to transmit packets in variable length mode:
- go back to SmartRF Studio and change the
length configtovariable - look, which registers have been changed.
- modify the changed registers in your program. You do not need to reexport the complete registers.
- now, implement variable length packets and test it.
- connect the first BeagleBone Black to your computer and install, execute 4C.
- open “RX Packet Mode” in test window. Some registers in the register view will change their value.
- in the option
length configchangevariabletofixed. - now, choose an appropriate length of the
Lengthfield, e.g. 10. - export all registers to a file. This means 208 registers must be exported.
- login to the second BeagleBone Black as superuser.
- copy the export file from 4C to the BeagleBone Black
- import the export file into your program and initialize the registers according the values of the export file.
- verify that the registers have been written correctly.
- Read chapter 8 about the packet handling of the CC1200 Users Guide and implement it.
- Bring 4C “TX Packet Mode“, change the
length configto fixed and enter charters in the the text windo until theLengthfield equals the value used in the export file (e.g. 10). - start the transmitter. At the receiver, the BeagleBone Black, You should now receive the packets.
If you are able to receive packets in fixed length mode, the next step will be to receive packets in variable length mode:
- go back to 4C and change the
length configtovariable - look, which registers have been changed.
- modify the changed registers in your program. You do not need to reexport the complete registers.
- now, implement variable length packets and test it.
Hints
- keep in mind, that SmartRF Studio receiver will expect a CRC.
