新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > ARM与射频芯片TRF796x的SPI通信研究

ARM与射频芯片TRF796x的SPI通信研究

作者: 时间:2011-01-17 来源:网络 收藏

3 与TRF796x通信的实现
S3C2440A的SPI接口传输方式有查询、中断、DMA三种,由于TRF796x有专门的IRQ中断引脚,所以本文选择芯片 SPI接口的查询方式。S3C2440A作为Master,时钟频率通过SPPREn寄存器设置,其频率f=PCLK/[2(SPPREn的值+1)],f≤25 MHz。控制寄存器SPCONn应该根据具体的通信要求来设置。
对TRF796x的访问需要区分是写地址还是写命令,字节的最高位(MSB)决定了该指令是用于命令还是地址。具体的地址/命令字节位描述如表3所列。

g.JPG
从表3可以看出,如果是单个写寄存器操作,则发送字节最高3位为000;如果是连续写寄存器操作,则最高3位001;如果是读单个寄存器操作,则最高3位010;如果是写命令,则最高3位100;其他操作不再详述。
本文采用S3C2440A的SPI0接口与TRF796x通信,其连接图如图4所示。从I/O_0~I/O_2的引脚电平可以看出选择的是SPI带SS通信方式。其中,EN脚是TRF796x的工作使能引脚,I/O_4是SS脚。当SS置为低且查询到状态寄存器SPSTA0的最低位为1(说明SPI发送接收准备好),待发送的数据一旦写入到发送移位寄存器SPTDAT0中,SPI通信的发送和接收就会同时开始,一般是上升沿发送,下降沿接收。如果只想发送不想接收数据,可以不读取接收寄存器的内容;值得注意的是,如果只想接收数据,应该写数据0xFF或0x00到发送移位寄存器,然后才能从接收移位寄存器中读取数据。
h.JPG

下面通过非连续寄存器读操作来具体说明与TRF796x是如何进行SPI通信的。图5是对TRF796x的非连续寄存器读操作的流程。
i.JPG

整个读操作流程是:
①初始化操作,置EN脚为高电平使能TRF796x工作,将GPE11~GPE13配置成SPI功能,配置S3C2440A作为Master,且选择查询工作方式,写SPPREN0寄存器来配置通信时钟频率。


关键词: ARM 德州仪器

评论


相关推荐

技术专区

关闭