This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2530 znp Application

Other Parts Discussed in Thread: CC2530, Z-STACK, CC2530EM

Hi, I posted here before but I got no replies.

I got the CC2530 znp mini kit. What I was trying to do for a project at school is to establish communication between an Arduino microcontroller and a freescale microcontroller. Would this be possible to do?

If so, what is the best way to accomplish this? Can it be done serially? I have no previous experience with zigbee but I am determined on getting this to work.

Thank you for looking at my post.

  • Hi,

    Shouldn't be a problem to interface a controller to CC2530 that is programmed with ZNP.

    All you need to do is to be able to send commands to CC2530 and receive data from CC2530

    via serial (SPI, UART, USB...) communication according to the spec found in "CC2530ZNP

    Interface Specification.pdf", section 2 "CC2530-ZNP Physical Interface".

    This document can be found in "Z-stack installation folder\Documents\CC2530\ "

    I think, you'll find all the needed information in this document.

  • Also take a look at the code examples; they're a good place to start too.

  • Hi Steven,

    Not sure to understand what you intend to do: the znp mini kit has a TI MCU, do you plan to connect the Arduino MCU or Freescale MCU to the TI MCU or to the cc2530 ?

    If you bypass the TI MCU and connect directly to the cc2530, please note that according to TI the mini kit uses the SPI transport only (http://e2e.ti.com/support/low_power_rf/f/158/t/187577.aspx)

    Patrick

  • Thanks Patrick for your response.

    I know the CC2530znp mini kit comes with a TI MCU. But for our project application we are using an Arduino MCU to send out data. That data needs to be received by the Freescale MCU.

    I intended to use the znp mini kit to send the data wirelessly between the two. Now, I was thinking I should first send the arduino data to the TI MCU which would send it to the cc2530 who would send it to another cc2530 and send it to the Freescale MCU.

    If I bypass the TI MCU, what would I have to add to my other MCUs? Would it be easier to take the earlier approach?

  • Hi Steven,

    It's just my two cents but I guess in your situation I would first try to connect the Arduino MCU to the TI MCU (via serial port I suppose) and write a simple protocol to communicate with the TI MCU which would drive the cc2530. That would allow you to use a good chunk of the existing TI demo code as a framework and get you started quickly.

    Note: if you set the IAR Linker ExtraOptions to "--ks_version", and if I recall correctly you can go up to 16K program size.

    Patrick

  • Hey Patrick,

    Thanks for your help so far. I've read all the hardware interface files and I failed to notice this sooner. I cannot send data into the TI MCU due to it not having the ports available on the board configuration. The CC2530znp does not have an input for P3.

    Going back to what you were saying, I believe it is possible to send the data right into the CC2530 chip in order to transfer it over RF. I looked at the link to the other thread, what are exactly those hex files you talked about? I appreciate your advice

    -Steven

  • Hi Steven,

    It has been a while since I last played with the minikit but can't you use the MCU debug UART ?

    Once I bypassed the TI MCU by unsoldering R2 and connecting a Silabs MCU to the cc2530 SPI port and that was working fine.

    The hex files are different CC2530 ZNP images that can be found on TI site (you'll need the CC debugger if you want to try those out).

    Patrick.

  • Thanks for all your help, I've got most of my code up and running but I ran into a wall here. When trying to display the information transmitted to my Freescale MCU I do not get the information needed.

    I hooked out the UART0 output into a scope and the data I am getting out from it is at least 15 bytes when it should just be an 8 bit number. Anything wrong with the "printf" function provided in the sample codes?

  • printf() seems to be compiler dependent. First get "Hello World" working and go from there. Which compiler are you using?

    --Derek

  • I am using IAR. I got it working now, for some reason it was sending out more than one byte at a time and my other MCU did not know what to do with it. My solution was to modify the function so that wouldn't happen

  • hi igor sherer 

                      

    hi  ,

                     this is hrishabh . can u tell me how to make cc2530 as a slave device . actually i  m trying to do the spi communication between realtek(master)  and cc2530(slave). i have configured spi pins in realtek8198 as a master but i m not getting how to make cc2530 as a slave.  

    setup:

    first end (transmitter) :   1) realtek8198(master) , cc2530em(slave) and smartrf05bb     

     second end (receiver) :  1) realtek8198(master) , cc2530em(slave) and smartrf05bb 

    thanks .

    hrishabh

  • Hi harishabh,

    You can refer to http://e2e.ti.com/cfs-file.ashx/__key/CommunityServer-Discussions-Components-Files/158/0184.Z_2D00_Stack-User_2700_s-Guide-for-CC2530-ZigBee_2D00_PRO-Network-Processor-_2D00_-Sample-Applications.pdf.

  • hi,

    pls ..send me the link for cc2530znp basic programs like helo world......

     

    thanks for looking my post...

  • You can download and install Z-ZStack Home 1.2.1 from http://www.ti.com/tool/z-stack There are ZAP examples for MSP430EXP5438 to control CC2530 ZNP.

  • Hello,

       Here's a link to the CC2530 basic programs:

    http://processors.wiki.ti.com/index.php/Tutorial_on_the_Examples