搜索
bottom↓
回复: 78

CC1110无线收发经验谈,不照这个经验就要蛋痛。

[复制链接]

出0入0汤圆

发表于 2010-8-4 16:49:46 | 显示全部楼层 |阅读模式
1,发送模式:
cc1110的RFD寄存器说是FIFO,其实就只有一个字节的容量,也就是一个破寄存器,不是CC1100那种大存储器FIFO。
发送的攻略是:先在IDEL状态下,再转入STX状态,这个时候产生前导码,等前导码产生完了后,RFTXRXIF位标志会置1,这时候马上对RFD写入第一个字节,这还没有完,并清空RFTXRXIF标志,第一个字节是帧长度。然后再等RFTXRXIF置1,再写入数据,清RFTXRXIF。前面说了第一个字节是长度,所以第一个字节写了好多,后面就要连续操作好多次,不然会蛋疼。中断模式下,RFTXRXIF会自动清空,这时候使用数据队列的方式会很爽的。

2,接收模式:
接收是一个自动的模式,但是还是要从RFD寄存器一个字节一个字节的读。注意,RFIF寄存器中有个SFD位,如果该位置1,则收到前导码,表示一帧新的帧了。但是要等RFTXRXIF位置位后才能读。而且最TMD蛋疼的是,RFTXRXIF无论在发出数据或者收到数据都会置位,而且没有其它寄存器来判断发和收的状态,只有自己设置一个变量来区别开。
同样,在SFD中断后第一个字节是长度,但是收到的数据还有加个2。比如第一个字节收到5,但是后面收完5个字节还要再收2个字节,如果第一个字节是5实际累计一帧8个字节。
另外,要连续收,还是一个很蛋痛的操作。在收完一帧后,要先转到IDEL状态,再转到SRX状态,才能收下一帧。

出0入0汤圆

发表于 2010-8-4 17:03:01 | 显示全部楼层
mark备用免蛋疼

出0入0汤圆

发表于 2010-8-4 17:17:33 | 显示全部楼层
CC430也是这样

出0入0汤圆

发表于 2010-8-4 17:23:08 | 显示全部楼层
mark

出0入42汤圆

发表于 2010-8-4 17:23:58 | 显示全部楼层
没有LZ这么蛋痛过,用DMA模式的话省事很多。

连续接收的话,可以设置寄存器,让接收机接收完一帧后还处于RX状态(默认的是接收完一帧后变为IDEL状态)




修改原因:错别字

出0入0汤圆

发表于 2010-8-4 18:48:07 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-4 19:03:51 | 显示全部楼层
我在用CC1100,但是接收出现问题

出0入0汤圆

发表于 2010-8-4 19:26:21 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-8-4 23:28:06 | 显示全部楼层
备用

出0入0汤圆

 楼主| 发表于 2010-8-6 12:42:19 | 显示全部楼层
回复【4楼】my_avr
没有lz这么蛋痛过,用dma模式的话省事很多。
连续接收的话,可以设置寄存器,让接收机接收完一帧后还处于rx状态(默认的是接收完一帧后变为idel状态)

修改原因:错别字
-----------------------------------------------------------------------

DMA好像可以设置持续接收,但是RF好像不能

出0入0汤圆

发表于 2010-8-6 13:10:01 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-6 17:23:27 | 显示全部楼层
mark 蛋痛!

出0入0汤圆

发表于 2010-8-6 17:29:26 | 显示全部楼层
mark 蛋痛

出0入0汤圆

发表于 2010-8-6 17:43:49 | 显示全部楼层
mark 蛋痛

出0入0汤圆

发表于 2010-8-12 09:21:23 | 显示全部楼层
蛋疼

出0入0汤圆

发表于 2010-8-12 11:06:46 | 显示全部楼层

出0入0汤圆

发表于 2010-8-13 11:49:05 | 显示全部楼层
cc1110 哪里有仿真器和编程器买啊?

出0入0汤圆

发表于 2010-8-30 12:28:36 | 显示全部楼层
蛋好疼

出0入0汤圆

 楼主| 发表于 2010-8-31 17:51:08 | 显示全部楼层
回复【4楼】my_avr
没有lz这么蛋痛过,用dma模式的话省事很多。
连续接收的话,可以设置寄存器,让接收机接收完一帧后还处于rx状态(默认的是接收完一帧后变为idel状态)

修改原因:错别字
-----------------------------------------------------------------------

呵呵,CC1110的校准怎么办?

出0入42汤圆

发表于 2010-8-31 18:21:01 | 显示全部楼层
回LS:

我设置CC1110不自动进行校准,每通讯10次就手动校准一次

CC1110每次从Idel进入、退出收发状态都校准太费时间了,在低功耗情况下也不让这么做

出0入0汤圆

 楼主| 发表于 2010-9-1 15:35:28 | 显示全部楼层
回复【19楼】my_avr
-----------------------------------------------------------------------

楼上的哥们留个QQ号,我的786416271

出0入0汤圆

发表于 2010-9-1 20:06:55 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-1 21:30:53 | 显示全部楼层
这个还真没注意到。

出0入0汤圆

发表于 2010-9-10 17:13:45 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-19 13:56:33 | 显示全部楼层
留个记号

出0入0汤圆

发表于 2010-9-19 15:32:20 | 显示全部楼层
meiyo没有资料啊?

出0入0汤圆

发表于 2010-10-3 22:55:57 | 显示全部楼层
我做了一个,一直处于发完成,应答信号的等待状态,真的很蛋疼呀!!!有没有人知道是啥原因呀!!!

出0入0汤圆

发表于 2010-10-3 23:08:11 | 显示全部楼层
mark

出0入63汤圆

发表于 2010-10-5 21:43:38 | 显示全部楼层
我必须立刻把这有用的词以最快的速度普及到单位的办公室里

出0入0汤圆

发表于 2010-10-5 22:02:25 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-10-9 16:53:14 | 显示全部楼层
我用的是c8051f320+cc1100
可以采用唤醒模式!
很不错!

出0入0汤圆

发表于 2010-10-10 01:11:09 | 显示全部楼层
回复【16楼】ok2001
cc1110 哪里有仿真器和编程器买啊?
-----------------------------------------------------------------------

我看到这里就有
http://item.taobao.com/item.htm?id=4479445592

出0入0汤圆

发表于 2010-10-10 01:11:37 | 显示全部楼层
mark

出50入0汤圆

发表于 2010-10-10 08:13:02 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-18 21:35:55 | 显示全部楼层
利用网上当下来的程序如下,但是发不出第二个数据!也找不到原因,请不吝赐教!否则我会蛋疼:

BYTE Transmit(BYTE __xdata *buff,BYTE bytes)        //发送
{
    BYTE i,BytesToSend;                       //
    RFIF = 0;
    RFTXRXIF = 0;
    BytesToSend = bytes ;//        数据包长度就是byte,为方便实际应用中增加其他字节,定义了bytestosend变量
    if(BytesToSend <= 64)
    {
        
        SIDLE();            // Exit RX / TX, turn off frequency synthesizer and exit
        STX();             // Switch radio to TX
        while(RFTXRXIF == 0);           // 等待发送结束
        RFTXRXIF = 0;                   // 清除发送标志
        RFD = BytesToSend;
        while(RFTXRXIF == 0);           // 等待发送结束
        RFTXRXIF = 0;                   // 清除发送标志
        
        for(i=0;i<( BytesToSend-1);i++)
        {
            RFD = *buff++;         // 发送数据
            while(RFTXRXIF == 0);       // 等待发送结束=====》》》》这里永远不结束,发不出第二个数据了!!!!
            RFTXRXIF = 0;               // 清除发送标志
        }
         RFD = *buff;                // 发送最后一BYTE
         
         while(RFIF&IRQ_DONE == 0);   // 等待发送结束
         RFIF &= ~IRQ_DONE;           //清结束标志
        
        RFIF &= ~IRQ_DONE;        // Tx/Rx completed, clear interrupt flag
        S1CON &= ~0x03;           // Clear the general RFIF interrupt registers

        return TRUE;
    }
    else
    {
        return FALSE;
    }
}

出0入0汤圆

发表于 2010-12-22 11:20:38 | 显示全部楼层
我自己找到原因了,是发送数据的长度不一致就会有问题。
不过现在实验用DMA发送数据又发布出去了!照抄的PER_TEST ,但是DMA 和RFIF终端都没有发生。

出0入0汤圆

发表于 2010-12-22 11:37:33 | 显示全部楼层
不错,看看~

出50入4汤圆

发表于 2010-12-22 11:43:18 | 显示全部楼层
以后调这个看来要找个没蛋的

出0入0汤圆

发表于 2010-12-22 13:34:13 | 显示全部楼层
MARK一下免蛋疼!

出0入0汤圆

发表于 2011-6-1 17:16:46 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-1 17:52:27 | 显示全部楼层
是啵?

出0入0汤圆

发表于 2011-6-7 10:03:45 | 显示全部楼层
呵呵 用过了  得到楼主的指教

出0入0汤圆

发表于 2011-6-7 19:36:45 | 显示全部楼层
1100 1110  1101让人有爱又恨啊,爱的是价格不错,恨的是的确一般人玩不转

出0入0汤圆

发表于 2011-6-7 20:02:59 | 显示全部楼层
今天蛋疼了把 地址滤波

出0入0汤圆

发表于 2011-6-7 22:10:56 | 显示全部楼层
mark备用免蛋疼

楼主有CC1101的经验吗,顺路传授点

出0入0汤圆

发表于 2011-6-8 00:04:07 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-9 10:06:44 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-9 17:35:53 | 显示全部楼层
没有其它寄存器来判断发和收的状态,只有自己设置一个变量来区别开。/////难道还可以全双工工作??不懂

出0入0汤圆

发表于 2011-6-9 17:42:13 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-6-9 17:47:50 | 显示全部楼层
继续mark~

出0入0汤圆

发表于 2011-6-9 18:40:53 | 显示全部楼层
mark!~

出0入0汤圆

发表于 2011-6-28 15:41:47 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2011-6-28 19:15:36 | 显示全部楼层
回复【48楼】coyool
没有其它寄存器来判断发和收的状态,只有自己设置一个变量来区别开。/////难道还可以全双工工作??不懂
-----------------------------------------------------------------------

现在玩熟了,有个状态寄存器,可以指示发射,接收,发射转接收。
在CCA打开的时候,读取这个寄存器,判断是否成功进入发射模式,如果没有,可以重新STX,这样提高CCA的可靠性,屡试不爽。

出0入0汤圆

发表于 2011-7-19 18:22:10 | 显示全部楼层
还没用CCA  改天试试 呵呵

出0入0汤圆

发表于 2011-7-19 18:48:30 | 显示全部楼层

出0入0汤圆

发表于 2011-7-19 21:02:44 | 显示全部楼层
mark CCA

出0入17汤圆

发表于 2011-7-19 21:59:33 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-19 22:10:01 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-22 16:23:59 | 显示全部楼层
回复【楼主位】luoyiming1984  罗菜鸟
-----------------------------------------------------------------------

有没有用cc1110做全双工语音通信的啊?请联系我,邮箱:strachey_chen@126.com

出0入0汤圆

发表于 2011-8-2 13:26:16 | 显示全部楼层
回复【59楼】stracheychen
-----------------------------------------------------------------------

去看看TI的网站,好像出了个语音通信的技术文档。

出0入0汤圆

发表于 2011-8-18 23:36:00 | 显示全部楼层
CC430开发


最近在调试CC430 无线收发,遇到一些问题,有兴趣的朋友一起交流下哈。

我用的是利尔达的EZ430_CC430开发套件,代码也是里面的例程,我一点没改过。代码的功能为:发送模块按键按下,模块上的红灯闪一下,数据发出,接收模块接到数据后蓝灯闪一下,表明收发成功。我将代码编译后下载到板子上,一切正常哈,按键按下后,红灯蓝灯闪一下也正常,但是在IAR中进行调试的时候就出问题了,具体问题如下:
     在CC1101中断里,通过函数 ReadBurstReg(RF_RXFIFORD, RxBuffer, RxBufferLength);来将接收到的数据读回来,但是每次读回来的RxBuffer[ ]={0xff,0x3f,0xff,0x3f,……一直交替出现这两个值},而这个值刚好是RAM中开始那段地址上的数据,很奇怪。无论我怎么修改程序,都读不到TXbuffer发出来的数据。

我把开发套件的相关资料传上来,有兴趣的朋友帮忙看看哈。
CC430模块介绍ourdev_668962XCDZQA.pdf(文件大小:4.25M) (原文件名:ez430-RF5137-433使用说明.pdf)
CC430模块原理图ourdev_668963IMLL9S.pdf(文件大小:1.29M) (原文件名:LSD-RFPD-A403-A2(原理图).pdf)
USB仿真器说明ourdev_668964W1L35G.pdf(文件大小:566K) (原文件名:MSP-EZ430U-02_V3.0使用说明.pdf)
利尔达提供的无线收发例程ourdev_668965TBFHQJ.rar(文件大小:86K) (原文件名:RF_Example_Code.rar)

我调试接收模块时候读到的Rxbuffer,一直是这个值,没变过 (原文件名:qq.jpg)

出0入0汤圆

发表于 2011-8-18 23:54:16 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-25 11:02:01 | 显示全部楼层
学习

出0入0汤圆

发表于 2011-12-8 14:58:10 | 显示全部楼层
请问楼主有没有对cc1110进行过组网啊?采用的大概是什么类型协议啊?simpliciTI可以的吧?

出0入0汤圆

发表于 2011-12-8 15:22:34 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-8 16:17:44 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-22 17:41:01 | 显示全部楼层
回复【61楼】charley
-----------------------------------------------------------------------

一起交流啊。同杭州,也在用CC430。

出0入0汤圆

发表于 2012-1-5 18:03:16 | 显示全部楼层
支持 + Mark CC1110无线收发经验谈,不照这个经验就要蛋痛

出0入0汤圆

发表于 2012-1-6 11:19:05 | 显示全部楼层
回复【1楼】master5888
-----------------------------------------------------------------------

粉好,Mark

出0入0汤圆

发表于 2012-1-17 16:42:08 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-1-19 14:03:56 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-1-31 17:39:07 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-2-11 20:41:51 | 显示全部楼层
正在学习CC1100!!

出0入0汤圆

发表于 2012-2-25 08:33:35 | 显示全部楼层
lz有没有测试过1110实际传输速率呢?我设置的250kbps但是实际测得远小于这个值。

出0入0汤圆

发表于 2012-3-28 11:20:16 | 显示全部楼层
Very Good!

出0入0汤圆

发表于 2012-3-28 11:53:41 | 显示全部楼层
不用他 不蛋疼

出0入0汤圆

发表于 2012-3-28 13:02:18 | 显示全部楼层
08年看到有人用这个做的汽车防盗遥控器,效果不错,好像1.5公里都可以遥控的!

出0入0汤圆

发表于 2012-3-29 10:25:31 | 显示全部楼层
mark 蛋痛!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号 )

GMT+8, 2022-7-6 17:21

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表