專業的流量儀表資料網

基于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

    

  

       

   

   


 


無錫求信流量儀表有限公司
技術論文資料平臺提供
以上資料摘錄自《自動化儀表》雜志
電磁流量計 渦街流量計 流量計 蒸汽流量計 渦輪流量計 污水流量計
提醒:轉貼請注明出處

猫 咪app 成 人 抖 音