KIT DEV FOR CC2500/CC2550

CC2500-CC2550DK

Manufacturer Part NumberCC2500-CC2550DK
DescriptionKIT DEV FOR CC2500/CC2550
ManufacturerTexas Instruments
SeriesSmartRF®
TypeTransceiver, SmartRF
CC2500-CC2550DK datasheets
 


Specifications of CC2500-CC2550DK

Frequency2.4GHzProductRF Development Tools
Supply Voltage (max)3.6 VMaximum Operating Temperature+ 85 C
Minimum Operating Temperature- 40 CSupply Voltage (min)2.7 V
For Use With/related ProductsCC2500, CC2550Lead Free Status / RoHS StatusLead free / RoHS Compliant
Other names296-23077
CC2500-CC2550DK
  
1
Page 1
2
Page 2
3
Page 3
4
Page 4
5
Page 5
6
Page 6
7
Page 7
8
Page 8
9
Page 9
10
Page 10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Page 1/28

Download datasheet (407Kb)Embed
Next
CC1100/CC1150DK & CC2500/CC2550DK
Development Kit
Examples and Libraries
User Manual
Rev. 1.3
SWRU109A

CC2500-CC2550DK Summary of contents

  • Page 1

    ... CC1100/CC1150DK & CC2500/CC2550DK Development Kit Examples and Libraries User Manual Rev. 1.3 SWRU109A ...

  • Page 2

    Table of contents 1. Introduction ..................................................................................................................... 3 2. Definitions ....................................................................................................................... 3 3. General Notes about the Software ................................................................................. 3 4. Running the Examples.................................................................................................... 3 5. MCU Examples............................................................................................................... 4 5.1 Audio ........................................................................................................................... 4 5.2 Joystick........................................................................................................................ 4 5.3 Potmeter...................................................................................................................... 4 5.4 Spi ...

  • Page 3

    ... Introduction This User Manual covers the software examples and libraries used with the CC2500/CC2550DK Development Kit and CC1100/CC1150DK Development Kit. 2. Definitions ® SmartRF 04DK A collective term used for all development kits for the SmartRF CC1100/CC1150 DK USB MCU The Silicon Labs C8051F320 MCU used to provide a USB ...

  • Page 4

    MCU Examples The examples should be installed into the C:\Keil\C51\Examples\Chipcon\srf04 directory. 5.1 Audio This example runs a loop-back test from the audio input to the audio output. The USB MCU samples the incoming audio using the built-in ADC, and ...

  • Page 5

    Timer01 This example demonstrates use of timer 0/1 and the LEDs on the Evaluation Board. The program runs in an infinite loop reading the status of the potmeter, writing this value into a global variable. An interrupt routine is ...

  • Page 6

    The LCD display will show number of packets received with CRC OK. Tx Unit: • Set packet length and number of packets to transmit • Enable/disable Whitening (set to the same as on the RX unit) • Set radio mode ...

  • Page 7

    Is rx timeout YES active? NO Are there bytes Has RX FIFO overflowed NO available in the timeout reached? YES rxBytesleft = 0 Flush RX FIFO Figure 2. Flow chart for pktRxHandler (Link1) Time to ...

  • Page 8

    Is startup timeout active? YES txStartupTimeoutActive = FALSE txInProgress = TRUE Time to enter tx mode? YES Strobe TX Write the length byte to the TX FIFO NO TX Decrementt timeout counter Calculate minimum of: -16 - The number ...

  • Page 9

    ... This program demonstrates how it is possible to transmit and receive packets that are longer than the size of the FIFO (64 bytes) without doing any SPI polling of the status registers (see the CC1100/CC1150 and the CC2500/CC2550 Errata Notes). Packet transmission and packet reception is implemented using two external interrupts. The joystick is used to navigate through a menu, setting different parameters ...

  • Page 10

    START) && (ebButtonPushed()) SETUP && state == RX_START txData.packetSentFlag == TRUE && txData.packetsSent < RX_START menuData.numberOfPackets rxData.packetReceivedFlag == TRUE RX_WAIT Figure 4. Main loop state diagram (Link2) (index == START) && (ebButtonPushed()) && state == TX_START TX_START txData.packetSentFlag ...

  • Page 11

    Write packet to FIFO Strobe STX Disable threshold interrupt Threshold ISR (Only showed for TX) NO Write the remaining data to the FIFO? (txData.writeRemainingDataFlag == TRUE) Fill up the FIFO with AVAILABLE_BYTES_IN_TX_FIFO number of bytes YES (txData.pBufferIndex += AVAILABLE_BYTES_IN_TX_FIFO; txData.bytesLeft ...

  • Page 12

    Threshold ISR (Only showed for RX) Read (BYTES_IN_RX_FIFO - 1) number of bytes from the FIFO Update rxData (rxData.bytesLeft -= (BYTES_IN_RX_FIFO - 1); rxData.pBufferIndex += (BYTES_IN_RX_FIFO - 1);) Clear the interrupt flag Done Packet ISR (Only showed for RX) Sync ...

  • Page 13

    Example to demonstrate the program flow: Both GDO0 and GDO2 are connected to inputs pins on the MCU configured to generate external interrupts. The interrupt related to the GDO2 pin is referred to as the threshold interrupt, while the other ...

  • Page 14

    ... This program demonstrates how it is possible to transmit and receive packets that are longer than 256 bytes. The example does not use any SPI polling of the status registers (see the CC1100/CC1150 and the CC2500/CC2550 Errata Notes). Packet transmission and packet reception is implemented using two external interrupts. The joystick is used to navigate through a menu, setting different parameters ...

  • Page 15

    Rx Unit: • Set radio mode to RX. • Move joystick down until the message "Press S1 to start" is showed on the LCD display • Press S1 The LCD display will show number of packets received with CRC OK. ...

  • Page 16

    Threshold ISR (Only showed for TX) NO Write the remaining data to the FIFO? (txData.writeRemainingDataFlag == TRUE) AVAILABLE_BYTES_IN_TX_FIFO number of bytes YES (((txData.bytesLeft < (MAX_VARIABLE_LENGTH + 1 - Change to fixed packet length mode (txData.pBufferIndex += AVAILABLE_BYTES_IN_TX_FIFO; YES txData.bytesLeft -= ...

  • Page 17

    Figure 11. Flowchart for RX (InfiniteLink) Example to demonstrate the program flow: Please see the Link2 example above to understand how the packet interrupt (IOCFG0 = 0x06) and the threshold interrupt (IOCFG2 = 0x00 (RX) and IOCFG2 = 0x02 (TX)) ...

  • Page 18

    Figure 12. Writing to TX FIFO (InfiniteLink) 1: LENGTH_CONFIG = 2 (Infinite packet length) txData.bytesLeft = menuData.packetLength + 2 length bytes = 450 + 2 = 452 fixedPacketLength = txData.bytesLeft % (MAX_VARIABLE_LENGTH + 1) = mod(452, 256) ...

  • Page 19

    AVAILABLE_BYTES_IN_TX_FIFO = 328 – 60 txData.iterations = 4 Check if there is less than 256 bytes left to transmit and if Infinite packet length mode is set: ((268 < (255 + 1 - 4)) && (txData.pktFormat == INFINITE)) ...

  • Page 20

    Figure 13. Reading from RX FIFO (InfiniteLink) 1: Packet interrupt on rising edge (sync received). Wait for 3 bytes to be put in the RX FIFO. 2: Read the length bytes (2 bytes). rxData.bytesLeft = rxData.lengthByte + ...

  • Page 21

    Check if there is less than 256 bytes left to receive and if Infinite packet length mode is set: (((334 - 60) < (255 + 1)) && (rxData.pktFormat == INFINITE)) ? Read 59 bytes from the RX FIFO (the RX ...

  • Page 22

    In the ex_audio folder, the audio.c and audio.Uv2 files are found, together with the audio_bootloader.Uv2 and the STARTUP.A51. The audio.hex and audio_bootloader.hex files are found in the objects folder under ex_audio. audio.hex is the .hex file that is created when ...

  • Page 23

    Folder ..\NC\Chipcon\srf04 ..\LIB\Chipcon\srf04 ..\LIB\Chipcon\srf04\Eb\CCxx00 ..\LIB\Chipcon\srf04\Hal\CCxx00 ..\LIB\Chipcon\srf04\bootloader_reservation ..\LIB\Chipcon\srf04\Cul\CCxx00 Table 1. Contents of library directories File common.h ebsrf04.h halsrf04.h regssrf04.h culsrf04.h app_descriptor.h app_descriptor.a51 bl_structs.h ebsrf04.LIB halsrf04.LIB culsrf04.LIB ebsrf04_bootloader.LIB halsrf04_bootloader.LIB culsrf04_bootloader.LIB AdcInit.c ButtonPushed.c GetJoystickPosition.c JoyPushed.c Lcd.c ReadPotentiometer.c RfReceivePacket.c RfSendPacket.c RfWriteRfSettings.c SetupTimer01.c SetupTimer23.c SpiReadBurstReg.c ...

  • Page 24

    EB Library Reference Table 3 is showing all the functions and macros found in the EB library. For more details on how to use these functions/macros, please see the ebsrf04.h file, found in the ..\INC\Chipcon\srf04 folder. Functions BOOL ebButtonPushed(void) ...

  • Page 25

    BYTE *buffer, BYTE count) void halSpiReadBurstReg (BYTE addr, BYTE *buffer, BYTE count) void halSetupTimer01 (UINT8 timer01, UINT8 clkSource, UINT8 mode, BOOL timerInt) void halSetupTimer23 (UINT8 timerOption, clkSourceH, UINT8 clkSourceL, UINT8 mode, BOOL timerInt) void RfWriteRfSettings (RF_SETTINGS ...

  • Page 26

    UART_RX(x) UART_WAIT_AND_SEND(x) UART_WAIT_AND_RECEIVE(x) SPI_ENABLE() SPI_DISABLE() SPI_INIT(freq) SPI_WAIT() RESET_CCxxx0() POWER_UP_RESET_CCxxx0() TIMER0_RUN(x) TIMER1_RUN(x) TIMER2_RUN(x) TIMER3_RUN(x) SET_RELOAD_VALUE_TIMER0 (period_us, clock_kHz) SET_RELOAD_VALUE_TIMER1 (period_us, clock_kHz) SET_RELOAD_VALUE_TIMER2_8BIT (periodH_us, periodL_us, clock_kHzH, clock_kHzL) SET_RELOAD_VALUE_TIMER3_8BIT (periodH_us, periodL_us, clock_kHzH, clock_kHzL) SET_RELOAD_VALUE_TIMER2_16BIT (period_us, clock_kHz) SET_RELOAD_VALUE_TIMER3_16BIT (period_us, clock_kHz) ADC_ENABLE() ADC_DISABLE() ADC_SAMPLE() CLOCK_INIT() CLOCK_INIT() ...

  • Page 27

    Functions UINT16 culCalcCRC (BYTE crcData, UINT16 crcReg) void culSyncSearch (UINT8 sync3, UINT8 sync2, UINT8 sync1, UINT8 sync0) Table 4. CUL functions and macros Description A CRC-16/CCITT implementation. Function for searching for a 4 bytes sync word. SWRU039a Page 27 ...

  • Page 28

    Document history Revision 1.3 1.2 1.1 1.0 Date Description/Changes 2007-01-12 Cosmetic changes. Removed WOR examples as they are not up-to-date with AN047. Removed the FEC option in the Link1 example as this option has been removed from the code ...