cc1101 packet size问题
Dear TI专家:
有如下问题请指教:
1、CC1101上的datasheet上Page39说“The packet length is defined as the payload data, excluding the length byte and the optional CRC.”
我没理解错的话这句话是说packet的长度不包含长度字节和CRC字节,也就是说packet size是从地址字节开始算,一直到CRC的前一个字节。
但是,swra109c中Page3说“Packet size is in this context all bytes that follow the sync word, except the optional CRC16 byte”
也就是说packet size包含从sync word到CRC之间的所有字节,也就是说包括了1个字节长度的长度字节(packet length word)。
这两个说法岂不是矛盾?不知道是不是我哪里理解有误。
2、对于TX FIFO中所有数据长度大于62 byte的情况,RX是不是就不能使能接收status bytes了,因为如此的话2 bytes加上接收到的大于62bytes的数据,就超过了RX FIFO的容量(64bytes)。
以上请赐教!
看上图包的结构,Length Field是Optional的,灰色部分是由芯片生成和操作的,CRC校验会包含Length Field,但是你接触到的就是Data Field这块。
Length Field部分processed but not removed in RX.
长包可以采用分包发送方式。
Dear D.F:
感谢您的回复。我还是不太清楚:
1、您说我接触到的就是Data Field这块,我接触到的是什么意思?是指需要我进行写入或者可以读出的吗?Length field需要写入数据,Address field中需要写入地址,Data field中需要写入发射的数据。您的意思是说Length field和Address field中的数据不用我管吗?硬件会自动写入相应数据?
datasheet 40页有如下一句话,这句话说如果使能了可变数据包长度的话写入TX FIFO的第一个字节必须是length byte?所以这应该说明Length byte也是需要我主动写入的,包括地址。
The payload that is to be transmitted must be written into the TX FIFO. The first byte written must be the length byte when variable packet length is enabled.
2、其实我不明白的主要有以下几点,希望专家能直接回答:
(1)您发的那个packet format图上的Length field到底包含哪些数据?是只包含Address field和Data field中内容的所有字节数吗?是否包括Length field该字节本身?
(2)当我向TX FIFO中写入数据时,Length field和Address field的内容是否也要我写进FIFO中?
(3)RX接收到数据后,IC自动写入RX FIFO中的数据是否只包含了发送的Data field中的数据以及附加的2 status bytes(如果使能了的话)?
感谢!
你接触到的意思是收发的数据主要对Tx Rx FIFO操作,而其他都是寄存器对芯片配置
你看下CC1120用户手册文档就清楚了,http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=swru295&fileType=pdf
8.1.4章节 Length Field部分和8.2.1章节 Address Filtering,对于这两块功能有详细介绍
CC1101 datasheet只有关于Length Field部分的介绍