当前位置:首页 > 星载
  • 星载CCD相机图像采集电路设计与实现

    星载CCD相机图像采集电路设计与实现

    0 引言自从CCD(电荷耦合器件)出现以来,由于其分辨率高、灵敏度高、噪声小、体积小、重量轻、可靠性高等优点,得到了很快的发展,目前已广泛应用于影像传感、卫星监控、空间遥感成像和对地观测等众多领域。对于一个CCD相机系统而言,其核心器件CCD传感器的性能直接影响整个相机系统的性能,而保障其发挥优良的设计难点在于高可靠性的驱动、偏置等与图像采集电路相关的设计,这给设计者带来了很大的麻烦。因此,设计出稳定可靠的CCD图像采集电路是保证CCD传感器乃至CCD相机系统正常发挥其功能的重要条件。1 CCD相机图像采集电路结构CCD相机图像采集电路结构如图1所示。CCD传感器接收前端光学系统的成像,偏压电路为CCD传感器提供必需的偏置电压,可编程逻辑器件产生的时序脉冲经过驱动电路对CCD进行控制采集,输出保护电路可对CCD进行有效地防护保护,预处理电路对CCD输出的带噪模拟信号进行处理后便于后续电路使用。2 CCD传感器的选用CCD传感器分为面阵CCD传感器和线阵CCD传感器。线阵CCD所需要的驱动时钟较少,驱动电路设计相对简单,面阵CCD所需要的驱动时钟较多,时序较为复杂,驱动电路设计也相对较难。这里我们选择DALSA公司的一款帧转移型面阵CCD1010M,因其具有良好的抗辐射设计,是航空、航天应用中理想的图像传感器,而且其分辨率为1024×1024,还具有良好的抗光晕性能,信号输出噪声低、动态范围大、100%光学填充效率、电荷转移效率高等特点,满足项目需求。它具有的多针相工艺(MPP)还能保证它在低照度下进行工作,通过延长曝光时间来记录非常弱的信号。这款CCD有四相感光区和存储区电极,三相水平读出移位寄存器电极,还有一个输出放大器。输出方式有双路输出和单路输出两种,单通道输出单色逐行扫描图像速度可达30帧/s,并且动态范围大于72dB,性能较为优异。2.1 FTT1010M结构FTT1010M的内部结构如图2所示。FTT1010M由感光区和存储区构成,感光区和存储区都由1072H×1030V个像素组成。在感光区中,每个像素单元在垂直方向上可以看作是被四相栅极时钟A1、A2、A3、A4覆盖的相互连接的四个MOS电容器共同组成,它们作为感光区帧转移控制时钟。在1024个有效像素行的上面分别分布着6个黑行(Black Lines),黑行其实就是被遮蔽的不参与光积分的像素行;在水平方向上,每行1072个像素中的有效像素(Active Pixels)为1024个,两边分布着2×20个黑像素(Black Pixels)和2×4个过渡像素(Overscan Pixels),黑像素与黑行一样也是被遮蔽的像素单元,这些单元都不参加光积分,没有光电荷包产生,其主要作用是对CCD的输出视频信号进行预处理时起参考黑电平作用。过渡像素单元的作用主要是在有效像素单元与黑像素单元之间起过渡作用。在存储区中,每个像素单元在垂直方向上可以看作是被四相栅极时钟B1、B2、B3、B4覆盖的相互连接的四个MOS电容器共同组成,它们作为存储区行转移时钟。在存储区水平方向上分布着两个串行输出移位寄存器(Output Register),寄存器内部并没有感光单元,只有用来传输转移感光电荷包的遮蔽的转移单元,每个单元相当于被三相时钟C1、C2、C3覆盖,这些单元都和存储区的像素单元相互衔接对应。其主要作用是将输出放大器连接到水平输出移位寄存器上。2.2 FTT1010M时序设计FTT1010M图像传感器的工作时序可以分为帧转移时序(Frame timing),行转移时序(Line timing)和像素读出时序(Pixel timing)。帧转移时序指CCD将一帧图像转移输出的时序,行转移时序指一行像素在时钟的驱动下完成从存储区到水平移位寄存器转移的时序,像素读出时序指在一行像素在C时钟驱动下从水平移位寄存器中逐位水平读出的时序。FTT1010M的工作过程可分为两个阶段:感光阶段和转移阶段。在感光阶段,图像传感器感光阵列进行电荷积累,存储区进行向水平移位寄存器的电荷转移和水平移位寄存器向输出放大器的电荷输出;在转移阶段,图像传感器主要完成所积累的电荷由感光阵列向存储区的转移。FTT1010M的帧时序如图3所示。在感光阶段,感光阵列在外界光源的照射下产生电荷,此阶段帧转移控制信号A1、A2、A3、A4不发生变化,感光区和存储区之间为阻断态,电荷不发生转移;而存储区在此阶段处于行转移状态并将电荷进行输出,行转移的过程分为行正程和行逆程两个阶段。在行逆程阶段,SSC为高电平,存储区内各像素单元的电荷在行转移信号B1、B2、B3、B4的控制下向水平移位寄存器方向下移一行,像素转移信号C1、C2、C3不发生变化,图像传感器无像素电荷输出。FTT1010M行转移时序如图4所示。在行正程阶段,SSC为低电平,行转移信号B1、B2、B3、B4不发生变化,水平移位寄存器中的像素电荷在像素转移信号C1、C2、C3的控制下逐次经过输出放大器输出,每输出一行信号后,进行一次行转移。FTT1010M像素读出时序如图5所示。在转移阶段,帧转移控制信号A1、A2、A3、A4与行转移控制信号B1、B2、B3、B4同时作用,交叠变化,将感光区积累的电荷逐行转移到存储区,而在这段时问内像素转移信号C1、C2、C3不起作用,不向外输出电荷。完成整个转移阶段后,又再次进入感光阶段,如此循环往复来保证图像传感器的工作。FTT1010M帧转移时序如图6所示。3 CCD偏置电压电路若要使CCD图像传感器芯片正常工作,就需要向CCD提供使其正常工作所需的偏置电压。FTT1010M所需的偏置电压有VNS、VPS、SFD、RD、OG等,它们的参数如图7所示。设计时,作者采用的电压转换方案是使用低纹波的转换芯片搭配转换电路,VNS(24V)由外接28V电压通过DC/DC变换器LT3060得出,SFD由VNS通过电平转换电路得出,VPS、RD与OG由SFD的分压引出。4 CCD驱动电路FTT1010M工作时所需的各种脉冲信号的电压如图8所示。A、B驱动时钟的低位电平为0V,由图8可以看到,在感光阶段,A、B驱动时钟的高位电平为+10V,转移阶段时,A、B驱动时钟的高位电平为+14V。这里我采用EL7156来实现高位电平之间的转换,采用EL7457来实现低位到高位电平的转换。水平读出时钟C需要的低电平不是0V而是3.5V,高电平为8.5V,而FPGA给出的时钟脉冲是低电平为零,高电平为3.3V的脉冲。因此,需要将FPGA产生的时钟通过驱动芯片SN74ALVC164245DGGR进行驱动,使时钟C的幅值达到5V,然后再通过箝位电路的耦合作用来提高脉冲电平,把脉冲提到需要的幅度。SG、RG的产生过程与时钟C的产生过程类似,不同的是其幅值要求为10V。各种驱动脉冲信号的幅度调整电路如图9所示。5 CCD输出保护电路CCD传感器是一种MOS器件,操作不当就很容易受到静电损坏,在电路设计时应在其外围电路加上箝位、限流电路以确保加在CCD上的每一个偏置电压和驱动脉冲受到电流保护,在输入到FTT1010M之前应该通过一个电容来解耦,并且这些解耦电容应该与图像传感器引脚越近越好。FT T1010M的输出端为开源输出,应该在其输出端上接一个电流源做负载,或接一个电阻到地上。在输出上加一个射极跟随的高频三极管,以阻止输出因容性负载而引起的带宽限制。除此以外,射极跟随器加在输出端还可以防止示波器的探头对FTT1010M造成的静电损坏。CCD输出保护电路如图10所示。6 CCD输出预处理电路在CCD成像系统中,噪声是限制有效分辨率的最主要因素。CCD输出的信号是具有各种噪声的模拟信号,必须经过预处理,尽可能地消除噪声和各种干扰才能给后续电路使用。为了便于计算机处理,还需要对CCD输出的信号进行A/D转换。预处理过程大体如图11所示。根据预处理的要求,我们选用了一个高集成度的CCD信号处理专用芯片AD9978,它具有双通道输出能力,且具有14位的A/D转换精度,转换频率可达65MHz,其内部集成了相关双采样、可变增益控制、黑电平箝位电路以及高精度时序产生系统。我们使用相关双采样处理单元,通过两次采样消除不希望的噪声分量,第一次采样位于复位周期结束后,第二次采样位于信号的信息段,两次采样的差就是不含噪声的信号。随后,为了适应不同亮度的目标,防止CCD信号过弱或饱和,我们使用其内的增益控制处理单元来控制信号的增益,最后再通过A/D转换送给后面的可编程逻辑单元进行处理。设计时还要注意使其转换速率与CCD输出像素时钟保持一致。7 结束语本文阐述了星载CCD相机图像采集电路的设计与实现,经项目验证表明这些设计能很好地为CCD提供各类偏置电压、驱动脉冲以及电路保护等,它们确保了CCD图像传感器的图像质量,使得CCD相机成像系统具有高性能和高可靠性,具有极高的应用价值。

    时间:2018-11-13 关键词: 图像 相机 电路设计 星载

  • 星载开关电源可靠性设计

    标签:模拟 电子 IT 半导体 1 引言 电子产品,特别是星载开关电源的设计是一个复杂系统工程,不但要考虑电源本身参数设计,还要考虑电气设计、电磁兼容设计、安全性设计、热设计等方面。因为任何方面哪怕是极微小的疏忽,都有可能导致整个星载电源甚至整颗卫星的崩溃,所以星载电源产品可靠性设计极关重要。 2 开关电源电气可靠性设计 2.1 电路拓扑的选择 开关电源一般采用buck型、boost型、Cuk型、双管正激型、双管反激型、单端正激型、单端反激型、推挽型、半桥型、全桥型等十种拓扑。为避免开关管承受两倍直流输入电压并考虑到降额使用,一般采用双管正激型和半桥型电路。而推挽型和全桥型拓扑虽然也承受单倍直流输入电压,但可能出现单向偏磁饱和,使开关管损坏,故在高可靠性工程上一般选用双管正激型和半桥型电路拓扑。 2.2 控制方法的选择 电流型PWM控制较电压控制型有如下优点:自动对称校正、固有的电流限制、简单的 回路补偿、纹波比电压控制型小得多和良好的并联工作能力。 硬开关技术因开关损耗的限制,开关频率一般在400kHz以下;软开关技术利用谐振原理使开关器件在零电压开通或零电流关断,实现开关损耗为零,从而可使开关频率达到兆赫级水平。但是软开关技术主要应用于大功率电源,中小功率电源中仍以PWM技术为主。 2.3 元器件的选用 元器件直接决定了电源的可靠性,元器件的失效主要集中在以下四个方面: (1)产品质量质量问题造成的失效与工作应力无关。在卫星工程应用时选用定点生产厂家的成熟产品,不允许使用没有经过认证的产品。 (2)元器件可靠性 元器件可靠性问题即基本失效率的问题,这是一种随机性质的失效,与质量问题的区别是元器件的失效率取决于工作应力水平。应先对元器件进行应力筛选试验,通过筛选可使元器件失效率降低1~2个数量级,当然筛选试验代价(时间与费用)很大,但综合各方面因素还是合算的,研制周期也不会延长。电源设备主要元器件的筛选试验一般要求:①电阻在室温下按技术条件进行100%测试,剔除不合格品。 ②普通电容器在室温下按技术条件进行100%测试,剔除不合格品。 ③接插件按技术条件抽样检测各种参数。 ④半导体器件按以下程序进行筛选:目检→初测→高温贮存→高低温冲击→电功率老化→高温测试→低温测试→常温测试筛选结束后应计算剔除率Q Q=(n / N)×100%式中:N——受试样品总数;n——被剔除的样品数;如果Q超过标准规定的上限值,则本批元器件全部不准上机,并按有关规定处理。 在符合标准规定时,则将筛选合格的元器件打漆点标注,然后入专用库房供装机使用。 (3)设计(i)元器件的选用: ①尽量选用硅半导体器件,少用或不用锗半导体器件。 ②多采用集成电路,减少分立器件的数目。 ③开关管选用MOSFET能简化驱动电路,减少损耗。 ④输出整流管尽量采用具有软恢复特性的二极管。 ⑤应选择金属封装、陶瓷封装、玻璃封装的器件。禁止选用塑料封装的器件。 ⑥集成电路必须是一类品或者是符合MIL-M-38510、MIL-S-19500标准B-1以上质量等级的军品。 ⑦设计时尽量少用继电器,确有必要时应选用接触良好的密封继电器。 ⑧原则上不选用电位器,必须保留的应进行固封处理。 ⑨吸收电容器与开关管和输出整流管的距离应当很近,因流过高频电流,故易升温,所以要求这些电容器具有高频低损耗和耐高温的特性。由于受空间粒子轰击时,电解质会分解,所以铝电解电容也不适用于航天电子设备的电源中。钽电解电容温度和频率特性较好,耐高低温,储存时间长,性能稳定可靠,但钽电解电容较重、容积比低、不耐反压、高压品种(>125V)较少、价格昂贵。 (ii)降额设计: 电子元器件的基本失效率取决于工作应力(包括电、温度、振动、冲击、频率、速度、碰撞等)。不同的元器件降额标准亦不同,实践表明,大部分电子元器件的基本失效率取决于电应力和温度,因而降额也主要是控制这两种应力,以下为开关电源常用元器件的降额系数:①电阻的功率降额系数在0.1~0.5之间。 ②二极管的功率降额系数在0.4以下,反向耐压在0.5以下。 ③发光二极管电压降额系数在0.6以下,功率降额系数在0.6以下。 ④功率开关管电压降额系数在0.6以下,电流降额系数在0.5以下。 ⑤普通铝电解电容和无极性电容的电压降额系数在0.3~0.7之间。 ⑥钽电容的电压降额系数在0.3以下。 ⑦电感和变压器的电流降额系数在0.6以下。 (4)损耗损耗引起的元器件失效取决于工作时间的长短,与工作应力无关。比如铝电解电容长期在高频下工作会使电解液逐渐损失,同时容量亦同步下降,当电解液损失40%时,容量下降20%。为防止发生故障,应在图纸上标明铝电解电容器更换的时间,到期强迫更换。 2.4 保护电路的设置 为使电源能在各种恶劣环境下可靠地工作,应设置多种保护电路,如防浪涌冲击、过压、欠压、过载、短路、过热等保护电路。

    时间:2012-09-13 关键词: 开关电源 可靠性设计 星载

  • 基于FPGA的星载计算机自检EDAC电路设计

    摘要:为了消除空间环境中单粒子翻转(SEU)的影响,目前星载计算机中均对RAM存储单元采用检错纠错(EDAC)设计。随着FPGA在航天领域的广泛应用,FPGA已成为EDAC功能实现的最佳硬件手段。本文介绍了EDAC的编码和实现,提出一种功能完善的、具有自检、自纠错功能的EDAC电路设计,并采用仿真工具对该EDAC电路的功能进行了验证。 1 引言 随着人类对空间探索的深入,空间环境对空间飞行器的电子设备和器件的影响逐渐显现 出来。空间辐射效应,特别是单粒子效应,对空间任务的完成具有潜在的巨大危害。星载计 算机是卫星的核心部件,在空间辐照环境下,必须充分考虑单粒子翻转现象对星载计算机程 控功能的破坏或影响。针对该问题, 目前普遍采用纠错检错(EDAC)设计对星载计算机的RAM 存储单元进行纠错检错处理来消除SEU故障。 EDAC功能可采用硬件和软件两种手段来实现。采用软件手段实现,需要在读写RAM存储 单元时,对存储数据和冗余信息进行计算,因而要占用大量的CPU时间。对于星载计算机而 言,由于CPU器件选型的局限,限制了CPU的性能,使CPU资源非常宝贵,因此目前普遍采用 的是硬件手段来实现EDAC功能。随着FPGA在通信信息特别是在航天领域的广泛应用,FPGA 已成为EDAC功能实现的最佳硬件手段。从目前可获得的资料看,近些年欧美发射的卫星均采 用了FPGA作为星载计算机的核心器件。 2 基于汉明码的传统EDAC设计 2.1汉明编码 目前有许多编码可以用来作为抗SEU的纠错码使用,汉明编码是最常用的EDAC编码,由 Hamming于1950年构造。这种编码可以进行检错和纠错,可以检测1比特和2比特错误,只能 纠正1比特错误,因此适用于单组数据中出现多个错误位概率较低的情况,这恰与SEU经常会 修改星上RAM存储单元1比特信息的情况相符。 汉明编码的实现增加的硬件资源主要是存储器单元,用来存储冗余数据,另外还增加了 编码和解码电路,参加编码和解码的异或门电路随着原始数据位数的增加而线性增加。在处 理性能方面,编码和解码造成一定的延时,增加了存储器的读写时间。 2.2传统的EDAC电路设计 传统的EDAC电路设计仅实现读写功能,基本原理框图如图1所示.写操作时,CPU将数据送入EDAC编码模块中,EDAC编码模块根据该数据生成校验码,并将原始数据和校验码分别写 入数据RAM和校验RAM中;读操作时,CPU将数据RAM和校验RAM中的数据取出,送入EDAC纠错模 块中,EDAC纠错模块将正确的数据送至CPU。这里EDAC编码纠错模块的硬件实现可以是专用 芯片,也可以采用通用的中小规模集成电路搭建。 SEU造成的RAM单元1比特错误如果不定时清除,就会产生累积,使计算机由此处理的结 果产生出2比特甚至更多比特错误,这种情况下将无法采用EDAC功能进行数据纠错,导致系 统错误操作甚至任务失败。因此定时对RAM存储单元进行更新是必要的,但在传统EDAC电路 设计下,对RAM存储单元的更新只能由计算机的CPU(单片机)进行,其操作流程如下: (1) 从存储单元读出数据; (2) 将读出数据重写入; (3) 重复(1)~(2),直至全部单元更新完。 以航天计算机常用的80C32单片机为例,CPU对外部存储单元的读或写操作需要2个指令 周期,读完再写入需要4个指令周期,每个指令周期包含12个时钟。假设CPU时钟为20MHz, 更新1M个RAM存储单元需要的CPU时间为:4×12×1M 20MHz = 2.4s。 对于星上非常紧张的CPU资源来说,这是难以接受的,大大增加了星上CPU软件的设计难 度。这种方法的另一个大的缺点是无法获得数据错误信息,因为CPU直接读取的是纠错后的 数据,所以无法对星上SEU造成RAM单元出错的概率和错误模式进行统计。 3 基于FPGA的自检EDAC设计 3.1 功能分析 由于FPGA的内部大量的逻辑资源,使EDAC电路设计可以实现更加复杂的功能。在星载计 算机中,为了提高效率并节省CPU资源,一个理想的EDAC电路设计,应具有以下三部分功能: (1)数据读写功能。在CPU写操作时,对原始数据进行编码,生成校验码,并将原始数 据和校验码存储;在CPU读操作时,从存储器中取出原始数据和校验码,进行计算,如有错 误,将错误纠正后输出,如无错误,直接将原始数据输出。 (2)自检、自纠错功能。在CPU控制要求下,可自动对所有EDAC保护的RAM存储区进行 顺序读取和校验,检测出错误数据或校验码。在自检状态下,如果由CPU配置为自纠错状态, 当某一RAM单元检测出单比特错误后,自动将正确数据和校验码重新写入该RAM单元。该项功 能的实施,基本上可保证SEU对计算机RAM区造成的影响及时得到修复。 (3)错误信息处理功能。在CPU读操作或者自检状态下,通过输出错误标志信号,对CPU 产生中断,对产生的错误进行相应处理。在CPU读操作或者自检状态下,如果检测出错误, 将出错的地址、原始数据和校验码进行暂存,可由CPU读取,进行相应处理。 3.2 设计与实现 根据以上分析,笔者设计了如图2所示的自检EDAC电路,EDAC的功能主要由FPGA来实现。 到目前为止,具有航天等级的FPGA芯片已经具有内置的CPU硬核以及高达2.5Mbit的RAM资源, 因此该设计中的CPU和RAM模块均可以是FPGA内部资源,当内部资源无法满足设计要求时,也 可以采用外置CPU芯片或外置RAM芯片。 在本设计中,我们采用外置的CPU芯片和内置的RAM单元,作为自检EDAC电路的硬件平台 (或环境、资源)。CPU芯片在这里起到的作用是启动EDAC自检,处理错误中断,向地面传 送错误信息,并根据地面要求对错误信息进行处理。 在该设计中,检测一个存储单元地址仅需要4个时钟周期,如果开启自纠错功能,并且 检测到单比特错误,再增加2个时钟周期用来纠错。因此如果时钟为20MHz,并且错误数据较 少,则更新1M个RAM存储单元需要的时间约为:4×1M 20MHz = 0.2s。 更重要的是,在这0.2s的时间里,仅在出现错误时需要向计算机产生中断,进行相应处 理,对地面进行错误报告,因而CPU处理时间很短,节省了宝贵的CPU资源。 3.3 仿真与验证 在空间环境下普遍存在的SEU,在地面环境下是很难获得的,为了在地面对该EDAC电路 设计进行验证,需要采取故障注入手段。由于在本例中RAM存储单元采用FPGA内部资源,因 此故障注入变得相对简单。在FPGA进行程序综合时,可将预先编制好的RAM存储单元初始化 文件一起综合。因此我们可在编制RAM存储单元初始化文件时,对某些比特位进行修改,以 模拟空间环境下SEU对RAM存储单元的影响。 在这里采用Xilinx公司的XQRV300为硬件载体,该型号FPGA芯片在航天领域内被广泛使 用。为节省仿真时间,数据RAM存储单元采用256*8bit,检验RAM存储单元采用25*bit。在 RAM存储单元初始化文件中,人工加入了12个单比特错误,以及1个两比特错误,如下表所示。 为仿真简便起见,向存储单元存放的正确数据与存储单元地址相同。 时钟选择为20MHz,通过采用ModelSim软件进行布线后仿真,我们可以得到图3所示结果。 图中: Clk — 系统时钟; En — EDAC 模块使能控制; Check — 自检启动/使能信号(信号上升沿触发一次巡检,信号为低暂停巡检); Rw_En — 自纠错使能信号(为高允许纠错); Err — 错误中断(标志)信号; Rw — 自纠错标志信号(为高表示正在进行自纠错操作); MErr — 多比特错误中断(标志)信号; Checking — 自检标志(为高表示尚未完成本次巡检操作); Err_Sum,Err_A,Err_D,Err_C — 错误计数,错误地址,原始数据,原始校验码; D,A,Wr,Rd — 单片机数据、地址、写操作、读操作信号; 从图中可以看出,启动EDAC自检后,EDAC开始巡检RAM存储单元,产生错误中断(标志) 信号,给出错误信息。当单片机需要处理中断时,将Check信号置‘0’,可暂时停止巡检, 此时单片机可对RAM存储单元进行正常读写操作。等中断处理完后,单片机将Check信号置 ‘1’,恢复RAM巡检操作。 另外可通过Rw_En的置‘0’或‘1’,来控制禁止或允许进行自纠错操作。 当出现可识别的多位错误时,产生Err和MErr两个错误中断(标志)信号,但由于汉明码仅能纠正单比特错误,因此不进行自纠错操作。 从原注入错误数据对应的地址读出数据,仿真输出结果如图4所示。 可以看出除最后一个地址(FFH)由于两位错仍输出错误外,其他地址输出数据均与地址相同,即为正确数据。 其中,24H、3CH、60H三个地址虽然输出正确数据,但仍报错,表明存储器内数据仍然 为错误数据,在输出时进行了纠错。这是由于在上次巡检到这部分地址空间时,通过把Rw_En 信号拉低,从而禁止了自动纠错,导致这三个地址错误数据未被纠正。而在对其他地址进行 数据读取时,未产生错误标志,证明其他错误数据已被纠错。 4 结论 本文在采用FPGA芯片实现基本EDAC读写功能的设计思路基础上,创建了一种新型的可对 RAM存储单元进行自检的EDAC功能模块。该模块不但可以对RAM存储单元进行快速巡检,巡检 时间仅为传统EDAC方法的十二分之一,还可以自动纠正已发现的错误。该模块最大的优点在 于节省了单片机资源,几乎不需要单片机的参与即可完成所有自检功能,从而使基于FPGA 的星载计算机对SEU事件防护能力得到较大的提升。本文中该模块采用Verilog硬件描述语言 编程,具有可移植性,这种设计方法可用于各种体系结构的星载计算机中。 本文作者创新点: 通过引入FPGA技术,设计了一种灵活、高效的自检EDAC电路,可在CPU 的控制下实现对错误信息的自动处理,并提出了该EDAC电路验证方法。

    时间:2012-08-30 关键词: FPGA 计算机 edac 星载

  • 星载环境FPGA软件在轨重加载的一种方法

    摘要:FPGA在空间系统中已经广泛应用,为了满足系统可靠性和可扩展性的要求,实现FPGA软件的在轨重加载迫在眉睫。根据FPGA的加载配置原理,以Xilinx公司的Virtex-Ⅱ系列FPGA为实例,介绍了FPGA在轨重加载的硬件电路设计以及软件设计。经过实验室测试验证,该设计方法合理可行,满足星载环境下FPGA软件在轨编程及重加载的设计需求。 关键词:FPGA;在轨重加载;在轨编程;星载环境 0 引言     FPGA已经广泛应用于星载信号处理系统中,然而其在空间环境中的可靠性设计是一个难题。一方面,FPGA软件可能受到外部空间环境影响而产生各种问题,特别是单粒子效应造成的FPGA程序出错,其导致的后果是严重的甚至是灾难性的;另一方面,当FPGA软件本身存在设计缺陷或者由于卫星系统改变应用需求时,若能实现星载环境下FPGA软件的远程更新升级,其软件系统的生命周期便可以得到延长,同时产生的经济效益也是不可估量的。     为此,本文介绍一种星载环境下FPGA软件在轨重加载的方法,通过星上系统的1553B接口接收FPGA配置数据文件,在DSP和CPLD的控制下,灵活地实现FPGA程序的在轨编程及重加载。 1 FPGA加载原理     基于SRAM工艺的FPGA由于在掉电后配置数据丢失,因此需要在上电后对其进行加载,而配置数据被保存在外部的非易失存储器中。     Xilinx公司的Virtex-Ⅱ系列FPGA通过芯片配置管脚MODE PIN(M0,M1,M2),可以实现5种配置模式,详见表1。    上述5种模式中,JTAG边界扫描模式具有最高的优先级,其加载方式是通过专用JTAG口对FPGA进行访问。SelectMAP模式实际上就是并行模式,其加载时的数据访问位宽为8 b,加载过程与串行模式相同。主模式和从模式的区别在于时钟是由FPGA自身提供,亦或是外部提供,当FPGA主动输出时钟时即为主模式,反之即为从模式。     FPGA的配置过程如图1所示,主要由3个阶段8个步骤组成。FPGA在Slave SelectMAP模式下配置过程中使用的信号包括:PROG_B,INIT_ B,CCLK,CS_B,RDWR_B,DATA[0:7],BUSY,DONE,其时序关系如图2所示。     根据图1和图2,Slave SelelctMAP模式下,FPGA加载过程描述如下:     第1阶段:启动和初始化,分为3个步骤:     FPGA上电正常后,通过PROG_B引脚低脉冲进行FPGA异步复位,使得FPGA内部逻辑清零;PROG_B拉高后,停止外部复位,INIT_B引脚会在自动产生一个由低到高的跳变,指示FPGA内部初始化完成,可以进行数据下载;FPGA检测其专用的配置模式管脚M0~M2的电平,从而确定加载模式。     第2阶段:比特流加载,分为4个步骤。INIT_B信号变高后,不需要额外的等待时间,Virtex器件就可以立即开始数据的配置。比特流数据在外部CCLK信号上升沿按字节方式置入。其中的Synchronization(同步)、Device ID Check(检测器件ID号和配置数据中的ID号是否匹配)、Load Configuration Data(下载数据流)和CRCCheck(CRC校验)对用户是完全透明的,同步字、配置数据中ID号和CRC校验和都是在生成配置数据文件时和配置数据一起打包,嵌入在配置数据文件当中。     第3阶段:Startup启动。在成功校验CRC码位后,FPGA进入Startup状态。它是由8相状态机实现的,中间包括等待DCM锁相、DCI匹配等几个状态,最后FPGA释放外部DONE引脚,对外输出高阻态,由外部上拉高,指示FPGA加载成功。 2 硬件电路设计     本系统硬件组成原理框图见图3,主控DSP芯片选用TI公司SMQ320LC31,通过1553B接口实现与星上控制计算机的通信,FPGA选用XILINX公司VIRTEX-Ⅱ系列芯片XC2V3000,其配置芯片选用XCF32P,DSP通过CPLD实现对FPGA加载模式的控制。     图3所示的电路框图可以分为以下功能模块:配置数据接口单元、配置信号发生单元、时序状态转换、自举配置单元、FPGA功能单元,其逻辑关系如图4所示。     各功能单元的功能和性能描述如下:     (1)配置数据接口单元:该单元通过1553B接口从星上控制计算机接收FPGA配置数据。     (2)配置信号发生单元:该单元产生配置FPGA所需的配置数据和时序。     (3)状态时序转换单元:该单元一方面实现FPGA配置方式的状态切换:自举配置;另一方面将配置信号发生单元产生的信号转换成FPGA配置接口所需的信号。     (4)自举配置单元:即PROM,保存预先装好的FPGA配置数据。     (5)FPGA功能单元:即FPGA,接收来自于PROM的配置数据或者来自于DSP(经过CPLD转换)的配置数据。     该系统在实际工作过程中,通过DSP和CPLD的灵活控制,可以实现多种配置模式的切换:     (1)上电过程直接通过PROM对FPGA进行配置加载;     (2)上电过程直接通过DSP片外FLASH对FPGA进行配置加载;     (3)DSP实时接收星上控制计算机传送的配置数据,实现对FPGA的配置加载;     (4)DSP实时接收星上控制计算机传送的配置数据,将其烧写至PROM;     (5)DSP实时接收星上控制计算机传送的配置数据,将其烧写至FLASH。 3 软件设计 3.1 DSP软件设计实现     系统上电之后,DSP上电后,首先进行状态检测,判断上电时是PROM串行加载还是FLASH并行加载。然后,星上控制计算机通过1553B接口向DSP传送FPGA配置数据,并发送配置模式控制命令,DSP根据接收的命令选择配置方式,按照配置时序向CPLD的相应寄存器写配置数据以及配置控制信号。     DSP软件功能框图如图5所示,软件主要完成两个功能:功能一为完成1553B接口数据的传输,并存储到SRAM中,然后根据1553B接口的控制命令决定进行配置的方式或者转存到FLASH中;功能二为模块根据命令和FPGA配置时序产生配置信号,并输出给CPLD配置寄存器。     整个DSP软件程序包含以下几个主要函数:1553B接口数据传输和处理函数、FLASH擦除与装订函数、SelectMap配置函数和中断处理函数。软件从main函数入口开始运行,进行相应的初始化设置和配置,并开启中断,然后进入无限循环状态,等待外部中断的到来并进行相应的中断服务处理。详细软件流程图如图6所示。 3.2 CPLD软件设计实现     系统上电之后,DSP可以根据实际工作需要给出FPGA的两种加载方式:PROM串行加载、SelectMAP并行加载,两种方式均通过CPLD进行。     当进行PROM从串模式加载时,配置比特流从PROM中读取,具体加载实现流程如图7所示。     当CPLD接到DSP发送的进行SelectMAP并行加载命令时,CPLD根据DSP端口的映射进行SelectMAP并行加载,SelectMAP加载具体实现流程如图8所示。     在SelectMAP并行加载过程中,CPLD负责在DSP和FPGA之间建立一个同步接口,将DSP传送的配置数据包进行相应的处理,生成满足Select MAP加载时序的时钟、数据及控制信号,传输至FPGA,实现对FPGA的SelectMAP加载。     CPLD软件采用了一个状态机,实现接收DSP命令进行PROM从串加载或者进行SelectMAP并行加载,状态机的流程如图9所示。 3.3 加载文件格式     对FPGA进行加载的文件格式为*.bin文件,通过bitgen产生,*.bin文件只包含FPGA配置数据,不包含任何文件信息。 4 测试验证     建立测试环境,利用测试计算机(含1553B板卡及控制软件)模拟星上控制计算机,对该FPGA重加载电 路进行测试,获得如下测试结果:     (1)在DSP软件中置PROM加载状态,上电后,FPGA从PROM加载,FPGA运行状态正常;     (2)在DSP软件中置SelectMAP加载状态,上电后,DSP从FLASH中读取配置数据,通过CPLD对FPGA进行加载,FPGA运行状态正常;     (3)在DSP软件中置SelectMAP加载状态,上电后,测试计算机通过1553B将新的配置数据传输至DSP,DSP通过CPLD对FPGA进行加载,FPGA运行状态正常。     (4)上电后,测试计算机通过1553B将新的配置数据传输至DSP,DSP将配置数据烧写至FLASH或者PROM,并置加载状态,上电后能实现新配置数据的加载。     通过以上测试表明,该电路具备FPGA星载环境下的在轨重加载功能。 5 结论     本文介绍了星载环境下通过1553B接口实现FPGA在轨重加载的方法,并完成了相应的硬件电路设计实现,通过实验室测试验证,证明本文所描述的星载环境FPGA在轨重加载方法设计思想合理可行,不仅能满足星载环境下FPGA软件的更新升级,还能实现FPGA软件功能模块的自身故障修复,并且能灵活地实现卫星应用功能的领域扩展,最大限度提高卫星系统的利用率。

    时间:2012-07-25 关键词: FPGA 环境 方法 星载

  • 星载环境FPGA软件在轨重加载的一种方法

    摘要:FPGA在空间系统中已经广泛应用,为了满足系统可靠性和可扩展性的要求,实现FPGA软件的在轨重加载迫在眉睫。根据FPGA的加载配置原理,以Xilinx公司的Virtex-Ⅱ系列FPGA为实例,介绍了FPGA在轨重加载的硬件电路设计以及软件设计。经过实验室测试验证,该设计方法合理可行,满足星载环境下FPGA软件在轨编程及重加载的设计需求。 关键词:FPGA;在轨重加载;在轨编程;星载环境 0 引言     FPGA已经广泛应用于星载信号处理系统中,然而其在空间环境中的可靠性设计是一个难题。一方面,FPGA软件可能受到外部空间环境影响而产生各种问题,特别是单粒子效应造成的FPGA程序出错,其导致的后果是严重的甚至是灾难性的;另一方面,当FPGA软件本身存在设计缺陷或者由于卫星系统改变应用需求时,若能实现星载环境下FPGA软件的远程更新升级,其软件系统的生命周期便可以得到延长,同时产生的经济效益也是不可估量的。     为此,本文介绍一种星载环境下FPGA软件在轨重加载的方法,通过星上系统的1553B接口接收FPGA配置数据文件,在DSP和CPLD的控制下,灵活地实现FPGA程序的在轨编程及重加载。 1 FPGA加载原理     基于SRAM工艺的FPGA由于在掉电后配置数据丢失,因此需要在上电后对其进行加载,而配置数据被保存在外部的非易失存储器中。     Xilinx公司的Virtex-Ⅱ系列FPGA通过芯片配置管脚MODE PIN(M0,M1,M2),可以实现5种配置模式,详见表1。    上述5种模式中,JTAG边界扫描模式具有最高的优先级,其加载方式是通过专用JTAG口对FPGA进行访问。SelectMAP模式实际上就是并行模式,其加载时的数据访问位宽为8 b,加载过程与串行模式相同。主模式和从模式的区别在于时钟是由FPGA自身提供,亦或是外部提供,当FPGA主动输出时钟时即为主模式,反之即为从模式。     FPGA的配置过程如图1所示,主要由3个阶段8个步骤组成。FPGA在Slave SelectMAP模式下配置过程中使用的信号包括:PROG_B,INIT_ B,CCLK,CS_B,RDWR_B,DATA[0:7],BUSY,DONE,其时序关系如图2所示。     根据图1和图2,Slave SelelctMAP模式下,FPGA加载过程描述如下:     第1阶段:启动和初始化,分为3个步骤:     FPGA上电正常后,通过PROG_B引脚低脉冲进行FPGA异步复位,使得FPGA内部逻辑清零;PROG_B拉高后,停止外部复位,INIT_B引脚会在自动产生一个由低到高的跳变,指示FPGA内部初始化完成,可以进行数据下载;FPGA检测其专用的配置模式管脚M0~M2的电平,从而确定加载模式。     第2阶段:比特流加载,分为4个步骤。INIT_B信号变高后,不需要额外的等待时间,Virtex器件就可以立即开始数据的配置。比特流数据在外部CCLK信号上升沿按字节方式置入。其中的Synchronization(同步)、Device ID Check(检测器件ID号和配置数据中的ID号是否匹配)、Load Configuration Data(下载数据流)和CRCCheck(CRC校验)对用户是完全透明的,同步字、配置数据中ID号和CRC校验和都是在生成配置数据文件时和配置数据一起打包,嵌入在配置数据文件当中。     第3阶段:Startup启动。在成功校验CRC码位后,FPGA进入Startup状态。它是由8相状态机实现的,中间包括等待DCM锁相、DCI匹配等几个状态,最后FPGA释放外部DONE引脚,对外输出高阻态,由外部上拉高,指示FPGA加载成功。 2 硬件电路设计     本系统硬件组成原理框图见图3,主控DSP芯片选用TI公司SMQ320LC31,通过1553B接口实现与星上控制计算机的通信,FPGA选用XILINX公司VIRTEX-Ⅱ系列芯片XC2V3000,其配置芯片选用XCF32P,DSP通过CPLD实现对FPGA加载模式的控制。     图3所示的电路框图可以分为以下功能模块:配置数据接口单元、配置信号发生单元、时序状态转换、自举配置单元、FPGA功能单元,其逻辑关系如图4所示。     各功能单元的功能和性能描述如下:     (1)配置数据接口单元:该单元通过1553B接口从星上控制计算机接收FPGA配置数据。     (2)配置信号发生单元:该单元产生配置FPGA所需的配置数据和时序。     (3)状态时序转换单元:该单元一方面实现FPGA配置方式的状态切换:自举配置;另一方面将配置信号发生单元产生的信号转换成FPGA配置接口所需的信号。     (4)自举配置单元:即PROM,保存预先装好的FPGA配置数据。     (5)FPGA功能单元:即FPGA,接收来自于PROM的配置数据或者来自于DSP(经过CPLD转换)的配置数据。     该系统在实际工作过程中,通过DSP和CPLD的灵活控制,可以实现多种配置模式的切换:     (1)上电过程直接通过PROM对FPGA进行配置加载;     (2)上电过程直接通过DSP片外FLASH对FPGA进行配置加载;     (3)DSP实时接收星上控制计算机传送的配置数据,实现对FPGA的配置加载;     (4)DSP实时接收星上控制计算机传送的配置数据,将其烧写至PROM;     (5)DSP实时接收星上控制计算机传送的配置数据,将其烧写至FLASH。 3 软件设计 3.1 DSP软件设计实现     系统上电之后,DSP上电后,首先进行状态检测,判断上电时是PROM串行加载还是FLASH并行加载。然后,星上控制计算机通过1553B接口向DSP传送FPGA配置数据,并发送配置模式控制命令,DSP根据接收的命令选择配置方式,按照配置时序向CPLD的相应寄存器写配置数据以及配置控制信号。     DSP软件功能框图如图5所示,软件主要完成两个功能:功能一为完成1553B接口数据的传输,并存储到SRAM中,然后根据1553B接口的控制命令决定进行配置的方式或者转存到FLASH中;功能二为模块根据命令和FPGA配置时序产生配置信号,并输出给CPLD配置寄存器。     整个DSP软件程序包含以下几个主要函数:1553B接口数据传输和处理函数、FLASH擦除与装订函数、SelectMap配置函数和中断处理函数。软件从main函数入口开始运行,进行相应的初始化设置和配置,并开启中断,然后进入无限循环状态,等待外部中断的到来并进行相应的中断服务处理。详细软件流程图如图6所示。 3.2 CPLD软件设计实现     系统上电之后,DSP可以根据实际工作需要给出FPGA的两种加载方式:PROM串行加载、SelectMAP并行加载,两种方式均通过CPLD进行。     当进行PROM从串模式加载时,配置比特流从PROM中读取,具体加载实现流程如图7所示。     当CPLD接到DSP发送的进行SelectMAP并行加载命令时,CPLD根据DSP端口的映射进行SelectMAP并行加载,SelectMAP加载具体实现流程如图8所示。     在SelectMAP并行加载过程中,CPLD负责在DSP和FPGA之间建立一个同步接口,将DSP传送的配置数据包进行相应的处理,生成满足Select MAP加载时序的时钟、数据及控制信号,传输至FPGA,实现对FPGA的SelectMAP加载。     CPLD软件采用了一个状态机,实现接收DSP命令进行PROM从串加载或者进行SelectMAP并行加载,状态机的流程如图9所示。 3.3 加载文件格式     对FPGA进行加载的文件格式为*.bin文件,通过bitgen产生,*.bin文件只包含FPGA配置数据,不包含任何文件信息。 4 测试验证     建立测试环境,利用测试计算机(含1553B板卡及控制软件)模拟星上控制计算机,对该FPGA重加载电 路进行测试,获得如下测试结果:     (1)在DSP软件中置PROM加载状态,上电后,FPGA从PROM加载,FPGA运行状态正常;     (2)在DSP软件中置SelectMAP加载状态,上电后,DSP从FLASH中读取配置数据,通过CPLD对FPGA进行加载,FPGA运行状态正常;     (3)在DSP软件中置SelectMAP加载状态,上电后,测试计算机通过1553B将新的配置数据传输至DSP,DSP通过CPLD对FPGA进行加载,FPGA运行状态正常。     (4)上电后,测试计算机通过1553B将新的配置数据传输至DSP,DSP将配置数据烧写至FLASH或者PROM,并置加载状态,上电后能实现新配置数据的加载。     通过以上测试表明,该电路具备FPGA星载环境下的在轨重加载功能。 5 结论     本文介绍了星载环境下通过1553B接口实现FPGA在轨重加载的方法,并完成了相应的硬件电路设计实现,通过实验室测试验证,证明本文所描述的星载环境FPGA在轨重加载方法设计思想合理可行,不仅能满足星载环境下FPGA软件的更新升级,还能实现FPGA软件功能模块的自身故障修复,并且能灵活地实现卫星应用功能的领域扩展,最大限度提高卫星系统的利用率。

    时间:2012-07-20 关键词: FPGA 环境 方法 星载

  • 星载CCD相机图像采集电路设计与实现

    摘要:以DALSA公司的CCD传感器FTT1010M为核心,设计并实现了一种星载CCD相机图像采集电路,详细介绍了图像传感器FTT1010M的特性、工作模式、工作时序,并阐述了其模拟驱动电路、时序电路、电源转换电路等图像采集电路的设计与实现。经过实际项目验证,设计的采集电路能够满足各项技术要求,具有较高的实用价值。 关键词:电荷耦合器件;图像传感器;采集电路;FTT1010M 0 引言     自从CCD(电荷耦合器件)出现以来,由于其分辨率高、灵敏度高、噪声小、体积小、重量轻、可靠性高等优点,得到了很快的发展,目前已广泛应用于影像传感、卫星监控、空间遥感成像和对地观测等众多领域。对于一个CCD相机系统而言,其核心器件CCD传感器的性能直接影响整个相机系统的性能,而保障其发挥优良的设计难点在于高可靠性的驱动、偏置等与图像采集电路相关的设计,这给设计者带来了很大的麻烦。因此,设计出稳定可靠的CCD图像采集电路是保证CCD传感器乃至CCD相机系统正常发挥其功能的重要条件。 1 CCD相机图像采集电路结构     CCD相机图像采集电路结构如图1所示。CCD传感器接收前端光学系统的成像,偏压电路为CCD传感器提供必需的偏置电压,可编程逻辑器件产生的时序脉冲经过驱动电路对CCD进行控制采集,输出保护电路可对CCD进行有效地防护保护,预处理电路对CCD输出的带噪模拟信号进行处理后便于后续电路使用。 2 CCD传感器的选用     CCD传感器分为面阵CCD传感器和线阵CCD传感器。线阵CCD所需要的驱动时钟较少,驱动电路设计相对简单,面阵CCD所需要的驱动时钟较多,时序较为复杂,驱动电路设计也相对较难。这里我们选择DALSA公司的一款帧转移型面阵CCD1010M,因其具有良好的抗辐射设计,是航空、航天应用中理想的图像传感器,而且其分辨率为1024×1024,还具有良好的抗光晕性能,信号输出噪声低、动态范围大、100%光学填充效率、电荷转移效率高等特点,满足项目需求。它具有的多针相工艺(MPP)还能保证它在低照度下进行工作,通过延长曝光时间来记录非常弱的信号。这款CCD有四相感光区和存储区电极,三相水平读出移位寄存器电极,还有一个输出放大器。输出方式有双路输出和单路输出两种, 单通道输出单色逐行扫描图像速度可达30帧/s,并且动态范围大于72dB,性能较为优异。 2.1 FTT1010M结构     FTT1010M的内部结构如图2所示。     FTT1010M由感光区和存储区构成,感光区和存储区都由1072H×1030V个像素组成。在感光区中,每个像素单元在垂直方向上可以看作是被四相栅极时钟A1、A2、A3、A4覆盖的相互连接的四个MOS电容器共同组成,它们作为感光区帧转移控制时钟。在1024个有效像素行的上面分别分布着6个黑行(Black Lines),黑行其实就是被遮蔽的不参与光积分的像素行;在水平方向上,每行1072个像素中的有效像素(Active Pixels)为1024个,两边分布着2×20个黑像素(Black Pixels)和2×4个过渡像素(Overscan Pixels),黑像素与黑行一样也是被遮蔽的像素单元,这些单元都不参加光积分,没有光电荷包产生,其主要作用是对CCD的输出视频信号进行预处理时起参考黑电平作用。过渡像素单元的作用主要是在有效像素单元与黑像素单元之间起过渡作用。     在存储区中,每个像素单元在垂直方向上可以看作是被四相栅极时钟B1、B2、B3、B4覆盖的相互连接的四个MOS电容器共同组成,它们作为存储区行转移时钟。在存储区水平方向上分布着两个串行输出移位寄存器(Output Register),寄存器内部并没有感光单元,只有用来传输转移感光电荷包的遮蔽的转移单元,每个单元相当于被三相时钟C1、C2、C3覆盖,这些单元都和存储区的像素单元相互衔接对应。其主要作用是将输出放大器连接到水平输出移位寄存器上。 2.2 FTT1010M时序设计     FTT1010M图像传感器的工作时序可以分为帧转移时序(Frame timing),行转移时序(Line timing)和像素读出时序(Pixel timing)。帧转移时序指CCD将一帧图像转移输出的时序,行转移时序指一行像素在时钟的驱动下完成从存储区到水平移位寄存器转移的时序,像素读出时序指在一行像素在C时钟驱动下从水平移位寄存器中逐位水平读出的时序。     FTT1010M的工作过程可分为两个阶段:感光阶段和转移阶段。在感光阶段,图像传感器感光阵列进行电荷积累,存储区进行向水平移位寄存器的电荷转移和水平移位寄存器向输出放大器的电荷输出;在转移阶段,图像传感器主要完成所积累的电荷由感光阵列向存储区的转移。FTT1010M的帧时序如图3所示。     在感光阶段,感光阵列在外界光源的照射下产生电荷,此阶段帧转移控制信号A1、A2、A3、A4不发生变化,感光区和存储区之间为阻断态,电荷不发生转移;而存储区在此阶段处于行转移状态并将电荷进行输出,行转移的过程分为行正程和行逆程两个阶段。     在行逆程阶段,SSC为高电平,存储区内各像素单元的电荷在行转移信号B1、B2、B3、B4的控制下向水平移位寄存器方向下移一行,像素转移信号C1、C2、C3不发生变化,图像传感器无像素电荷输出。FTT1010M行转移时序如图4所示。     在行正程阶段,SSC为低电平,行转移信号B1、B2、B3、B4不发生变化,水平移位寄存器中的像素电荷在像素转移信号C1、C2、C3的控制下逐次经过输出放大器输出,每输出一行信号后,进行一次行转移。FTT1010M像素读出时序如图5所示。     在转移阶段,帧转移控制信号A1、A2、A3、A4与行转移控制信号B1、B2、B3、B4同时作用,交叠变化,将感光区积累的电荷逐行转移到存储区,而在这段时问内像素转移信号C1、C2、C3不起作用,不向外输出电荷。完成整个转移阶段后,又再次进入感光阶段,如此循环往复来保证图像传感器的工作。FTT1010M帧转移时序如图6所示。 3 CCD偏置电压电路     若要使CCD图像传感器芯片正常工作,就需要向CCD提供使其正常工作所需的偏置电压。FTT1010M所需的偏置电压有VNS、VPS、SFD、RD、OG等,它们的参数如图7所示。设计时,作者采用的电压转换方案是使用低纹波的转换芯片搭配转换电路,VNS(24V)由外接28V电压通过DC/DC变换器LT3060得出,SFD由VNS通过电平转换电路得出,VPS、RD与OG由SFD的分压引出。 4 CCD驱动电路     FTT1010M工作时所需的各种脉冲信号的电压如图8所示。     A、B驱动时钟的低位电平为0V,由图8可以看到,在感光阶段,A、B驱动时钟的高位电平为+10V,转移阶段时,A、B驱动时钟的高位电平为+14V。这里我采用EL7156来实现高位电平之间的转换,采用EL7457来实现低位到高位电平的转换。     水平读出时钟C需要的低电平不是0V而是3.5V,高电平为8.5V,而FPGA给出的时钟脉冲是低电平为零,高电平为3.3V的脉冲。因此,需要将FPGA产生的时钟通过驱动芯片SN74ALVC164245DGGR进行驱动,使时钟C的幅值达到5V,然后再通过箝位电路的耦合作用来提高脉冲电平,把脉冲提到需要的幅度。     SG、RG的产生过程与时钟C的产生过程类似,不同的是其幅值要求为10V。     各种驱动脉冲信号的幅度调整电路如图9所示。 5 CCD输出保护电路     CCD传感器是一种MOS器件,操作不当就很容易受到静电损坏,在电路设计时应在其外围电路加上箝位、限流电路以确保加在CCD上的每一个偏置电压和驱动脉冲受到电流保护,在输入到FTT1010M之前应该通过一个电容来解耦,并且这些解耦电容应该与图像传感器引脚越近越好。FT T1010M的输出端为开源输出,应该在其输出端上接一个电流源做负载,或接一个电阻到地上。在输出上加一个射极跟随的高频三极管,以阻止输出因容性负载而引起的带宽限制。除此以外,射极跟随器加在输出端还可以防止示波器的探头对FTT1010M造成的静电损坏。CCD输出保护电路如图10所示。 6 CCD输出预处理电路     在CCD成像系统中,噪声是限制有效分辨率的最主要因素。CCD输出的信号是具有各种噪声的模拟信号,必须经过预处理,尽可能地消除噪声和各种干扰才能给后续电路使用。为了便于计算机处理,还需要对CCD输出的信号进行A/D转换。预处理过程大体如图11所示。     根据预处理的要求,我们选用了一个高集成度的CCD信号处理专用芯片AD9978,它具有双通道输出能力,且具有14位的A/D转换精度,转换频率可达65MHz,其内部集成了相关双采样、可变增益控制、黑电平箝位电路以及高精度时序产生系统。我们使用相关双采样处理单元,通过两次采样消除不希望的噪声分量,第一次采样位于复位周期结束后,第二次采样位于信号的信息段,两次采样的差就是不含噪声的信号。随后,为了适应不同亮度的目标,防止CCD信号过弱或饱和,我们使用其内的增益控制处理单元来控制信号的增益,最后再通过A/D转换送给后面的可编程逻辑单元进行处理。设计时还要注意使其转换速率与CCD输出像素时钟保持一致。 7 结束语     本文阐述了星载CCD相机图像采集电路的设计与实现,经项目验证表明这些设计能很好地为CCD提供各类偏置电压、驱动脉冲以及电路保护等,它们确保了CCD图像传感器的图像质量,使得CCD相机成像系统具有高性能和高可靠性,具有极高的应用价值。

    时间:2012-04-28 关键词: ccd 相机 图像采集 星载

  • 星载电子设备多余物数据采集系统的设计

    摘要:为实现尺寸较大、内部结构较为复杂的星栽电子设备的多余物自动检测,设计了以EZ-USB FX2和CPLD芯片为核心器件的数据采集卡,实现了四通道的同步数据采集和传输。此系统包括数据采集、数据缓存以及数据控制和传输,分别采用了采样率为500 k的12位A/D转换器件AD7892、16 kx18位的FIFO CY7C4265、EPM7064和USB芯片CY7C68013。重点介绍了数据采集系统的硬件组成和软件设计,包括USB的固件程序、CPLD的控制程序和主机用户程序。实验结果表明,该系统能达到稳定传输速度为15.4 MB/s,保证了四通道同时以500 k的采样率工作的稳定性和正确性。 关键词:多余物;电子设备;USB;CPLD;CY7C68013     星载电子设备是航天电子系统中不可缺少的电气部分,直接影响着航天电子系统的可靠性。多余物是影响电子设备可靠性的主要因素之一。多余物是指在电子设备生产、制造、封装及使用过程中在其密封腔体内部残留或产生的各种金属或非金属颗粒。在航天设备工作过程中,外部冲击或振动使多余物游离随机运动碰撞,可能导致电子设备内部器件误动作或失效,甚至造成航天事故,是亟待解决的重大问题。     微粒碰撞噪声检测法(Particle Impact Noise Detection,PIND)是目前应用最为广泛的一种多余物检测方法。目前,元器件级(如继电器)的PIND方法已经被列入我国军事工业标准,对保证我国应用于航天型号中军用电子元器件有无多余物起到了重要的作用。相对于电子元器件,电子设备的尺寸更大、重量更重、内部结构更为复杂,由于电子设备和电子元器件在诸多方面的差异,使得电子元器件的PIND方法无法适用于电子设备。针对电子设备这样系统级的多余物检测方法,还没有标准可循,相关的研究还处于探索阶段。     数据采集技术是多余物检测系统中一个极为重要的信息处理环节,考虑到利用各通道数据的相关性分析,采用同步实时的多通道信号采集技术,可为自动判别多余物的存在与否提供了较为丰富的数据。数据传输给上位机有多种方式,USB支持主机与各种即插即用的外设之间进行数据传输,支持不同速率的同步和异步传输方式,理想的最高传输速率可达480 Mb/s,具有传输数率高和便携等特点。USB设备应用于数据的实时采集是非常合适的,已逐渐取代各种传统的设备(如RS232、PCI设备等),在实际中应用更加方便。目前,市场上现有的USB数据采集卡较多,但成本较高、非同步采集和传输灵活性差等缺点。     本文是在星载电子设备的多余物检测系统的需求下,依据电子设备尺寸更大、重量更重、内部结构更为复杂以及多余物信号的频率特性,设计并实现了采样速率为500 k的四通道同步实时数据连续采集系统,采用USB传输方式。 1 系统总体设计     本系统是将输入的四路模拟信号通过前端的信号调理电路进行调理,再经过转换器件AD7892转换成数字信号量,经过外部FIFO(先进先出)CY7C4265的缓存,将采集到的数据有序且快速地传输至USB控制器CY7C68013,再将数据传输至上位机进行分析和处理。当上位机发出采集数据控制命令后,经CY7C68013分析,通知逻辑控制芯片EPM7064对A/D和外部FIFO进行初始化,并启动A/D开始采集数据。四通道数据采集卡结构框图如图1所示。 2 系统硬件设计     本系统硬件设计主要由数据采集模块、数据缓存模块以及数据控制和传输模块组成。 2.1 数据采集模块     前端的模拟信号量通过信号调理电路进行放大、滤波、整形,再经过电压跟随电路将信号传送至AD7892转换成数字量。AD7892是一款高速、低功耗、12位转换精度的模数转换器件,内部集成电压跟踪保持器和过电压保护电路。AD7892由外部电源系统提供5 V的采样参考电压,外部逻辑控制器件CPLD提供500 k的采样频率,可采集-5~+5 V的模拟量。由此得到可输入的最小模拟电压:1 LSB=10 V/4 096=2.44 mV。 2.2 数据缓存模块     系统为四通道连续且同步采集,每一次采集的数据量较大,而只有一个USB控制器,必须设计数据缓存模块。数据缓存芯片采用了Cypr-ess公司的16 Kx18位的FIFO CY7C4265芯片。此芯片是一款高速、低功耗CMOS时钟存储器,它的读写端口使用同步接口,每一个端口的时钟都是相互独立的,这些时钟可以是同步,也可以是异步州。这使得FIFO的读写端口能以不同的速度运行,其写时钟端口与AD7892的采样保持同步,保证了数据的不丢失。 2.3 数据控制和传输模块     EZ—USB FX2系列芯片CY7C68013简化结构框图如图2所示。该芯片支持USB2.0规范,同时向下兼容USB1.1规范的单片机。该芯片把USB2.0收发器、串行接口引擎SIE、增强的8051内核、GPIF等集成于一体,内含4 kB的FIFO(端点缓冲区),可配置为不同大小缓冲区的IN或OUT端点(EP2、EP4、EP6、EP8),具有USB协议的4种传输方式,即控制方式、中断方式、批量方式和同步传输方式。Cypress公司为用户使用FX2提供了较为完善的软件开发工具包,降低了系统的开发难度。     FX2可配置成3种不同的接口模式,即Ports、GPIFMaster和Slave FIFO模式。在Slave FIFO模式下,FIFO[1:0]引脚作为地址线选择4个端点FIFO中的一个与FD总线连接,SLCS相当于片选信号。Slave FIFO模式又分为异步方式和同步方式的传输。在异步方式下,SLRD和SLWR是读/写选通信号;同步方式下,SLRD和SLWR作为IFCLK时钟引脚的使能信号。Slave FIFO模式是将FX2的FIFO作为外部控制器(CPLD或MCU)的从属FIFO,外部控制器可像对普通FIFO一样对FX2的FIFO进行读写。USB在传输数据时不考虑包的大小,可以明显提高效率,加快了开发的进度。本系统采用了Slave FIFO模式的异步方式进行数据传输。     系统控制结构框图如图3所示。在数据控制和传输模块中,逻辑控制器件EPM7064为模数转换器件AD7892、CY7C4265以及EZ—USBFX2 CY7-C68013提供时序信号,通过调整、配合各芯片之间的通讯,控制四路数据采集和缓存模块有序而快速地将数据传输至USB,保证各环节的数据采集和传输的数据同步不丢失,是整个控制系统的核心。 3 系统软件模块设计 3.1 USB固件程序     固件程序采用Cypress公司提供的固件程序框架,主要负责完成芯片初始化,对芯片进行配置、设备请求、数据传输等相应的工作,完成特定的目的。     本系统设计的固件程序将FX2配置为Slave FIFO模式,总线宽度为16位,在4个端点中,EP2和EP4未使用,EP6和EP8配置如表1所示。由于采用自动输入输出模式,主机和单片机是通过旁路FX2的CPU而直接连接的,所有数据直接通过EP6或EP8管道提交,不需固件程序的干预。标志引脚(FLAGA、FLAGB)掌握FX2各端点FIFO的状态,FLAGB定义为输入端点的满标志,当数据满时该引脚为低电平;FLAGB定义为输出端点EP8的空标志,当主机传来的数据被读空时该引脚为低电平。     固件框架函数流程图如图4所示。TD_Init()函数是在设备重枚举和任务调度启用之前被调用,初始化用户的全局状态变量,规定各种端点资源的使用;TD_Poll()函数在设备工作期间被重复调用,包含一个执行外设功能的状态机:TD_Suspend()函数在框架进入挂起状态之前被调用,包含使设备进入低功耗状态的程序。 3.2 CPLD控制程序     逻辑控制器件EPM7064为模数转换器件AD7892、CY7C4265以及EZ—USB FX2 CY7C68013提供普通的时序信号、握手信号(满、半满、空标志信号)、读写信号和输入输出允许信号。A/D的采样频率、外部FIFO和USB内部FIFO的读写时钟均由EPM7064对外部时钟的分频和控制产生。 CHLD在完成这些端口FIFO的操作时,采用Verilog HDL硬件描述语言实现了这些操作,并在ALTERA公司提供的Quartus II 8.0开发工具综合编译并映射到CPLD中。     由于系统对USB采取了Slave FIFO模式异步方式读写数据,所以与访问外部FIFO的读写时序类似。向FIFO写数据的状态设计进程如下。如图5所示。     a:查询控制信号线是否有写事件(电平变化)发生,有就转移到状态b,否则保持在状态a;     b:分配FIFOADR[1:0]=10,FIFO指针指向输入端点,转向状态c;     c:检查FIFO的满标志是否为“假”(FIFO不满)则转向状态d.否则保留在状态c;     d:把外部数据放在FD[15:0]上,同时激活SLWR,然后转向状态e;     e:假如有更多的数据要传输,则转向状态b,否则转到状态a。     Slave FIFO模式的读数据状态设计进程类似。 3.3 驱动程序的设计和安装     USB设备的驱动程序是开发USB外设的关键。设计的目标是在设备插上后,主机能通过USB总线自动下载该固件程序到EZ—USB外设芯片中,并自动完成该固件程序,建立起主机端与设备的通讯。USB的驱动程序包括通用驱动程序和固件下载驱动程序。前一个驱动程序采用EZ—USB软件和硬件开发包提供的ezusb.sys驱动程序,可以直接使用,后一个驱动程序需自在固件程序框架下自行编写并在DDK的环境下编译生成。     所有的USB设备都至少具有一个VID和PID,VID和PID通过设备描述符表提交给Windows系统。同时,Windows系统使用INF文件将某一VID和PID绑定到某一设备驱动程序。这样,Windows系统在知道了设备的VID和PID后,就通过存储在INF文件中的信息查找该设备的驱动程。其中,INF文件是需编写的安装信息文件,开发人员只需修改INF文件中的VID、PID以及相应的设备描述符。 3.4 应用程序设计     应用程序完成的主要功能有:启动/关闭USB设备,检测USB设备,设置A/D,数据采集、显示和存储等。     同步实时系统对多任务的要求比较普遍,在后台采集数据、进行数据显示的同时,还要在前台界面对用户的操作做出响应,使用传统的单线程编程技术效率较低,无法及时处理,必须充分利用Windows的多任务处理功能,采用多线程编程技术来处理数据。本系统采用Visual C++6.0作为程序的开发环境,并且充分运用了多线程的编程思想。在程序中设置3个线程:主线程负责用户界面,它的生存周期就是整个应用程序的生存周期,用户的动作(如鼠标事件、键盘事件等)都会触发主线程的消息机制,从而完成对用户的响应;而两个分离的辅助线程分别负责数据的采集存储、数据处理和显示。 4 系统调试     在系统调试过程中,采用Perisoft公司提供的Bus Hound调试工具,测试得到:USB的传输速率可达1.5.4 MB/S,如图6所示。这与USB系统时钟和外围电路设计相关,也就保证了在采样率为500 k下的四通道USB采集卡,可以满足采集卡四通道同步工作。其次,采用Cypr-ess公司提供的EZ—USB Control Panel和Bus Hound调试工具软件对采集卡采集到的数据进行控制和监测,如图7和图8所示。将二者得到的数 据进行对比,从结果验证了系统数据传输的正确性。          图9为上位机软件操作和显示界面。函数发生器输出2 V、100 Hz正弦波,上位机将数据采集卡采集数据进行计算并显示,与函数发生器输出波形完全吻合,从而进一步验证了系统数据传输的正确性。图10为星载电子设备多余物检测数据显示界面。 5 结论     针对尺寸大、重量重、内部结构较复杂的星载电子设备多余物数据采集系统,设计了基于USB的四通道同步实时数据采集系统。试验结果表明,USB稳定的传输速率可达15.4 MB/s,保证了采集卡各通道在500 k的采样速率下可以同时工作,对数据进行大量且不丢失的采集和传输。采用多线程技术,对采集的数据进行实时处理、显示及转储等。为实现电子设备多余物存在与否的自动判别提供了可靠的数据。

    时间:2011-06-10 关键词: 数据采集系统 电子设备 星载

  • 基于FLASH星载存储器的高效管理研究

        NAND FLASH开始广泛应用于星载存储器,针对FLASH的数据高效管理成为该类存储器研究的重要组成部分。本文以商用文件系统YAFFS2为基础,结合空间应用的数据存储特点,引入文件系统的概念对存储器数据进行管理,制定了针对星载存储器的数据管理方案,搭建了一个实际的星载存储器对相应的管理方案进行了验证。1. 引言   在航天航空任务中,数据存储占有重要的地位,高可靠的大容量数据存储设备是卫星上 的关键设备之一。由于半导体存储芯片具有高集成度、高存储密度、低功耗、防腐防震等突 出优点,因而使用半导体存储芯片作为数据存储介质成为星载数据存储设备的主流设计方案。NAND FLASH 作为一种优秀的半导体存储芯片,同时具有掉电非易失的特性,而且它强调降低每比特数据的存储成本,提供更高的存储密度和更好的性能,是理想的数据存储介 质。但NAND FLASH 自身具有一些特性,使得它不能像普通磁盘那样进行操作[1],因而需 要设计专门的文件系统来进行基于NAND FLASH 存储器的管理,提高存储器的可靠性和易 用性[2]。    本文的组织方式如下:第二节研究了空间应用的数据存储特点,并提出了相应的星载存储器硬件设计结构。第三节具体分析了YAFFS2[3]各个关键算法的优缺点,并针对空间应用提出了相应的修改方案。第四节实现了一个具体的空间存储器系统,对第三节中的算法进行 了实验验证。最后第五节是对全文的总结。2. 星载存储器硬件结构2.1 空间任务的数据存储特点   随着对地观测技术的发展,对地观测设备对星载存储设备的要求越来越高。首先,数据存储容量的要求逐步提高,各种观测设备精度不断增加,工作寿命不断延长,随之产生的数据量急剧增加,需要更高容量的存储设备才能满足要求;其次,数据存储速率的要求较高,且需满足实时性数据存储功能。空间飞行器往往需要同时执行多种任务,产生高速的实时数据流,因而实时高效的数据处理能力是存储器管理的重要能力之一;最后,数据存储应具有很高的可靠性,由于空间环境的恶劣性,空间电磁波或者粒子辐射会造成存储数据的损害,因而必须提供可靠的数据保护。2.2 硬件结构的设计根据空间数据存储的特点,设计大容量存储器硬件结构如图 1 所示。图 1 存储器硬件结构图 由于单片FLASH 存储容量有限,因而采用多片FLASH 组成存储阵列,提升存储器的总容量。     为了提高存储速率,引入并行扩展和流水线操作的概念,将存储阵列划分为流水线组,每组多片芯片构成并行结构。并行扩展的概念较为直接,由于单片FLASH 芯片的数据总线 位宽较小,因而将多片芯片的IO 端口进行并行扩展,而所有控制信号直接连接在一起,这 样每组芯片可以看作一个整体进行控制,实现了数据的并行操作。并行N 片的宽总线结构数据处理能力可以达到单片芯片的N 倍。另外由于FLASH 芯片为串行操作接口,数据的写入需要经过数据加载、芯片自动编程、状态读取的过程才能执行下一次的写入操作,因而写入性能较差。考虑到芯片自动编程过程的时间较长且不需要外部干预,可以借鉴流水线的设计思想,利用这段空闲时间对其他组芯片进行控制,提高数据吞吐率。流水线操作示意图如 图2 所示。假设数据加载时间为Tload,芯片自动编程时间为Tprog,状态读取时间为 Tcheck,采用M 级流水线完成一次流水操作的总时间不超过(Tload+Tcheck)*M+Tprog, 相比不采用流水线操作缩短了(M-1)*Tprog 时间,提高了数据吞吐率。具体的总线宽度以及 流水线级数设置可以根据具体应用需求确定。最后,为了提高数据的可靠性,在 FLASH 控制模块中增加数据检错纠错处理模块。图 2 流水线操作示意图3. YAFFS2 分析与改进YAFFS2 具有优良的文件管理特性,但是毕竟YAFFS2 是针对商用领域设计的文件系统,对于空间应用并没有特殊考虑,直接应用有其局限性。本节针对空间存储器的特点,对 YAFFS2 不适合空间应用的方面提出具体的修改方案,使得修改后的文件系统能够满足空间 数据存储的需求。3.1 硬件结构适应性YAFFS2 文件系统只是针对单片FLASH 设计的系统,对于FLASH 存储阵列的结构没有 考虑,因而不适宜于直接在阵列结构上面使用,需要进行修改。并行结构的处理比较简单,将同组内的所有芯片当作整体统一进行处理即可。这样的设计简单,但也会带来一些额外的问题需要注意。比如当某一片芯片出现坏块的时候,组内其他芯片相应块也需标记为坏块,造成一定的存储空间浪费。另外读取该组状态的时候需要同时兼顾并行多片的状态。这些问题需要在文件系统设计中进行相应的修改。 流水线的设计较为复杂。由于YAFFS2 的存储区管理是基于单片芯片的,因而在多级流 水线结构中,每级流水线需要单独维护自己的存储区,比如存储块的分配、坏块的标记等。数据写入的时候首先需要选择流水线级,在流水线级内部再采用现有的存储区管理方式。3.2 坏块管理策略FLASH 坏块的类型可以分为初始坏块和使用时产生坏块两类,不同芯片厂家采用不同 的方式标示初始坏块,用户可以根据具体的芯片手册进行坏块识别。三星NAND FLASH 通 过在每块的第一页或第二页的第2048 字节写入非0xFF 来标示初始坏块,新产生的坏块则 需要用户自己进行记录。坏块管理的首要任务就是对坏块进行识别和标记,并且对于坏块尽量不再进行擦写操 作。YAFFS2 文件系统要求底层FLASH 驱动提供坏块识别和标记的函数,文件系统对这部分 功能并没有实现,也没有要求具体的实现方式。考虑到存储区的并行结构特点,本方案对新产生的坏块也采用在该块第一页的第2048 字节写入非0xFF 的方法进行标记。由于写入或者擦除是对组内并行多片芯片同时进行操作,而这些芯片同时发生坏块的概率可以认为接近于0,因而对于坏块的标记总能够成功写入某个芯片。该方法将新产生坏块和原始坏块进行了统一,设计简单并且不需要额外的存储空间来存储坏块表,缺点是对于新产生的坏块还有 一次写入操作。坏块管理的另外一个任务就是决定何时对新产生的坏块进行标记。YAFFS2 采用产生即标记的策略,对于新产生的坏块马上进行标记处理。该方法可以保证坏块表的实时更新,是采用额外存储介质保存坏块表的比较理想的方案。但是本方案的坏块标记采用直接写入 FLASH 的策略,实时标记坏块会降低系统的数据处理能力,有可能造成数据的丢失。因而本方案不对坏块进行实时标记,而是首先在内存中将新产生坏块记录下来,等到系统空闲的 时候才进行坏块标记。3.3 垃圾回收策略NAND FLASH 只能在空闲块中写入数据,对于已经使用过的块必须进行擦除使之成为空闲块才能再次使用,这个过程称为垃圾回收。垃圾回收涉及到对块的擦除操作以及块内有效数据页的重新写入,对系统性能影响较大,因而合适的回收时机与策略是垃圾回收的关键。 YAFFS2 采用的垃圾回收策略为:每次在数据写入之前判断当前可用的空闲块,如果可用空闲块数量较少,则马上进行垃圾回收;如果空闲块较多,则采用松弛的回收算法,写多次再 进行一次垃圾回收。YAFFS2 垃圾回收以剩余空闲块数目作为是否回收的依据,而没有考虑 数据流存储的特点,因而在数据写入的时候经常会碰到需要垃圾回收的情况,导致数据存储速率的大幅下降。针对不同的应用环境,还存在一些其它的垃圾回收算法[4]。这些算法的共同特点是尽量寻找合适的回收时机减小对数据写入的影响,同时选择合适的回收策略提高系 统性能,但这些算法策略过于复杂,不适合空间应用。考虑到星载存储器运行模式及卫星对数据实时存储要求苛刻的特点,本方案不在写入数据时进行垃圾回收,而选择在系统空闲时由用户主动进行垃圾回收。当容量不足的时候文件系统给出提示信息,告知用户需要进行垃圾回收,用户也可以随时查询文件系统的状态信息。该方案设计最为简单,对数据写入的影响也最小,只是每当系统容量不足的时候需要用户主 动进行垃圾回收。4. 系统实现与测试以某星载存储器项目为背景,本文实现了一个如图 1 所示结构的星载存储器演示系统。 该系统采用Samsung K9F1G08U0A 芯片组成4*4 的存储阵列作为存储空间,采用Xilinx xc2vp40 FPGA 芯片作为控制芯片,同时选用FPGA 内嵌软核MicroBlaze 完成CPU 功能 [5]。FPGA 同时负责完成FLASH 驱动层的功能,降低软件的控制复杂度,提高FLASH 的访 问效率。对于输入输出数据流的控制也使用FPGA 逻辑完成。本系统利用FLASH 存储芯片 和FPGA 控制芯片实现了一个SOPC 的存储系统,极大地简化了存储器的硬件结构,并且 具有很大的灵活性。演示系统采用 2 路SPI 实时视频流模拟数据输入,通过自定义协议传输存储数据至地面 数据接收卡实现数据输出。由于原始YAFFS2 文件系统只能对单片FLASH 进行管理,因而 首先在单片FLASH 上对原始YAFFS2 进行测试,然后修改FLASH 底层驱动使得YAFFS2 能 够管理4 片并行存储结构,最后对实际的修改后方案进行测试。测试结果显示,采用原始 YAFFS2 文件系统的数据实时输入速率小于12.5Mbps,改进为并行结构后数据输入速率也不会超过50Mbps,否则会造成输入数据的部分丢失。而采用本文改进方案的设计,实时数 据输入速率达到200Mbps,数据存储稳定可靠。上述测试结果表明,改进后的方案不但很好地实现了数据的文件化管理,数据实时输入 速率也比原始YAFFS2 系统至少提高了16 倍。该系统的数据指标已经能够满足部分星载存 储器的要求,为了进一步提高数据处理能力,可以考虑增加并行的芯片数目以及采用多级流 水线的设计结构。5. 结束语以 NAND FLASH 为存储介质的大容量存储器在空间应用中得到越来越广泛的重视,但 是由于FLASH 使用的特殊性,目前国内的FLASH 星载存储器普遍尚未采用文件系统进行数据管理,而是采用直接访问存储芯片的方式,数据管理复杂且使用缺乏灵活性。本文以商用 文件系统YAFFS2 为基础,针对空间应用数据存储的特点,提出了YAFFS2 文件系统的改进方案,并且实现了一个实际的星载存储器系统,对改进后的方案进行了验证。实验表明,改进后的文件系统很好地完成了数据的文件化管理,并且满足了空间应用大容量、高实时数据 率存储的要求。

    时间:2010-02-25 关键词: 存储器 Flash 星载

  • 基于闪存的星载大容量存储器的研究和实现

       摘要:就闪存应用于星载大容量存储器时的写入速度慢、存在无效块等关键问题探讨了可行性解决方案,并在方案讨论的基础上论述了一个基于闪存的大容量存储器的演示样机的实现。   无效块空间飞行器的数据记录设备是卫星上的关键设备之一。自20世纪90年代初起,各航天大国开始研制固态记录器(Solid State Recorder,简称SSR)。由于SSR使用半导体存储芯片作为存储介质,所以其存储密度高、无转动部件、可靠性高、体积小、重量轻,因而逐渐成为空间飞行器的数据记录器的主流方案。闪速存储器(简称闪存)作为一种新兴的半导体存储器件,以其独有的特点得到了迅猛的发展,其主要特点有:(1)具有非易失性,掉电时数据不丢失,可靠性高;(2)功耗小,不加电的情况下可长期保持数据信息;(3)寿命长,可以在在线工作情况下进行写入和擦除,标准擦写次数可达十万次;(4)密度大、成本低,存储单元由一个晶体管构成,具有很高的容量密度,且价格也在不断降低;(5)适应恶劣的空间环境,具有抗震动、抗冲击、温度适应范围宽等特点。由于闪存的这些特点,使它受到了航天领域研究人员的关注。20世纪90年代中期,Firechild公司就曾为F-16侦察星成功设计了SSR?2?,使用的主要存储芯片就是闪存;国内的FY-2卫星也曾采用闪存作为该星的固态存储器的存储介质。虽然有这些成功的应用案例,但是闪存也存在一些明显的缺点,如写入速度较慢、使用过程中会出现无效块等。本文将探讨如何解决和突破这些缺点,并依此给出一个具体的系统实现方案。1 闪存构成星载大容量存储器的关键问题1.1 写入速度问题目前闪存有多种技术架构,其中以NOR技术和NAND技术为主流技术?3?。NOR型闪存是随机存取的设备,适用于代码存储;NAND型闪存是线性存取的设备,适用于大容量数据存储?4?。NAND型闪存有一定的工业标准,具有一些统一的特点,现以三星公司的K9K1G08U0M型芯片为例进行介绍。该芯片容量为1Gbit,由8192个块组成,每块又由32个页组成,一页有(512+16)×8bit,该片的8位I/O总线是命令、地址、数据复用的。读写操作均以页为单位,擦除操作则以块为单位,写入每页的典型时间为200μs?4?,平均每写一个字节约需400ns,即约20Mb/s。这样的写入(编程)速度对于要求高速的应用场合来讲是难以满足的,因此必须采取一定的技术措施。1.1.1 并行总线技术并行总线技术亦称宽带总线技术,即通过拓宽数据总线的带宽实现数据宏观上的并行操作。比如,由四片K9K1G08U0M型闪存芯片组成一个32位宽的闪存子模块,它们共用相同的控制信号,包括片选信号、读写信号、芯片内部地址等。子模块总是被看做一个整体而进行相同的操作,只是数据加载的时候是不同的数据。这样,数据量将是使用单独一块芯片时的4倍,所以理论上速度也将是非并行时的4倍。1.1.2 流水线技术借鉴现今高性能计算机中的流水线操作原理,可在时间片上实现微观并行。针对闪存的写入速度慢的问题,可以对其进行流水处理。K9K1G08U0M型闪存的写入操作可分为三个步骤:(1)加载操作,即完成命令、地址和数据的载入工作;(2)自动编程操作,即由闪存芯片自动完成编程操作,将载入到页寄存器的数据写到内部存储单元的;(3)检测操作,即在自动编程结束后检测写入的数据是否正确。如果不正确,需要重新编程;如果正确,继续下一步的操作。写流水原理图如图1所示。由图1可以看到,流水线运行起来后,在任一时间片上总有若干小操作在同时进行,即在时间片上实现了复用,因此从整体上看速度将会提高。1.2 无效块的管理三星闪存芯片在使用过程中会出现无效块。无效块是指一个块中存在一个或多个无效位,其可靠性不能得到保证,必须加以标识和旁路(当然无效块不会影响到其它块的有效性)?4?并进行数据备份。为了对无效块实现管理,可以建立一张无效块到冗余区有效块的映射表。映射表结构如图2所示。映射原理如下: 开始是一张初始无效块映射表,这张表可以根据三星公司技术手册给出的算法建立起来。按照图示的映射数据结构对整个存储区进行编号,并根据这个编号对映射表进行排序。进行写操作时,按照上述的映射结构将写地址与映射表进行比较,比较到块级即可。如果是无效块,将待写入的数据写到被映射到的块;如果不是,则直接写入该块。如果在写某块的某页时出现编程错误,则将该块添加进无效块映射表(当编程出错时就表明出错页对应的块无效),同时从该出错页开始,将该块后面的页数据都写入到对应的映射块。这样,在数据读出时,可将读地址与映射表比较,并且需要比较到页级以确定每一页的确切存放位置。如果该页编程正确,则直接读出;如果错误,则到被映射的块的对应页读数据,并且该页之后的页也从被映射块中读数据。根据三星的技术资料,对无效块进行读操作是允许的,即对于编程出错页前面的那些编程正确的页是可以正确读出的,而对无效块进行编程和擦除的操作是不推荐的,因为有时这些操作会使邻近的块也失效?4?。所以读操作要查找到每一页的对应存放位置,而写操作只要查找到块就行。查找时采用二分查找算法。擦除完后,将擦除出错的块也添加进无效块映射表。无效块映射表需要不断维护和更新。2 闪存构成星载大容量存储器的系统实现方案2.1 系统的组成该实现方案将上述关键问题的解决方法融合进来,系统由存储区模块、接口模块、数据缓冲模块及主控模块四部分组成,系统原理图如图3所示。2.1.1 存储区模块为了实现并行和流水技术,整个存储区模块按如下方式构成:由4片K9K1G08U0M型三星闪存芯片组成一个子模块,8个子模块组成8级流水的大模块,而这个大模块即是整个存储区,其总容量为32Gbit。无效块备份的冗余区可以设在每个子模块内部,即从子模块的每块芯片中预留出一部分空间。这种模块化管理的方式既便于系统扩展,又可以在不影响系统正常工作的情况下旁路已损坏的存储块。2.1.2 接口模块系统与外部的接口有两个。一是与CPU的接口,主要完成系统的初始化、外部命令和地址的输入以及内部状态参数的输出,同时CPU 还要对存储区完成管理:无效块的管理、地址的译码和映射等;二是与外部高速数据源的接口,主要完成外部高速数据的接收和发送。这里选用了1394高速总线作为数据源总线。2.1.3 数据缓冲模块这一模块包括数据输入FIFO、数据输出FIFO和一个作为数据备份的SRAM。由于闪存的写入速度比较慢,如果没有数据缓冲区,外部的高速数据很有可能会丢失,而且数据回放时也需要一个缓冲区使内外的数据率匹配。考虑到编程出错时需要重新加载数据,按照流水线的工作方式,如果不进行数据备份,可能会出现出错时的数据丢失,因此选用了一个SRAM进行数据备份。当将输入FIFO的数据写入FLASH时,同时也将数据写入到SRAM进行备份;当需要重新编程时,再从SRAM中将相应的备份数据重新写入FLASH。2.1.4 主控模块这一模块完成整个存储器系统的内部控制,是核心控制机构,连接着存储区、数据缓冲以及外部接口三个模块,完成它们之间的数据、命令、地址、状态的相互传递、转换和处理。主控模块又分为三个子模块,即存储区控制子模块、存储区数据子模块和1394接口控制子模块,分别由三片FPGA(现场可编程逻辑阵列)完成。3 系统的基本工作原理下面以闪存的写(编程)操作为线索,阐述系统的基本工作原理。3.1 写操作的准备和启动1394高速总线上的串行数据通过一定的接口芯片变换成并行数据。当大容量存储器接收到外部1394高速总线上的数据存储握手信号时,1394接口控制子模块利用握手信号产生一定的时钟和控制信号,控制高速数据缓存入32位的输入FIFO。当输入FIFO的存储量达到一次8级流水运行的数据量时,就向CPU发出中断,申请写操作启动。3.2 写流水操作的加载和自动编程存储区的寻址采用内存寻址方式,即为FLASH存储区分配一段内存空间,CPU象访问内存一样对其进行寻址,大小为2M,共21根地址线,其中高3位是子模块选择,选择8级流水中的某一级;低18位是子模块的每块芯片的页(行)地址。对于芯片内的列地址,由于向每一页写入数据时,总是从页的起始处开始写,即列地址(页内编程起始地址)是固定的,因此可以直接由FPGA给出。当CPU接收到写操作启动的中断申请时,给出写操作命令,并进行地址译码。存储区控制子模块将CPU给出的命令和地址经过一定的逻辑转换成片选、命令、地址及控制信号,依次对8级存储子模块进行片选并完成各级命令和内部地址的加载工作。然后再由存储区控制子模块产生一定的控制信号,控制输入FIFO启动对8级存储子模块的数据加载工作:首先对第一级进行片选,数据流由输入FIFO经存储区数据子模块驱动后输入第一级存储子模块,经过512个写周期后(页有效数据),完成对四片并行的FLASH芯片的页加载,加载完成后由存储区控制子模块给出自动编程的起始指令10H,第一级子模块的四片芯片就开始将加载到页寄存器的数据写入到芯片内部,进行自动编程工作。页编程操作时序图如图4所示,这时它们的片选可以无效。然后使第二级片选信号有效,开始对第二级进行数据加载。依次下去,完成8级存储子模块的数据加载。3.3 检验写流水操作是否成功第一级存储子模块在完成了数据加载后开始自动编程,待到8级的数据加载都完成后,其自动编程已接近尾声。此时不断检测该级四片芯片的忙/闲端口,一旦它们都处于“闲”状态时,说明自动编程都已经结束。这时由存储区控制子模块的控制逻辑产生片选信号,选通第一级存储子模块并发读状态命令70H,通过采样四片芯片的I/O端口的“0”状态来检测编程是否成功,并将检测结果锁存进FPGA内部的寄存器;然后按同样的方式对第二级存储子模块进行检测,依次下去,直到“记录”下8级存储子模块的编程成功与否的状态信息后,向CPU申请中断并将这些状态值返回给CPU。CPU则根据这些状态值更新无效块映射表,并将无效块映射到冗余区,对编程出错的存储子模块重新编程。重新编程与正常编程的工作原理是一致的? 只不过数据是由SRAM输出给FLASH,且不能进行流水操作。4 采用并行及流水技术后速率的估算根据上述实现方案以及三星闪存芯片的时序和各项性能指标参数,可以对采用四片并行和8级流水技术后的写速率做一个理论上的大致估算,整个流水操作完成所需的时间应以最后一级流水完成的时间为准。估算方法如下:令FLASH芯片中一页的数据量为a? 并行操作的芯片数为b? 流水的总级数为c,命令、地址和数据的加载时间为d? 芯片自动编程时间为e,检测时间为f,需重新编程的级数为g,正常写速率为S1,重新写入时的写速率为S2,则:S1=(a×b×c)/(d×c e f)S2=(a×b×c)/[(d×c e f) (d e f)×g]采用并行和流水技术前后的写速率比较如表1所示。可以看出,采用该方案后的速率较采用前有了大幅度的提高。即使考虑到硬软件的延迟及其它一些因素,这个速率的提升仍然是可观的,说明这个设计方案是可行的。表1 采用并行和流水技术前后的写速率比较 (写入)正常情况重新写入编程典型时间200μs编程最大时间500μs编程典型时间200μs编程最大时间500μs采用前18.11Mbps7.78Mbps9.05Mbps3.89Mbps采用后320.80Mbps184.98Mbps206.48Mbps106.15Mbps  随着空间技术的不断进步,要求空间飞行器上的大容量存储器件朝着更大容量、更高速度、更低功耗、更小的重量和体积、更合理有效的存储区管理以及更高可靠性的方向发展。从商业领域发展而来的闪存,存储密度大、功耗小、可靠性高、体积小、重量轻且成本也在不断降低。对于其写入速度慢及存在无效块等主要缺点,可以通过其自身工艺技术的不断发展及融合其它领域的思想和技术,如本文所述的并行技术、流水线技术等得到解决,因而有着良好的应用前景。

    时间:2010-01-08 关键词: 大容量 存储器 闪存 星载

  • 星载MEMS原子钟稳频系统的优化及实验研究

    1 引言    相干布居俘获CPT(Coherent Population Trapping)是原子与相干光相互作用所产生的一种量子干涉现象。利用高分辨CPT光谱研制出的被动型CPT原子频标具有体积小、功耗低、启动快等特点。CPT频标是原理上唯一能制成芯片级尺寸的原子频标,不仅在基础研究领域有重大意义,而且在深空探测、卫星导航、航天航空、数字通信、同步系统等对时间、频率要求严格的领域有着广泛的应用前景。20世纪90年代以来,激光冷却技术飞速发展,极大促进冷原子钟、光钟以及基于相干布居俘获的CPT原子钟的发展。这里介绍一种星载MEMS原子钟稳频系统的优化及实验研究。2 CPT原子钟工作原理    用频率为ω1和ω2的两束激光和两超精细能级与激发态构成的A 三能级作用,当两束激光满足双光子共振条件时,原子布居数被捕获在基态的两个超精细能级上。不再吸收光子;当其中一束光的频率在原子共振频率附近扫描时,光在原子介质中的透射强度呈现为电磁诱导透明信号,电磁诱导透明信号经过处理后,可作为误差信号来锁定与调制驱动信号有关的本振信号,从而实现原子钟环路。得到高精度和高稳定度的频率标准,其评价指标为:短期稳定性和频率漂移。CPT效应是由激光与原子相互作用产生的,其窄小带宽对激光频率稳定性提出高要求。只有当激光频率稳定性满足要求,持续产生CPT效应,才能确保原子钟的计量精度。3 稳频系统优化设计    频率稳定性通常指激光器在连续运转时.在一定的时间间隔内平均频率v与该时间内频率变化量 △v之比,即S=v/△v,很显然,变化量△v越小,则S越大,表示频率的稳定性越好。在工程上,有时也把S的倒数称为稳定度。频率稳定度又可分为短期稳定度和长期稳定度,前者指观测取样时间在1 s以内的频率变化,而大于1 s观测平均时间的就视为长期稳定度。频率复现性是表示激光器在不同时间、地点等条件下频率重复或再现的精度。    由此可见,频率的稳定性和复现性是两个不同的概念。因此,对一台稳频激光器,不仅要看其稳定度。而且还要看它的频率复现性如何。由于激光频率对环境温度的变化、机械振动等外界干扰极端敏感,即使采取严格措施,自由运转的激光器频率稳定性和复现性也不能达到量级。必须使用电子伺服系统自动控制激光器,当外界影响使激光频率偏离特定的参考频率时,可以通过鉴频信号,由电子伺服系统自动调节,将激光器的频率回复到特定的参考频率以达到稳频的目的。3.1 调制器    该系统设计的伺服控制电路中,欲用10 kHz的正弦信号作为调制信号,故选用RC振荡电路。正弦波发生器产生信号分2路,1路用作调制信号,1路用作解调信号。采用改进后的维恩振荡电路实现 RC正弦振荡信号,得到实际频率为9.79 kHz,与理论9.95 kHz相差160Hz,幅值调节范围为50~1 100 mV。频率及幅值均可满足系统设计要求。3.2 移相器    移相器用补偿相位移动,或对信号进行反相处理。需要实现0°~360°范围移相,并且有相位精调功能。采用全通滤波器设计,其特点是保持增益为1,调节时间常数可调节移相范围。图1为移相器原理图及相移曲线。其传递函数为:       为使得9.79 kHz信号移相90°,设计移相器参数如下:R=1.6 Ω,R1=10 kΩ,C=10 nF;欲实现-90°移相,只需将图1a中R与C调换。故选用与90°移相器相同参数即可实现-90°移相。180°移相可采用反相器实现。相位微调仍可采用全通滤波器实现,将其中的R或C换成可调的器件即可。保持C不变,设定R的变化范围为1~7 kΩ,可满足-47°~50°范围内的微调。3.3 鉴相器    鉴相器由模拟乘法器与低通滤波器构成,可通过检测探测信号与参考信号的相位关系,给出与相位差对应的误差信号,供校准器调节使用。模拟乘法器有多种用途,如增益控制、附加增益调整、作除法、压控滤波器、鉴相器等。这里用到的是其鉴相器功能。当两路正弦信号输入乘法器,得到差频、和频两种分量信号。当信号频率相同时,滤掉和频信号,得到差频信号为一直流信号,反映两路信号的相位差。同时,相位差为0°或 180°时得到直流信号最大,这也就是要加移相器以补偿相位获得最佳误差信号的原因所在。3.4 校准器    校准器由PI控制器、三角波发生器、模拟开关3部分构成,其作用是校正鉴相器输出的误差信号,改善系统快速性与准确性。当激光器受外界干扰跳出锁频范围时,能自动寻找峰值点,自动上锁。根据设定功能要求,图2为校准器原理。    图2中,误差零点调节的作用是使误差信号经PI控制器校准输出鉴频曲线的零点与中心频率相对应。PI控制器零点调节与增益放大电路如图3所示,其中R1=2 kΩ,R2=500 Ω,R3=10 kΩ,增益A=0.25~5.25。    PI控制器用于滤除高频噪声,并对低频信号进行积分放大。据此功能要求,设计如图4所示的PI控制器原理图。    其传递函数为:   鉴相器中低通滤波器截止频率为200 Hz,故设定Pl控制器截止频率为200 Hz。经多次实验比较,选取C1=220 nF,C2=15 nF,R1=30 kΩ,R2=50 kΩ。    图5为激光器锁频判断示意图。    图5中设定阈值电压是判断系统用于否超出锁定范围。对比PD检测信号与阈值电压,当检测信号高于阈值电压时,表明系统未失锁,电压比较器输出正电压:当检测信号低于阈值电压时,认为激光器失锁,电压比较器输出负电压。电压比较器的输出信号输入到模拟开关,控制模拟开关的通断。4 87Rb饱和吸收稳频实验的研究    87Rb饱和吸收光路如图6所示。选用87Rb原子F=2态到激发态F'=3态的饱和吸收峰即最高吸收峰作为吸收曲线,以其峰值点对应频率作为锁频参考频率。半导体激光器DL100中心波长为780 nm,输出功率为150 mW。DL100通过调节腔长调节激光频率,伺服系统将控制信号作用于PZT(压电晶体陶瓷),通过PZT调节腔长,从而实现频率调节。通过S曲线法,可以测得闭环后所得到的激光器的频率稳定度在100 s内为:       此稳频环路很好地改善了激光光源的频率特性,为了获得更稳定的CPT原子钟信号,仍需进一步优化、完善此设计。5 结束语    针对星载微型CPT原子钟设计锁频电路系统,并详细分析锁频系统中的调频信号源、鉴相器、校准器等各部分电路模块,最后利用饱和吸收稳频实验说明该锁频系统能够很好地完成激光的稳频,100 s的频率稳定度达到了1.6×10-12,完全满足设计要求。

    时间:2009-10-20 关键词: 实验 mems 稳频 星载

发布文章

技术子站

更多

项目外包