专业的流量仪表资料网

基于USB接口的数据采集系统的设计与实现(2)2004年9月

   本系统中采用一种比较独特的PS方式对FPGA进行配置:将FPGA的5个配置管脚DCLK、CONF DONE、nCONFIG、nSTATUS、DATAO分别与USB控制器的5个I/O管脚USB 经过三态缓冲后相连;然后在软件(驱动程序)编程中通过设置AN2135SC芯片内与这5个I/O管脚相关联的I/O口寄存器PORTACFG、OEA、PORTCCFG、OEC来实现FPGA上电时通过PS方式的自动配置的(配置文件采用二进制格式,如rbf格式等),如图4所示。

           图4 FPGA自动配置示意图

   AN2135SC的I/O端口的定义以及配置命令见参考文献[3],FPGA的PS配置方式及相应的时序见参考文献[5]。以下是实现FPGA上电后自动配置功能的部分代码,实践证明,这种自动配置方式具有节约成本、省时、高效的特点。

   Void TD           ∥Called  once  at startup

 

……

PORTACFG=O ;∥ Congigure  PA4 as DCLK out-put  port,PA5  as  CONF DONE in  port

OEA=

;∥         as output port,   as  n   out-put port

;∥ PC4 as Nstatus  input port ,PC5 as DATAO output port

……

OUTC&=0 ;∥      

  ∥                 10   the    are 

                 ∥                   

∣= 08;  ∥Set Nconfig=1;

……

3.4 数据传输通道的实现

   本系统中EN USB芯片工作于快速数据传输模式。在这种模式下,芯片提供的一个8位并行的数据总线可以与外部的FIFO结构相连接。当USB总线开始一次数据传输时,芯片将发出一个读或写通信号。与此信号同步,芯片与外部FIFO每次可以完成一个字节的数据交互。把它和USB总线上的块传输模式相结合,芯片并行总线上就可以实现大数据量的传输。

由于本解决方案是将EPGA输出的数字信号发送到上位机去,因此在数据传输通道中只涉及到了USB总线读的操作。在这种条件下,EP1K30中实现数据传输通道的程序流程图如图5所示。

在图5中,EP1K30在采集到A/D转换器的12位输出数据之后,为把它发送到AN2135SC芯片中,必须首先转换为8位数据,我们将12位数据分层高4位和低8位两部分,分高、低字节两次发送出去。其中高字节的高4位传送12位数据的高4位,低4位填充0。A/D转换器的12位数据分成两个字节后,先传送低字节,后传送高字节,后传送高字节。我们利用EP1K30芯片中的嵌入式阵列块(EAB),借助ALTERA公司提供的双端口RAM宏函数,生成一个2K大小的双端口缓冲器来缓冲数据。

                  图5 数据传输通道程序流程图

每次数据总线读操作的启动均由AN2135SC芯片发送一个读选通信号来实现。AN2135SC芯片发送到EP1K30芯片的读选通信号可以作为上述缓冲器数据输出的同步信号,EP1K30芯片也利用这个选通信号来控制缓冲器的输出地址指针。实现这部分功能的AHDL源代码如下:

  00000000000”then

    

  

       

   

   


 


无锡求信流量仪表有限公司
技术论文资料平台提供
以上资料摘录自《自动化仪表》杂志
电磁流量计 涡街流量计 流量计 蒸汽流量计 涡轮流量计 污水流量计
提醒:转贴请注明出处