tag 标签: 同步

相关博文
  • 热度 10
    2014-12-25 23:16
    463 次阅读|
    0 个评论
    1 引言 近些年来,随着电子技术的发展,无线通信技术、计算机网络的发展,分布式无线数据采集网络技术开始兴起,并迅速的应用到各个领域。在一些地形复杂,不适合人类出现的区域需要进行数据采集的情况下,都可以适当的选择无线分布式采集来进行。现有的无线分布式采集系统中,往往使用单片机、DSP等作为系统的主控控制单元。但是由于其自身工作特点,往往对于精确的定时控制以及并行处理能力上比FPGA弱。随着FPGA等可编程逻辑器件的发展,为无线数据可靠传输提供了很好的实现平台。采用FPGA作为时序控制和信号处理的处理器,将使系统电路设计更加简洁、可靠、灵活,可有效的缩短开发周期,并降低开发成本。 为此,基于CycloneIV+STM32设计了一种新型的无线分布式采集系统,实现了数据的高可靠和同步传输。设计主要由3大部分组成:编码器、译码器、无线收发电台。在对编码器、译码器同步校准后,对待发送数据进行卷积编码,并转换为串行数据。数据转换为串行数据后,在串行数据帧头加入Barker码来实现帧的同步,并使用2条互为备份的数据传送通道同时发送数据。在数据接收端检测到barker码后,本地对互为备份的双通道数据进行viterbi译码(本文设计的viterbi译码器采用并行结构,大大的降低译码时间)。译码结束后,本地对双通道数据进行循环冗余校验,并做出判选,最后执行相应指令。并在规定时间给出相应反馈信号。设计的无线采集系统,即使某一数据通道出现少量错码,系统仍能有效的恢复出数据,并进行可靠的数据传输。系统添加了监控模块,实时备份上传的数据并监控,如发现不能正常上传,则启用备用模块保证整个系统正常工作。系统不仅能实现数据的高可靠和同步传输,而且具有很好的适用性,可广泛应用工业中。 2 无线分布式采集系统简介 2.1 系统硬件简介 无线分布式采集系统包括编码器、译码器(编码器、译码器硬件完全相同,只是配置逻辑不同,可配置为编码器、译码器、中继站)和无线通信电台。如图1所示,这是一个最简单的一对一式分布式系统。 图1 无线分布式采集系统结构 编码器作为上位机与译码器之间的桥梁,通过USB/RS485通道进行发送、接收命令和数据。译码器接收编码器发来的命令进行配置和采集,并将数据存储至DDR2中。译码器收到上传命令后,上传数据至编码器。 编码器/译码器硬件系统框图如图2所示。本系统主控单元由FPGA完成。FPGA选用Altera公司的EP4CGX30F407,逻辑单元为29440个,80个18×18乘法器,多达290个用户自定义IO。STM32作为监控和备用单元组成系统的基本架构,STM32F407ZG系列是基于高性能的ARM CortexTM-M4F的32位RISC内核,工作频率高达168 MHz,该STM32F407ZG系列采用高速嵌入式存储器(多达1 MB闪存,高达192 KB的SRAM),拥有3个12位ADC,2个DAC,1个低功耗RTC,12个通用16位定时器,2个通用32位定时器。人机交互部分由16X2液晶显示字符模块和4个按键组成,其主要功能是通过按键对基站编号设置并显示在LCD上。无线模块选用WSN-03系列无线模块作为收发平台,工作电压为5 V,传输速率和工作频段等都可配置。目前传输速率最大为115 200b ps,工作频为433 MHz可调。无线模块与FPGA主要以RXD/A,TXD/B,NRST(复位控制),SET(设置模块参数),SLP(休眠控制)信号线连接。GPS模块选用VKl6U6进行定位,与FPGA以UART接口连接,波特率定位9600 bps。ADC选用基于△-Σ技术的32 bits高精度低功耗模数转换芯片ADSl282,采样信号电平范围:差分输人一2.5~+2.5 V。单个译码器有6个采集通道,以2 k采样率,采样时常16 S来计算,单个译码器纯数据量为6×2 k×16×24—6144 Kbits。考虑到编码器,一次采样,8个基站的数据经编码后数据总量为98 304 Kbits,所以编码器和译码器需增加l片Micron Technology公司的MT47H256M8HG-37E IT(256Meg×8)作为缓存空间。由于DDR2 SDRAM需要特定的控制读写时序,系统直接采用Quartus II自带的“DDR2 SDRAM High-Performance Controller”IP CORE。USB部分由2个通道组成,一个是由FPGA、CY7C68013和USB接口组成;另一个由STM32(自带USB驱动)和USB接口组成。同时本设计中还添加了RS485串口,使整个系统与上位机能保持实时通信,为系统的远程控制提供了可能,并能保持系统更新。 图2 系统框架 2.2 系统数据流程 系统的数据流程为:同步校准译码器,设置各个译码器接收命令后的延时-编码器配置采集参数、命令-译码器采集数据保存至DDR2中一各译码器分时接收数据上传命令并上传数据-编码器将数据汇总保存至DDR2-数据收集齐后通过USB/RS485上传至上位机。译码器节点配合计算机对各个点的数据进行轮询采集,它包含了无线传输模块和与计算机通信的USB接口。STM32将组帧后的数据备份并实时监控FPGA,如在规定时间或未能按指令进行工作,STM32将替代FPGA并使FPGA进入断电状态。 2.3 系统组帧格式 编码器与译码器之间是一对多的关系,译码器分时上传数据,译码器有2个通道,译码器有唯一的配置编号。数据帧的格式如图3所示。数据帧中除20字节有效数据之外,还包括组号、目的编号等。 图3 编码器、译码器间数据帧格式 为了改进接收信号质量,本系统引入信道编码的方法来改善信道质量。具体如图4所示。发送端对数据进行组帧、并串转换、卷积编码、加入同步帧信息后,把数据发送至无线通信电台进行调制。接收端的无线通信电台对信号进行解调后发送数据至接收端的FPGA。接收端的FPGA检测到帧同步信息后对接下来的数据保存,并进行Viterbi译码。FPGA对双通道的数据进行冗余校验,并选择正确的数据执行相关操作。 图4 无线数据传输 3 无线分布式采集系统数据传输的实现 3.1 可靠性 待发数据经卷积编码,互为备份的双通道发送,Viterbi译码,冗余校验,数据判选,系统能够很好的进行无线收发。 3.1.1 卷积编码 数据组帧完成后,由低位至高位进行并串转换,进行卷积编码。卷积编码是一种纠错信道编码,是由连续的输入信息序列经编码后得到连续输出的编码序列口。以(n,k,m)来描述卷积码,k为每次输入到卷积编码器的bit数,行为每k元组码字对应的卷积码输出n元组码字,m为编码储存度。卷积编码生成的n元组元不仅与当前输入有关系,还与前面m一1个输入的k元组有关系。本系统采用(2,1,4)卷积编码器,如图5所示。图中“+”代表异或。每bit经编码后都有2 bit输出(C1,C2)。 图5 (2,1,4)卷积编码器 3.1.2 Viterbi译码 接收端有2个接收通道,互不干扰。接收端对2个通道同时译码。译码采用Viterbi译码。Viterbi译码算法是一种卷积码的解码算法。Viterbi译码根据最大似然算法规则,能达到最佳译码,特别适合向前纠错。以本设计为例,根据图5,编码器4个延时状态(0,1)组成整个编码器的16个状态(D4D3D2D1),每个状态在编码器输入1或0时,跳转到另一个状态。并且输出也随之改变。译码就是编码的逆过程。算法规定任意t时刻收到的数据都要进行32次路径值计算、16次比较,比较后每个状态只保存一个路径值,为接下来计算减少了一半的运算量。反复208次,从16条幸存路径中选出一条路径值最小的,反推出这条路径,得出相应的译码输出。考虑到每次译码后,译码器都能回到初始状态,所以源数据最后加了8 bit的“0”。本设计采用并行处理结构,经214个周期还原出源码。 在设计FPGA逻辑时,基本采用多条并行的流水线技术,译码部分包含4个子模块:加比选模块、回溯模块、存储模块和时钟控制模块。路径值的计算和比较在3个时钟周期内完成,4个模块同时运行,大大的降低了译码时间。另外,为了提高FPGA效率,系统加入采样触发信号,保证系逻辑能够稳定运行。 3.1.3 数据判选 经译码后,接收端已接收到2组互为备份的数据。经实践证明,简单的并联冗余能大大的提高系统的可靠性。具体选择流程如图6所示。2路数据经Viterbi译码后,开始接收一帧数据,并写入RAM中,同时计算CRC校验、帧完整性检测、ID是否符合本地。上述检测都没问题时,对2路幸存路径的度量值进行比较,选择值小的通道作为最终数据。 图6 数据的选择 3.2 同步的实现 为了保证编码器和译码器之间能严格实现同步,数据帧需要加入同步帧。实现帧同步的方法通常有2种:起止同步法和集中式插入同步法。起止式同步比较简单,一般在数据码元的开始和结束位置加入特定的起始和停止脉冲来表示数据帧的开始和结束。集中插入式同步法中插人的同步码要求在接收端进行同步识别时出现伪同步的概率尽可能低,并且要求该码具有尖锐的自相关特性以便识别。7位巴克码作为帧同步码,其局部自相关函数为: 由上公式计算可知,7位巴克码的自相关函数在j一0时出现尖锐的单峰特性。设计中采用2组同步帧头作为同步码,同步帧头由7位巴克码和1 bit的0组成。 到现在为止,待发数据bit数为:208×2+8×2-432 bits。经调制解调后,接收端检测帧同步信息,同步信息为2组11100100组成。每组同步信息高7位与7位巴克码相比,允许出错位数在1位以内 。设P为码元错误概率,行为同步码组的码元数,m为判决其允许码组中的错误码元最大数,在本系统中行n=7,m==1。在P=0.01时,单一barker码的漏同步概率为: 当2组同步帧都满足时,帧同步建立,接收端保 存接下来的数据。无线通信电台与FPGA以rs485连接,如图7所示,FPGA检测X是否为“0”,当检测到“0”,不接收端对接下来的数据X与本地巴克码对应位进行位异或运算。当检测1 byte barker码,错1位以内时,发出一value脉冲。当检测到2个value脉冲时,说明同步已建立,接收端开始存储接下来的数据。 图7 barler码识别 4 系统监控模块的实现 STM32与FPGA连接如图8所示,由于ARM与FPGA的相互通信直接影响着控制器的性能,所以该并行总线的设计就成为一个非常关键的问题。该总线可以包括芯片的地址总线(ADDR )、数据总线(DB )、控制总线、复位信号(nRST)以及中断信号线(INT),其中控制总线包括使能信号(nOE)、片选信号(nCS)、读信号(nRD)、写信号(nWE),这样做的好处是,将FPGA芯片存储器化,即STM32可通过对特定地址的访问来控制FPGA工作,并且可通过共同的复位信号将STM32与FPGA芯片同时复位,尽量避免总线竞争和冒险现象的出现。 图8 STM32与FPGA连接 STM32与FPGA同时接收命令,在解析完命令后,FPGA应在规定的时间内发送数据,FH认组帧完成时,发出INT信号至黜2申请中断。如果STM32在规定时间内没有接收到FPGA发来的INT信号,将开始计时,计时时间内未能接收INT信号,STM32将停止FPGA供电电源工作,由STM32代替FPGA工作,保证整个系统能稳定进行。 5 系统测试 编码器实物如图9所示。测试时搭建一对编码、译码器,采用12 V的直流电源供电。待 发数据为208 bits,即208’b00000000_10010010_01100100_10011001_00100110_01001001_10010010_01100100_10011001_00100110_01001001_10010010_01100100_10011001_00100110_01001001_10010010_01100100_10011001_00100110_01001001_10010010_01100100_10011001_00100111_00111111;图10显示了测试中利用SignalTap II截取经卷积编码后输出的部分信号波形。其中z为串行输人数据,yt为卷积编码后输出的数据。数据经无线发送后,经Viterbi译码,仿真图形如图11所示,编码器发送的数据为208 bit S,data_out为译码输出的部分数据,译码数据与发送端的高低位顺序相反。由于数据经发送后,高低位互换,图上只截取了经Viterbi译码后的高27位的译码结果。经多次测试,数据传输正常,在少量不连续的错码情况下,系统能够自动纠正。 图9 编码器实物 图l0(2,1,4)编码器输出 图ll Viterbi译码输出 6 结论 在无线分布式采集系统设计中,采用了基于卷积编码、Viterbi译码的编码和互为备份的双通道传输方案,利用了FPGA内丰富的逻辑资源以及存储资源,实现了数据的远距离同步可靠传输。加入备份数据通道后,通过FPGA内部逻辑控制,在硬件上实现了对两路数据的实时校验及自动判选,提高了系统的稳定性和可靠性。相比于“备份-重传”等机制,该方法实现简单、实时性好,即使某一通道不能正常工作,系统仍能正常进行。该无线分布采集系统,满足了现在同步触发和数据量不大情况下的传输。本文提出的互为备份的双通道编解码、数据冗余传输机制,亦可应用相关无线传输领域,以提高远距离数据传输的可靠性和稳定性。
  • 热度 13
    2014-1-14 23:45
    912 次阅读|
    3 个评论
    进程间通信——信号量、互斥锁等的异同   最早接触在系统上编程,是在嵌入式Linux上完成几项功能。当时就是按照写单片机程序的思维写的。实现几个功能,就用了一个进程,单线程来做。 后来实习时,接触Linux下多进程,多线程的编程。了解到多个线程之间的操作需要进行同步,互斥等。 在工作后,有进行了uCOS的多任务编程。发现uCOS中的多任务的同步,互斥与Linux下有很多相似性。但是也有很多不同。 也因为一开始把uCOS的信号量,互斥锁等和Linux类比来操作。概念确实是一致的,但是由于具体实现的差异,也导致了实际操作中的一些失误(uCOS中的任务相当于进程中的线程,任务间通信相当于线程间通信)。 虽然,经过这些实践,但是有些疑问却一直没有解开。   在一篇博客中到关于深入了解系统的书籍推荐找到了《UNIX网络编程第二卷:进程间通信》,说道它介绍了信号量等IPC通信(但是它也说了,这些技术是老掉牙的技术)。 不过这本书确实解开了不少一直来的疑惑。   传统设计原则认为:把应用程序设计为一组互相通信的小片段比将其设计为单个庞大的程序更好。 应用程序的几种构建方法: 1、用一个庞大的程序完成全部工作。 2、使用多个程序,程序之间用某种形式的IPC进行通信; 3、使用一个包含多个线程的程序,线程之间使用某种IPC。 注:IPC:Interprocess Communication,进程间通信。 在自己最早的时候使用的就是第一种方式来构建程序的。   对于UNPv2,主要介绍了4种不同的IPC方式: 1、消息传递; 2、同步(互斥量、条件变量、读写锁、文件和记录锁、信号量); 3、共享内存; 4、远程过程调用。   由于更多的是在单进程中实现多线程通信,对于同步的使用要多于消息传递。因为在单进程中,所有线程共享运行地址空间。全局变量(以及局部静态变量(通过访问函数))所有线程可以访问。所以对于同步的使用要多于消息传递。也因此对于互斥量,信号量,条件变量等何时使用,如何使用留下了疑问。 一开始,自己把互斥锁和信号量几乎没有怎么区分,只要实现了对临界区的保护就可以。也感觉他们之间似乎没什么差异,还纳闷为什么会有了互斥锁还有信号量存在。 在已经有了互斥锁的时候,还提供信号量,Posix.1给出的理由是:提供信号量的主要目的是提供一种进程间同步方式。这些进程可能共享也可能不共享内存区。互斥锁,条件变量是作为线程间同步机制说明的,这些线程总是共享某个内存区(因为线程共享运行地址空间)。这两者都是已经广泛用了很多年的同步范式。每组原语都特别适合于特定的问题。 应该可以理解为,互斥锁,条件变量,信号量都可以作为同步来使用,不必纠结于需要同步时使用那一个。但是每一个都用了很长时间,都有自己特别适合的问题。所以就都留着了。 也就因为有自己最合适的问题,所以它们之间肯定有些地方很不一样。 以下是:信号量,互斥锁,条件变量三者的一些差别: 1、互斥锁总是要由给它上锁的线程解锁,信号量的挂出却不必由执行过它的等待操作的统一线程执行。 2、互斥锁要么被锁住,要么被解开(二值状态,类似于二值信号量,区别于多值信号量)。 3、既然信号量有一个与之关联的状态(它的计数值),那么信号量挂出操作总是被记住。而当向一个条件变量发送信号时,如果没有线程等待在盖条件变量,则该信号丢失。(即:如果在信号量挂出的时候,没有线程等待此信号量,则在下次有线程等待的时候,会收到此信号量,并进行处理。而条件变量则将会陷入等待) 4、在Posix.1标准中,各种同步技巧(互斥锁,条件变量,读写锁,信号量)中,只有信号量挂出操作,能够在信号处理程序中安全调用。 从这几点看,似乎信号量很有优势,但也因为功能强大,所以其运行开销会偏大。具体的性能,需要实际在系统中测试才知道。   UNPv2在最后关于解决问题使用哪种IPC给出的解答是:对于解决特定问题使用哪种IPC,应该视具体问题而定。我们可以做的是,熟悉各种IPC机制,然后根据具体需要选择一个适合当前的。   关于消息传递一块,个人感觉:远程过程调用和共享内存,都是实现了一种消息传递的方式,或者更准确的说是数据传递。虽然对于具体实现技术上来说,有四种IPC方式,但是从数据传递和同步来看,只有两种。一种实现临界区保护,一种实现信息的传递。   在uCOS中也有一些对应于这些IPC方式的实现(当然是任务间通信): 1、消息传递(邮箱,消息队列); 3、同步(信号量,互斥锁,邮箱(可以作为互斥来用)); 由于uCOS中的代码,共享内存空间,所以全局变量就相当于内存共享。所以在使用uCOS的时候,更多的参照线程间通信的方式,来操作。但是就像文前提到的,uCOS毕竟不遵守Posix.1标准,所以在实现上不一样。 在Linux上信号量很多时候是二值信号量(不知道最新的是否支持多值),但是uCOS支持的信号量是多值信号量。由于一开始将uCOS上的信号量类比于Linux上的信号量,也当做二值来处理,结果程序的运行结果不符合预期。   虽然很多概念是适用的,但是当针对于具体应用的时候,还是要看具体的实现是怎么样子的。这样才会避免一些细节上的问题。而且对于嵌入式编程而言,IPC技术不但不是老掉牙的技术,相反还是十分重要的。因为嵌入式开发中,有时候使用的操作系统,是共享地址空间的。而且有时候,要实现多任务,多线程等同步操作就是其中实现任务或者线程间协作的很重要的一个步骤。即使开发裸机系统,出去性能考虑会实现为异步式的。而异步就要考虑很多资源的同步问题,其实也就是做一个操作系统的一些工作——调度。   由于现在Linux等操作系统对于这些高度抽象,似乎不用去考虑这些。但是对于嵌入式编程而言,这些还是要经常面对的问题。 IPC对于嵌入式开发,还不过时。   注: http://coolshell.cn/articles/4990.html 技术员技术练级攻略 《UNPv2》 《 嵌入式实时操作系统μC/OS-2 》
  • 热度 11
    2013-2-15 16:43
    1394 次阅读|
    0 个评论
        在自然界中,我们很难找到可以利用的绝对时间尺度。因此产生精密时间尺度的理想装置只是一种理论上的构想,所有天文观测或者物理仪器为基础的实际时间尺度,都是对于理论概念的逐步逼近。     一般而论,任何一个钟,包括地球自转和天体的运动,都具有三种职能:     a. 具有可以观测的周期运动;     b. 能够连续计算运动周期;     c. 可以记数显示。     当然,获得上述三个基本职能的方法是多种的,但无论运用什么方法,得到的是一个实际的时间尺度;按照导出时间尺度的方式,我们可以把用于守时的各种周期物理运动分为三类:     a. 转动体的自由旋转;     b. 开普勒运动;     c. 谐波振荡。     第一类和第二类周期运动是天文学时间概念和天文学时间尺度的基础。     第三类的谐波振荡产生了一般意义上所说的时钟,其中原子钟最为精确,使我们得到了原子时和原子时间尺度的概念。     要以上述任一周期运动为基础,通过观测,连续记数,记录和显示来建立一个时间尺度,必须进行两方面的工作:一是测量、校准和确定振荡的基本周期,或者倒数———频率,二是确定时间尺度的原点。     第一项工作就是确定时间间隔的单位;当然,仅有时间单位是不够的,只有在选择或确定了原点之后,才能从原点起计算周期,完成建立时间尺度的任务。在实际工作中,为保持相互协调,这两项工作往往需要反复进行。     事实上,实际应用中的所有时间尺度的原点,都是以国际间各有关部门的协调一致为基础的。     无论用哪样一种运动周期现象来建立时间尺度,均匀性都是一个最重要的技术指标。所谓均匀,就是指时间尺度上各刻度间的间隔要保持一致,也就是振荡的基本周期或频率要稳定。因此,时间尺度的均匀性和频率稳定度是紧密相关的。实际上均匀性和稳定度代表着时钟的同一特性。     时间一词包含两种含义(即时间的两个基本概念):即时间间隔(事件持续的时间长短)和时间尺度上某个瞬间所代表的时刻(钟时)。在科学实验中,有时只需要测量两个事件之间的时间间隔或事件持续的时间,有时需要以实验开始为起点,按照某种时间尺度记录大量事件的发生时刻,这两类实验对实验开始时刻(相对某一时间尺度,例如UTC)的精度要求是不高的;而还有一类实验工作,它们必须参考于一个共同的时间尺度(如UTC)来进行,记录观测或观测结果。     在最后这类工作中,要求在测量瞬间有一个定时信息,这一信息可以是数字显示的,也可以用时码的形式给出。对于这种定时信息可以由两种方式获得;一种是使用一个独立的地方钟,二是利用远方时钟发播的定时信号。多数情况下则是两种方法结合起来使用。     无论地方钟的质量和预期的性能如何,它们都必须经过频率校准和确定运转的起始时刻,才能保持与某一时间尺度(如UTC)接近,而要这样做,一是将地方钟搬到有合适的参考时间尺度的地方进行比对,或者通过接收远方钟发播的定时信号在扣除各种时延的情况下,进行比对和校准。使用地方钟的优点是,只有在必要的校准和重新调整时才需要接收定时信号。因此,利用地方钟提供实际时间尺度的要求做到:     a . 要有一个参考时间尺度;    b . 需要进行频率和速率调整;    c .需要进行时刻调整和同步。  目前应用的时间尺度有:  a.世界时;  b.历书时;  c.原子时;  d.协调世界时。  
  • 热度 12
    2012-3-21 14:39
    1044 次阅读|
    0 个评论
    万力劢 (美国力科公司成都代表处,610017)   摘要: 本文针对通信、雷达、导航等需要多通道、高带宽、高采样率同步采集的测试应用,介绍了力科LabMaster示波器系统,并从同步精度、易操作性等方面对比了LabMaster和传统多台示波器同步采集系统的性能。 关键词: 多通道采集;高带宽;高采样率;同步;LabMaster   一.应用背景 示波器作为基础性的通用时域仪器,广泛应用于电子相关领域的测量。一般示波器最多配备4个通道。而一些应用需要测试的通道数可能大于4个。例如多通道的高速串行总线(PCI Express x8,x16,x32)、DP-QPSK、天线阵列、相控阵雷达、卫星导航装置等等。这些应用有时需要在时域上采集多个信号,这就需要多通道且高带宽、高采样率的时域仪器。 为了实现更多采集通道,传统的做法是将多台示波器同步起来使用。所谓示波器同步,就是每台示波器的参考时钟同源(相参)、触发时刻一致(采集时刻一致)。多台示波器同步方法如图 1,一个外部的时钟源输出到每台示波器,并且每台示波器由同一个信号进行触发。   图 1同步多台示波器连接示意图 美国力科公司针对这类应用,推出了解决方案:多通道、高带宽、模块化示波器系统LabMaster,外观如图 2 所示。采集通道模拟带宽可达45GHz,采样率可达120G Sample/s,通道数则可以达到20个。   图 2 示波器系统LabMaster (左侧为20通道,右侧为8通道)   多通道采集系统很大一部分应用的目的是测试各信号之间的时序或相位差,或者要求采集系统不影响信号之间的相位和时序关系。这要求采集系统具有比较高的同步精度,特别是对于一些高频、高速信号的测试,同步精度要求达到ps量级。可以按下面方法来评估采集系统的同步精度:将两个相位相同的正弦信号同时输入到采集系统任意两个通道,经过采集后,测量两个信号的相位差,这个相位差就是这两个采集通道之间的同步精度,或者称为时序偏斜(skew)、相位误差。   本文主要从同步精度的角度来对比传统的多台示波器同步方式和LabMaster示波器系统, 二.同步精度分析 为了便于讨论示波器的同步精度,先来分析一下示波器采集电路的结构。单台示波器采集电路框图如图 3。信号先经过前端调理后,由模数转换器(ADC)进行量化。ADC由一个10GHz时钟驱动,称为时基(Timebase)时钟,产生时基时钟的电路称为时基电路。ADC量化的数据存入采集存储器(Memory)中,这是一个先入先出(FIFO)存储器,受触发电路控制。如果没有触发,采集存储器的内容不断被更新。如果触发条件到来,触发电路控制存储器停止更新,并把此时刻保存的数据送去显示和处理。随后恢复更新,触发电路等待下一次触发条件。   图 3示波器采集电路框图 一台4通道的示波器,包含4套前端信号调理电路、ADC和采集存储器,它们共用一个时基电路和一个触发电路。 再将时基电路的结构细化,如图 4。10GHz时基时钟由一个10MHz的低频时钟通过PLL倍频1000倍得到,这个低频时钟称为参考时钟,它可以由示波器内部的晶体振荡器(TCXO/OCXO)产生,也可以由外部输入(External Reference Clock)。内部产生的10MHz也可以输出给其他示波器。示波器一般都有参考时钟的输入和输出接口,输入的时钟只能是低频,在内部还要经过倍频。     图 4示波器采样系统的时钟 把多台示波器同步起来使用时,示波器引入的时序偏斜主要包含以下部分: 时钟的偏斜和抖动 触发信号偏斜和抖动 通道延迟 1)时钟的偏斜和抖动 时基时钟经过分布网络传输到各通道ADC的延迟难免有差异,而每个通道的ADC都在时基时钟上升沿50%时刻进行采样和量化,这样各通道ADC采样时刻有偏差。这种偏差是固有的、静态的,可以通过校准的方式消除。但时钟难以避免抖动(jitter),抖动也会导致各通道采样时刻有偏差,并且这种抖动是动态的、时变的,无法消除。只能选择时基时钟抖动小的示波器。高带宽数字示波器一般都有一个规格指标称为抖动噪底(Jitter Noise Floor),该指标是时钟抖动、垂直噪声等示波器自身引入“干扰”在最终测试结果上的形式的反映。例如力科四通道示波器WaveMaster 8Zi-A的抖动噪底为125fs。 单台四通道示波器的时基时钟抖动可能很小。但用同步方式实现多通道时,时钟抖动就很难控制在比较小的水平了。多台示波器同步需要一个额外的信号源输出10MHz时钟分配到每个示波器的参考时钟输入接口,如图 1中的红线所示,也可以把一台示波器的参考时钟输出给其他各台示波器。无论哪种参考时钟产生方式,都需要一个时钟分配网络,这往往是测试系统集成者定制的,难以保证高稳定度,容易受到噪声的影响。而低频的参考时钟更容易受噪声影响。 为什么低频时钟对噪声更敏感呢?低频意味着信号摆率(slew rate)较小。信号摆率用来描述信号边沿变化的快慢程度,数值上SlewRate=dv/dt,可以等同于边沿的斜率。相同幅度的时钟信号,频率低的边沿摆率小。因为噪声的影响,时钟上升沿50%电平的发生时刻可能提前或延后,从而使幅度噪声转换为时间抖动,如图5,转换关系为dt=dv÷SlewRate,这意味参考时钟摆率越小,同样幅度噪声引起的抖动更大。   图5幅度噪声转换为时间抖动 因为低频参考时钟进入示波器后还需要经过PLL倍频才能作为ADC的采样时钟,所以多台示波器同步方式的时钟结构是如图6,一个参考时钟同时输入到多个PLL,   图6多台示波器同步方案的时钟拓扑结构 一方面PLL倍频会加重时钟的抖动。另一方面由于多个PLL输入并联在一起,它们之间相互干扰,也会加重时钟抖动。 总结一下多台示波器同步方式的时钟抖动性能:外部输入的低频参考时钟容易受干扰,并且多个PLL倍频会加重时基时钟的抖动,最终影响各个通道之间的同步精度。 2)触发信号偏斜和抖动 为了使每台示波器在同一时刻采集数据,必须同时触发,需要一个共同的触发信号通过电缆、探头或者其他电路网络输入到各台示波器。触发信号传播网络的延迟差异显然会导致触发信号到达各示波器的时刻有偏斜,如图7虚线所示路径。而且每台示波器的触发电路都有触发抖动(Trigger jitter)。单台示波器的4个通道由一个触发电路控制,即使触发抖动再大,4通道之间没有相对触发抖动。但多台示波器就有多个触发电路,各触发电路的抖动又不相关。考虑一个最坏情况,在一次采集中,一台示波器的触发抖动是1ps,另外一台可能是-1ps,那么这两台示波器通道之间因为触发抖动产生的时序偏斜就有2ps。   图7多台示波器触发信号的偏斜 3)信号通道偏斜 信号从进入示波器输入接口,经过前端模拟电路,到达ADC,这一段行程需要一定传播时间,一台示波器各个通道的信号传播时间不可能完全一致,多少有一些差异,一般较小。但不同示波器之间的通道偏斜可能很大。 以上影响同步精度的因素,有的是静态误差,有的是动态误差,总结如下:   静态误差一般可以通过校准方式来消除,而动态误差难以消除。对于单台示波器,时钟抖动可以控制得比较小,触发抖动也可以不计,但在多台示波器同步方式下,时基时钟的抖动将显著提高,触发抖动也不能忽略。 试验4台某品牌示波器组成的20GHz带宽、16通道同步采集系统,经过校准后,在任意两个通道输入同相、高信噪比、低抖动的6GHz正弦信号,测量其相位差。多次测量的标准偏差超过9度,相当于两通道之间时序抖动的有效值为4.17ps。在某些应用中,采集系统引入此程度的误差已经不能接受。 与多个单台示波器不同,LabMaster由一个主控模块和若干采集模块构成,每个采集模块可提供4个采集通道。如下图,是1个主控模块和5个采集模块配置在一起组成的20通道采集系统。主控模块通过两套电缆与各个采集模块相连。一个是时钟分配网络(图中的ChannelSync),一个是数据和控制网络。   图 8 LabMaster结构图 LabMaster时基和触发电路的结构如图 9,它具备两个重要的特点: 1)每个采样模块的参考时钟来源于主控模块。一个专门的时钟分布网络ChannelSync,直接把10GHz时基时钟分配到每个采集模块,整个系统只有一个时基电路。ChannelSync采用了高稳相电缆,对信号的保真度高。并且由于时基时钟频率高、摆率大,受幅度噪声的影响小。   图 9 LabMaster时基和触发结构 2)所有模块的每个通道都由主模块的触发电路控制,即使这个触发电路有触发抖动,也不影响通道之间的相对时序关系。 从上述结构特点可以看出,LabMaster本质上就是一个单台示波器,避免了多台示波器同步方式的种种弊端。用这套示波器系统按前述同样的方法来评估,通道之间相位差的标准偏差只有1.1度,相当于509fs的时序抖动,同步精度大大优于多台示波器同步方式。 三.结束语 搭建多台示波器实现的多通道采集系统,实际是一个测试系统的集成,除了需要配置参考时钟源、时钟分配网络、触发信号分配网络以外,往往需要一台计算机对每个示波器进行程控。更复杂的是,需要一个校准系统来完成前文提到的静态误差的消除。这个系统的集成过程不仅复杂,使用也很繁琐。而LabMaster本质就一个单台仪器,无需额外的系统集成就可以使用,并且自带校准源,可以很方便地进行校准。 因此对于需要多通道、高带宽、高采样率、高同步精度的应用场合,LabMaster无疑是目前业界唯一的选择。 参考文献 ChannelSync White Paper. LeCroy Corporation. LabMaster 9 Zi-A Oscilloscope Getting Started Manual. LeCroy Corporation. 作者简介 万力劢,应用工程师,美国力科公司成都代表处,成都市顺城大街308号冠城广场33层C座。028-86527180-106,limai.wan@lecroy.com
  • 热度 13
    2011-10-4 11:13
    882 次阅读|
    0 个评论
    航天测控和数据采集网(space tracking and data acquisition network )          是对航天器进行跟踪测量并控制其运动和功能的专用地面系统,由航天测控中心和若干航天测控站组成,简称测控网。测控网通过对航天器跟踪测量、监视、控制和接收航天器发送来的数据,检测和控制航天器的运动,检测和控制航天器上各种装置和系统的工作,接收来自航天器的专用信息,与载人航天器和乘员进行通信联络。         网的组成:         由航天测控中心和若干配有跟踪测量、遥控和数据采集设备的航天测控站(包括测量船和测量飞机)组成。测控站的数量、设备和分布取决于航天器的飞行轨道及测控要求。航天测控中心与各测控站通过有线、无线通信与卫星通信构成一个通信和数据传输系统的综合体。           资料来源:《中国大百科全书》
相关资源
  • 所需E币: 1
    时间: 2021-9-30 17:11
    大小: 546.61KB
    上传者: Argent
    从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用。单片机是芯片开发的基础,相信从中会获得您意想不到的知识。
  • 所需E币: 0
    时间: 2021-9-30 17:24
    大小: 516.84KB
    上传者: Argent
    从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用。单片机是芯片开发的基础,相信从中会获得您意想不到的知识。
  • 所需E币: 0
    时间: 2021-9-30 17:27
    大小: 234.16KB
    上传者: Argent
    从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用。单片机是芯片开发的基础,相信从中会获得您意想不到的知识。
  • 所需E币: 0
    时间: 2021-9-30 17:45
    大小: 363.95KB
    上传者: Argent
    从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用。单片机是芯片开发的基础,相信从中会获得您意想不到的知识。
  • 所需E币: 0
    时间: 2021-9-30 17:45
    大小: 306.67KB
    上传者: Argent
    从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用。单片机是芯片开发的基础,相信从中会获得您意想不到的知识。
  • 所需E币: 0
    时间: 2021-9-30 18:07
    大小: 358.83KB
    上传者: Argent
    从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用。单片机是芯片开发的基础,相信从中会获得您意想不到的知识。
  • 所需E币: 1
    时间: 2021-9-30 17:53
    大小: 251.42KB
    上传者: Argent
    从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用。单片机是芯片开发的基础,相信从中会获得您意想不到的知识。
  • 所需E币: 1
    时间: 2021-9-30 18:06
    大小: 263.02KB
    上传者: Argent
    从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用。单片机是芯片开发的基础,相信从中会获得您意想不到的知识。
  • 所需E币: 0
    时间: 2021-9-30 18:09
    大小: 165.73KB
    上传者: Argent
    从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用。单片机是芯片开发的基础,相信从中会获得您意想不到的知识。
  • 所需E币: 1
    时间: 2021-9-30 18:28
    大小: 229.76KB
    上传者: Argent
    从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用。单片机是芯片开发的基础,相信从中会获得您意想不到的知识。
  • 所需E币: 1
    时间: 2021-9-30 18:29
    大小: 103.04KB
    上传者: Argent
    从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用。单片机是芯片开发的基础,相信从中会获得您意想不到的知识。
  • 所需E币: 0
    时间: 2021-9-30 18:45
    大小: 239.52KB
    上传者: Argent
    从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用。单片机是芯片开发的基础,相信从中会获得您意想不到的知识。
  • 所需E币: 1
    时间: 2021-9-30 18:53
    大小: 138.61KB
    上传者: Argent
    从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用。单片机是芯片开发的基础,相信从中会获得您意想不到的知识。
  • 所需E币: 1
    时间: 2021-9-30 18:51
    大小: 222.8KB
    上传者: Argent
    从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用。单片机是芯片开发的基础,相信从中会获得您意想不到的知识。
  • 所需E币: 1
    时间: 2021-9-30 18:52
    大小: 287.73KB
    上传者: Argent
    从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用。单片机是芯片开发的基础,相信从中会获得您意想不到的知识。
  • 所需E币: 1
    时间: 2021-9-30 18:53
    大小: 11.01MB
    上传者: Argent
    从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用。单片机是芯片开发的基础,相信从中会获得您意想不到的知识。
  • 所需E币: 1
    时间: 2021-9-30 18:55
    大小: 199.7KB
    上传者: Argent
    从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用。单片机是芯片开发的基础,相信从中会获得您意想不到的知识。
  • 所需E币: 1
    时间: 2021-9-30 19:08
    大小: 155.53KB
    上传者: Argent
    从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用。单片机是芯片开发的基础,相信从中会获得您意想不到的知识。
  • 所需E币: 1
    时间: 2021-9-30 19:15
    大小: 188.71KB
    上传者: Argent
    从二极管到三极管,从单片机到多核MCU,3G网络到5G产品的普及,不管电子产品的集成度怎么高,其产品还是少不了电阻电容电感,每个元器件在电路中必然有其作用。单片机是芯片开发的基础,相信从中会获得您意想不到的知识。
  • 所需E币: 4
    时间: 2021-9-30 10:41
    大小: 212.4KB
    上传者: ZHUANG
    绝热无比型动态触发器和同步时序电路综合
广告