位置:51电子网 » 技术资料 » 接口电路

在NIOS-II系统中A/D数据采集接口的设计

发布时间:2008/6/3 0:00:00 访问次数:347

在fpga系统中,实现对外部a/d数据采集电路的控制接口逻辑,由于其逻辑功能不是很复杂,因此可采用自定义的方式。采用这种方法进行设计有两种途径。①从软件上去实现。这种方案将nios处理器作为一个主控制器,通过编写程序来控制数据转换电路。由于nios处理器的工作频率相对于外部设备来说要高出许多,故此种方法会造成cpu资源极大的浪费;②用fpga 的逻辑资源来实现a/d采集电路的控制逻辑。fpga有着丰富的逻辑资源和接口资源,在其中实现并行的数据采集很少会受到硬件资源的限制,在功能上,设计的接口控制逻辑相当于一个主控制器,它是针对具体的外部电路而实现的,容易满足要求、又能节约资源,提高系统性能。因此,采用硬件逻辑去实现控制将是一种较好的方式。

设计方案

通过对系统需求进行仔细分析,此模块的功能设计可分为数据采集控制逻辑、数据接口、数据处理逻辑三部分,其整体功能框架图
说明:avalon总线主要是用于连接片内处理器与外设,以构成可编程单芯片系统。

功能描述

*数据采集控制逻辑:产生a/d转换需要的控制信号。
*数据接口:提供一个外部a/d采集的数据流向avalon总线的数据通道,主要是完成速度匹配,接口时序转换。
*数据处理单元:此部分主要是提供一些附加功能,如检测外部信号或内部其它单元的工作状态,进行简单信息处理。

设计分析

数据采集控制逻辑

在此以典型的模数转换芯片adc0804为例,进行电路设计,adc0804的数据宽度为8位,数据转换时间最快为100ms,转换时钟信号可以由内部施密特电路和外接rc电路构成的震荡器产生,也可以直接由外部输入,其频率范围:100khz~1460khz。在本设计中adc0804的时钟为最大输入频率。

由adc0804的时序可知,转换过程由一个写信号启动,转换完成后,输出intr信号,此时可以读取数据。之后即可进入下一个转换周期。由adc0804的转换时间可知,其最大采集频率为10khz,只要用户设置的采样频率不超过这个数值,adc0804就可以正常的工作。因此设计时要注意两点:①写信号的频率要低于adc0804的最大转换频率;②在写信号之后至少要有100ms的时延,才能输出读信号。

在此,提出两种方法来实现adc0804的控制信号时序:①主动模式—控制电路启动a/d转换后,在intr信号的作用下,输出读信号,同时从adc0804的数据总线上读入数据,之后输出一个写信号,开始下一次转换。②被动模式—adc0804的读写信号完全由控制电路按照固定的时序产生,与其自身输出无关。

数据接口

相对于avalon总线信号来说,a/d采样的速率非常低,而且,avalon总线的接口信号和adc0804数据输出的接口信号时序不一致。因此,要实现满足要求的数据通道,要做到两点:①数据缓冲,实现速率匹配;②信号隔离,实现接口时序的转换。解决这两点,可以将两端口通过一个异步的fifo连接,该fifo应该是可以在不同的时钟信号下进行异步的读写。这样的一个fifo的实现可以在quartus-ii里面用altera公司提供的fifo core进行定制。在本设计中,定制的fifo模块。

设计实现

其中read、readdata、reset、irq分别与avalon总线相同命名的信号线相连,readclk与avalon总线中clk相连, ad_50与fpga的系统时钟相连,wr_n、rd_n、writedata分别与adc0804的写信号线、读信号线、数据线相连。adc0804控制信号产生单元的实现,采用的是上文提到的被动模式,该单元以固定的时序产生读写信号,本设计使用的采样频率约为3200hz,此频率可以根据用户的需要而设定( 不大于10khz即可)。

当系统加电后,wr_n输出一个有效的写信号启动a/d转换,经过足够的时间后(t=327μs~328μs),输出读信号,此时数据接口单元的写允许信号wr_fifo变为有效,同时外部a/d转换器的读允许信号也变为有效,此后adc0804的数据端口上输出有效数据,在wr_clk的上升沿将a/d转换器的数据读入fifo。控制逻辑单元的时序仿真图如图5。

wr_fifo有效时,adc0804必须在wr_clk的上升沿到来之前在其数据端口输出有效的数据。由于wr_clk的周期为1ms,adc0804的输出锁存由其读引脚rd控制,rd变为有效即可输出有效的数据,故只要adc0804的读信号rd在外部输入的作用下变为有效的时间不超过500ns,读操作就不会出现问题。adc0804的rd信号三态延时最大为200ns,典型值为125ns,因此控制信号产生逻辑单元满足要求。

信息来源:电子产品世界



在fpga系统中,实现对外部a/d数据采集电路的控制接口逻辑,由于其逻辑功能不是很复杂,因此可采用自定义的方式。采用这种方法进行设计有两种途径。①从软件上去实现。这种方案将nios处理器作为一个主控制器,通过编写程序来控制数据转换电路。由于nios处理器的工作频率相对于外部设备来说要高出许多,故此种方法会造成cpu资源极大的浪费;②用fpga 的逻辑资源来实现a/d采集电路的控制逻辑。fpga有着丰富的逻辑资源和接口资源,在其中实现并行的数据采集很少会受到硬件资源的限制,在功能上,设计的接口控制逻辑相当于一个主控制器,它是针对具体的外部电路而实现的,容易满足要求、又能节约资源,提高系统性能。因此,采用硬件逻辑去实现控制将是一种较好的方式。

设计方案

通过对系统需求进行仔细分析,此模块的功能设计可分为数据采集控制逻辑、数据接口、数据处理逻辑三部分,其整体功能框架图
说明:avalon总线主要是用于连接片内处理器与外设,以构成可编程单芯片系统。

功能描述

*数据采集控制逻辑:产生a/d转换需要的控制信号。
*数据接口:提供一个外部a/d采集的数据流向avalon总线的数据通道,主要是完成速度匹配,接口时序转换。
*数据处理单元:此部分主要是提供一些附加功能,如检测外部信号或内部其它单元的工作状态,进行简单信息处理。

设计分析

数据采集控制逻辑

在此以典型的模数转换芯片adc0804为例,进行电路设计,adc0804的数据宽度为8位,数据转换时间最快为100ms,转换时钟信号可以由内部施密特电路和外接rc电路构成的震荡器产生,也可以直接由外部输入,其频率范围:100khz~1460khz。在本设计中adc0804的时钟为最大输入频率。

由adc0804的时序可知,转换过程由一个写信号启动,转换完成后,输出intr信号,此时可以读取数据。之后即可进入下一个转换周期。由adc0804的转换时间可知,其最大采集频率为10khz,只要用户设置的采样频率不超过这个数值,adc0804就可以正常的工作。因此设计时要注意两点:①写信号的频率要低于adc0804的最大转换频率;②在写信号之后至少要有100ms的时延,才能输出读信号。

在此,提出两种方法来实现adc0804的控制信号时序:①主动模式—控制电路启动a/d转换后,在intr信号的作用下,输出读信号,同时从adc0804的数据总线上读入数据,之后输出一个写信号,开始下一次转换。②被动模式—adc0804的读写信号完全由控制电路按照固定的时序产生,与其自身输出无关。

数据接口

相对于avalon总线信号来说,a/d采样的速率非常低,而且,avalon总线的接口信号和adc0804数据输出的接口信号时序不一致。因此,要实现满足要求的数据通道,要做到两点:①数据缓冲,实现速率匹配;②信号隔离,实现接口时序的转换。解决这两点,可以将两端口通过一个异步的fifo连接,该fifo应该是可以在不同的时钟信号下进行异步的读写。这样的一个fifo的实现可以在quartus-ii里面用altera公司提供的fifo core进行定制。在本设计中,定制的fifo模块。

设计实现

其中read、readdata、reset、irq分别与avalon总线相同命名的信号线相连,readclk与avalon总线中clk相连, ad_50与fpga的系统时钟相连,wr_n、rd_n、writedata分别与adc0804的写信号线、读信号线、数据线相连。adc0804控制信号产生单元的实现,采用的是上文提到的被动模式,该单元以固定的时序产生读写信号,本设计使用的采样频率约为3200hz,此频率可以根据用户的需要而设定( 不大于10khz即可)。

当系统加电后,wr_n输出一个有效的写信号启动a/d转换,经过足够的时间后(t=327μs~328μs),输出读信号,此时数据接口单元的写允许信号wr_fifo变为有效,同时外部a/d转换器的读允许信号也变为有效,此后adc0804的数据端口上输出有效数据,在wr_clk的上升沿将a/d转换器的数据读入fifo。控制逻辑单元的时序仿真图如图5。

wr_fifo有效时,adc0804必须在wr_clk的上升沿到来之前在其数据端口输出有效的数据。由于wr_clk的周期为1ms,adc0804的输出锁存由其读引脚rd控制,rd变为有效即可输出有效的数据,故只要adc0804的读信号rd在外部输入的作用下变为有效的时间不超过500ns,读操作就不会出现问题。adc0804的rd信号三态延时最大为200ns,典型值为125ns,因此控制信号产生逻辑单元满足要求。

信息来源:电子产品世界



相关IC型号
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!