电子文章 | 电子资料下载 | 家电维修 | 维修资料下载 | 加入收藏 | 全站地图
您现在所在位置:电子爱好者电子文章EDA/PLD基于FPGA的微应变数据采集系统的设计

基于FPGA的微应变数据采集系统的设计

11-20 00:29:17 | http://www.5idzw.com | EDA/PLD | 人气:154
标签:eda技术,eda技术实用教程,http://www.5idzw.com 基于FPGA的微应变数据采集系统的设计,http://www.5idzw.com


  需要采集的实际通道数为 25 个,需用5 位数据标明当前通道值,AD 转换的有效数据 为12 位,而数据线为16 位,只有四位数据可供通道地址使用。为了完整标示当前的通道值, 根据通道值最低位的奇偶性把数据分别储存在FIFO0 和FIFO1 中。这样CPU 从FIFO0 读出 的数据就是偶数通道的采样值,从FIFO1 读出的数据就是奇数通道的采样值。

  4 ARM 程序的编写

  编程软件环境为 CodeWarrior for ARM Developer Suite,编程语言为C 语言。ARM 程序 主要通过和FPGA 的通信,控制FPGA 进行数据采集,适时改变FPGA 的各参数,向FPGA RAM 中写入粗调零,细调零的数据,并从FPGA 读取采样完的数据进行相应的处理。

  5 零点的校准

  FPGA 有两片专门可读写分布式RAM,一片用来储存8 位粗调零的数据,一片储存12 位细调零的数据,各通道的通道号就是调零数据存储在RAM 中的地址。DAC 的数据在通 道转换时,根据当前通道值,从粗调零分布式RAM 中读出,写到DAC 寄存器中,由FPGA 控制DAC 芯片转化成模拟量输出到ADC 芯片的输入端,与输入电压相加实现粗调零。然 后在FPGA 内部把转化得到的12 位数据减去存储在RAM 中的细调零值,所得的数据才是 真正有效的数据。

  为了确定某一路微应变信号的零点,ARM 首先在通道地址写入数值0x7F,使DAC 输 出其可输出电压的中间值,然后启动ADC 芯片开始转换。此时的ADC 芯片工作在数据直 通模式,转换得到的12 位数据不经过数据处理和FIFO,直接由数据总线传送给ARM。ARM 根据读得的转换值,若发现依然是过饱和状态,则加大写入粗调零存储器的数值,直到读得 的ADC 数据为正常数值。DAC 模拟量输出值加ADC 测得的模拟量输入值既是此通道的零 点值。零点确定后,通过FPGA 输出模拟量和FPGA 内部数字量调节的方式,实现了8 位 DAC 芯片对12 位ADC 芯片零点的校准。

  6 结论

  本文介绍了一种基于 FPGA 和ARM 的数据采集系统。FPGA 程序全部采用Verilog-HDL 语言自顶向下模块化编写,在Xilinx ISE 集成开发环境下进行编译和仿真,整个系统和所有 功能模块均可在符合条件的FPGA 产品中应用,具有良好的可移植性。已应用在某机载数 据采集仪中,获得了很好的应用效果。

  本文的创新点在于用 FPGA 芯片通过模拟量调节和数字量调节的方法,用较低的成本 实现了对微应变数据的零点校准,提高了采集的精度。并且ARM 和FPGA 的交互,实现了 可由ARM 在线实时改写和监控FPGA 中的各项采集参数,无需对FPGA 芯片重新下载编程, 大大提高了数据采集系统的灵活性。


上一页  [1] [2] 

,基于FPGA的微应变数据采集系统的设计