《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > ADS8323與高速FIFO接口電路的CPLD實現
ADS8323與高速FIFO接口電路的CPLD實現
摘要: 為了使MCU、AD芯片以及高速FIFO存儲器能夠協調工作,就需要設計好這三者之間的接口電路。本文正是針對這個問題,選用CPLD實現了三者之間的接口電路。
Abstract:
Key words :

  1.引言

  在高速數據采集系統中,AD芯片的工作速度通常是很高的,可以達到幾兆甚至幾十兆,而微控制器MCU的工作速度相對較低,并且其往往具有多個任務,所以不能采用AD轉換一次MCU讀取一次數據的工作方式。因此,需要在AD芯片與MCU之間加入數據緩沖器,以便臨時存儲AD轉換的數據,當數據量到達一定深度后,再由MCU一并取走。數據緩沖器可以有多種選擇,例如RAM、SRAM等等,而FIFO(First In First Out)存儲器憑借其操作簡單、可靠性好等特點,被廣泛的應用于數據采集系統中,成為了連接MCU與AD芯片的橋梁。

  為了使MCU、AD芯片以及高速FIFO存儲器能夠協調工作,就需要設計好這三者之間的接口電路。本文正是針對這個問題,選用CPLD實現了三者之間的接口電路。

  2.芯片介紹

  2.1 模數轉換芯片ADS8323

  ADS8323是TI公司近年推出的一款高性能模數轉換芯片,其主要特點如下:

  (1)高速高精度:16位的AD芯片,其最高采樣速率可達500kSPS;

  (2)低功耗:當處于500kSPS的采樣率時,其功耗也只有85mW;

  (3)并行接口設計:它可以一次性將16位采樣結果輸出,也可8位分兩次輸出。

  ADS8323需要外接時鐘信號,時鐘頻率范圍從25kHZ(1.25kSPS)到10MHZ(500kSPS),其內部的所有動作均與時鐘信號同步。工作過程如下:將/CONVST置成低,即可啟動轉換;在轉換過程中,BUSY始終為高;當轉換結果被鎖存在輸出寄存器之后,BUSY變低,此時便可通過將/RD和/CS信號置低讀取轉換結果。其時序如圖1所示。

時序圖

  2.2 高速FIFO——CY7C4231

  FIFO芯片是一種具有存儲功能的邏輯芯片,它具有兩個特點:數據進出有序,輸出輸入口獨立。其內部的讀指針和寫指針按照先進先出的原則實現數據的存入和讀取。

  CY7C4231是CYPRESS公司推出了一款高速FIFO芯片。芯片的存儲空間是2K×9 bit,讀寫時間最小是10ns。其主要的控制管腳功能如表1所示。

CY7C4231控制管腳功能

  3.接口電路的CPLD實現

  通過上面的介紹,可以大致歸納出接口電路需要實現的主要功能如下:

  (1)將A/D轉換結果存入FIFO,包括AD芯片的轉換過程控制和FIFO的寫入過程控制;

  (2)MCU讀取FIFO中數據,包括FIFO的狀態查詢或著中斷請求、FIFO的讀出過程控制。

  CPLD由于其速度快、體積小、功耗低、編程靈活、可反復修改邏輯等特點,受到了越來越多的關注。而利用EDA工具進行設計、綜合和驗證,加速了設計過程,降低了開發風險,縮短了開發周期,提高了效率。本文采用了Altera公司的QuartusII作為設計工具,以EPM7128系列的CPLD芯片實現了上述的接口電路。其總體設計如圖2所示。

接口電路總體設計

  其中,地址譯碼模塊負責對MCU的地址總線進行譯碼,產生地址選通信號;控制信號模塊負責產生一些總的控制信號,如系統啟動信號CtrlBegin、整個電路的復位信號reset等等;FIFO狀態查詢模塊負責向MCU提供當前FIFO的狀態特征,以便查詢,如半滿、半空、全滿、全空等狀態;中斷申請模塊可根據FIFO的狀態自動產生中斷請求信號。AD轉換控制與FIFO寫控制模塊、FIFO讀控制模塊是整個接口電路的核心單元,下面分別加以介紹。

  3.1 AD轉換控制與FIFO寫控制模塊

  根據ADS8323與FIFO的使用說明,該模塊的工作過程如下:在系統啟動信號CtrlBegin有效之后,啟動AD轉換信號(/CONVST置低);在轉換過程中,將數據緩沖區(由CPLD內部實現的一個16Bit的存儲器)中的前一次轉換結果寫入FIFO中,具體來說,首先使低8位數據使能信號LowOE置高,低8位數據被放到數據總線上,然后產生低8位FIFO的寫時鐘信號FIFO1_WCLK,這樣轉換結果的低8位就被存入低8位FIFO中,按同樣的過程再把轉換結果的高8位存入高8位FIFO中;在轉換結束后(BUSY為低),將AD的讀使能信號/RD置低,于是本次AD的轉換結果被寫入數據緩沖區;完成一次操作之后,再啟動AD轉換信號,開始下一次轉換過程,周而復始,直到系統啟動信號CtrlBegin無效。

  該模塊可由狀態機加以實現。在設計中,我們采用Verilog HDL語言編寫,其仿真波形如圖3所示。

AD轉換控制與FIFO寫控制模塊仿真波形

  3.2 FIFO讀控制模塊

  當FIFO中的數據達到一定深度之后,MCU就需要通過該模塊向FIFO讀取數據。該模塊主要產生四個信號,即低8位FIFO的RCLK和OE(定義為RCLK1和OE1)、高8位FIFO的RCLK和OE(定義為RCLK2和OE2)。以往的設計方案是采用兩個獨立的讀地址分別作為RCLK和OE,這種方式雖然操作簡單,但需要兩個讀周期才能完成一次讀操作,這樣大大降低了工作效率。本文采用一個讀地址作為OE信號,再利用對OE的延時信號作為RCLK信號,這樣只要RCLK信號的產生介于兩次OE之間,就能實現用一個讀周期完成一次讀操作,這樣便大大提高了MCU的工作效率。延時模塊由Verilog HDL語言實現,其代碼如下:

程序

  仿真波形如圖4所示。

RCLK和OE信號仿真波形圖

  4.結束語

  本文采用CPLD實現了AD芯片、高速FIFO存儲器以及MCU之間的接口電路。實驗表明,該電路工作穩定可靠,且通用性強,易于移植到其它數據采集系統中。同時,QuartusII等嵌入式技術的使用,簡化了開發流程,提高了設計效率。目前,該電路已成功應用于某數據采集系統中。

  參考文獻:

  [1] 夏宇聞.Verilog數字系統設計教程[M].北京:北京航空航天大學出版社.

  [2] 王金明,楊吉斌.數字系統設計與Verilog HDL[M].北京:電子工業出版社.

  [3] 周佩玲,吳耿鋒,萬炳奎.16位微型計算機原理、接口及其應用[M].合肥:中國科學技術大學出版社.

  [4] 陳志斌,卓家靖.基于單片機和CPLD的嵌入式脈沖發生器設計[J].微計算機信息,2005,2:107-108.

  本文創新點

  (1)以CPLD作為邏輯控制核心單元,實現AD芯片與高速FIFO之間的接口電路。

  (2)該接口電路具有通用性,只要稍作修改,就能移植到其它AD芯片與高速FIFO的接口設計中。因此,可以廣泛應用于數據采集系統中。

  (3)采用全新的開發工具——QuartusII作為開發環境,簡化了開發流程。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 中文日韩字幕 | 亚洲精品国产福利 | 草草影院视频 | 中文字幕视频免费在线观看 | cao美女视频网站在线观看 | 亚洲专区在线 | 久久精品人人爽人人爽快 | 日本www免费| 国产成人精品免费视频网页大全 | 亚洲第一区精品日韩在线播放 | 久久99国产乱子伦精品免费 | 中文字幕综合在线 | 欧美又粗又硬又大久久久 | 国产成人精品区在线观看 | 真人毛片 | 毛片日韩| 欧美亚洲一区二区三区四 | 99在线观看巨臀大臀视频 | 成人a毛片 | 欧美成人久久久免费播放 | 久久精品国产免费高清 | 成人午夜做爰视频免费看 | 暖暖在线精品日本中文 | 精品99在线观看 | 欧美性猛交xxx免费看人妖 | 久久久国产99久久国产久 | 国产一级不卡毛片 | 性欧美在线 | 久久久毛片免费全部播放 | 成年人黄页 | 黄色成人在线观看 | 超级碰碰碰视频视频在线视频 | 欧美一级特黄特黄毛片 | 91亚洲在线| 日韩欧美成人乱码一在线 | 伊人网在线免费视频 | 成人久久精品一区二区三区 | 亚洲国产精品综合久久 | 国产视频一区二区三区四区 | 两性色午夜视频免费国产 | 成人精品视频一区二区三区 |