Few facts about CC1000 chip

By waterproofman

Description

The CC1000 is a single chip UHF transceiver manufacturing by Chipcon. It works in wide frequency range from 300MHz to 1GHz and offers data rate up to 76.8 kbit/s (in Manchester mode 38.4 kbit/s only). CC1000 is designed for low power applications and (according to datasheet) it will consume 0.2 uA in powerdown mode, ~10mA working as receiver and up to 15mA when transmitting data in normal mode (0 dBm).

First and most important thing about transmitting data with CC1000 is that it just provides digital transmission. Nothing more. With properly set CC1000 chip you can think about ones and zeros, but you can't think about packets. Everything above – checksum like CRC32 or any protocol are not provided. On one hand – it's good, you are totally free to implement (almost) any protocol, but on the other – you have to do everything yourself.

Interfacing

Chipcon sells CC1000 chips in minimodules called CC1000PP (Plug&Play) – small modules with chip and few passive elements onboard, designed for 433 or 868MHz. Difficulties begin when you want to connect CC1000PP to 5V microcontroller. CC1000 is low voltage chip, supply voltage should be 3V. You'll find some tips about voltage level conversion on Chipcon's webpage. They suggest to use 74LV245 buffer or just make this conversion with some transistors. I chose the first way. Indeed I used 74HC245 because I could'nt get LV. It's not a good idea and it should'nt be done with HC but… it works.

Second problem are bidirectional lines in CC1000PP. If you have 5V microcontroller you'll probably can't use one microcontroller pin to control bidirectional pins like PDATA or DIO. You'll have to split those lines. It's quite simple with multiplexer. I used 74HC4052 from Motorola.

Third and last thing is stable 3V supply voltage. I decided to use LP2950. It's a voltage regulator for 3.3V. It's small and I have'nt noticed any heat when it was working.

If you have small board which provides supply, voltage level conversion and divides bidirectional lines you can almost begin transmission… almost.

Configuration

CC1000 is programmed by 3-wire interface. This interface is used for reading or writing 28 registers. First step is to get this interface working. It can be done with "bit bangling" method or SPI interface. First method is simple but, in my opinion, it's quite dirty. You can find this method in Chipcon's example on their website. They provide an application note with library for AVR microcontrollers, nice for beginners.

Second thing is to calibrate CC1000. Chipcon's SmartRF Studio provides registers value. It can be downloaded from their webpage for free. You have to set few options like transmission mode or speed and SmartRF will generate properly values.

Calibration procedures are well described in CC1000 datasheet, examples can by also find in Chipcon's application notes. All procedures are in fact only series of reads, writes and delays.

Transmission

Last step is data transmission. CC1000 offers three modes of transmission – uart, NRZ and Manchester. In last two CC1000 provides the data clock at DCLK pin. It can be used to cause interrupt or it can be polled. If you'll get to this point you'll be able to send and receive bits.

I met some people who told me, that CC1000 is too difficult for them, but there were also some who said it's very easy. As usual – if you know something well – it's easy…

6 Responses to “Few facts about CC1000 chip”

  1. Harshal Says:

    Hello sir,
    I am doing my fianl year engineerig project using cc1000.
    It is for speech transmission. Can i get the more details (complete schematic) of project you have done.

    If you reply it will be very helpfull to me.
    Thank you.

    Harshal Nehete
    B.E ( Electronics and telecommunication)
    Fr.Agnels engineering college,Navi mumbai. India
    harshalnehete@yahoo.co.in
    phn no: +91 9869184399

  2. aji Says:

    hi sir..
    right now i want to make RFID application using cc1000 for my final year project,can you help me regarding this problem sir? if you dont mind can i get the details (the project) about this. I want to interface cc1000 and MCU 89c52…

    thanks sir

    Muh samiaji
    Department of Electrical Engineering President University
    muh.samiaji@yahoo.com

  3. Wasil Says:

    hi
    im doing final year project. im using cc1000 for digital transmission and i have a problem in interfacing microcontroller(motorolla 89c51 or 89c52) with it. kindly guide me regarding interfacing with cc1000 and if you have a code please help us.

    Best regards

    (Wasil Ali)

  4. fadi Says:

    hello
    I am doing project using CC1000 data transmission.I am having problems in interfacing microcontroller (AT89S52 or AT89S53) using SPI protocol. kindly help me in configuring and interfacing with cc1000. specially the code.
    Also u have mentioned about buffer IC, buffer is used in between cc1000 and microcontroller??
    regards
    fadi

  5. M Shahid Says:

    Ghandu Reply to kar Bahnchod. Aik to itni mushkil sy email karen aur uper sy to rply b na kery. Kanjar Insaan.
    Humm Araam ae?????

  6. Artur Says:

    Hey,
    my name is Artur and i am a student of the University of Technology in Poznan.
    I want to make a sensor that utilizes triangulation with three or more cc1000 .
    I would be very thankfully for any further information about the cc1000 ( some shematic or material that eventually could help me).

    Thank you in advance for your reply.
    arturo241@gmail.com
    Artur Ĺšniegowski

Leave a Reply