https://www.sekorm.com/news/2878.html
随着智能手机覆盖的频段越来多,手机的射频前端也越来越复杂。基于RF switch和DTC等可调谐器件也越多的应用于手机天线的设计中,智能天线、可重构天线等新型的手机天线也开始多见于手机的常规设计中,作为一个天线工程师,如果有一个智能天线的调试助手,将有助于提升天线的设计和调试的效率,本文就基于此目的来开发一个简易的智能天线调试助手,由于电路比较简单,不在此赘述。本文的重点是描述一下怎样利用IO口来模拟MIPI RFFE协议。
智能天线调试助手的主芯片是Silicon Labs公司的8位USB单片机C8051F340,这款单片机外设多,自带USB接口,USB供电,可以适用目前几乎全部的可调天线芯片的接口,如I2C,SPI等,另外IO口也比较多,方便控制利用IO逻辑来控制的switch芯片。MIPI RFFE的接口主要是通过IO口来模拟。图1是系统的结构框图:
图1:智能天线调试助手系统框图
MIPI RFFE总线是MIPI协会制定针对基频和射频芯片(RFIC)之间的接口进行定义,其目的是为射频前端提供一种一致控制方法,以便大幅减少所需的封装接脚和电路板布线。RFFE V1.10的主要特性包括:
• 控制所有类型的RF前端
• 支持点对多点连接
• 多模/多频和多天线
• 每总线高达15个从设备
RFFE的总线的接口定义:
图2:RFFE总线定义
VIO:RFFE接口的基准电压,也可以作为复位和使能输入。一个施加到VIO 信号的逻辑低电平可以将RFFE接口关断。
SCLK:RFFE 总线时钟输入。通常被连接至RF 或基带IC 上的RFFE 主机。当未施加VIO 时,SCLK 必须为低电平。
SDATA:RFFE 总线数据输入/输出。通常被连接至RF 或基带IC 上的RFFE 主机。当未施加VIO 时,SCLK 必须为低电平。
SDATA 信号是双向的,由一个主机或一个从机器件驱动。数据在SCLK 信号的上升边沿上(从逻辑0电平到逻辑1电平转换)由主机和从机写入。主机和从机在SCLK 信号的下降边沿上(从逻辑1 电平从逻辑0 电平转换)读取数据。图2为MIPI RFFE主从结构图。
RFFE从机的寄存器寻址范围定义如图3,另外读写时序有严格的定义,从RFFE接口定义和寻址范围来归纳,和其他各种接口协议一样,我们把RFFE接口模拟的时序从功能上分为寄存器读和寄存器写这两种操作,其中寄存器写入又分为寄存器0写入、非零寄存器写入。不管是那种操作,每个控制帧对总线上从机的操作时序必须包含SSC头+命令帧+数据帧+停止帧,如图4所示。
图3:从机寄存器寻址
图4:RFFE完整的操作数据帧结构
下面我们就分别利用C8051F340的IO口来分别模拟寄存器0写入,非零寄存器写入和寄存器读取三个部分的函数和具体时序。
1)寄存器0写入
图5:寄存器0写入时序
我们先来分析RFFE规范中的寄存器0写入的具体时序,如图五所示,寄存器0的写入时序为SSC+寄存器地址+1+7bit写入数据+1bit奇校验+BP。SSC具体时序是SCLK为低电平时,SDATA有0变为两个周期的1,然后变为0, SSC作用是用来启动从机开始接收主机的数据。然后紧接着的4bit为从机地址SA3-SA0,这个从机地址USID一般是唯一的,但也有可以配置的,如英飞凌公司的SP6D开关芯片BGS16MN14。紧接着后面的1就是写寄存器0的标志位,紧接着后面的7bit是写入寄存器0的数据,最后一位是前面12bit的奇校验位。最后在SCLK的一个下降沿SDATA保持一个以上周期的0电平来时总线挂起也就是Bus park。这就是一个完整的寄存器0写入时序。下面我们用具体的C代码来完成寄存器0的写入时序:由于数据帧不是8bit或16bit,为了方便操作,整个数据帧利用数组来定义。
2)非零寄存器写入
图6:非零寄存器写入时序
同样,我们先来分析RFFE规范中的非零寄存器写入的具体时序,如图6所示,非零寄存器主要是指寄存器的地址不为0的寄存器,也可说是通用的寄存器,这些寄存器的写入时序为SSC+寄存器地址USID+010+5bit寄存器地址+1bit奇校验位+8bit写入数据+1bit奇校验+BP。这里和寄存器0写入的差别在于多了寄存器的地址帧和010三位寄存器写入标志位,其它基本上是一样的。下面我们用具体的C代码来完成非零寄存器的写入时序:
3)寄存器读取
图7:寄存器读取时序
我们先来分析RFFE规范中的寄存器读取的具体时序,如图7所示,寄存器读取同样有以SSC开头,紧接着4bit的从机地址USID,后面011是三位寄存器读取标志位,紧接着是要读取的寄存器地址A4-A0,后面一位是前12bit的奇校验位,最后是一个总线挂起Bus park,然后就开始读取从机发过来的数据,不过要注意,这里读取从机的数据时在SCLK的下降沿有效,一共8bit数据+1bit奇校验,最后由从机把总线挂起完成读操作。下面我们用具体的C代码来完成寄存器的读取时序:
以上简单介绍了利用C8051F340的IO口来模拟RFFE的时序,对于天线设计工程师来说,智能天线的调试,就是利用该调试助手的各种接口来控制天线的开关,进而控制了天线的接地点位置或者天线的匹配网络,最终达到所调试天线的辐射体或阻抗可编程的目的。该天线调试助手可以方便的在仅有天线部分电路的情况下实时的调试天线的各种状态,提升天线调试的工作效率。