引言
传统的逻辑分析仪体积庞大、价格昂贵、通道数目有限,并且在数据采集、传输、存储、显示等方面存在诸多限制,在很大程度上影响了其在实际中的应用。选用高性能的FPGA芯片进行数据处理,充分利用PC的强大处理功能,配合LabView图形化语言开发的虚拟逻辑分析仪,其数据处理和传输速率大大提高,适用性极大增强,其显示、操作界面和低廉的成本较之传统的逻辑分析仪具有极大的优势和发展前景。
工作原理
本设计选用Altera公司的Cyclone系列FPGA器件EP1C3进行数据采集和处理,外接SRAM,用于数据的存储。系统通过高性能的PIC单片机PIC18F6620完成与PC的通信,接收PC发出的触发、配置信息并控制系统将采集处理后的数据上传至PC显示。单片机与PC的接口利用符合USB2.0规范的接口芯片CP2102实现。
首先,PC向FPGA发送触发字信息、数据采集控制信息和开启数据采集信号;单片机发送数据至外接DAC产生门限电压;采集到的输入信号通过高速比较器与此门限电压进行比较,以确定其值为0或1。接收到PC发出的开启数据采集信号后,FPGA按设定的工作方
式采集数据,各通道数据移位输入FPGA内部缓存并存入外部SRAM。FPGA将缓存中存储的采集数据与设定的触发字、触发方式和屏蔽位进行比较。一旦符合触发条件,则设置触发标志,记录触发位置。当数据采集至设定的点数后,FPGA向PC发送采集完成信号。上位机接收到此信号后,发送读取数据命令,系统读回采集数据并在PC屏上显示。系统功能框图如图1所示。
图1 系统功能框图
系统触发模块设计
触发模块是整个系统的核心部分,主要包括采样时钟选择模块、触发电平设置和触发电路三个部分。
采样时钟选择模块
时钟选择模块用于选择采样频率。可供选择的时钟源包括:外部时钟(由有源晶振提供)、单片机PWM模块产生的PWM时钟、外部时钟输入(由额外的设备提供)、以第N路数字信号输入作为采样时钟。
触发电平设置
触发电平用来确定系统正确识别采样信号的高低电平。该模块由串行数模转换器TLC5615和高速比较器LT1721构成。采样开始前,单片机向DAC发送触发电平数据,转换后的电平信号(范围从0~+5V)送入高速比较器。