存储通道(共4篇)
存储通道 篇1
摘要:借助声卡的A/D功能设计了双通道数字存储示波器, 充分利用LabVIEW程序模块化等优势, 实现了对音频信号的测量、存储和回放, 具有性价比高、功能灵活等特点。程序设计方法可移植应用于数据采集编程。
关键词:示波器,双通道,LabVIEW环境,声卡,存储
1 引言
声卡价格低廉、兼容性好、灵活通用, 而且其DMA数据传输方式极大地降低了CPU占用率, 在高速传送数据的同时可以让空闲的CPU执行数据转换、测量分析等其他任务, 能有效防止潜在的数据丢失和内存溢出错误。即使是主板集成的声卡, 其16位的A/D转换精度也能胜任许多工程测量和科学实验中的音频域信号采集工作。在LabVIEW中对声卡编程, 借助文件I/O等函数和属性节点, 实现了声卡双通道数字存储示波器 (以下简称声卡示波器) , 其运行效果如图1所示。
2 波形采集
用LabVIEW调用声卡采集的基本流程如图2所示。声音函数在程序框图的数据流向上依次使用任务ID, 以特定的方式对声音数据进行操作。Windows操作系统中必须安装DirectX 8.0或更高版本才能使用声音函数。
2.1 配置声音输入
Sound Input Configure函数用于配置声音输入设备, 设置采集率、通道数量和每个采样的位数, 触发采集后发送数据至缓存, 并返回引用当前声音任务的ID。其中采样率参数一般至少有8000Hz、11025Hz、22050Hz和44100Hz等几个典型值, 应根据声卡具体情况和信号质量要求进行选择。
2.2 读取声音输入
声音输入操作利用计算机内存在LabVIEW和声音设备间开辟了一个缓冲区, 以确保声音数据传输通畅。Sound Inpu Read函数用于从声音输入设备读取数据并将其存储为波形数组。数组中的一个波形即代表一个特定的通道, 因而双声道 (立体声) 的数据结构是包含了两个波形元素的数组。波形包含的是脉码调制 (PCM) 数据, 其中每个元素的大小与信号幅值成正比。在连续的信号采集中, 该函数应置于循环内。
2.3 声音输入清零
Sound Input Clear函数用于关闭已经打开的声音输入设备, 释放声音输入操作所占用的一切资源, 以便后续或其他程序使用该设备。必要时, 还可借助“停止声音输入采集”和“启动声音输入采集”函数实现数据采集过程的中止和重新开始, 但此间并未释放相关软硬件资源。
3 波形存储与回放
3.1 波形存储
状态开关切换至实时示波状态时, 利用波形存储模块可将当前屏幕显示的波形保存为文件, 以便作进一步的分析。为便于回放并保持与其他LabVIEW文件的兼容性, 此外采用LabVIEW专用波形文件格式。通过点击前面板“保存”按钮控制“写入波形至文件”函数将当前感兴趣的波形写入硬盘, 代码如图3所示。
“写入波形至文件”属高级文件函数, 对文件的创建、打开、写入和关闭均在内部自动完成, 简化了繁琐的编程流程。且波形文件类型本质上为二进制的数据记录文件, 存储过程中只需进行少量处理, 因而其读写速度更快。
为便于查看并防止文件重名, 文件以存储时刻的日期时间 (精确到秒) 命名, 其代码如图4所示。
3.2 波形回放
将状态开关切换至波形回放状态则可调用以前保存的数据文件并显示其波形。数据文件名通过“罗列文件夹”函数送入下拉列表控件, 可在示波器屏幕中有选择地回放, 代码如图5所示。
4 波形仿真
除了外部信号, 声卡示波器在实时示波状态还有2路内部仿真信号源, 用于生成正弦、三角、锯齿和方波等常用测试信号。单击“信号来源”选项卡可使波形图控件的数据源在仿真波形和采集波形之间切换。程序代码如图6所示。
为充分发挥LabVIEW程序结构模块化的优势, 将波形仿真生成等功能相对独立的模块创建为子VI。子VI未被调用时执行系统可取回它所占用的数据内存, 不但能提高内存使用效率, 还有利于后续开发和升级过程中的代码重用, 而且层次化的VI组织也更易于维护和阅读。需要注意的是, 子VI在主VI中被多处并行调用时, 须在子VI的“执行”属性窗口中将其设置为重入执行, 这样使每个被调用的VI实例都保持各自的信息状态, 避免数据竞争。该子VI主要通过“基本函数发生器”等函数实现, 其幅值、频率等信号参数可通过前面板控件调节, 其主体代码如图7所示。
5 波形显示
5.1 档位调节
声卡示波器利用波形图控件显示信号波形。通过设置整型旋钮控件的文本标签来区别时基和幅基的不同档位, 在调整时基和幅基旋钮档位过程中, 为保持波形图控件中的横纵向网格数固定, 程序利用波形图控件的标尺范围增量、最小值、最大值等属性节点对X、Y坐标刻度进行成倍数关系的控制, 达到与传统示波器屏幕一致的效果, 代码如图8所示。
除了使用函数节点输出的结果, 波形图控件的游标图例附件也提供了很好的辅助测量功能, 例如, 将游标关联至某通道的信号曲线上, 通过移动游标线可以方便地读出曲线上任意点的坐标值, 虽然读数精度受到像素和屏幕分辨率的限制, 但用于定性分析或教学演示等精度要求不高的场合却很直观方便。
5.2 通道选择
声卡2声道各有一个模数转换器, 它们在同一时钟下工作。这保证了2个通道同时被采样, 使噪声的影响减到最小。双通道可同时工作, 也可单独工作。其中, A-B提供对一个信号的差分测量功能, 即用声卡左右2个声道分别测量信号两端对地的电压后求其差值。需要注意的是, 信号源两端各自的对地电压必须在指定的范围内, 否则测量结果会因信号饱和而失去准确性。通道切换由条件结构不同分支中的数组操作函数实现, 如图9所示。
6 结语
声卡双通道数字存储示波器充分利用了计算机的软硬件资源, 较好地实现了信号的时域测量功能, 具有运行稳定、性价比高、使用方便等特点, 给教学和科研带来很多方便。如果采用笔记本电脑并进一步结合FFT等波形测量函数, 无需增加额外的硬件成本即可构成便携式频谱分析仪等功能更强大的测量系统。且声卡的工作流程与一般数据采集卡的操作过程类似, 具有较好的普适性。
参考文献
[1]National Instruments Corporation.LabVIEW帮助[M].Texas:National Instruments Corporation, 2012.
[2]马海瑞, 田树森, 周爱军.基于声卡的LabVIEW虚拟信号发生器设计[J].国外电子测量技术, 2005, 24 (04) :27-29.
[3]澳德计算机控制技术有限公司.澳德DSoundStar用户说明书[M].福州:澳德计算机控制技术有限公司, 2006.
存储通道 篇2
1 Δ-ΣADC的工作原理
越来越多的应用, 例如高品质音频设备、工业过程控制等, 都需要高分辨率、高集成度的A/D转换器, 而新型的Δ-ΣADC恰好可以满足这些要求。Δ-ΣADC利用过采样技术、噪声整形技术以及数字滤波技术, 在数字域进行高精度信号处理, 模拟域进行低精度的信号处理, 从而获得更好的转换效果, 目前推出的Δ-ΣADC可以达到24 bit的转换精度。
Δ-ΣADC由Δ-Σ调制器和数字/抽样滤波器两部分组成, 它们协调工作产生高分辨率的数据流输出。其结构如图1所示。
Δ-Σ调制器主要负责数字化模拟输入信号和减少低频噪声。它以大大高于Nyquist频率若干倍 (64~1 024倍) 的速率对输入的模拟信号进行粗略采样, 并进行低比特量化。与所有量化器一样, Δ-Σ调制器生成代表输入电压的1位数据流, 而不同于大多数量化器的是, Δ-Σ调制器内部包括一个积分器, 它的作用是将量化后的低频噪声推升到相关频带以外更高的频带, 成功地在转换过程中减少了低频噪声, 这种特别的功能被称为噪声整形。但是, 整形后的高频噪声又成了问题, 它是转换器最终输出所不需要的, 这时, 就需要数字/抽样滤波器来解决这个问题。
数字/抽样滤波器分为数字滤波器和抽取滤波器2个功能模块。Δ-Σ调制器输出的不良特性是高频噪声和高速、1 bit输出速率, 如果高频噪声驻留在数字域中, 会对信号产生很大的影响, 这时, 使用数字滤波器模块通过首次对1 bit代码调制器数据流采样, 实现低通滤波器功能, 降低了高频噪声;在抽取滤波器模块中, 通过降低采样率以去掉多余的数据, 这些采样不会导致丢失任何信息, 便可以降低数字信号的输出速率。数字/抽样滤波器不仅可构建出十分平坦的带通响应, 不引入任何相位误差, 而且能够在截止频率具有陡峭的截止特性, 极好地抑制无用频率成分, 最后以低数据速率将输入信号传送至转换器的输出端[2]。
2 总体方案设计
设计中采用16个独立的Δ-ΣA/D芯片分别对16路模拟信号进行采集存储。整体电路设计框图如图2所示。
输入模拟信号由跟随和分压调理, 将其调整到ADS1271可输入范围内。在逻辑控制器FPGA的控制下, Δ-ΣADC对调理后的模拟信号进行采样和量化、编码, 完成信号的采集过程, Δ-ΣADC转换后的数据由FPGA进行编帧处理, 送至Flash存储器进行存储。
3 硬件电路设计
整个硬件电路部分分成2个模块:数据采集模块、数据存储模块。数据采集模块由信号调理、A/D和FPGA组成, 数据存储模块由Flash和FPGA组成, 下面对关键电路设计予以详细介绍。
3.1 信号调理和ADC驱动电路设计
1) 信号调理电路设计
信号调理单元包括电压跟随器和分压电路, 如图3所示。
输入的模拟信号V1 (0~5 V) 接入由运算放大器OPA4137构成的电压跟随器, 这样可以缓冲、隔离前后级之间的影响。由于输入模拟信号幅值范围是0~5 V, 而ADS1271模拟输入范围是0~2.5 V, 所以设计中利用电压跟随器和一对10 kΩ的精密电阻R1、R2对输入模拟信号进行分压, 将输入电压转换到ADS1271的差分输入电压范围内。用Multisim10.0.1对调理电路进行仿真如图4, 图中通道A的电压值为V1经过跟随电路后的值, 通道B的电压值为V1经过分压电路后的值V2, 由仿真结果可看出, 调理电路将5 V的电压调理为2.5 V, 满足设计要求。
2) ADC驱动电路设计
大多数高精度A/D转换芯片都要求模拟信号是差分输入的, 优点在于其抗干扰性能要比单端输入好, ADS1271基于差分参考电压VREF=VREFP-VREFN来测量差分输入信号VIN=AINP-AINN, 而前端调理后的模拟信号是单端输入的, 所以在模拟信号传输到A/D芯片之前, 要用一个单端转差分电路来驱动A/D芯片, 设计采用全差分运放驱动芯片OPA1632作为单端转差分的芯片, 为避免可能的振荡同时保持稳定, 在电源与地之间并联使用10μF的钽电容C5、C7和0.1μF的陶瓷电容C4、C6。如图5所示。
Δ-ΣADC通过对信号进行过采样, 放宽了对模拟抗混叠滤波的要求, 简单的RC滤波电路足以起到抗混叠滤波器的作用。输入信号的采样速率为调制器输入采样速率fs, 远高于最大输入信号频率的2倍 (奈奎斯特频率) , 图6显示抽取滤波器频率响应的大致特征。
从图6中可以看出, fb和fs-fb之间的频率分量大幅衰减, 因此, 可以使用Δ-Σ转换器内部的数字滤波器来滤除位于[fb, fs-fb]范围内的所有转换器能量。但是, 转换器无法区分输入端位于[0, ±fb]与[kfs±fb]范围内的信号, 其中k为整数。这些范围内的所有信号 (或噪声) 均通过采样过程而混叠降频至目标带宽[0, fb];抽取滤波器只对数字化样本有效, 对衰减这些信号不起作用, 因此, 在转换器对输入信号进行采样之前, 必须通过设计一个抗混叠滤波器来消除[kfs±fb]这些频带内的输入噪声能量, 同时保证目标带宽内的信号不能被衰减。
在实际应用中, 目标带宽为0~10 k Hz, 这个范围内的信号衰减不得超过0.988 6的比率。由单级点滤波器的衰减公式可得
式中, fb=10 k Hz, 设R=50Ω, C=6.8 n F, 代入式 (1) 计算出滤波器对混叠至基带内的[0, fb]频段内信号产生的衰减比率ratio约为0.999 7, 可以看出在目标带宽内信号几乎没有衰减。而对于混叠至基带内的[kfs±fb]频段内的信号, 取f=50 k Hz×OSR, 其中OSR为过采样率, 根据ADS1271的芯片资料可知其值为128, 计算得f=6.4 MHz, 设R和C的值不变, 代入公式 (1) 计算出衰减比率ratio约为0.072 9, 可以看出在[kfs±fb]频段内信号衰减很大, 综合考虑后, 图5中R4=50Ω, R5=50Ω, C8=6.8 n F构成的抗混叠滤波电路可行。
3.2 影响Δ-ΣADC采集精度的分析
对于ADC而言, 有2个重要的指标:转换速度和精度。转换精度是指将模拟信号转变为离散的数字信号在幅度上的准确度, 通常用分辨率和转换误差来描述。设计选用新型的高精度Δ-ΣADC, 其精度由内部的调制器部分决定, 调制器结合过采样技术和噪声整形技术, 以此来提高ADC的精度。下面从信噪比 (SNR) 的角度定量计算过采样技术对调制器精度的影响。
ADC转换时可能引入很多种噪声, 例如:热噪声、杂色噪声、电源电压变化、参考电压变化、由采样时钟抖动引起的相位噪声以及由量化误差引起的量化噪声。有很多技术可用于减小噪声, 例如:精心设计电路板和在参考电压信号线上加旁路电容。但是ADC总是存在量化噪声, 所以一个给定位数的A/D转换器的最大SNR由量化噪声决定, 过采样技术可以减小量化噪声从而改善SNR, 这将有效地提高ADC的转换精度[3]。
对电压幅值在0~VREF范围内的模拟信号进行n位二进制字符串编码, 有2n种不同编码, 因而输出码的最低有效位 (LSB) 为。假设量化噪声为白噪声, 代表量化噪声e的随机变量在ADC码之间分布的平均值为0, 计算得到量化噪声的功率为
因此, 量化噪声功率谱密度ρe可以表示为:。信噪比SNR定义为频带内信号功率有效值与噪声功率有效值的比值, 为
为了得到最佳的SNR, 输入信号的动态范围必须与VREF一致。如果假设最佳情况下的输入信号是一个满度的正弦信号, 则它的有效值是VREF的函数:, 信号功率有效值ex2为
在信号频带内量化噪声功率e2rmsy的值为
式中:e定义为过采样量化噪声, ;OSR定义为过采样率, ;f0和fs分别为信号频率和过采样频率。将式 (4) 、 (5) 代入式 (3) 中, 计算得到信噪比SNR为
由式 (6) 可以看出, 如果输入的信号是正弦波, 当过采样率增加一倍, 信噪比将大约提高3 d B。采用过采样技术确实可以减少信号频带内的量化噪声, 使Δ-ΣADC的转换精度有了很大的提高。
3.3 Flash存储电路设计
数据存储器是将采集转换后的数据进行存储, 作为数据实时传送有误或试验环境条件不允许实时传输数据时的备份, 保证每次试验参数测试的有效性。设计选用三星 (SAMSUNG) 公司的NAND Flash芯片K9WBG08, 其存储容量为4G×8 bit, 除些之外还有1 024 Mbit的空闲存储区。
K9WBG08其一页4 224 byte的写操作所需时间的典型值为200μs, 其264 kbyte一块的擦除时间的典型值为1.5 ms。页读操作中, 每个字节只需25 ns。K9WBG08有8位I/O端口, 采用地址、数据和命令复用的方法, 使NAND Flash有简洁和通用的接口, 很容易进行容量扩展。其片内的写控制器能自动执行写操作和擦除功能。包括必要的脉冲产生和内部校验等, 完全不用外部微控制器考虑, 简化了器件的编程控制难度[4]。
设计中, 所有对Flash的操作都是通过FPGA内的Flash控制模块完成, 所以在硬件接口设计上非常简单, 只要将Flash的各控制引脚和I/O引脚直接连到FPGA的I/O端口就行, FPGA内的Flash控制器实现所有的逻辑控制。
4 控制逻辑设计
FPGA软件利用VHDL语言在Xilinx ISE7.1环境下开发, 采用自顶向下的模块化设计方法, 完成各控制模块的设计, FPGA内部主要由时钟产生模块、A/D采集控制模块、数据编帧模块、Flash控制器模块以及FIFO模块构成。其内部结构框图如图7所示。
A/D采集控制模块实现对ADS1271数据采样的控制, 采样后的数据送往FIFO1缓存等待数据编帧。通过MODE引脚浮空使ADS1271芯片工作在高分辨率模式下, FORMAT引脚接地而使芯片采用SPI串行接口, 引脚分别接FPGA的16个用户I/O口, 作为数据就绪状态查询信号, DOUT引脚分别接FPGA另外的16个用户I/O口, 用以接收转换后的串行输出数据, ADS1271无需启动信号只要通电即可开始转换, 并且在任何需要的时候通过查询为低电平时取走数据, 状态转换如图8所示。
当引脚为高, 转换一直进行, 当它变低并且保持低电平超过219CLK个时钟周期时, ADS1271处于低功耗状态;当CLK上升沿到来的同时引脚返回高, ADS1271退出低功耗状态, 转换重新开始。ADS1271使用一个斩波稳压调制器来提供非常低的失调漂移, 而为了进一步最小化失调, ADS1271在处于低功耗状态时自动地执行一个失调自校准, 当低功耗状态结束, 引脚保持高电平时, 失调自校准状态开始, 一旦有效数据可以被取出, 引脚返回低, 失调自校准状态结束, 转换重新开始[5]。
FIFO作为一个先入先出堆栈, 其作用是暂时保存数据, 待需要提取时再按其原有顺序输出。为确保数据不被覆盖, 任何时刻FIFO都不能被写满, 在Flash判断无效块期间和页编程期间FIFO只写入不读出, 而Flash页编程时间最大为700μs, 为保证可靠性, FIFO容量应根据各通道在最大采样率下工作且Flash页编程期间写入FIFO的数据量来确定, 16路模拟信号的采样率最大为50 k Hz, 字长为16 bit, 在编程期间A/D转换送来的数据量为
实际应用中利用2 kbyte内部FIFO作为数据缓存。Flash采用页写模式, 依次读取FIFO中的数据并写入2 kbyte的页寄存器, 页寄存器写满后2 kbyte数据一起写入内部存储单元, 这时不再读取FIFO中数据, 而由ADC转换的数据还需要继续写入FIFO, 为保证数据不丢失, 采用2×2 kbyte的FIFO实现乒乓操作。
5 测试结果
测试时用AFG-3051型函数信号发生器产生峰-峰值为4 V的1 k Hz正弦波, 通过上位机软件对采集的数据生成波形, 以第一路信号为例, 生成的波形如图9。
图9中横轴为采样的点数, 纵轴为电压幅值。可以看出生成的波形光滑无毛刺、频率稳定、幅值精确。
6 小结
介绍了一种基于FPGA的高精度多通道数据采集存储电路, 文中对Δ-ΣADC工作原理、硬件设计、控制逻辑设计予以详细论述。采用Δ-ΣADC通过过采样、噪声整形、数字滤波和抽取等近乎纯数字技术完成了对16路模拟信号的高精度采集转换, 测试结果表明, 采集的数据无丢帧现象, 很好地还原了被测信号。
摘要:为满足多路多种类信号高精度采样的需求, 设计了一种基于FPGA的高精度多通道数据采集存储电路。设计采用新型的高精度Δ-Σ模数转换器 (Δ-ΣADC) 对模拟信号进行采样转换, 并给出了电路的硬件设计和控制逻辑设计。具体介绍了抗混叠滤波电路的设计, 并详细分析了影响Δ-ΣADC采集精度的因素;设计采用FPGA作为主控芯片, 实现对整体电路的逻辑控制。测试结果表明, 设计实现了对16路模拟信号的高精度采集存储, 满足实际需求。
关键词:Δ-Σ模数转换器,高精度,数据采集,FPGA
参考文献
[1]郑永秋, 史赟, 李圣昆, 等.多通道高精度数据采集电路的设计与实践[J].电测与仪表, 2011 (9) :86-89.
[2]BAKER B.Δ-ΣADC工作原理[EB/OL].[2013-01-31].http://wenku.baidu.com/view/644870cca1c7aa00b52acb3f.html.
[3]何欣.Δ-ΣAD转换器改进及后端设计[D].北京:清华大学, 2008.
[4]郭铮, 刘文怡, 冯妮.基于FPGA多通道高速数据采集存储器设计[J].电视技术, 2012, 36 (7) :56-57.
存储通道 篇3
1 基本概念和结构
1.1 DEC设计存储器通道 (MC) 所要达到的技术目标
●技术性能定位在SMP和标准网络之间, 带宽100MB/s、延迟5s、开销0.5s;●高可靠性, 提供自动切换、错误修复等支持。
1.2 MC技术能够提供的功能
●32位数据通道;●由硬件自动实现对MC通道检/纠错功能, 提供消息无错到达检测原语, 可以保证MC系统信道具有10-16的传输出错率;●全部有硬件实现流控制, 严格的消息顺序控制, 保证消息A的传输错误对正在传输的消息B没有任何影响;●MC上的节点互联, 采用32位16入口单级交叉开关结构, 支持MC节点之间点到点、选播和广播通信方式。
2 MC的工作原理
2.1 MC技术的定义
MC为一个基于标准PCI总线的分布共享存储器方案。MC通过提供一个存储器映射电路, 实现源节点的一个虚拟存储器 (VM) 页面到目标节点的一个物理存储器 (PM) 页面的写连接, 而目标节点通过本节点VM到PM的存储器读映射, 完成数据的读取, 从而实现源节点一个只写VM页面到目标节点的一个只读VM的连接。在MC上连接的所有计算机节点称之为簇节点。
2.2 程序中使用MC连接的工作过程
图1说明MC簇中两个簇节点之间虚拟存储器空间的连接。在图1中节点1虚页A (只写) 与节点2的虚页E连接 (只读) ;节点2的虚页F (只写) 与节点1的虚页J连接 (只读) 。
2.2.1 节点1的虚页A (只写) 与节点2的虚页E连接 (只读) 的情形
应用程序通过系统调用, 申请获得MC页C。
节点1定义页面C为只写, 它在节点1虚存空间中为A。节点1的存储器虚实转换将页A对应到节点1的发送窗, 即页B, 这是一个I/O空间;页B通过MC接口板上的PCT完成到MC页面C的映射。
节点2定义MC页C为只读, 它在节点2虚存空间中为E。节点2的存储器虚实转换将页E对应到节点2的物理存储器页D, 这是一个只读页;页C通过节点2的MC接口板上的PCT完成到MC页面C到节点2物理存储器页面D的映射, 这个映射由节点2的PCT控制, 由DMA通道完成映射。
节点1对页面A的写操作, 经过一段时间 (约5 s) , 就可以出现在节点2的物理存储器页面D中。节点2的应用程序可以通过读页面E而取得节点1的数据。
节点2的虚页F (只写) 与节点1的虚页J连接 (只读) 的连接过程与此相似。
从程序使用MC连接的过程中可以看出, 程序只能通过虚实地址转换来访问MC空间, 因此, 程序的可靠性和安全性是有充分保证的。这种使用MC的可靠性和安全性是由系统的虚拟存储器管理系统的保护机制和安全机制提供的。MC空间的使用与程序存储器空间的使用具有类似的步骤和相同的可靠性。
2.2.2 MC映射的一些可控制特性
为了便于程序设计控制, MC在定义存储器映射时允许定义MC的以下一些控制位:
●发送位 (只写) ;●接收位 (只读) ;●广播、选播或点到点方式定义;●本节点复制特性;●所有节点完成接收标志;●写中断
这些控制位在节点连接MC页面时给予定义。
2.2.3 连接示例
图2表示使用MC进行广播、选播或点到点通信方式的连接示例。数字1、2和3分别代表三个连接, 即“连接1”、“连接2”和“连接3”。
图2中的连接分别表示了下面连接示例:
连接1:具有写时中断的单向点到点连接。由节点1写, 节点3接收。
连接2:单向广播。由节点3写, 所有节点接收。
连接3:双向选播。节点2和4写, 节点2和4接收。
从图2中可以看出, 连接是以MC空间为标准的, 即使用同一块MC空间的为同一个连接。
2.2.4 MC连接特性参数
MC是基于存储器页面的连接, 因此它的连接以页面为粒度。在Alpha系统中, 页面大小为8KB。
目前的每个MC簇通过MC可以建立64K个连接, 由于每个连接的粒度为一个页面 (8KB) , 所以在一个MC簇中, 可以使用的MC总空间最大为
这也就是MC目前能够提供的最大簇通信空间。
2.3 MC硬件实现技术
图3说明MC连接中CPU、存储器、I/O接口和MC通道之间的连接关系。其中MC卡是一块占用一个PCI插槽的PCI卡, 其输出通道占用512MB只写PCI存储器空间, 输入通道占用另外一个512MB的PCI存储器空间。这两个512MB可以在4GB的PCI存储器空间中的任意位置。
2.3.1 节点1的CPU访问节点2的存储器
节点1:
执行一条存指令, 指令地址在MC空间, 被映射到MC发窗, MC的发窗为I/O空间, 因此指令操作通过CPU的cache、Buffers和系统总线, 进入PCI总线。
PCI总线对写进行译码, 选中MC卡发送通道。
利用MC卡上的PCT信息对数据打包, 形成MC包。MC包由报头、数据和包尾组成。报头为目标节点标识, 包尾为32位的CRC校验数据。
送入MC网络。
节点2:
MC卡接收MC网络上来的数据, 对其进行解包, 去掉头尾, 得到数据;
使用MC卡上的PCT信息, 根据数据包地址映射到节点2的物理存储器地址;
与一般的I/O设备一样, MC卡通过总线桥, 将数据送入物理存储器中。
2.3.2 节点2的I/O设备访问节点1的存储器
PCI上的I/O设备可以象CPU一样直接访问MC卡, 称为I/O到MC直达。使用I/O到MC直达, 节点无须通过其它节点访问盘, 盘会主动将数据送到最终需要的节点。
2.3.3 MC通信与cache数据的问题
由节点1送到节点2存储器单元中的数据, 允许节点2进入cache。因为DEC和Inte的CPU都支持这种外部数据到存储器时的cache数据一致性校验。当MC的接收通道通过总线桥将数据送入目标节点存储器时, 同时引起CPU中cache数据的一致性校验。
2.4 MC系统下软件的结构和功能简介
MC系统下软件的结构如图4所示。
摘要:集群系统可以将多台同构或异构的计算机连接起来协同完成特定的任务。本文通过从MC系统基本概念、功能等分析, 结合MC的工作原理, 提出了基于标准PCI总线的分布共享存储器的组建及关键技术在数据传输过程中的应用。
关键词:存储通道,MC,PCI总线
参考文献
[1]鲁士文.计算机网络原理与网络技术[M].北京:机械工业出版社, 1996.
[2]Andrew S.Tanenbaum.计算机网络[M].清华大学出版社, 1998.
存储通道 篇4
故障录波装置作为电力系统故障及振荡的自动记录装置,通常作为独立系统运行,因此在业内一直没有形成统一规范的通信规约。随着近年来故障信息系统的建设,逐渐出台了一些区域性通信规范,如基于TCP/IP的南方电网故障信息系统通信规范[1]。
IEC61850自2004年发布以来已经在电力系统各领域形成了广泛应用的氛围。由于系统功能集成的需要并有效解决目前通信规约不兼容的现象,IEC61850在故障录波装置中也将逐步得到应用[2]。
由于传统录波装置存在录波数据量较大且庞杂冗余等缺点,不利于通信传输和上级系统进行数据提取,因此本文从以下角度提出IEC61850下录波数据的传输机制:
1)定义录波数据的分通道存储机制,利用录波器进行故障信息分拣的预处理,定义数据文件的存储目录结构和文件命名规则。
2)建立IEC61850的标准录波文件传输模型,使经过分通道处理的录波数据,可以在只建立Server(FILE)模型的前提下,实现录波文件的上传,与未来的全面IEC61850录波功能数据模型相兼容。
1 录波数据的分通道存储机制
1.1 录波数据的智能处理
以往的录波装置在处理暂态录波时存在以下两个问题[3]:
①采用一路通道启动,所有通道同时记录的方式,没有对故障和扰动的间隔通道进行有效区分,致使形成较多无效的录波信息,降低了录波装置的工作效率和存储元件的有效利用率,在与上级通信系统进行远程数据传输时,也增加了网络负载量和通道占用时间。
②COMTRADE标准没有对配线定值参数进行明确定义,导致目前各种版本的基于COMTRADE标准的录波数据互不兼容,更无法进行高级分析。
针对以上两个问题,提出设计录波分通道文件存储机制、扩展定义.INI格式文件的解决方案:
在不影响录波装置原有录波文件生成的前提下,增加录波数据的智能预处理模块——分拣出按照一次间隔元件对象分类的不同录波分通道文件(如图1中电压文件、线路文件等,对录波通道进行选择性划分),并按照COMTRADE(IEEE Std C37.111-1999)的标准格式进行存储。同时为表征分文件的类型、并提供一次设备的建模信息、测距参数、变压器参数等便于上级系统进行数据分析、处理和计算的参数,在标准的.HDR、.CFG、.INF和.DAT文件之外扩展定义.INI格式文件。.INI和.CFG、.DAT文件为必选文件。
录波分通道文件的五种类型定义如下:
①电压文件:描述一组母线电压的信息,包括通道号、电压等级等。②线路文件:描述一组线路电流的信息,包括电压等级,电压通道,电流通道、高频、开关通道以及测距参数等;③变压器文件:描述一组变压器的信息,包括各侧电流、电压、开关通道等;④公共文件:所有不能归类到上述三种文件的信息;⑤复合文件:上述文件整合在一起,形成复合文件。
.INI文件格式定义为图2的8个数据段,从间隔对象的角度出发,将所有一次侧元件分解为若干组电压、电流以及开关,而每组电压、电流又分解为若干个模拟通道——形成清晰的一次元件与通道的对应关系。
1.2 录波分通道文件的目录命名规范
在录波装置生成分通道文件之后,为了使录波装置的分通道文件存储系统具有良好的可识别性和通用性,方便运行人员和上级系统进行调阅,定义录波分通道的目录规范规则:
每次录波启动后,录波装置根据设定的预处理策略生成一系列分文件,并以录波启动的记录时刻(dat文件第一个采样点的绝对时刻)命名其目录,格式为:
PATHYYYY-MM-DD@hh-mm-ss_@aaa
其中PATH为本地磁盘目录,如D:splitter_data;YYYY四位年数、MM两位月数、DD两位日数、hh两位时数、mm两位分数、ss两位秒数;aaa为启动状态标记,如果有保护动作或开关量变位,取值为act,否则取值为sta。分文件目录规范举例:D:splitter_data2006-02-21@15-48-32_@sta。
2 基于IEC61850的录波分通道文件传输
2.1 IEC61850的录波文件系统模型
在对录波文件进行分通道处理和规范的目录存储以后,即可利用标准的IEC61850文件传输模型与上级系统进行通信和传输。
IEC61850-7-4中定义了在间隔层的录波装置完成录波功能所需的三个逻辑节点:RDRE(扰动记录功能)、RADR(扰动记录模拟量通道)、RBDR(扰动记录状态量通道)。在三个逻辑节点作用下生成的COMTRADE格式扰动记录,按照IEC61850-7-2的规定,属于Server Class Model(服务器类模型)的FILE模型,可使用文件传输模型。录波装置的数据模型如图3。
由于本文所述的录波装置仍然基于传统数据模型的设计,属于过渡阶段的应用,因此本文只关注文件传输模型,对逻辑节点类数据模型不作叙述。
按照IEC61850-8-1的建议,在录波装置Server的逻辑根目录下设置一个COMTRADE子目录,存放录波文件,本文根据录波文件分类存储的需要,在COMTRADE下又设置三个子目录:
1)“normal_data”,存放装置正常启动产生的暂态录波文件。
2)“splitter_data”,存放正常启动后经过分通道处理的暂态录波文件。
3)“new_files”,存放装置最新的反映保护动作或开关量变位(启动标识为“ACT”)的分通道文件,供上级系统轮询。
2.2 录波文件的传输过程
IEC61850的录波文件传输[4]主要使用两个服务如表1。
① 列目录Get Server Directory(File)
上级系统使用Get Server Directory访问录波装置中的目录,录波装置则将目录中的文件及子目录名作为数据进行应答,如果返回的字符串最后一个字符是“”,则表示这是一个目录名,否则就是一个文件名。例如:“COMTRADEsample”是一个文件名,而“COMTRADEsplitter_data”是一个目录名。服务器可以使用这个方法遍历录波装置的目录树。访问根目录的ACSI服务及映射见表2(参数为空)。
② 读文件Get File
Get File服务用来从服务器(录波装置)中读取文件,主要参数如表3。
参照IEC61850-8-1的23.2.1,ACSI读文件服务应映射到一个ISO 9506-1和ISO 9506-2定义的MMS文件打开、文件读和文件关闭服务序列。
在读文件服务中,发送和响应报文的参数使用绝对路径,即从根目录开始的完整路径名。如在上级系统访问COMTRADE的目录时,使用Get Server Directory服务(参数使用“COMTRADE”),录波装置在响应时上送“COMTRADEsplitter_data”等子目录。
2.3 录波文件传输功能的实现
在上级系统访问录波装置时,通常要求有以下两种文件传输方式:
① 录波文件目录的随机访问
通过对录播文件目录的随机访问,上级系统可以选择获取录波装置的录波文件及其列表。过程如下:
1)上级系统首次访问录波装置时,可以使用列目录服务遍历录波装置的目录,列举所有目录结构,也可制定必要的简表策略,避免目录列表过长。
2)在日常使用过程中,上级系统需要指定查看某目录下的文件信息时,可以使用列目录服务,列出指定目录中的内容。
3)定位到需要访问的文件后,使用Get File服务从录波装置读取文件。
② 最新的录波文件主动上送
重要的暂态录波文件产生后,需要及时主动上传到上级系统,实现数据同步。由于IEC61850没有定义文件目录的主动上送机制,为了避免使用如报告模型、Data模型等数据建模时带来的复杂操作,定义了“new_files”子目录,目的在于仅通过文件模型的服务实现上级系统对录波装置最新录波文件的获取。该目录存放的文件是录波装置中最新的反映保护动作或开关量变位(启动标识为“ACT”)的分通道文件,要求上级系统必须召唤,但召唤时机可由子站自行决定。为了及时获取最新的录波文件,上级系统需要设定一定的周期(工程参数)访问录波装置“COMTRADEnew_files”的目录。
3 结论
本文设计的录波分通道文件存储机制,能够对故障和扰动通道进行有效区分,提高了录波装置信息处理效率。在这个机制的基础上,可以很方便地使用IEC61850的标准文件传输模型和Server(FILE)模型,完成录波文件的目录访问以及最新录波文件的传输,既避免了数据建模过程可能带来的复杂工作和附加开销,又能够保证与未来全面使用IEC61850的数字化变电站系统的传输模式相兼容。
本文设计的录波文件处理模型,已经在广东电网范围内得到了试验性使用,为提高录波装置及其他二次设备的信息化应用水平提供了借鉴。
参考文献
[1]中国南方电网继电保护故障信息系统通信与接口规范[Z].2006.Communication Interface Specification for RelayProtection Fault Information System of China SouthernPower Grid[Z].2006.
[2]汪可友,张沛超,郁惟镛,等.应用IEC 61850通信协议的新一代故障信息处理系统[J].电网技术,2004,28(10).WANG Ke-you,ZHANG Pei-chao,YU Wei-yong,et al.Research on a New Fault Information Processing Systemusing IEC 61850 Communication Protocol[J].PowerSystem Technology,2004,10.
[3]陈菁,苏忠阳,蔡泽祥,等.提高故障录波装置信息处理效率的方法[J].广东输电与变电技术,2007,5:25-27.CHEN Jing,SU Zhong-yang,CAI Ze-xiang,etal.Methods to Promote Information Processing Efficiencyof Fault Recorder[J].Guangdong Power TransmissionTechnology,2007,(5):25-27.