技术文章

    虚拟逻辑分析仪,逻辑分析仪,逻辑分析仪价格,简易逻辑分析仪,逻辑分析仪原理
    传统的逻辑分析仪体积庞大、价格昂贵、通道数目有限,并且在数据采集、传输、存储、显示等方面存在诸多限制,在很大程度上影响了其在实际中的应用。选用高性能的FPGA芯片进行数据处理,充分利用PC的强大处理功能,配合LabView图形化语言开发的虚拟逻辑分析仪,其数据处理和传输速率大大提高,适用性极大增强,其显示、操作界面和低廉的成本较之传统的逻辑分析仪具有极大的优势和发展前景。
     
      工作原理
      本设计选用Altera公司的Cyclone系列FPGA器件EP1C3进行数据采集和处理,外接SRAM,用于数据的存储。系统通过高性能的PIC单片机PIC18F6620完成与PC的通信,接收PC发出的触发、配置信息并控制系统将采集处理后的数据上传至PC显示。单片机与PC的接口利用符合USB2.0规范的接口芯片CP2102实现。
      首先,PCFPGA发送触发字信息、数据采集控制信息和开启数据采集信号;单片机发送数据至外接DAC产生门限电压;采集到的输入信号通过高速比较器与此门限电压进行比较,以确定其值为01。接收到PC发出的开启数据采集信号后,FPGA按设定的工作方式采集数据,各通道数据移位输入FPGA内部缓存并存入外部SRAMFPGA将缓存中存储的采集数据与设定的触发字、触发方式和屏蔽位进行比较。一旦符合触发条件,则设置触发标志,记录触发位置。当数据采集至设定的点数后,FPGAPC发送采集完成信号。上位机接收到此信号后,发送读取数据命令,系统读回采集数据并在PC屏上显示。系统功能框图如图1所示。
      图1 系统功能框图
      系统触发模块设计
      触发模块是整个系统的核心部分,主要包括采样时钟选择模块、触发电平设置和触发电路三个部分。
      采样时钟选择模块
      时钟选择模块用于选择采样频率。可供选择的时钟源包括:外部时钟(由有源晶振提供)、单片机PWM模块产生的PWM时钟、外部时钟输入(由额外的设备提供)、以第N路数字信号输入作为采样时钟。
      触发电平设置
      触发电平用来确定系统正确识别采样信号的高低电平。该模块由串行数模转换器TLC5615和高速比较器LT1721构成。采样开始前,单片机向DAC发送触发电平数据,转换后的电平信号(范围从0~+5V)送入高速比较器。
      触发电路
      触发电路的作用是判断采样信号是否满足触发条件,并分别产生触发动作。当采集的信号满足用户设置的触发条件时,系统记录触发位置并产生触发信号通知上位机读取、显示采样数据。本次设计的触发电路具有三种可选的触发模式:立即触发、顺序触发和并行触发。
      立即触发
      当上位机向FPGA发出立即触发触发字和开始采样指令后,FPGA开始采样并立即产生触发信号。采样电路将采集到的信号存入外部的SRAM中,直至采集到规定的点数后停止采样,向上位机发出采样结束信号,通知其读取采样数据。此方式下读回的触发点位置为0
      顺序触发
      该方式设置了一个8位的序列触发,只有当被测通道的信号按依次满足触发字所设定的8位序列时,才产生触发信号。同时,为了操作的灵活性,还加入了屏蔽位。若对某一位的数据不敏感,可以将其对应的屏蔽位设置为0,在判断触发条件时不对该位进行检测。
      使用顺序触发方式,可以对任意一个通道选择最多8位长度的序列进行触发。在进行触发设置时,除设置触发方式(选择顺序触发)和进行采样频率选择以外,还需要进行通道选择、触发字和屏蔽位设置。其Verilog HDL算法源程序如下:
      if(((dbuf^{TrigWord[1],TrigWord[ 0]})&{enbit[1],enbit[0]}) == 8'h00)
       begin
       TrigFlag=2'b01; Trigpoint[6:0] <= MemABus_Wr[6:0];
        end
      其中:dbuf为所测采样通道的数据缓存;TrigWord[0]TrigWord[1]为触发字;enbit[0]enbit[1]为屏蔽字;Trigpoint为触发位置寄存器。
      并行触发
      该方式设置了一个八级深度的并行触发,将每次采样得到的4个通道的数据组合为一个十六进制数,对应于一个4位的触发字,当4个通道的数据在时间上依次满足84位的触发字时(并非要求连续),产生触发信号。同样,可以使用屏蔽位对某一通道的数据进行屏蔽,即在进行并行触发检测时,不对该路通道进行检测。
      使用并行触发方式,可以选择最多八级的并行触发。在进行触发设置时,除设置触发方式(选择并行触发)和进行频率选择以外,还需要进行触发字、屏蔽位和并行深度的设置。其Verilog HDL算法源程序如下:
      if ((({dbuf4[0],dbuf3[0], dbuf2[0],dbuf1[0]}^ TrigWord [dcount] )&enbit[0] ) == 4'h0)
       begin
       if(dcount[2:0]==control[4:2])
       begin
       TrigFlag=2'b01; Trigpoint[6:0] <= MemABus_Wr[6:0];
           dcount="3"'b000;     end
         dcount = dcount+3'b001;
           end
    其中,dbuf4dbuf3dbuf2dbuf1分别为采样通道4321的数据缓存;TrigWord[dcount]为触发字;dcount为触发深度计数器;control[4:2]为设定的触发深度;enbit[0]为屏敝字;Trigpoint为触发位置寄存器。
    USB2.0接口设计
      本设计选用符合USB2.0规范的CP2102芯片构建系统与PC的通信接口。
      CP2102USB-UART桥接芯片。该电路内置USB2.0全速功能控制器、USB收发器、晶体振荡器、EEPROM及异步串行数据总线,支持调制解调器全功能信号,无需任何外部的USB器件。其功能强大,采用MLP-28封装,尺寸仅为5mm×5mm,占用空间非常小,非常适合大数据量处理与传输电路系统的设计与应用。
      实际应用中,系统只需使用CP2102基本的输入/输出数据线与复位信号线。其接口原理如图2所示。
      图2 USB2.0接口电路图
      系统启动时,单片机RB1端口发送一低电平至CP2102复位端,芯片复位,然后保持复位端高电平,CP2102正常工作。
      由于CP2102内部的透明设计,数据通信时,可以不必构建CP2102与单片机的握手信号;CP2102数据线直接与单片机1USART模块的接收移位寄存器(RSR)和发送移位寄存器(TSR)相连。CP2102数据线上一旦出现待发送的数据,该数据会自动移入单片机接收移位寄存器;同样,单片机发送数据时,发送移位寄存器中的数据直接移至CP2102的数据线(USB接口数据线)上。
      程序设计中,系统不断检测单片机接收中断标志位RCIF1,一旦USART异步接收器的移位寄存器RSR接收到CP2102数据线上发送的停止位,RSR寄存器就将已接收的8位数据装载到接收寄存器(RCREG1)中。系统发送数据时,前次装入发送缓冲器(TXREG1)的数据的停止位P发送出去后,TXREG1缓冲器中的数据(软件装入)就被载入TSR寄存器中,TXREG1缓冲器就为空状态,同时发送中断标志位TXIF被置1TSR将待发送数据逐位移至CP2102数据线,完成系统与CP2102 USB模块的数据传输。
      软件设计
      FPGA功能实现程序运用硬件描述语言Verilog HDL编写;PIC单片机程序用C语言编写,并采用第三方C语言工具HITECH公司PICC—18编译器编译实现。PC显示和操作部分运用图形化语言LabView7.1编写,其前面板如图3所示。
      图3 系统面板
      实验操作
      采用LabView7.1开发的虚拟操作平台,可以方便实现仪器的操作控制。实验开始前,首先选择通信端口,建立PC与本系统的通信;设置触发电平,设置采样频率(外部、内部或其他)、触发方式、触发字、屏蔽字并点击发送触发命令按钮,完成相关设置,开启数据采集和触发进程。点击读取采样数据可读出采集到的数据,并在PC上显示。
      结语
    在综合考虑应用需要和成本的前提下,本设计采用4个高速采样通道,最高可达75MHz采样率,存储深度达512KB,最多可采集220个测试点。触发电平由10位串行数模转换器TLC5615产生,电平误差小于5mV。高速USB2.0通信接口配合LabView7.1开发的虚拟操作平台,可实现数据在PC上的实时显示。本设计的成本还不到市场上同性能产品的1/2,更适用于教学等对产品数量要求较多,性能要求中等的单位采用。
    基于PC的逻辑分析仪型号如下:
    (二)、基于PC的高性能逻辑分析仪,有二次开发
    系列型号(USB口)
    基本缓存
    采样
    速率
    通道
    最大
    存储
    实测
    带宽
    触发门
    限电压
    条件跟踪
    触发级数
    实时逻辑示波显示
    及时实状态显示
    全套
    价格
    LA16032/32K
    100MHz
    16
    32K(max)
    30MHz
    -6 ~ +6V
    10\1\x
    时序显示及状态
    1480
    LA16128/128K
    200MHz
    16 
    128K(max)
    30MHz
     -6 ~ +6V
    1 0\1\x
    无时序显示及状态
    2900
    LA1034
    500MHz
    34
    相当
    64K(max)
    100MHz
    -6~ +6
    16 0\1\x
    时序显示及状态
    4900
    DSO25216/128K
    250MHz
    18
    128K(max)
    80MHz
    -6.5~ +6.5
    1 0\1\x
    时序显示及状态
    5900
    PG32200K/256K
    200MHz
    32
    512K(max)
    100MHz
    0 ~~ +3V
    带图形发生
    时序显示及状态
    5900
    PG32200M/1M
    200MHz
    32
    2M(max)
    100MHz
    0 ~~ +3V
    带图形发生
    时序显示及状态
    6900
    PG32400/512K
    400MHz
    32
    512K(max)
    200MHz
    0 ~~ +3V
    带图形发生
    时序显示及状态
    9800
    PG32400/2M
    400MHz
    32
    2M(max)
    200MHz
    0 ~~ +3V
    带图形发生
    时序显示及状态
    14800
    LA2132/256K
    (有三种型号:)
    LA2132K2/256K
    LA2132K8/256K
    LA2132K512/245K
     
    250MHz
    32
    256K(max)
    125MHz
    -3.7~+1.9V
    K22级触发
    K88级触发
    K512512级触发
    K8、K512带RS232,I2C
    分析
    5900
    K2型号
    9800
    K8型号
    14800
    K512型号
    LA2132M/1M
    (有三种型号:)
    LA2132M2/1M
    LA2132M8/1M
    LA2132M512/1M
     
    500MHz
    32
    1M(max)
    125MHz
    LVDS
    200MHz
    -3.7~+1.9V
    M22级触发
    M88级触发
    M512512级触发
    M8、M512带RS232,I2C
    分析
    6900
    M2型号
    12800
    M8型号
    16800
    M512型号
    LA2132/4M
    (有三种型号:)
    LA2132G2/4M
    LA2132G8/4M
    LA2132G512/4M
     
    1GHz
    32
    4M(max)
    125MHz
    LVDS
    200MHz
    -3.7~+1.9V
    G22级触发
    G88级触发
    G512512级触发
    G8、G512带RS232,I2C
    分析
    9980
    G2型号
    14800
    G8型号
    19800
    G512型号
    LA2132P/512K
    200MHz
    32
    可选8M
    75MHz
    -7.2 ~ +6.8
    160\1\x
    时序显示及状态
    26800
    LA2164P/512K
    200MHz
    64
    可选8M
    75MHz
    -7.2 ~ +6.8
    160\1\x
    时序显示及状态
    37800
    LA5240/32K
    200MHz
    40
    64K
    75MHz
    -6.5~ +6.5
    16 0\1\x
    时序显示及状态
    16800
    LA5280/32K
    200MHZ
    80
    64K
    75MHz
    -6.5~ +6.5
    160\1\x
    时序显示及状态
    26800
    LA5540/256K
    500MHz
    40
    512K
    100MHz
    -6.5~ +6.5
    160\1\x
    时序显示及状态
    26800
    LA5580/256K
    500MHz
    80
    512K
    100MHz
    -6.5~ +6.5
    160\1\x
    时序显示及状态
    37800
    LA55160/256K 
    500MHz
    160
    512K
    100MHz
    -6.5~ +6.5
    160\1\x
    时序显示及状态
    78000
     

北京迪阳世纪科技有限责任公司 版权所有 2008-2018 著作权声明

电话:010-62156134 62169728 86761538 13301007825  节假日:13901042484

地址:北京市海淀区北三环西路甲30号双天大厦 319  邮编:100086

Email:sales@pc17.com.cn 1325280760   传真:010-68400238

流量统计  京ICP备05038211号