<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一種專(zhuān)用高速數據記錄器的設計和實(shí)現

一種專(zhuān)用高速數據記錄器的設計和實(shí)現

作者:齊亞軍 趙鳳軍 時(shí)間:2008-08-04 來(lái)源:無(wú)憂(yōu)電子開(kāi)發(fā)網(wǎng) 收藏

  在持續系統中,數據是一項關(guān)鍵技術(shù)。常規的數據記錄器多采用總線(xiàn)型設計思路。過(guò)去的做法是通過(guò)內存將采集和聯(lián)系起來(lái)。外部采集到的數據經(jīng)由總線(xiàn)送入系統內存,然后再由主機把數據寫(xiě)入磁介質(zhì)存儲器。由于數據兩次經(jīng)由總線(xiàn)進(jìn)出內存,總線(xiàn)效率降低一半,速度也降低很多。

  隨著(zhù)對總線(xiàn)和總線(xiàn)接口協(xié)議以及計算機系統結構的了解愈加深入,現在多采用映射內存及總線(xiàn)主控技術(shù),使適配器對PCI采集設備直接進(jìn)行訪(fǎng)問(wèn)。由于避開(kāi)了系統內存這一環(huán)節,速度得到了很大的提高。

  一種常規的做法是在微機系統加一塊PCI-接口卡,使數據通過(guò)高速PCI接口,由SCSI總線(xiàn)處理器將高速數據寫(xiě)入SCSI硬盤(pán)。其缺點(diǎn)在于數據速度受到PCI帶寬的限制,而且由于對微機系統的依賴(lài),系統難以實(shí)現模塊化設計。

  本文提出了一種專(zhuān)用的高速數據記錄系統設計。設計脫離了微機系統,由控制將高速數據實(shí)時(shí)持續的寫(xiě)入SCSI硬盤(pán),在存儲容量和傳輸速度等方面都具有很大的優(yōu)勢。此外,設備還支持數據的高速回寫(xiě)。

本文引用地址:http://dyxdggzs.com/article/86568.htm

  1.    SCSI總線(xiàn)和硬盤(pán)

  SCSI是英文Small Computer System Interface的縮寫(xiě),譯為小型計算機系統接口。SCSI是美國ANSI9.2委員會(huì )定義的計算機和外設之間的接口標準。本系統采用SCSI硬盤(pán),因為SCSI接口本身具有很多優(yōu)點(diǎn):(1)SCSI提供了一個(gè)高速傳輸通道,目前Ultra320 SCSI總線(xiàn)數據傳輸速度可以達到320MB/s,雖然在實(shí)際應用中達不到這個(gè)理論值,但百兆比特的數據傳輸速度完全可以達到;(2)由于有專(zhuān)門(mén)的SCSI協(xié)議控制器和內嵌的處理器處理SCSI信號和數據傳輸,因此SCSI設備對CPU占用率低。此外還支持多任務(wù)工作模式;(3)SCSI總線(xiàn)占用系統資源少,還可以同時(shí)串接多臺不同設備,最多時(shí)可達15個(gè);(4)SCSI硬盤(pán)在標識硬盤(pán)扇區時(shí)使用了線(xiàn)形的概念,即硬盤(pán)只有順序的第1扇區、第2扇區,第n扇區,不像IDE硬盤(pán)的“柱面/磁頭/扇區”三維格局。這種線(xiàn)形編排方式的優(yōu)點(diǎn)是訪(fǎng)問(wèn)時(shí)間小,可以有效地加快磁盤(pán)存取速度,尤其在持續大容量數據存儲時(shí),優(yōu)勢更為明顯。此外,通過(guò)掛接多個(gè)硬盤(pán)組成磁盤(pán)陣列可以大大地增加數據的存儲容量。

  2.    系統結構設計

    整個(gè)系統的設計結構[1]框圖如圖1所示,主要包括以下幾部分:高速數據源(不在本文設計中)、光電轉換和串并轉換單元、高速大容量的數據緩存、微處理器、控制器、SCSI協(xié)議處理器以及高速SCSI硬盤(pán)。下面逐一介紹。

  2.1 光電轉換和串并轉換單元

  系統的高速數據源為光接口,記錄器接收到光信號后,首先經(jīng)過(guò)光電轉換變?yōu)榇械碾娦盘?,再?jīng)過(guò)串并轉換變?yōu)?6位的并行數據。

  采用光接口的主要原因在于:光纖通道(Fibre Channel) 是一種高性能的串行數據接口,支持SCSI、ATM等上層數據傳輸協(xié)議,具有可靠性高、速度快和傳輸距離遠的特點(diǎn),特別適合高速大容量的信息傳輸。

  2.2 高速大容量的數據緩存


圖1:高速數據記錄器結構框圖

 
   數據緩存的主要作用在于實(shí)現速度匹配,為高速傳輸做好準備。

  普通的SRAM存儲器只有一套數據、地址和控制總線(xiàn),無(wú)法同時(shí)進(jìn)行讀寫(xiě)操作。雙口RAM有兩套數據、地址和控制總線(xiàn),可以同時(shí)進(jìn)行讀寫(xiě)操作。但其編譯碼電路復雜,而且價(jià)格相對較高。由于我們對數據不進(jìn)行任何處理,只是單純的數據存儲,緩存單元在結構上相當于一個(gè)先入先出(FIFO: First In First Out),先到的數據先被存儲。設計中,我們利用現場(chǎng)可編程門(mén)陣列(FPGA:Field Programmable Gate Array)實(shí)現一個(gè)高速FIFO,省去了復雜的編譯碼電路,大大簡(jiǎn)化了系統設計。而且,從外部數據接口看來(lái),設備就是一個(gè)寫(xiě)不滿(mǎn)的FIFO,也大大簡(jiǎn)化了對設備數據接口的操作。

  2.3 微處理器

  用來(lái)控制設備中各部分的工作,實(shí)現設備的特定功能。高速數據記錄器主要實(shí)現數據持續高速存儲,對數據處理的速度要求較高。通常采用數字信號處理器(:Digital Signal Processing)作為微處理器。

  2.4 控制器

  設計中,為保證大量數據的高速持續傳輸,采用直接存儲器訪(fǎng)問(wèn)(DMA:Direct Memory Access)方式,因此需要DMA控制器單元。為了簡(jiǎn)化電路,提高效率,設備采用FPGA構造一個(gè)單獨的DMA控制器。

  2.5 SCSI協(xié)議處理器

  無(wú)論還是FPGA,通常都不會(huì )集成SCSI協(xié)議控制器。因此我們用專(zhuān)門(mén)的SCSI協(xié)議控制器來(lái)實(shí)現SCSI協(xié)議,輔助DSP來(lái)實(shí)現SCSI協(xié)議和通信。

  2.6 SCSI硬盤(pán)

  采用SCSI硬盤(pán)可以實(shí)現數據高速存儲,而且通過(guò)增加磁盤(pán)數目可以很方便的擴展存儲容量。

  3.    硬件電路的實(shí)現

  前面我們已經(jīng)逐一介紹了系統各部分的功能,下面我們介紹一下高速數據記錄器的硬件電路的實(shí)現。

  由于設備采用光接口,當高速數據流進(jìn)入設備后,首先我們需要進(jìn)行光電轉換和串并轉換。光電轉換可以通過(guò)專(zhuān)門(mén)的光電轉換芯片實(shí)現,而串并轉換我們利用某些FPGA內嵌的收發(fā)器模塊(Transceiver)來(lái)實(shí)現。這樣做既可以保證數據的高速傳輸,又可以有效地保證時(shí)鐘同步,實(shí)現字對齊,可靠性高。

  高速數據緩存通常采用專(zhuān)用FIFO,但價(jià)格較高。我們利用FPGA來(lái)實(shí)現一個(gè)大容量的FIFO,即簡(jiǎn)化了系統,又提高了效率。前面已經(jīng)介紹過(guò)專(zhuān)用的DMA控制器連接電路復雜,我們用FPGA來(lái)設計一個(gè)單獨的DMA控制器同樣可以簡(jiǎn)化電路,提高效率。

  設計中,串并轉換單元、高速數據緩存和DMA控制器都利用FPGA編程實(shí)現(如圖1虛線(xiàn)所示)。用高度集成的FPGA取代分立元件進(jìn)行高速數據傳輸設計是本文的一個(gè)重要特點(diǎn)。

  微處理器我們采用德克薩斯儀器(TI:Texas Instruments)公司生產(chǎn)的數字信號處理器MS320F206;SCSI協(xié)議控制器則選用Qlogic公司的FAS660。

  下面我們對SCSI協(xié)議控制器FAS660[3]做進(jìn)一步的介紹。

  FAS660是Qlogic公司推出的一款高性能SCSI引擎,它源于Qlogic公司的TEC485三重嵌入式控制器系列??商峁〧ast-160的同步傳輸速率,支持先進(jìn)的SCSI自動(dòng)配置模式SCAM的1層和2層協(xié)議。內部嵌有微控制器,能夠用編程的方法靈活的協(xié)調SCSI作業(yè)隊列。FAS660和主流SCSI接口芯片最大的區別在于:主流SCSI接口芯片采用的是PCI總線(xiàn)接口,而FAS660采用的是微處理器和DMA接口的結構。這使得FAS660更為靈活,可以根據需要進(jìn)行多種接口設計,尤其適合應用在一些專(zhuān)用SCSI總線(xiàn)控制場(chǎng)合。

  4.    系統的軟件設計

  在硬件設計的基礎上,還需要軟件模塊

  負責對相關(guān)硬件進(jìn)行控制和協(xié)調,最終實(shí)現SCSI協(xié)議、硬盤(pán)的控制和DMA傳輸等。軟件模塊的設計是本系統的難點(diǎn)和重點(diǎn)。本系統中,軟件設計主要分為兩部分:DSP控制軟件和FPGA實(shí)現的DMA控制器,此外還有FPGA實(shí)現的串并轉換和高速FIFO。程序的優(yōu)劣關(guān)系到整個(gè)系統數據存儲的性能,下面分別進(jìn)行討論。

  4.1 FPGA設計

  FPGA設計主要包括異步收發(fā)器模塊、高速異步FIFO緩沖模塊、DMA控制器模塊以及時(shí)鐘生成模塊。FPGA作為設計中的重要一部分,用來(lái)實(shí)現數據傳輸的準備(包括串并轉換、高速緩沖以及加入奇偶校驗、CRC校驗)和對讀寫(xiě)邏輯的控制。


圖2 DMA控制器狀態(tài)機

  DMA控制器是FPGA設計的主要工作。我們通過(guò)DMA控制器,實(shí)現傳輸數據的控制邏輯,同時(shí)對前端傳來(lái)的數據(沒(méi)有任何保護)加以保護(通常指奇偶校驗保護和CRC校驗保護)。它的控制邏輯相當簡(jiǎn)單。當FAS660發(fā)送數據傳輸請求(聲明DREQ),如果FIFO非空,則經(jīng)過(guò)延時(shí)后,開(kāi)始數據傳輸(聲明DACK)。FAS660的讀寫(xiě)操作非常相似,但也有一些差別。讀操作在DACK有效后的第二個(gè)DMA時(shí)鐘周期開(kāi)始傳輸,而寫(xiě)操作在DACK有效后的第一個(gè)DMA時(shí)鐘周期開(kāi)始傳輸。在FPGA設計的內部邏輯時(shí)尤其需要注意。

  Altera公司為StratixGX系列FPGA提供了gxb(吉比特收發(fā)器) 、fifo(先入先出)、pll(鎖相環(huán))等MEGAFUCTION,通過(guò)對它們進(jìn)行例化可以很方便地實(shí)現高速收發(fā)器,高速FIFO和時(shí)鐘生成等模塊。

  4.2 DSP控制軟件

  基于FAS660的系統可以通過(guò)DSP微處理器和FAS660(內部有單獨的微控制器和SCSI控制器用來(lái)實(shí)現SCSI協(xié)議)的協(xié)調工作來(lái)實(shí)現系統功能。一般來(lái)說(shuō),要完成一次數據交換必須完成SCSI總線(xiàn)的仲裁、選擇、消息、命令、數據和狀態(tài)等階段,這些階段通過(guò)為處理器TMS320F206對FAS660寄存器[4]的讀寫(xiě)命令來(lái)實(shí)現。

  SCSI控制軟件流程如圖3所示。首先初始化設備,然后建立同步傳輸協(xié)議,檢測硬盤(pán)。硬盤(pán)準備好后就可以進(jìn)行數據傳輸。


圖3 DSP控制軟件流程

  5.    結束語(yǔ)

  本文介紹了一種光接口的專(zhuān)用高速數據記錄器的設計。它脫離了微機平臺,用DSP微處理器做控制,用專(zhuān)門(mén)的SCSI總線(xiàn)控制器處理SCSI總線(xiàn)信號,并建立了一個(gè)高速DMA通道,將數據高速持續的存儲到SCSI磁盤(pán)陣列中。設計速度高,容量大,可移植性好,可以靈活應用到各種系統中。

  本文作者創(chuàng )新點(diǎn):

  1.專(zhuān)用型記錄器的設計思路,避免了總線(xiàn)帶寬限制,可以達到更高的傳輸速度。

  2.用DSP做為本地CPU,控制整個(gè)系統,脫離了微機系統,實(shí)現了模塊化設計。

  3.用高度集成的FPGA取代了多個(gè)分立元件(FIFO,串并轉換,DMA控制器)。

  4.源端數據采用光接口傳輸,可靠性高,速度快。

  參考文獻:

  [1]姜鳳山,雷宏. 一種基于FAS466的合成孔徑雷達高速數據記錄器的設計.電子技術(shù)應用,2004.6。

  [2]何蘇勤,王忠勇.TMS320C2000系列DSP原理及實(shí)用技術(shù).北京:電子工業(yè)出版社,2003.9。

  [3]Qlogic Corporation.FAS660 fast architecture SCSI processor technical manual,2002.7。

  [4]Qlogic Corporation.FAS660 Fast Architecture SCSI Processor Designer’Guide,2003.1。

  [5]吳志祥,汪波,基于ISCSI的存儲系統實(shí)現方法. 微計算機信息,2006,3-3。

合成孔徑雷達相關(guān)文章:合成孔徑雷達原理


關(guān)鍵詞: 數據采集 存儲 PCI SCSI DMA DSP

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>