CC2500应用技巧注意事项SPI 接口时序注意事项:
CC2500通过4线SPI兼容接口(SI,SO,SCLK和CSn)配置。这个接口同时用作写和读缓存数据。SPI接口上所有的地址和数据转换被最先在重要的位上处理。
SPI接口上所有的处理都同一个包含一个读/写位,一个突发访问位和一个6位地址的头字节一起作用。 在地址和数据转换期间,CSn脚(芯片选择,低电平有效)必须保持为低电平。如果在过程中CSn变为高电平,则转换取消。 当CSn变低,在开始转换头字节之前,MCU必须等待,直到SO脚变低。这表明电压调制器已经稳定,晶体正在运作中。除非芯片处在SLEEP或XOFF状态,SO脚在CSn变低之后总会立即变低。 芯片状态位注意事项
当头字节在SPI接口上被写入时,芯片状态字节在SO脚上被CC2550写入。状态字节包含关键状态信号,对MCU是有用的。第一位s7,是CHIP_RDYn信号。在SCLK的在第一个正边缘之前,这个信号必须变低。CHIP_RDYn信号表明晶体正处于工作中,调节数字供给电压是稳定的。(换句话说,SPI地址或数据是否写入或读出,可以通过读SO脚上的状态信息来获取)
6,5和4位由状态值组成。这个值反映了芯片的状态。当使XOSC空闲并使数字中心的能量开启,所有其他模块处于功率降低状态。只有芯片处于此状态时,频率和信道配置才能被更新。 当芯片处于接收模式时,RX状态是活动的。同样地,当芯片处于传输模式时,TX状态是活动的。状态字节中的后四位(3:0)包含FIFO_BYTES_AVAILABLE。为了进行读操作,这个区域包含可从RX FIFO读取的字节数。为了进行写操作,这个区域包含可写入TX FIFO的字节数。当FIFO_BYTES_AVAILABLE=15,15或者更多的字节是可用/自由的。 状态字节表
![]() ![]() 寄存器访问注意事项:
CC2500配置寄存器位于SPI地址从0x00到0x2F之间。所有的配置寄存器均能读和写。读/写位控制寄存器是读或者写。当对寄存器写时,每当一个待写入的数据字节传输到SI脚时,状态字节将被送至SO脚。通过在地址头设置突发位,连续地址的寄存器能高效地被访问。这个地址在内部计数器内设置起始地址。每增加一个新的字节(每8个时钟脉冲),计数器值增加1。突发访问,不管是读访问还是写访问,必须通过设置CSn为高来终止。
对0x30-0x3D间的地址来说,突发位用以在状态寄存器和命令滤波之间选择(如下)。状态寄存器只读。突发读取对状态寄存器是不可取的,故它们每次只能被读一个。 命令滤波访问注意事项
命令滤波可被视为CC2500的单字节指令。通过命令滤波寄存器的选址,内部序列被启动。这些命令用来关闭晶体振荡器,开启传输模式和电磁波激活等。命令滤波寄存器的访问和一个寄存器的写操作一样,但没有数据被传输。就是说,只有R/W位(置为0),突发访问(置为0)和六个地址位(0x30和0x3D之间)被写。一个命令滤波可能在任何其他SPI访问之后,而不需要将CSn拉至高电平。命令滤波立即被执行,当CSn高时SPWD和SXOFF滤波是例外。
FIFO 访问注意事项
64字节TX FIFO和64字节RX FIFO通过0x3F被访问。当读/写位为0时,TX FIFO被访问,当读/写位为1时,RX FIFO被访问。
TX FIFO是只写的,而RX FIFO是只读的。 突发位用来决定FIFO访问是单字节还是突发访问。单字节访问方式期望地址的突发位为0及1数据字节。在数据字节之后等待一个新的地址,因此,CSn继续保持低。突发访问方式允许一地址字节,然后是连续的数据字节,直到通过设置CSn为高来关断访问。 如下头字节访问FIFO: 0x3F :单字节访问TX FIFO 0x7F :突发访问TX FIFO 0xBF :单字节访问RX FIFO 0XFF :突发访问RX FIFO 当对TX FIFO写时,状态字节对每个SO脚上的新数据字节是输出量。这个状态位能用来侦测对TX FIFO写数据时的下溢。注意,状态字节包含在写入字节到TX FIFO的过程前空闲的字节数。当最后一个适合TX FIFO的字节被传送至SI脚后,被SO脚接收的状态位会表明在TX FIFO中只有一个字节是空闲的。 传输FIFO可能会通过发布一个SFTX命令滤波而被淹没。相似地,一个SFRX命令滤波会淹没接收FIFO。当进入休眠状态时,两个FIFO都被清空。 PATABLE 访问
0x3E地址用来访问PATABLE。PATABLE用来选择PA能量控制设置。在接收此地址之后,SPI等待至少8个字节。通过控制PATABLE,能实现可控的PA能量上升和下降,减少的带宽的ASK调制整型也如此。PATABLE是一个8字节表,定义了PA控制设置,为8个PA功率值(由FRENDO.PA_POWER的3个位的值所选择)的每一个所使用。这个表从最低位(0)到最高位(7)可读和写,一此一位。一个索引计数器用来控制对这个表的访问。每读出或写入表中的一个字节,计数器就加1。当CSn为高时,计数值置为最小值。当达到最大值时,计数器由零重新开始计数。
对PATABLE的访问是单字节或者突发访问,由突发位决定。当使用突发访问时,索引计数器的值增加;达到7时重新从0开始。读/写位控制访问是写访问(R/W=0)或者读访问(R/W=1)。 如果一字节被写入PATABLE,且这个值将要被读出,那么,为了设置索引计数器的值重为0,CSn必须在读访问之前置为高。 注意,当PATABLE进入休眠状态时,所存储的内容会丢失,特别是第一个字节(索引为0)。 ![]() ![]() |
|
来自: 英子电气 > 《无线--CC2500测试》