搜索
bottom↓
回复: 40

有用AVR单片机编写SI4432程序的吗

[复制链接]

出0入0汤圆

发表于 2009-8-2 22:03:59 | 显示全部楼层 |阅读模式
找到si4432的程序都是pic的,现在还不习惯pic的编程,哪位高手帮忙移植一下

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2009-8-4 14:59:54 | 显示全部楼层
自己动手写一个,才会有真正的认识

出1070入962汤圆

发表于 2009-8-4 22:23:46 | 显示全部楼层
最近正在用stm32写程序,郁闷中,要延时,否则发不出收不到,难道STM32太快了?
等把手里的东西交了,再移植到avr试试。

现在能弄到的PIC代码,说句实话,没感觉到是示范代码,要看他往哪个寄存器里边写了啥数据那叫一个烦!

出0入0汤圆

发表于 2009-8-5 09:08:06 | 显示全部楼层
【4楼】 Appcat 苹果猫

--------------------------------------

那些都是宏定义,这都觉得烦怎样写程序呢 哈

出0入0汤圆

发表于 2009-8-5 19:21:52 | 显示全部楼层
呵呵!

出0入0汤圆

发表于 2009-8-6 10:56:33 | 显示全部楼层
最近做这个的人不少啊。看样我运气不错。还没动手呢。正准备选型。

出0入0汤圆

发表于 2009-8-6 20:30:46 | 显示全部楼层
Si4432可以的。需要请联系我

出1070入962汤圆

发表于 2009-8-6 20:44:44 | 显示全部楼层
5楼】 luangzc:

我说的是这段:
const uint8 RfSettings[NMBR_OF_SAMPLE_SETTING][NMBR_OF_PARAMETER] =                //revX2
{
//         IFBW, COSR, CRO2, CRO1, CRO0, CTG1, CTG0, TDR1, TDR0, FDEV, B_TIME

        {0x17, 0x41, 0x60, 0x27, 0x52, 0x00, 0x02, 0x00, 0x9D, 0x39, 209},        //DR2400BPS_DEV36KHZ
        {0x03, 0x41, 0x60, 0x27, 0x52, 0x00, 0x10, 0x01, 0x3B, 0x48, 105},        //DR4800BPS_DEV45KHZ
        {0x03, 0xA1, 0x20, 0x4E, 0xA5, 0x00, 0x36, 0x02, 0x75, 0x48, 53 },        //DR9600BPS_DEV45KHZ
        {0x21, 0x64, 0x01, 0x47, 0xAE, 0x07, 0xFF, 0x02, 0x8F, 0x08, 50 },        //DR10KBPS_DEV5KHZ_MOD1
        {0x11, 0x64, 0x01, 0x47, 0xAE, 0x07, 0xFF, 0x05, 0x1F, 0x10, 25 },        //DR20K0PS_DEV10KHZ_MOD1
        {0x01, 0x64, 0x01, 0x47, 0xae, 0x07, 0xFF, 0x0A, 0x3D, 0x20, 13        },        //DR40KBPS_DEV20KHZ_MOD1
        {0x04, 0x50, 0x01, 0x99, 0x9a, 0x07, 0xFF, 0x0C, 0xCD, 0x28, 10        },        //DR50KBPS_DEV25KHZ_MOD1
        {0x81, 0x78, 0x01, 0x11, 0x11, 0x07, 0xFF, 0x19, 0x9A, 0x50, 5        },        //DR100KBPS_DEV100KHZ_MOD1       
        {0x82, 0x60, 0x01, 0x55, 0x55, 0x07, 0xFF, 0x20, 0x00, 0x64, 4        },        //DR125KBPS_DEV62KHZ5_MOD1
};

出0入0汤圆

发表于 2009-8-7 09:09:09 | 显示全部楼层
//  IFBW, COSR, CRO2, CRO1, CRO0, CTG1, CTG0, TDR1, TDR0, FDEV, B_TIME

这不是说明了啊  原厂这样写是为了说明,修改波特率就与这几个寄存器有关系,和它的的设置软件相对应的

出0入0汤圆

发表于 2009-8-7 18:45:20 | 显示全部楼层
ding!

出0入0汤圆

 楼主| 发表于 2009-8-12 13:42:51 | 显示全部楼层
Appcat 苹果猫  移植了要给我一份哦,没有精力移植了

出0入0汤圆

发表于 2010-1-14 10:30:04 | 显示全部楼层
回复【4楼】Appcat 苹果猫
-----------------------------------------------------------------------

Appcat 苹果猫 想问一下你,如果不加延时函数,可以读到si4432芯片的状态吗?
我用ATxmega256A3芯片,现在的情况是,可以读到si4432的状态,但是发送不出去,配置是参考别人成功实现的代码(用PIC单片机),应该不是配置的问题,AVR单片机的xmega系列运行的速度比较快,可能和你说的情况类似。 你是在哪里加延时函数,然后就可以收发的呢?

出1070入962汤圆

发表于 2010-1-14 10:46:06 | 显示全部楼层
发送要延时,这个芯片的波特率才多高?MCU运行速度太快了。具体的我已经两个月没碰了,那个项目暂时被雪藏,客户单位人事变动,要等开春了才能继续。

出0入0汤圆

发表于 2010-1-14 13:38:25 | 显示全部楼层
回复【9楼】Appcat 苹果猫
5楼】 luangzc:
我说的是这段:
const uint8 RfSettings[NMBR_OF_SAMPLE_SETTING][NMBR_OF_PARAMETER] = //revX2
{
//  IFBW, COSR, CRO2, CRO1, CRO0, CTG1, CTG0, TDR1, TDR0, FDEV, B_TIME
{0x17, 0x41, 0x60, 0x27, 0x52, 0x00, 0x02, 0x00, 0x9D, 0x39, 209}, //DR2400BPS_DEV36KHZ  
{0x03, 0x41, 0x60, 0x27, 0x52, 0x00, 0x10, 0x01, 0x3B, 0x48, 105}, //DR4800BPS_DEV45KHZ
{0x03, 0xA1, 0x20, 0x4E, 0xA5, 0x00, 0x36, 0x0......
-----------------------------------------------------------------------
     128个寄存器啊,其他的寄存器都弄明白了,最烦的就是这几个接收寄存器,数据手册上没说怎么算,只给一个计算软件,
唉……

出0入0汤圆

发表于 2010-1-14 13:51:01 | 显示全部楼层
回复【14楼】Appcat 苹果猫
-----------------------------------------------------------------------

谢谢Appcat 苹果猫的提示,我看看加些延时函数能不能发送

出0入0汤圆

发表于 2010-1-14 14:46:03 | 显示全部楼层
回复【15楼】windy__xp 龙啸
-----------------------------------------------------------------------

windy__xp 龙啸在这论坛发了不少帖子,看来你对Si4432比较熟悉,想请教你一个问题:
我没写数据进FIFOAccess寄存器的时候读它的值返回是99,我写了数据进去之后,读它的值还是返回99,不知道是哪里没有设置好,希望你能帮帮忙,谢谢!

出0入0汤圆

发表于 2010-1-14 15:18:41 | 显示全部楼层
回复【17楼】manhada  
回复【15楼】windy__xp 龙啸
-----------------------------------------------------------------------
windy__xp 龙啸在这论坛发了不少帖子,看来你对Si4432比较熟悉,想请教你一个问题:
我没写数据进FIFOAccess寄存器的时候读它的值返回是99,我写了数据进去之后,读它的值还是返回99,不知道是哪里没有设置好,希望你能帮帮忙,谢谢!
-----------------------------------------------------------------------
FIFO TX RX不是分开的么 况且FIFO只有收到数据后才可以读的

出0入0汤圆

发表于 2010-1-14 17:07:09 | 显示全部楼层
回复【18楼】looklike1988
-----------------------------------------------------------------------

噢! 谢谢looklike1988 !  我刚刚看了datasheet,里面也是这样说的。看来我得好好看看datasheet!
不知道要怎样才可以检测FIFOAccess是否已经写入数据,现在si4432一直都没有产生发送完成中断,郁闷中。。。。

出0入0汤圆

发表于 2010-1-14 17:21:08 | 显示全部楼层
按照下面的流程图来写代码,不知道哪里要特别注意的地方

(原文件名:TX.GIF)

出0入0汤圆

 楼主| 发表于 2010-1-14 21:56:19 | 显示全部楼层
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3763752&bbs_page_no=1&search_mode=1&search_text=si4432&bbs_id=3050
我前两个月M16模拟spi与4432已经调试好了  市区也可以1公里, 放在窗户

出0入0汤圆

 楼主| 发表于 2010-1-14 22:01:35 | 显示全部楼层
写si4432的程序我用写cc1101的程序移植的  io口模拟spi,原厂那个程序看起来吃力

出0入0汤圆

发表于 2010-1-22 16:34:39 | 显示全部楼层
现在终于有载波出来了,是硬件没有做好!

出0入0汤圆

发表于 2010-1-25 22:19:48 | 显示全部楼层
原厂的程序把寄存器地址,都定义成宏名了,看起来反而不好理解,所以参考一下初始化流程就可以了。另外FIFO模式,高速通信,没办法时,可以使用,但是低速通信建议尽量使用直接调制、解调模式,这样数据延迟小,编码灵活。

出0入0汤圆

发表于 2010-1-29 14:52:50 | 显示全部楼层
首先无线通信很难做!!!尽管目前芯片高度集成化,高度数字化!

si4432当然用c8051f单片机了!si4432可惜速率低! 采用中断很麻烦(有好几个数字脉冲,与cc1100相比)!通信频率只有1G的,没有2.4G的,没有cc和nrf资格老!就是功率比较大点.

给大家强调一下,几乎所有的无线芯片都有缺陷(英文手册不断修订)!!!而且一般都很难购买到!!!老外经常喜欢停产!!!

我自己做的或准备做的:
c8051f320+si4432/si4431=usb+rf

c8051f320+cc1100=usb+rf

c8051f320+cc2500=usb+rf

c8051f320+nrf24l01=usb+rf

出0入0汤圆

发表于 2010-1-29 18:20:06 | 显示全部楼层
25楼的,凭什么当然就用C8051F ? 扯淡。

出1070入962汤圆

发表于 2010-1-29 18:55:53 | 显示全部楼层
【25楼】 rf_usb 不要来误导别人

出0入0汤圆

发表于 2010-1-30 14:24:27 | 显示全部楼层
nrf24l01,cc1100,cc1101,cc1100e,cc2500就是用c8051f320做的!!!也有用msp430做的!!!
26,27两位可以到www.ti.com
http://www.nordicsemi.com/去找!!!

si4432/si4431是用c8051f930做的!!!
可以到www.silabs.com找

出1070入962汤圆

发表于 2010-1-30 15:47:15 | 显示全部楼层

(原文件名:1.JPG)

怎么看出来SI4431是c8051f“做”的

出0入0汤圆

发表于 2010-1-30 20:03:20 | 显示全部楼层
估计说评估板是使用的C8051F系列,
如果开发的时候使用这个能很好上手.

出0入0汤圆

发表于 2010-1-30 23:52:29 | 显示全部楼层
【28楼】 rf_usb 越说越离谱了。刚开始还以为你说SI4432最好与C8051F搭档,原来说SI4432是用C8051F实现的,太NB了。
SI是射频收发器,PLL调制解调+PA+LNA结构,和C8051F根本不搭边,IC有DSP核IP倒是有可能。
说MSP430就更不靠谱了,TI不会傻到把MSP430的IP给SI吧。

过几天做个ATmega88搭配SI4432给你看看。

出0入0汤圆

 楼主| 发表于 2010-2-1 01:27:27 | 显示全部楼层
我的M16搭4432早出来了

出0入0汤圆

发表于 2010-2-3 14:00:01 | 显示全部楼层
30楼的理解对了 ,cc1100/cc1101/cc2500/nrf24l01/si4431/si4432等无线收发模块的编程代码
无论ti的,nordic的还是silabs的这三个公司给的例程代码都是用C8051F单片机做的!!!

出0入0汤圆

发表于 2010-2-3 15:27:22 | 显示全部楼层
LS说的没有错.C8051F 跟SI4431都是SILABS的产品.所以例程当然用C8051F
我就在SIABS原厂上班.所以可以肯定这一点

出0入0汤圆

发表于 2010-10-15 20:31:21 | 显示全部楼层
点击此处下载 ourdev_589142H1H21F.pdf(文件大小:1.21M) (原文件名:SI4432模块使用手册.pdf)
点击此处下载 ourdev_589143OES181.pdf(文件大小:84K) (原文件名:工程师必备(短距离无线选型参考).pdf)

出0入0汤圆

发表于 2011-8-5 20:28:16 | 显示全部楼层
回复【34楼】zcl843 起航
ls说的没有错.c8051f 跟si4431都是silabs的产品.所以例程当然用c8051f
我就在siabs原厂上班.所以可以肯定这一点
----------------------------------------------------------------
你有他们的直接模式收发参考代码吗

出0入0汤圆

发表于 2012-2-8 10:14:05 | 显示全部楼层
回复【2楼】chenfengRF
-----------------------------------------------------------------------

回复【2楼】chenfengRF
-----------------------------------------------------------------------

回复【4楼】Appcat 苹果猫
-----------------------------------------------------------------------

你好,我现在也正编写基于STM32的SI4432驱动程序,刚刚接触没什么头绪,痛苦啊,不知您是否 可以发一份你写的代码以共参考?我的邮箱是286518224@qq.com,希望得到您的帮助,谢谢

出0入0汤圆

发表于 2012-2-9 22:00:53 | 显示全部楼层
回复【8楼】anna__xs
-----------------------------------------------------------------------

你好,可以发我一份基于stm32si4432收发程序吗?邮箱是286518224@qq.com,希望得到您的帮助,谢谢!

出0入0汤圆

发表于 2012-2-16 10:59:48 | 显示全部楼层
回复【8楼】anna__xs  
-----------------------------------------------------------------------

你好,请问有基于STM32的SI4432无线模块收发调试程序吗?我的邮箱的是286518224@qq.com,希望得到你的帮助,谢谢哦

出0入0汤圆

发表于 2012-2-16 11:00:45 | 显示全部楼层
回复【4楼】Appcat  苹果猫
-----------------------------------------------------------------------

你好,不知能否借鉴你的基于STM32的SI4432无线模块收发调试程序?刚接手这个,搞的有点郁闷啊,我的邮箱的是286518224@qq.com,希望得到你的帮助,谢谢哦
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 16:40

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

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