可重构结构是一种可以根据具体运算情况重组自身资源,实现硬件结构自身优化、自我生成的计算技术。动态可重构技术可快速实现器件的逻辑重建,它的出现为处理大规模计算问题提供了一种兼具通用处理器灵活性和ASIC电路高速性的解决方案。在笔者所从事的系统设计中,当模拟器件的一些性能改变但又不能及时更新调整后端的数字基带处理时,比如滤波器由于工作时间过长引起的温漂特性所带来的影响,此时就可以用可编程模拟器件替代一部分前端固定模拟器件,进而可以实时的对FPGA模块进行动态可重构操作,最终达到系统性能的最优化。
可编程模拟器件
可编程模拟器件是近年来崭露头角的一类新型集成电路。它属于模拟集成电路,即电路的输入、输出甚至内部状态均为随时间连续变化且幅值未经过量化的模拟信号;同时,该类器件又是现场可编程的,即可由用户通过改变器件的配置来获得所需的电路功能。为支持上述可编程能力,可编程模拟器件需以可编程模拟单元(CAB)和可编程互连网络(PIN)为核心,配合配置数据存储器、输入单元、输出单元或输入\输出单元等共同构成[1](见图1)。
图1可编程模拟器件组成框图
多数可编程模拟器件在单一的+5V电源电压下工作,额定功耗为100mW量级。由于采取了特殊的措施,其输入、输出线性范围通常可达到接近满电源电压量程;闭环带宽已达到数百千赫到数十兆赫;频率失真度、共模抑制比、内部噪声等指标也已达到中、高精度运算放大器的水平。
尽管模拟信号处理的精度低于数字信号处理方式,但仍能满足许多重要应用对计算精度的要求,而所需的电路规模较小,成本也较低。同时利用其可编程特性,还可以实现精确的自动调谐和自动增益控制,显著提高通信系统的抗干扰能力。
相位检测器的实现
TRAC(完全可重配置模拟电路)是英国FAS公司的现场可编程模拟器件系列产品的总称。它提供了一条从信号处理问题出发,可解决各种常见的信号处理问题。器件参考模拟计算机的运算单元并加以扩充,使器件内部的每个可编程模拟单元均具备加、减、取负、对数、反对数、积分、微分等8种运算功能,因此只需选定运算的类型和给出必要的参数,便可以很方便地完成对有关单元的设计,根本无须考虑单元电路的内部结构等具体细节。其内部各单元之间采取自左向右固定连接的形式,所有单元的输入\输出端均引出至器件引脚上,并且允许利用各单元均具备的“直通”和“关断”功能或者利用外接的“短路线”来修改这种基本连接[1](见图2)。
图2TRAC器件结构示意图
在笔者所从事的认知无线电硬件平台设计中,由于需要从强信号背景环境中识别提取出微弱的信号,因而可利用TRAC器件构成相敏检测器,并将其作为锁存放大器的一部分。要实现这一目标,需要电路像窄带滤波器那样工作,除去大部分不希望要的强信号而仅允许待测的微弱信号通过。
图3所示为相位检测器的基本框图。输入信号和参考开关信号具有相同的频率和相位。从所示的开关输出中可望得到一个全波整流信号,而且经过低通滤波器后,便可得到和交流信号电位成比例的直流电压输出。在实际应用中,输入信号可能非常小,因此还需要加入前置放大级以支持精确的检测。因为通常需要在一定的范围内连续改变参考信号的频率,同时测量相应的直流输出。同样,若需要检测某个单一频率,则参考信号必须与待测输入信号频率相同。由于相位检测器也对相位敏感,因此当两个信号相位相同时会得到最大的输出电压。
图3相位检测器框图
相位检测器和低通滤波器一样需要利用两片TRAC器件来实现。而外部元件对于放大器和滤波器都是必不可少的,所以必须对满足条件的元件进行合理取值。
可编程ADC的实现
认知无线电接收机对其前端采用的高性能模-数转换器(ADC)及模拟器件的要求都较高,而FPGA在基带数字信号处理方面又迫切需要动态可重配置。为了适应以上要求,可以首先考虑使用可编程模拟器件来实现ADC,以下是两种具体实现方法。
FIPSOC混合信号片上系统
SIDSA公司的FIPSOC混合信号片上系统是快速开发模拟、数字集成应用的理想工具。FIPSOC芯片包括内嵌的增强型8051微处理器、现场可编程门阵列(FPGA)以及一组面向信号调理和数据采集应用的可灵活配置的模拟单元。与分离的模拟、数字FPGA方案相比,采用FIPSOC混合信号片上系统,可使产品设计周期缩短30~40%。
可编程的模拟、数字单元与8051的单片系统包括模拟单元、转换单元、可编程数字单元、8051内核和该系列中的所有器件具有兼容的存储器分布,其中转换单元含有4路DAC(分辨率可配置为8至10位),采用逐次逼近算法,可利用这些DAC实现高达800KHz采样率的ADC(见图4)。
图4数据转换模块的框图
数据转换模块包含4个8位的逐次比较寄存器(SAR),它可以和内部的DAC联合工作,以获得模/数转换。
每一个通道有一个独立的SAR,它接收逐次比较的结果,并驱动对应的DAC,每一个通道的转换可以独立进行。当转换模块编程为9或10位ADC转换时,相应的SAR形成组:9位ADC时,SAR1和SAR2为一组,SAR3和SAR4为一组;10位ADC时,所有4个SAR形成一组。这时,成组的SAR各自工作1至2个周期,在转换结束时,SAR将其内容寄存在输入/输出寄存器中,并使能中断产生模块。在连续转换模式下,将启动下一次转换。在转换过程中,可编程逻辑模块可以独立发布转换命令,这将给本次以及下一次转换带来错误。在连续转换模式下,这将导致致命错误,因为错误是可以传递的,并将得到不可预料的结果。
其控制部分是一个标准的8051微处理器。复合后,8051核首先对可编程元胞进行配置,配置完毕后可以当作一个通用的微处理器使用。为了更好的支持FIPSOC的动态可重构特性,已对其指令和功能单元做了一些改进。
CypressPSoC器件
Cypress半导体公司的PSoC混合信号架构将可编程的模拟与数字模块同8位微控制器进行了完美集成,这种独特的功能组合使设计人员能够针对各种应用实现无与伦比的灵活性。最新CY8C23x33器件采用8位逐次逼近ADC,能实现高达375Ksps的采样率。此外,该解决方案还具备可实现出色可配置性的26个GPIO,能够快速适应不断变化的特性要求。该器件采用5x5mm的QFN封装,能够最大限度地缩小板极空间。
PSoC器件集成了通过一个片上微控制器进行控制的可配置模拟和数字电路,提供更强大的设计修改功能,并进一步减少元件数量。PSoC器件包括最大32Kb的闪存、2Kb的SRAM、一个带有32位累加器的8x8乘法器、电源和睡眠监控电路,以及硬件I2C通信[2]。
所有的PSoC器件都是可动态重配置的,使得设计人员能够随意在运行过程中改变内部资源形式,使用较少的元件完成既定任务。易用的开发工具让设计人员能够选择可配制程序库元素来提供模拟功能(如放大器、ADC、DAC、滤波器和比较器),以及数字功能(如定时器、计数器、PWM、SPI和UART)。PSoC系列器件的模拟性能包括轨至轨输入、可编程增益放大器和分辨率高达14位的ADC,以及超低的噪声、输入漏电流和电压偏移。
单个PSoC器件可集成多达100个外围部件,在提高系统质量的同时,节省客户的设计时间,缩减板级空间和功耗,并使系统成本降低。
接收机设计
基于以上分析的结果,结合前端硬件电路,为实现一定的认知无线电功能,特设计接收机结构(见图5)。
图5接收机结构
前端低噪声放大器选用的是ADA4857-1,这是一个超低损耗、低功率、高速运算放大器,在SOIC结构下的3dB带宽可以达到750MHz,其开环增益为57dB,基本满足此接收机对前端低噪声放大器的要求。在搭建电路时尤其要注意电源旁路、寄生电容和外围器件的选择对充分发挥放大器性能的影响[3]。
DDS(直接频率合成器)选用的是1GSPS的AD9858,其使用先进的DDS技术和一个内置的高速、高性能D/A转换器组成数字可编程、完全高频率的合成器,可以产生一个高达400MHz的模拟输出正弦波,完全满足接收机对本振的要求。
混频器、带通滤波器、放大器和抗混叠滤波器都可以由Cypress的PSOC器件cy8c23x33来统一实现。PSOC模拟系统包括一个8位SAR ADC和4个可配置模块,每个模拟模块由一个运算放大器电路组成,允许模拟复信号流的建立。同时,模拟外围部件非常容易被定制从而满足特殊应用场合的需求。PSOC可以分别实现一个可编程带通滤波器和一个低通滤波器以替代接收机前端需要的带通滤波器和抗混叠滤波器,实现一个可选增益高达93dB的仪表放大器以替代中频放大器,一个乘加累积器提供了一个快速8位乘法器以替代混频器,以上可编程模拟器件均能基本满足接收机前端性能要求。我们使用PSOC设计器进行PSOC的工作配置,写入使用PSOC的应用程序并调试应用。拿放大器来举例,首先在设计器中找到这个模块并新建一个电路,搭好外围电路元件,按照建立时间、转换速率和增益带宽等几个参数设定好初始值,产生应用程序代码,然后写入主程序和子系统的任何子程序,如果所有程序正确,接着将产生一个HEX文件,最后由PSOC设计器中的调试器执行,它下载HEX文件到在电路模拟器(ICE)中,至此一个可编程放大器设置完毕,可以投入使用。
可编程ADC本来可以由Cypress PSOC来实现,但PSOC实现的ADC采样速率最多只有375 Ksps,无法满足认知无线电接收机前端的带宽要求,因此可以考虑使用SIDSA公司的FIPSOC器件,同时后端基带数字处理任务也可交由FIPSOC中的8051核和FPGA兼而实现。利用运行于WINDOW环境下的集成化开发工具,进行ADC的设计和编程,结合上面介绍的一部分内容,具体到ADC设计时还需要首先设置外部输入/输出引脚、内部输入/输出引脚和内部信号的初始化数值,然后再对mP控制寄存器和静态RAM进行配置,以达到所需要的性能要求。数字宏单元(DMC)是FPGA的可编程数字单元,它是基于查找表结构的可编程单元,具有组合逻辑和时序逻辑资源,而组合部分和时序部分之间则由布线资源加以连接。利用动态重配置模式可对多个DMC单元进行设置,可以改变硬件电路,进而在一定程度上可对前端的可编程模拟器件进行实时更新配置,这一技术目前正在探索研究中[4]。
以上只是各个模块的分开设计,但是设计好整个接收机系统,还需要对各个模块之间的连线以及参考时钟等许多方面给以足够的重视。各个模块都有属于自己的输入/输出端口,为达到预定的系统性能要求,必须严格对照技术手册和自己的预先布线安排接好各输入/输出端口。至于时钟,避免采用时钟抖动大的门电路是电路设计中需要严格遵守的准则之一,在此基础上才能最大限度地发挥器件的性能;除此,拿FIPSOC来说,除某些条件下,8051时钟和其送至DMC的副本时钟的相对相位会交换外,时钟停止不影响时钟同步;每次不同时钟重新配置后,必须重新同步。
结语
目前,已经在理论上证明了以上接收机结构设计的可行性,下一步将逐步搭建出具体的硬件平台并测试验证。除了可编程模拟器件外,新兴的可进化硬件(Evolvable HardWare,EHW)研究领域以硬件在线自适应为目标,也将可编程模拟器件作为实现模拟电路自动设计和在线自适应的重要评估手段和实现载体。可以预期,随着模拟可编程技术的不断进步和器件品种的逐步丰富,可编程模拟器件将会成为实现模拟电路的首选器件和最佳选择。