Cortex_M3 发表于 2013-1-6 18:59:42

CC430 TI集成RF收发器的超低功耗MCU系统级芯片(SoC)资料与学习

本帖最后由 Cortex_M3 于 2013-1-6 19:00 编辑

    近期一项目需要涉及RF、低功耗、RTC实时时钟、ADC等资源;一看到低功耗立马想到了TI 的430系列(以前使用过MSP430F1系列的)。在考虑使用什么RF芯片时,突然想到12年4月在杭州参加利尔达物联网研讨会的时候,送了两套CC430开发套件,具有RF功能,立马翻箱倒柜的找出来(吃灰不少罪过罪过!!)打开光盘,有如下资料:

(CC430开发套件资料预览1.jpg)
其他预览就不上传了,直接上传光盘资料。如下:

(cc430开发套件.part01.rar)

(cc430开发套件.part02.rar)

(cc430开发套件.part03.rar)

(cc430开发套件.part04.rar)

(cc430开发套件.part05.rar)

(cc430开发套件.part06.rar)

(cc430开发套件.part07.rar)

(cc430开发套件.part08.rar)

(cc430开发套件.part09.rar)

    CC430系列是TI公司的集成了RF收发器的超低功耗MCU系统级芯片(SoC),器件具有功能强大的MSP430F5系列控制器内核,16位RISC CPU,工作电压1.8V-3.6V,内部集成TI RF系列 CC1101RF内核。CPU工作时的功耗160 µA/MHz,工作于Standby Mode(LMP3 RTC Mode)2.0uA;Off Mode (LPM4 RAM Retention): 1.0 µA;

套件是利尔达基于TI原版制作,Demo 代码却是基于CC430F6 系列的,稍后上传原版CC430F5系列Demo Code。

(利尔达CC430开发套件.jpg)

网速实在是不给力!!!
... ...   ... ...
接着传... ...
CC430学习笔记六篇:(不是自己写的,在此感谢原作者)

(CC430学习笔记----(一).pdf)

(CC430学习笔记----(二).pdf)

(CC430学习笔记----(三).pdf)

(CC430学习笔记----(四).pdf)

(CC430学习笔记----开发环境.pdf)

(CC430学习笔记----SmartRF_Studio_7.pdf)

my_avr 发表于 2013-1-6 19:01:04

支持一下,同在学习这个

Cortex_M3 发表于 2013-1-6 19:07:00

本帖最后由 Cortex_M3 于 2013-1-6 19:09 编辑

CC430F5137学习第一季 之 USART

串口配置函数(直接Copy 的例程代码)
/********************************************
* 函数名   :UCA0_Init(void)
* 功能   :串口USART 配置
* 输入参数 :无
* 输出参数 :无
* 作者   :
*/
void UCA0_Init(void)
{
PMAPPWD = 0x02D52;                         // Get write-access to port mapping regs 获得端口映射权限
P1MAP5 = PM_UCA0RXD;                     // Map UCA0RXD output to P1.5 , P1.5 配置为RXD
P1MAP6 = PM_UCA0TXD;                      // Map UCA0TXD output to P1.6 , P1.6 配置为TXD
PMAPPWD = 0;                                    // Lock port mapping registers, 锁定端口映射寄存器

P1DIR |= BIT6;                                 // Set P1.6 as TX output   , P1.6 设置为TX 输出
P1SEL |= BIT5 + BIT6;                        // Select P1.5 & P1.6 to UART function   P1.5 P1.6 配置为USART功能

UCA0CTL1 |= UCSWRST;                      // **Put state machine in reset**,将状态机复位
UCA0CTL1 |= UCSSEL_2;                     // SMCLK
UCA0BR0 = 6;                                     // 1MHz 9600 (see User's Guide)
UCA0BR1 = 0;                                     // 1MHz 9600
UCA0MCTL = UCBRS_0 + UCBRF_13 + UCOS16;   // Modln UCBRSx=0, UCBRFx=0,
                                                            // over sampling
UCA0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
UCA0IE |= UCRXIE;                               // Enable USCI_A0 RX interrupt,使能USCI_A0 RX中断
}

/********************************************
* 函数名   :Send_Single-byte(unsigned char dat)
* 功能   :串口发送单一字节
* 输入参数 :unsigned char dat
* 输出参数 :无
* 作者   :
*/
voidSend_Single_byte(unsigned char dat)
{
while (!(UCA0IFG&UCTXIFG));             // USCI_A0 TX buffer ready?
//UCA0TXBUF = UCA0RXBUF;                // TX -> RXed character
UCA0TXBUF = dat;
}

/********************************************
* 函数名   :Send_Multi-byte(unsigned char *dat,unsigned char Length)
* 功能   :串口发送多字节
* 输入参数 :unsigned char *dat,unsigned char Length
* 输出参数 :无
* 作者   :
*/
voidSend_Multi_byte(unsigned char *dat,unsigned char Length)
{
unsigned char i;
for(i=0;i<Length;i++)
{
    while (!(UCA0IFG&UCTXIFG));             // USCI_A0 TX buffer ready?
    //UCA0TXBUF = UCA0RXBUF;                // TX -> RXed character
    UCA0TXBUF = dat;
}
}

/********************************************
* 函数名   :main(void)
* 功能   :主函数
* 输入参数 :无
* 输出参数 :无
* 作者   :
*/
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;               // Stop WDT
UCA0_Init();                                                //初始化USART 配置

__bis_SR_register(LPM0_bits + GIE);             // Enter LPM0, interrupts enabled
__no_operation();                                       // For debugger   _NOP();
}

// Echo back RXed character, confirm TX buffer is ready first
#pragma vector=USCI_A0_VECTOR
__interrupt void USCI_A0_ISR(void)
{
switch(__even_in_range(UCA0IV,4))
{
case 0:break;                           // Vector 0 - no interrupt
case 2:                                     // Vector 2 - RXIFG
    if(UCA0RXBUF==0x01)            //接收缓冲区数据为 0x01
    {
      Send_Multi_byte(OK_Dat,9);
    }
    elseSend_Multi_byte(NO_Dat,9);
      
    break;
case 4:break;                           // Vector 4 - TXIFG
default: break;
}
}

Cortex_M3 发表于 2013-1-6 19:17:49

本帖最后由 Cortex_M3 于 2013-1-7 13:18 编辑

CC430F5137学习第二季 之 RTC

/********************************************
* 函数名   :RTC_Init()
* 功能   :RTC 初始化函数
* 输入参数 :无
* 输出参数 :无
* 作者   :
*/
void RTC_Init(void)
{
   RTCCTL01 |= RTCBCD + RTCHOLD + RTCMODE;         
   // RTC enable, BCD mode, RTC hold    使能RTC,开启BCD模式,RTC保持
   // Disable RTC read ready interrupt    关闭RTC 中断
   // Disable RTC time event interrupt
   
   // 时间初始化
   RTCSEC =0x01;                     // 设置秒
   RTCMIN =0x50;                     // 设置分
   RTCHOUR = 0x21;                     // 设置小时

   // 日期初始化
   RTCDOW =0x05;                     // 设置星期数 5
   RTCDAY =0x04;                     // 设置日   04
   RTCMON =0x01;                     // 设置月   01
   RTCYEAR = 0x2013;                     // 设置年   2013

   RTCCTL01 &= ~RTCHOLD;               // Start RTC calendar mode
}

/********************************************
* 函数名   :Read_Time
* 功能   :RTC 实时时钟,时间读取
* 输入参数 :无
* 输出参数 :无
* 作者   :
*/
void Read_Time(RTC_TIMER *timer)
{
   for(;RTCCTL01&RTCRDY;)         _NOP();
   for(;!(RTCCTL01&RTCRDY);)      _NOP();
   timer->year   = RTCYEAR ;         //读 年   寄存器
   timer->month= RTCMON ;          //读 月   寄存器
   timer->day    = RTCDAY ;          //读 日   寄存器
    timer->day_of_week = RTCDOW ;//读 星期 寄存器
   timer->hour   = RTCHOUR ;         //读 时   寄存器
   timer->min    = RTCMIN ;          //读 分   寄存器
   timer->second = RTCSEC ;          //读 秒   寄存器
}

/********************************************
* 函数名   :Write_RTC
* 功能   :RTC 实时时钟,设置初始时间
* 输入参数 :无
* 输出参数 :无
* 作者   :
*/
void Write_RTC(RTC_TIMER *timer)
{
    for(;RTCCTL01&RTCRDY;)         _NOP();
    for(;!(RTCCTL01&RTCRDY);)      _NOP();
   
    RTCCTL01 |= RTCHOLD ;         

    RTCYEAR = timer->year ;         //写 年   寄存器
    RTCMON = timer->month ;         //写 月   寄存器
    RTCDAY = timer->day ;         //写 日   寄存器
   RTCDOW = timer->day_of_week ; //写 星期 寄存器
    RTCHOUR = timer->hour;      //写 时   寄存器
    RTCMIN = timer->min ;         //写 分   寄存器
    RTCSEC = timer->second ;      //写 秒   寄存器
   
    RTCCTL01 &= ~RTCHOLD;            
}

canopen 发表于 2013-1-6 19:23:16

O(∩_∩)O~, 8错

huzhongnan 发表于 2013-1-9 14:00:01

好东西,正在找,谢谢!!!

Cortex_M3 发表于 2013-1-10 00:54:53

huzhongnan 发表于 2013-1-9 14:00 static/image/common/back.gif
好东西,正在找,谢谢!!!

共同学习!

newhand1991 发表于 2013-1-20 18:30:07

与CC2530啥关系,是Zigbee的么

nnbyte 发表于 2013-2-2 03:35:34

在淘宝上要了几个CC430样片,正在开发测试,只是效率有点慢,此文档对正在进行的开发帮助很大,谢谢。

aa280723148 发表于 2013-2-4 23:31:16

问句…淘宝样片那里弄

xckhmf 发表于 2013-2-5 07:26:17

mark一下,手上正好有cc430的手表套件:)

ljt80158015 发表于 2013-2-5 08:56:32

持续关注!

firs_avr 发表于 2013-2-22 10:53:51

正好最近在搞cc430相关的东西,多谢啦

Onsunsl 发表于 2013-3-15 21:37:14

mark{:smile:}{:smile:}

arm 发表于 2013-3-15 22:31:11

这个芯片带不带RSSI功能?

Cortex_M3 发表于 2013-3-16 00:44:06

arm 发表于 2013-3-15 22:31 static/image/common/back.gif
这个芯片带不带RSSI功能?

带呢 详情看下手册

风云天 发表于 2013-3-23 19:32:20

顶,谢谢了

redworlf 发表于 2013-8-23 16:42:42

楼主大人速度哦~

dgdzas 发表于 2013-9-13 09:26:11

谢谢了,
不过解开只有EZ430-RF5137-433光盘这个内容?

ledatou 发表于 2013-11-2 11:30:06

好贴点个赞~

Virus 发表于 2014-4-9 18:02:47

想买个玩玩呢,不过利尔达好像不卖这个模块了

昌林旺旺 发表于 2014-7-10 18:40:47

谢谢哈{:smile:}{:smile:}

orayhang 发表于 2014-7-14 13:04:23

好东西先收藏了。

walzt 发表于 2014-12-17 17:55:36

多谢分享,不知是否有详细的组网说明,以及功耗休眠控制方面的详细实例说明

qqq_147258 发表于 2015-11-5 09:21:17

太感谢了

wtiechen1969 发表于 2015-11-5 13:16:53

感谢楼主分享,430MARK
页: [1]
查看完整版本: CC430 TI集成RF收发器的超低功耗MCU系统级芯片(SoC)资料与学习