3 多通道同步数据的采集
在执行多通道同步数据采集时,其电路如图2所示。其主要工作流程:多路模拟信号经运放调理电路后进入采样保持器。在每个周期的开始,FPGA通过编程输出脉冲至采样保持器(AD781)和模拟电子开关(ADG706),也就是使用采样保持器的S/H控制信号进行多路同步采样(S/H=1)和保持(S/H=0),同时控制模拟开关的A0~A3 4个选通信号,来选通相应通道。选通后的信号同时由FPGA的控制进入A/D转换器(ADS8401)采集单路16 bit量化,最后将采集到的数据写到外部FIFO缓存器中。也就是说,FPGA通过编程定时逻辑送出脉冲至采样保持器对模拟输入采样,然后选择一个通道的模拟输入,完成A/D转换。总之FPGA提供采样保持、多路选通和A/D转换电路模块所需的各种状态和控制时序逻辑。
多通道同步数据采集模块的程序主要采用Verilog HDL语言,Verilog HDL是用于逻辑设计的硬件描述语言,并且已成为IEEE标准。FPGA重点控制Verilog HDL程序算法的实现。程序主要包括采样率计数循环控制、各路模拟开关选通的设计,帧计数以及帧标志的循环控制。采样保持器采样保持一次,经模拟开关计数循环控制,模拟开关依次选通。选通后的单路信号进行A/D转换,转换后的数据写入外部FIFO中。考虑到事后数据处理等问题,所采集的数据以一定的帧格式写入FIFO中,每一帧数据有帧计数和帧标志。每一帧的长度以及帧标志的选择,可以根据需要灵活选定。
4 多通道同步数据的存储
根据系统要求,需采用SUMSUNG公司的K9K8G08U0M型Flash作为存储器。由于1 G的Flash出厂时带有一些初始化无效块(包含一个或多个坏位的存储块),它被定义为包含一个或多个无效位的存储块,制造商不能保证这些无效块具有可靠性。由于NAND型Flash存储容量较大,难免在使用过程中出现存储单元的损坏。为保证写入数据的可靠性,为系统提供真实准确的参数,该系统存储模块采用的关键技术是Flash的坏块检测技术。系统上电后,FPGA主控模块首先对Flash进行擦除操作。在擦除过程中,对每块坏块标志位进行检测,对使用过程中又出现的坏块进行标识,以便以后使用。擦除模块具体程序流程如图3所示。