微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > CC1101异步串行通信理解

CC1101异步串行通信理解

时间:12-23 整理:3721RD 点击:

TI的各位专家:

                         有关CC1101的异步串行工作模式有些问题请教一下,我看datasheet关于异步串行的工作模式介绍并不多。

                        在正常的工作模式下,使能IC的TX模式后,IC会先发前导字节-同步字节,然后是TX FIFO中的数据。

                        但是对于异步串行通信,IC发射信号的模式是怎么样的呢?我看datasheet上说packet handling hardware,buffering in the FIFO will be disabled,是不是使能IC的TX模式后IC就直接采样GDO0的输入数据,然后混频后直接发送出去,而不先发前导字节-同步字节?接收端的IC接收到数据后解调后直接将数据发到GDO2(假设我配置该脚)。如果是这样的话,接收端的IC没有了前导数据和同步字节,它怎么区分地址和数据呢?不知道我理解的异步工作模式是否有误,有不正确的也请帮忙指正。

                          期盼您的回复。

感谢!

前导码和同步字发送是芯片自动生成的,接收也是自动去掉的,你关注的是payload部分,注意两部分颜色标的不一样

所以不管用异步串行还是正常的模式,都会有前导字节和同步字节。那对于异步串行模式,IO口数据输入CC1101后,IC从IO口得到数据就直接将这些数据拿去混频然后发射吗?中间不做任何处理?那它怎么知道数据结束了?难道是MCU发送给CC1101的数据要模拟TX FIFO的形式,也要发送地址、字节数等内容吗?

自己来顶一下,请TI的专家们解答下。谢谢!

lynn, 你做IC的吗?参考下面无线芯片内部混频原理

我的理解是异步串行模式下CC1101 类似一个用模拟分离器件搭的射频前端,没有自己的运算和调度能力, 收到你包只管DA 转换后混频调制发送出去,接收包直接混频解调输出到 IO 口。因为没有 FIFO 去缓存,这样的情况下 MCU 送过来的数据是需要控制长度和节奏的,速率不可能太高。同步字和前导码是做在芯片里面寄存器的。但是我也怀疑这样的表现只是模拟出来的,其实还是用到了 FIFO。这是为了兼容老的射频电路的接口通讯协议,所以主要是用在接收上。

       谢谢大家的回复!关于CC1101的串口通信我简单做了实验,发射和接收端都配置成异步通信模式,在发射端的配置好的IO口上输入几个方波,接收端那边IO上可以直接测到对应的方波。如附件中的CC1101图片对应波形。图片中上面的波形是发送端的,下面的是接收端的,射频为433MHz。

       有如下问题还望大家指教:

                1、如图片CC1101所示,当发送的数据波特率大于50KHz后,接收到的波形占空比变大,当频率大于100KHz后,接收到的数据就没有低电平了。这个波特率才100KHz,与433MHz相差还很大,不知道为什么波特率上不去。datasheet上说normal的工作模式波特率最快可以达到500KHz,难道异步的就差这么多吗?这个根本原因是受什么约束呢?

                2、附件还有个MAX2830的波形,射频是2.4GHZ的,该芯片是直接调制发射的,与CC1101的异步方式基本一致。他内部的RX通道依次为LNA-》VGA-》HPF->LPF,顺序可能有差。输出的波形从图中可以看出,下降沿不陡峭(高通滤波器的低频截止频率有一定影响,但应该还有其他原因),输出幅值大频率高的话越发明显。而且当频率高于2MHz后,出现了与CC1101类似的现象,输出没有了低电平,这个貌似是同一类问题。

               请各位专家指教!

           

我判断很可能是IO端口的时序要求导致波形占空比不能太快。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top