当前位置:首页 > EDA > 电子设计自动化
[导读]摘要:在软件接收机的研究中,为了实现在GPS或者北斗模式下基带对射频前端数据的采集,在Altera公司的CycloneⅢ系列FPGA器件上采用VERILOG语言编写了SPI总线协议,完成了对射频前端芯片GPS/北斗两种工作模式的切换,

摘要:在软件接收机的研究中,为了实现在GPS或者北斗模式下基带对射频前端数据的采集,在Altera公司的CycloneⅢ系列FPGA器件上采用VERILOG语言编写了SPI总线协议,完成了对射频前端芯片GPS/北斗两种工作模式的切换,使基带可以随时获得两种模式下的数据。通过验证,采集来的数据与期望的结果一致。同时为工程设计提供了一种原型,也为进一步的工程开发奠定了基础。
关键词:SPI总线协议;FPGA;射频前端;基带

    随着现代技术的发展,SPI接口总线已经成为了一种标准的接口,由于协议实现简单,并且I/O资源占用少,为此SPI总线的应用十分广泛。目前,SPI接口的软件扩展方法虽然简单方便,但若用来通信,则速度受到限制。因此,我们采用ALTERA公司的FPGA器件设计SPI总线的通信接口,该总线接口具有高速、配置灵活等优点,大大地缩短了系统的开发周期。

1 SPI总线原理
1.1 SPI总线协议简介
    SPI总线是一种全双工同步串行接口,能够实现微控制器与外设通信。它采用主从模式架构,支持多slave模式应用,并且只占用芯片上四个管脚,节省了芯片的引脚。
1.2 SPI总线接口
    SPI是一个环形总线结构,通常有4条线:串行时钟(SCK)线、主机输入/从机输出(MISO)数据线,主机输出/从机输入(MOSI)数据线和低电平有效的从机选择线(CS)。
    SPI总线在与外设进行数据交换时,可根据外设的工作要求,配置SCK的相位和极性,从而产生不同的数据格式。如果时钟相位CPFIA=0,数据在时钟脉冲的前沿被采样;如果时钟相位CPHA=1,数据在时钟脉冲的后沿被采样。如果时钟的极性CPOL=0,串行数据的移位操作由时钟的正脉冲触发;如果时钟的极性CPOL=1,串行数据的移位操作由时钟的负脉冲触发。因此,SPI主模块和从模块的时钟相位和极性应该一致。

2 开发平台介绍
    本文主要介绍在FPGA中实现基带对射频前端数据的采集,通过SPI总线实现对射频前端模式的转换。当射频前端被配置为GPS模式时,采集到的数据来自GPS卫星;当被配置为北斗模式时,采集到的数据来自北斗卫星。本文选用的芯片为杭州中科微有限公司HZG09V2D和ALTERA公司Cyclone III系列中的EP3C40Q240C8。接口之问的连接关系如图1所示。


    HZG09V2D是杭州中科微有限公司的一款射频芯片,它是一款工作在L1频段的多模式卫星导航射频前端接收芯片,可支持L1频段中国北斗二代、美国GPS、俄罗斯GLONASS、欧洲伽利略等多个导航系统。
    EP3C40Q240C8是Altera公司CycloneⅢ系列中的一款FPGA芯片,它前所未有地同时实现了低功耗、低成本和高性能。其中CycloneⅢFPGA在布局上提供丰富的存储器和乘法器资源,并且所有体系结构都含有非常高效的互联。

3 FPGA实现与调试结果
3.1 实现步骤
    首先使用ModelSim SE 6.2对所编写的Verilog代码进行编译仿真,从而得到对功能的验证。再用QuartusⅡ软件进行编译后,将生成的编程文件.sof文件通过JTAG下载到Altera公司CycloneⅢ系列EP3C40Q240C8运行,在数字示波器的辅助分析下都得到了正确的结果。
3.2 模块设计
3.2.1 分频模块
    由于SPI总线协议要求的SCK时钟频率与FPGA时钟频率不一致,所以对基带时钟进行分频。本文中,基带时钟频率为40 MHz,SPI总线时钟频率为1 MHz,故需要进行40倍分频。
3.2.2 发送数据模块
    在片选信号拉低之前,时钟信必须为低电平。当片选信号拉低后,SCK开始工作,然后写八位地址,接着写32位数据;发送操作结束后,片选信号拉高,SCK=0。代码如下:
   
         
3.2.3 接收数据模块
    当片选拉低后,SCK=0,同时写八位地址并且使SDA为高阻,再读32位数据;当片选拉高时,CS=1,SCK=0,此外,在片选信号拉低之前,SCK必须为低电平。代码如下:
   
3.2.4 配置模块
    配置模块发送GPS/Compass模式配置命令给SPI功能模块,从而实现一次完整的射频前端工作模式配置。其中,射频前端有5个与SPI相关的配置寄存器,具体模式配置命令如下:
   
3.3 仿真结果
    在GPS模式下,实现了寄存器的读写时序,如图2所示。


    在GPS/Compass模式下,实现了5个地址的写操作和读操作。在基带处理中,将读出来的数据与设定好的配置的数据进行对比,当结果一致后,就完成了一次正确的配置操作。如图3所示。
3.4 RTL视图
    RTL视图由两个模块组成,分别为ModeSet和newspi,其中ModeSet模块的功能是发送命令来配置射频前端的模式,newspi模块实现射频前端和基带之间具体的数据读写。如图4所示。



4 结语
    在现代SPI总线得到了广泛的应用,它能够有效地与FPGA编程结合在一起,利用FPGA的灵活性,将大大减少了电子设计的开发周期。本文通过FPGA实现了射频前端GPS/北斗模式的切换,为将来射频前端多模设计奠定了基础,并且可通过外部器件查看读写操作是否完成,从而实现了实时配置。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭