楊 飛,王安梅
(許昌學院 電氣信息工程學院,河南 許昌 461500)
體全息存儲系統的設計
楊 飛,王安梅
(許昌學院 電氣信息工程學院,河南 許昌 461500)
體全息存儲技術以其存儲密度和數據讀出率高及相關內容尋址等特點而具有廣闊的應用前景.本文從硬件和軟件兩方面著手,設計并實現了一套體全息數據存儲控制系統.采用雙頭顯卡,雙顯示器和視頻分配器實現對空間光調制器(SLM)的控制,以面向對象的程序設計語言C++為工具,大量采用開源程序庫及類庫實現了編碼解碼以及對硬件的控制操作.本系統緊湊協調,能夠實現存儲和讀取的自動化.
體全息數據存儲;空間光調制器;編碼解碼
體全息存儲具有存儲密度高、并行傳輸、冗余度高、尋址速度快和具有關聯尋址功能等諸多優點,是光信息存儲最重要的研究領域之一.為了降低其誤碼率,人們將通信理論中的糾錯碼、調制碼等技術移植到體全息數據存儲中[1],極大地改善了這一技術的系統性能.
在體全息存儲系統中,用空間光調制器來加載編碼后的圖像,用CCD攝像機來讀取存儲在光折變介質中的信息,用電控位移平臺或聲光調制器(AOD)等設備來實現角度復用,用電子快門來控制物光和參考光的通斷.所有這些的實現都必須靠包括軟件和硬件在內的一套控制系統來實現.
體全息存儲采用光路圖如圖1所示.在體全息存儲系統中,用空間光調制器來加載編碼后的圖像,用C C D攝像機來讀取存儲在光折變介質中的信息,用電控位移平臺或聲光調制器(AOD)等設備來實現角度復用,用電子快門來控制物光和參考光的通斷.所有這些的實現都必須靠包括軟件和硬件在內的一套控制系統來實現.

圖1 體全息存儲實驗光路圖
糾錯編碼是在原始數據流后按照一定的算法加上一些校驗位來保證數據流的正確性.本系統采用糾錯能力極強的Reed-Solomon編碼[2].本設計采用6:8平衡調制碼.6:8平衡調制碼是體全息存儲中一種非常有效的平衡調制編碼.它是將6位信息數據映射到8位平衡碼中,即編碼后的碼字中含有4個0和4個1.4個0和4個1的不同組合數為70(在8個位置中選4個位置放入1,其余的放入0,即C48=70),而6位數據的信息量為26=64,所以映射是沒有問題的,而且還有6個碼字閑置.具體操作是我們預先編制一個編碼表和一個譯碼表.編碼和譯碼分別通過查編碼表和譯碼表來實現.
本設計利用光學全息技術進行存儲,需要將信息編碼成圖像,這樣信息才能被加載到物光波中.本設計采用空間光調制器(SLM)完成圖像加載功能.為了控制圖像的加載,本設計采用雙頭顯卡,雙顯示器,再加上視頻分配器來解決這個問題.雙頭顯卡的一個輸出口接在主顯示器上,另一個輸出口接在視頻分配器上,視頻分配器分出來的兩個VGA接口一個接從顯示器,另一個接SLM,這樣從顯示器上的內容和SLM上的內容完全一樣.
在體全息存儲讀取過程中需要用CCD攝像機來采集存儲在光折變介質中的信息圖像.該攝像機提供有IEEE 1394接口,該接口它支持熱插拔,數據傳輸速率快,是一種純數字接口(無需數模轉換).DH-HV 1300FM攝像機符合IIDC規范,能提供了一套完整的應用程序接口對這類攝像機進行控制.
電子快門用來控制物光和參考光的通斷,以實現存儲和讀取的自動化.它主要包括機械部分、電路部分以及軟件部分.電路以ATMEL公司的單片機芯片AT 89C 51為核心,主要包括兩部分:一是和PC機通信部分,另一是驅動電磁繼電器控制快門開合部分.由于單片機I/O口的驅動能力有限,不能直接驅動電磁繼電器,所以先用單片機的I/O口來驅動8050三極管,然后由此三極管來驅動繼電器.電子快門串連在繼電器的常開開關上,繼電器斷電時,常開開關是斷開的,當繼電器上電時,常開開關閉合,電子快門打開.可以用軟件定時來控制快門打開關閉的時間.
在全息存儲過程中,數據首先經Reed-Solomon糾錯編碼,然后進行6:8平衡調制編碼,之后將編碼后的數據以圖像形式影射到SLM上,調整參考光角度,打開物光和參考光束進行存儲,存儲完此幅信息圖像后關閉物光和參考光,查詢是否完成全部數據存儲,如未完成,重復上述過程.若已完成,結束存儲.如圖2所示.

圖2 存儲過程流程圖
全息讀出與存儲相反的過程,在讀出過程中僅需要參考光,物光始終是關閉的.讀出時,首先確定參考光的角度,之后就可以觸發CCD攝像機進行讀取,讀取后經調制解碼,Reed-Solomom糾錯解碼還原為原始數據.接下來查詢是否讀取完想要的數據,若未完重復上述過程,若完成結束讀取.如圖3所示.
按照前面設計的方法,我們對存儲介質進行了存儲和讀取,效果如圖4所示.
本設計從軟件和硬件兩方面入手,設計并實現了一套能夠自動存儲和讀取的控制系統.系統緊湊協調,易于編程實現各個單元部件間的協調工作.

圖3 讀取過程流程圖

圖4 讀取的效果圖
通過本設計方案能很好的完成信息的記錄和讀取,但存儲過程中存在幾種噪聲嚴重影響信息的存儲和讀出的質量.主要有像差,存儲晶體噪聲,探測器的電噪聲.要提高存儲的質量就必須從光路的設計、晶體的光學質量和探測器的性能等幾個方面共同提高.
〔1〕J.Ashley,M.-P.Bernal,G.W.Burr et al.Holographic Data Storage[J].IBM J.Res.Develop.,2000,44(3):341-368.
〔2〕M.-P.Bernal,G.W.Burr,H.Coufal et al.Balancing InterpixelCrosstalk and DetectorNoiseto Optimize Areal Density in olographic Storage Systems[J].Appl. Opt.1998,37:5377–5385.
TP391
A
1673-260X(2010)08-0037-02