深圳市大唐盛世半導體有限公司
手 機:17727572380(程R) 。13008842056(張R)
電 話:0755-83226739
Q Q:626839837。3160836686
微信號:15096137729。13008842056
FAS368M : SCSI接口芯片。公司原裝現貨。
由于高幀頻、大面陣CCD數字相機的圖像數據量非常巨大,存儲流量超過50MBps。而且圖像輸出速率也比較高,所以高速圖像數據的實時記錄是一個不易解決的問題。高幀頻、大面陣CCD相機的數字視頻存儲的一般方案是基于高性能計算機體系結構,把PCI總線的視頻采集卡與高性能IDE硬盤系統或基于PCI-SCSI橋的SCSI存儲硬盤系統結合起來完成任務。這種方案實現起來比較容易,但存在總線瓶頸問題,一次存儲占用兩次PCI總線,而且還受到操作系統和文件系統的限制,因而在實際應用中存儲速度很難突破40MBps。針對這一問題,本文設計出脫離計算機平臺的圖像數據存儲方式,采用FPGA芯片控制時序,運用VHDL語言編程實現微處理器和DMA控制功能,從而協調SCSI協議處理器實現數據的傳輸。FPGA的運用比單獨使用DMA控制器減少了電路板的體積,降低了成本,提高了存儲的速率。
1.1微處理器
微處理器負責對各個模塊進行協調和控制。本系統所設計的專用高速硬盤存儲設備實現數據的持續高速存儲,要求處理數據的速度高,因此采用DSP微處理器。微處理器主要功能如下:
(1)完成與外接數據的傳輸起始、結束控制。
(2)對FPGA進行復位、開始操作。
(3)對FAS466的初始化操作,對傳輸的異常情況進行中斷處理。
(4)對協議控制芯片內部寄存器的讀寫控制,從而控制SCSI總線的命令傳輸和狀態監控。
對SCSI的命令信息進行解釋、執行、管理;對來自SCSI總線的信息狀態進行翻譯、執行、管理。
1.2 DMA控制器
DMA控制器控制數據發送或接收源的數據緩沖器與SCSI協議控制器內部緩沖器之間的數據傳送,這樣通過與協議控制器的DMA接口相協調以控制數據源與SCSI總線間的數據傳送。本設計采用FPGA器件,利用VHDL語言編程實現DMA控制器功能.而不采用專用的DMA控制器,主要考慮以下一些因素:本設計的數據傳輸速率達到50MBps,而一般的專用DMA控制器難以勝任;專用的DMA控制器與SCSI協議控制芯片之間的連接需要大量的邏輯轉換電路和外圍連線,使設計難度加大;使用FPGA器件,除了完成DMA控制功能之外,還可以把電路中的邏輯轉換、系統復位等模塊設計進去,減小了設備的體積,方便了以后對系統的升級和改進。
1.3 SCSI協議處理器(FAS466)
SCSI協議處理器是SCSI總線操作的執行部件,各公司都有專門的SCSI集成電路芯片作為協議控制器,如Qlogic公司的FAS368M、FAS466等。FAS466(Fast Architecture SCSI Processor)處理器是Qloglc公司1999年上市的一種高性能SCSI引擎,它源于Qlogic公司的TEC450/452三重嵌入式控制的鋁系列,可提供Fast40的同步傳輸速率,它的同步數據寬總線傳輸速率可達80MBps;支持先進的SCSI自動配置模式的1層和2層協議;內部嵌有微控制器,能夠通過編程方式靈活地協調SCSI作業隊列.可以工作在啟動或目標模式并支持單端或低電壓差分模式的SCSI連接。
FAS466區別于其他SCSI協議處理器的最大特點是:它采用微處理器和DMA接口結構,而常見的SCSI協議控制器采用PCI接口總線結構。這是本設計采用FAS466的一個主要原因。采用微處理器和DMA接口結構,可以通過DSP對傳輸進行控制,脫離微機平臺,減少傳輸帶寬限制,使數據存儲系統具有非常好的靈活性和可移植性。FAS466由SCSI控制器、微控制器、DMA接口和微處理器接口四個模塊組成。外部微處理器通過微處理器接口對FAS466進行控制,協議控制器接受微處理器的操作指令,如總裁、選擇、失連、復位總線等。SCSI控制器提供靈活、有效的底層SCSI協議控制,微控制器則負責控制數據從DMA接口到SCSI硬盤的傳輸以及各個模塊之間的協調。FAS466的內部結構如圖2所示。
1 系統的硬件結構設計
實現SCSI協議和硬盤存儲,通常需要有微處理器、DMA控制器、SCSI協議控制器、數據緩存器等硬件支持和相應的軟件控制模塊。而本系統。DMA控制通過對FPGA編程來實現。
1.4 數據緩存器
在設備的輸入接口部分,需要有數據緩存單元。數據緩存的目的是為SCSI的高速DMA傳輸做好準備,使兩邊數據傳輸速度匹配。數據的流向一般是一個口進,一個口出,不對信號進行任何處理。普通的存儲器在寫入的同時不能讀取,雙口隨機存儲器RAM雖然也可完成這個任務,但是由于它需要復雜的地址譯碼電路,所以不采用。采用FIFO芯片,可以去掉復雜的緩存器譯碼電路,大大簡化了系統設計。緩存單元在結構上相當于先進先出(First In First Out,FIFO)隊列,即先到的數據先被存儲。本設計中FIFO選用IDT公司的IDT72V2113芯片。
2系統的軟件設計
軟件設計是本系統設計的重點和難點,它負責對相關硬件的控制和協調,最終實現SCSI協議、硬盤的控制和DMA傳輸等。軟件設計分為SCSI控制軟件和DMA控制器的FPGA實現兩部分。下面分別進行討論。
2.1 SCSI控制軟件
一般來說,要完成一次數據交換必須完成SCSI總線的仲裁、選擇、消息、命令、數據和狀態等階段。這些階段,微處理器通過對FAS466寄存器的讀寫控制來實現。
FAS466的寄存器主要有:
(1)命令寄存器:DSP通過向命令寄存器寫入相應指令,控制FAS466完成初始化、復位、總線分配與復位以及SCSI總線各個階段的轉變等功能。
(2)FIFO寄存器:這是一個128字節的雙端口RAM,SCSI硬盤和FAS466之間的數據交換都通過該FIF016字(深)的FIFO寄存器來完成。
(3)傳輸計數寄存器:是一個減法計數器,用于保存一次DMA數據傳輸的字節數。
(4)中斷寄存器:DSP通過FAS466中斷寄存器了解SCSI命令的執行情況,從而決定程序的執行流向。
SCSI控制軟件流程如圖3所示。首先初始化SCSI控制器,然后SCSI控制器與SCSl硬盤建立同步傳輸協議,在硬盤準備好的情況下才可以發送各種SCSI命令,如讀、寫等,同時處理好各種意外情況的發生。
2 DMA控制器的FPGA實現設計
FAS466外部DMA控制器由FPGA實現。FAS466通過DREQ信號有效請求數據傳輸,當DMA控制器檢測到DREQ有效并且外部FIF0非空時,使DACK有效并通知FAS466開始DMA傳輸。DMA控制器的狀態機如圖4所示。
FPGA除了實現FAS466的外部DMA控制器之外,還實現FAS466與外部微處理器的部分邏輯和其他邏輯控制。FPGA內部邏輯功能模塊如圖5所示。
本文在FAST-40 SCSI協議基礎上,對實時高速數字視頻SCSI存儲系統的軟硬件進行了設計。利用FAS466作為SCSI控制器宴現啟動器功能,控制兩塊SCSI硬盤實現直接存儲,充分利用SCSI總線的帶寬,從而大幅度提高了系統的效率。初步建立了較完善實用的直接存儲的結構體系,實現存儲流量達70MBps。為解決大面陣、高幀頻CCD數據實時存儲奠定了良好的基礎。該項技術的解決,將會大力促進在科學研究、軍事技術、尤其在航天、航空偵察及高速數據記錄領域的應用發展