Transceiver from Nordic Semiconductor.
Comes equipped with ShockBurst protocol which moves the job of creating complete packets from the microcontroller to the transceiver. Simply clock in the data and tell it to send.
The interface to the microcontroller consists of:
1. CE - Chip Enable
2. CS - Chip Select
3. DR - Data Ready
4. CLK - Clock
5. Data - Data
How to Send Data
Set up the transceiver and choosing the speed, packet size, address, transmitter, etc.
1. Store your payload and destination address in an array
2. Set CE to high
3. Set the MSB of the address array to the Data pin on the transceiver.
4. Toggle the CLK pin on the transceiver (CLK pin high then CLK pin low) Continue this until the entire address has been clocked in.
5. Set the MSB of the payload array to the Data pin on the transceiver.
6. Toggle the CLK pin on the transceiver (CLK pin high then CLK pin low) Continue this until the entire payload has been clocked in.
7. Set CE to low at which point the transceiver will send the packet.
How to Receive Data
If the transceiver is configured to listening mode, once a packet arrives, the DR (Data Ready) pin will becomes high.
1. Make CE low (saves power, since you cannot listen for packet while you are moving data from transceiver to MCU.
2. The Data pin will contain the first bit that arrived. Save it.
3. Toggle CLK pin on the transceiver (CLK pin high then CLK pin low)
4. Now the Data pin contains the next bit in the payload. Continue this until the entire packet has been clocked out.
DR pin will go low when the entire packet has been moved from the transceiver to the MCU.
This protocol takes care of the structure of the packet. The user does not have to worry about sending a preamble, address, payload, CRC. The transceiver checks if the packet is error-free and destined to the proper address.