Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
network_protocol_programming_lab:15.3_2_exercise [2020/05/07 08:37] – [Requirements] rathkenetwork_protocol_programming_lab:15.3_2_exercise [2021/04/19 12:38] (current) – [Requirements] rathke
Line 3: Line 3:
 Most protocol in communication networks are packet oriented. To receive a packet, CC1200 has a built in packet reception protocol engine. Using the engine, C1200 waits until the medium gets active by recognizing a preamble and s sync word. The patterns of the preamble and sync-word are programmable. The data after the sync word will be stored into an RX FIFO. The content of the FIFO can be read byte by byte by the user at the address 0x3F with the user of the function cc1200_reg_read. After the packet has been received, the internal protocol engine will check an optional CRC. The CRC will not be stored in the FIFO. Thus the FIFO only contains the payload data and no other protocol fields. The result of the CRC check and also the RSSI of the received packet, is optional available after the packet in the FIFO. The protocol engine will handle two types of packets: either fixed length packets or variable length packets. Most protocol in communication networks are packet oriented. To receive a packet, CC1200 has a built in packet reception protocol engine. Using the engine, C1200 waits until the medium gets active by recognizing a preamble and s sync word. The patterns of the preamble and sync-word are programmable. The data after the sync word will be stored into an RX FIFO. The content of the FIFO can be read byte by byte by the user at the address 0x3F with the user of the function cc1200_reg_read. After the packet has been received, the internal protocol engine will check an optional CRC. The CRC will not be stored in the FIFO. Thus the FIFO only contains the payload data and no other protocol fields. The result of the CRC check and also the RSSI of the received packet, is optional available after the packet in the FIFO. The protocol engine will handle two types of packets: either fixed length packets or variable length packets.
  
-The aim of this exercise is to receive packets of fixed length packets and variable length packets.+The aim of this exercise is to receive fixed length packets and variable length packets.
  
 ===== Requirements  ===== ===== Requirements  =====
Line 9: Line 9:
 This task requires  This task requires 
  
-  * a ready BeagleBone Black equipped with the CC1200 +  * a ready BeagleBone Black equipped with the CC1200. 
-  * one TI Development Kit for the CC1200 +  * 4C attached to a second BeagleBone Black equipped with the CC1200.
-  * Smart RF Studio. +
 ===== Tasks  ===== ===== Tasks  =====
  
-  * connect the TI Development Kit to your computer and execute Smart RF Studio +  * connect the first BeagleBone Black to your computer and install, execute 4C. 
-  * open the CC1200 panel and select “Symbolrate 38.4kbps, 2-GFSK, RX BW 100kHz, ETSI Standard (868MHz)” in the typical settings part +  * open "RX Packet Mode" in test window. Some registers in the register view will change their value
-  * press the button “Continuous RX” in the lower window. Some registers in the register view will change their value+  * in the option ''length config'' change ''variable'' to ''fixed''
 +  * now, choose an appropriate length of the ''Length'' field, e.g. 10.
   * export all registers to a file. This means 208 registers must be exported.   * export all registers to a file. This means 208 registers must be exported.
-  * connect the BeagleBone Black to your computer and login as superuser. +  * login to the second BeagleBone Black as superuser. 
-  * copy the SPI_test directory and modify it according page [[network_protocol_programming_lab:15.2_cc1200_programming|Programming CC1200]] +  * copy the export file from 4C to the BeagleBone Black
-  * 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.   * 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.   * verify that the registers have been written correctly.
-  * Read chapter 6.9 about the RSSI of the [[http://www.ti.com/lit/ug/swru346b/swru346b.pdf?ts=1588225642109|CC1200 Users Guide]] and implement it. +  * Read chapter about the packet handling of the [[http://www.ti.com/lit/ug/swru346b/swru346b.pdf?ts=1588225642109|CC1200 Users Guide]] and implement it. 
-  * if the program is correctly compiled and linked start it. The RSSI must have values between ''-128db'' and ''127db''+  * Bring 4C “TX Packet Mode", change the ''length config'' to fixed and enter charters in the the text window until the ''Length'' field equals the value used in the export file (e.g. 10)
-  * If this is the case bring SmartRF Studio in “Continuous TX” mode and start the transmitter. At the receiver, the BeagleBone Black, the RSSI should increase. If switching off the transmitter, the RSSI should drop down.+  *  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 config'' to ''variable'' 
 +  * lookwhich registers have been changed. 
 +  * modify the changed registers in your programYou do not need to reexport the complete registers. 
 +  * now, implement variable length packets and test it. 
 +===== Hints  =====
  
 +  * keep in mind, that 4C transmitter will add a CRC to the packet.  
 +  * the CC1200 at the receiver is programmed to add a packet status in the RX FIFO 
 +  * in variabel packet length mode the size of the received packet is limited. Packets larger than that limit will be discarded.
 +  * you have to adjust the packet mode bits in register PKT_CFG0 and the PTK_LEN register by yourself.
network_protocol_programming_lab/15.3_2_exercise.1588833430.txt.gz · Last modified: 2020/05/07 08:37 by rathke
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0