張 雄,周艷玲,張子佳,曾張帆
(湖北大學 計算機與信息工程學院,武漢 430062)
基于DE1-SoC的磁性介質顯示系統設計與實現
張 雄,周艷玲,張子佳,曾張帆
(湖北大學 計算機與信息工程學院,武漢 430062)
針對常規平面成像技術表現形式單一,容易視覺疲勞等問題,提出一種新型的基于FPGA/ARM異構雙核控制的磁性介質顯示系統,實現磁性介質的立體動態成像;本系統通過在Altera DE1-SoC的Linux平臺上構建Lighttpd輕量級Web服務器和設計開發功能程序、底層驅動程序、自定義IP核和Verilog邏輯譯碼程序來實現該顯示系統的軟硬件開發;本系統具有網絡設備跨平臺控制能力、磁流體精確控制能力以及多種樣式的漢字和圖案顯示能力;大量實驗表明該系統能夠通過控制磁流體完美的表現出立體書法、繪畫圖案,且系統運行穩定可靠。
DE1-SoC;磁流體;Lighttpd;IP核;顯示原型機
近年來,隨著人們生活水平的進步,對視覺的需求也逐步提高,主要表現在內容上追求豐富多彩和表現形式上希望生動靈活。傳統的顯示技術如液晶屏、LCD、投影等已廣泛應用于商場、教室、會議等社會活動的各個領域與場所,在表現內容上非常豐富,為人們的生活提供了諸多便利。然而,上述技術在表現形式上主要以圖像或者動畫為主,表現風格比較傳統,特別在某些應用場景如國畫,書法方面的表現上不夠生動,難以達到預期的效果。
基于此,本文提出一種新的基于網絡控制的磁性介質顯示系統。通過在Altera DE1-SoC的Linux平臺上構建Lighttpd輕量級Web服務器和設計開發功能程序、底層驅動程序、自定義IP核和Verilog邏輯譯碼程序,實現了跨平臺的適合網絡操作的磁場控制系統。進一步,結合一種經過改良配方的類油墨性磁介質納米[1]材料,成功研制了一種帶顯存的磁性控制顯示平臺。
磁性介質顯示系統總體架構如圖1所示,主要包括3個部分:
(1)磁性介質顯示模塊;
(2)顯示屏驅動模塊;
(3)主控板DE1-SoC。

圖1 磁性介質顯示系統架構圖
磁性介質顯示模塊用來展示最終圖像。在該模塊中,黑色的磁性納米材料作為顯示“墨水”,白色的懸載液作為背景。單元像素點由單點電磁極構成,磁極按照固定的磁場結構緊密排放形成多像素顯示屏。單個電磁極通過其輸入電流的方向和大小來控制磁場,以達到控制單點的磁性材料成像,輸入多位并行顯示數據來控制模塊多像素成像。散熱結構是用來解決多磁極密集工作的功耗熱量問題。
顯示屏驅動模塊是整個系統的硬件中間結構,目的是優化多點像素的控制模式,簡化控制接口,緩存高速顯示數據。其輸出為磁性介質顯示模塊的多位并行顯示數據,輸入為主控板DE1-SoC模塊的串行輸出信號,包括控制信號和顯示數據。該模塊是用硬件實現串行信號中顯示數據的解析,當解析完全部像素的顯示數據后,再輸出至磁性介質顯示模塊。
主控板DE1-SoC模塊為整套系統的軟件提供基礎運行平臺。該模塊硬件部分采用DE1-SOC開發板,其核心模塊為Altera公司研制的CycloneV-SoC-FPGA芯片。該芯片內集成了FPGA邏輯和一套硬核系統(Hard Processor System:HPS)。其中,HPS包括ARM Cortex-A9雙核處理器[10]、固定外設和存儲系統。采用這類HPS+FPGA[3]的系統結構,硬件可以根據需求定制基于AXI總線的用戶外設,包括可擴展IO口、多CPU、定制指令集、硬件加速器等。基于DE1-SOC硬件開發板,設計了一系列軟件基礎平臺與服務,從頂向下包括web服務器平臺、基于DE1-SoC移植的Linux操作系統、Linux應用程序、驅動程序和Verilog邏輯譯碼程序。該模塊的核心是設計控制信號流和各層軟件,從web端輸入的漢字信息、顯示效果、時鐘信息、調時控制等數據,經過中間軟件逐層分析,最后至FPGA的自定義GPIO口,使顯示數據串行輸出到顯示屏驅動模塊。
硬件部分包括磁性介質顯示模塊和顯示屏驅動模塊。
顯示屏驅動模塊實現數據串并轉換,分時加載并行顯示數據、驅動鎖存器、控制外部磁極矩陣,最終實現顯存機制,其內部各子模塊相互之間的信號流如圖2所示。

圖2 硬件模塊信號流圖
如圖2所示,該模塊的擁有4路輸入信號,包括數據信號、幀截止、同步時鐘、數據有效時鐘輔助信號。輸入信號通過譯碼器、鎖存器等子模塊最終轉換為64位磁極矩陣顯示圖案的驅動電平信號。接下來就硬件部分的若干關鍵子模塊:譯碼解析子模塊和磁極矩陣子模塊進行詳細介紹。
2.1 譯碼解析子模塊
譯碼解析模塊用于按3位地址分幀對8位顯示數據進行解析鎖存。該模塊由74HC138與74HC07芯片組成,其輸入為ADDR[2:0]與bigclk_line[7:0]。模塊工作原理如下:
(1)[ADDR]數據進入74HC138芯片進行3-8譯碼轉換,譯碼結果根據采樣脈沖[bigclk_line]觸發輸出。
(2)輸出數據由兩塊74HC04芯片進行電平反向轉換,最終譯碼模塊輸出為高電平有效的脈沖。
64位并行鎖存器的功能是存儲64bit的顯示圖像并將其經過功率驅動模塊并行輸出。該模塊由8個8位74HC573組建的顯存模塊,輸入信號為8位數據(光耦隔離后的Data)與8位地址選通(地址譯碼模塊輸出),輸出信號為64位并行數據。其工作原理原理是Data同時輸入8個74HC573輸入端,每個74HC573根據地址譯碼模塊輸出的脈沖依次順序選通,按次序將Data鎖存到每個74HC573芯片中,完成了圖像的像素點還原并引出全部像素點對應的控制管腳共64個。
功率放大模塊用于放大像素控制管腳的控制功率。該模塊的輸入端包含64個5 V端口、輸出端包含64個30 V端口,其內部結構主要包含8片復合管NLU2804A組成的并行64通道放大電路。
2.2 磁極矩陣子模塊
磁極矩陣模塊主要功能為產生8×8點陣的特定磁場,以驅動磁流體流動成像,其實物如圖3所示。

圖3 8×8點陣磁極
該模塊使用64個定制磁極,按照固定磁場結構緊密排列,通過控制從單個磁極輸入電流的方向和大小來控制磁場。
3.1 整體軟件架構
系統在軟件架構設計方面引入了全可編程(All Programmable)的概念,即軟件可編程和硬件可編程。該架構不僅充分實現了軟件編程開發速度快與硬件實現響應迅速的優點,同時增加了硬、軟件資源配置的靈活性。此外,整體的軟件架構采用分層的設計,模塊化程度高,易于維護和后續的功能擴展。該系統的軟件架構如圖4所示。

圖4 系統軟件架構
軟件架構自頂向下包括Web交互層、Linux驅動層和硬件邏輯層。Web交互層為用戶提供控制界面,同時轉換控制數據給Linux驅動層;Linux驅動層負責將數據傳輸給硬件邏輯層,該層主要為適配操作系統的架構,就不詳細描述;硬件邏輯層主要對接收到的數據進行緩存處理,再串行輸出到底層硬件。接下來就Web交互層和硬件邏輯層詳細描述。
3.2 Web交互層
Web交互層的底層硬件為DE1-SoC開發板,其核心芯片為FPGA和雙核ARMCortex-A9。移植的Linux操作系統為底層軟件基礎,構成系統的基本運行環境。
在Linux操作系統上移植lighttpd輕量級的Web服務器,將Linux腳本語言與CGI程式網頁結合,使得Linux應用C程序能夠接收來自Web端提交的數據,然后解析輸出相應的顯示編碼給硬件邏輯層,最終實現Web遠程的跨平臺控制功能。
Web交互頁面開發主要包含3個模塊:Lighttpd網頁服務器模塊移植、Web頁面模塊開發以及數據交互協議自定義。
Lighttpd服務器是一套開源的網頁服務器,相比同類開源網頁服務器,它僅需要少量的內存及CPU資源即可達到類似的性能。同時該服務器在支持靜態對象(例如,圖片文件)時,Lighttpd響應速度更快,為后續實現更加復雜的web端控制提供可擴展性。
基于DE1-SOC的Lighttpd服務器移植流程包括源碼下載、編譯、修改配置文件等。數據交互通過Linux中的Bash Script來捕捉輸入參數值,然后輸入給Linux C應用程序。此外,為了加強數據交互的可靠性及規范性,該系統同采用了自定義數據交互協議,增加奇偶校驗、隔離碼等安全技術。
Linux應用C程序針對三類不同應用風格設計了3種功能:8×8漢字動態實時顯示、貪吃蛇游戲和5×16時鐘控制。
3.3 硬件邏輯層
磁流體顯示系統的硬件邏輯層部分包括6個模塊,分別為IP核輸入、數據效驗解析、分析存儲、協議解析、串行轉換和GPIO輸出。輸入[0-11]位的IP核掛載在ARM端的內部總線上,可供上層Linux驅動程序寫入數據,使Linux能夠通過地址映射跟Qsys上的硬件邏輯進行交互。數據校驗解析模塊接收Linux應用程序下發的數據,對該數據按照自定義協議進行校驗并解析,保證數據傳輸的可靠性。分析存儲模塊將效驗解析后的數據儲存到一個雙口8×8RAM中,為協議串行轉換模塊提供數據輸入。協議解析模塊和協議串行轉換模塊是將雙口8×8RAM中的數據將8×8的RAM數據按照給定頻率串行輸出至GPIO口,并提供幀數據完結信號和輔助時序信號。
依據上述整體架構與軟硬件技術,已經實現了磁性介質顯示系統。根據系統的功能設計對其進行測試,對8×8和5×16兩種不同尺寸的磁性介質顯示模塊進行整體效果測試,顯示效果如圖5所示,依次為中國字“馬”、“貪食蛇游戲界面”以及“時鐘”。

圖5 磁性介質顯示系統輸出圖案
該系統的測試包括磁性顯示介質測試、硬件電路測試、FPGA編碼邏輯測試以及Web頁面功能控制模塊測試等。
對磁性顯示介質長達5個月的觀察,該材料在常溫下依然具有較好的流動性、聚合性和穩定性且不粘附于器皿壁。
硬件電路測試包括模塊單元測試和整體集成測試。對隔離、解碼、鎖存和驅動等各個模塊分別進行單元測試,其輸入輸出滿足功能需求。在整體集成測試時,模塊間級聯有干擾,后采取在級聯處增添上下拉電阻或濾波電容等方法來消除干擾,最終硬件的整體集成測試達到目標需求。
FPGA編碼邏輯測試是通過對RAM預置數據再用邏輯分析儀對輸出時序進行測試,測試結果如圖6所示。

圖6 FPGA顯存邏輯典型工作時序
第一行mineCLK為數據傳輸心跳時鐘;第二三行為RAM的測試使能時鐘;第四行OUT_CLK_74HC_595為12位數據總線的采樣時鐘,下跳沿時數據有效;第五行output_data_SDA輸出為12位,其中低四位位為地址數據,高八位為顯示數據;第六行Data_out_finsh為單幀數據發送完結標志。取圖12中第二幀數據為例,地址為1h,顯示數據為F0h,輸出數據對應的12位二進制數為1000_0000_1111;對RAM的預置數據和output_data_SDA輸出的時序數據對比分析后,相應地址位對應的數據時序與RAM的預置數據相對應,時序驗證均正確。
Web頁面的功能控制頁面如圖7所示,可以看到,該磁流體顯示系統支持多種輸出風格的網頁控制,例如時間、計時倍率、文字以及圖案等。此外,通過對該頁面反復的輸入實驗,驗證了該網頁控制模塊的功能性和穩定性。

圖7 Web功能控制圖
本文介紹了一種基于Altera DE1-SOC的磁流體顯示系統。該系統突破了傳統基于光學的顯示技術,能夠對各類字形、字體以及圖畫進行黑白動態的展示,顯示內容豐富,展示效果生動。本系統通過web頁面將控制數據準確的傳遞到Linux應用程序,使之調用底層硬件驅動程序將數據傳輸到HPS與FPGA的AXI總線橋,再通過FPGA邏輯數據地址解析傳到硬件顯存,最后通過功率驅動將顯示圖像實時反應到點陣磁極的磁場上,該磁流體顯示系統實現了磁性介質顯示的遠程web頁面控制。這不僅豐富視覺顯示途徑,而且還較好的結合傳統國學的水墨文化,促進傳統文化的發展。
[1] 姜少義, 李偉力, 李 琳,等. 控制器控制方式對永磁電機電磁場影響的研究[J]. 微特電機, 2015, 43(6):20-23.
[2] 周林富. 模擬信號光耦隔離方法及應用分析[J]. 工業儀表與自動化裝置, 1995(3):14-15.
[3] 徐 波. Altera Cyclone V的Linux系統的搭建[J]. 科技資訊, 2014(34):15-15.
[4] 蔣玉萍. 降壓型功率變換器LM2596的原理及應用[A]. 全國電源技術年會[C]. 2001.
[5] 童喬凌, 鄒雪城, 鄭朝霞,等. 電源管理芯片中熱關斷電路的設計[J]. 微電子學與計算機, 2006, 23(11):152-154.
[6] 徐 嚴, 陳 勇. PWM DC-DC變換器中電流限制電路的設計[A]. 四川省電子學會半導體與集成技術專委會2008年度學術年會[C]. 2008.
[7] 周林富. 模擬信號光耦隔離方法及應用分析[J]. 工業儀表與自動化裝置, 1995(3):14-15.
[8] 曾 東, 陳志明. 基于達林頓管陣列的多路數字量輸入電路: CN, CN 202083932 U[P]. 2011.
[9] 翟國富, 崔行磊, 楊文英. 電磁繼電器產品及研究技術發展綜述[J]. 電器與能效管理技術, 2016(2):1-8.
[10] Techcon A. Broadcom licenses ARM Cortex-A9 multiprocessor core[J]. Eetimes Com, 2014.
[11] 劉 揚, 龔育昌, 李 宏,等. 嵌入式系統網絡底層驅動的研究與實現[J]. 計算機工程, 2004, 30(5):111-113.
[12] 邱 鐵. Linux內核API完全參考手冊[M]. 北京:機械工業出版社, 2011.
[13] 王文植. 驅動多FPGA的實時嵌入式操作系統核心技術研究與設計[D]. 北京:北京工業大學, 2012.
[14] 鄭尚志, 陳祖爵, 韓 云,等. Linux中信號量機制研究[J]. 計算機技術與發展, 2007, 17(12):92-95.
[15] 廖裕評,陸瑞強,郭書銘.嵌入式系統設計:ARM-Based FPGA 基礎篇[Z].2014.
Magnetic Media Display System Based on DE1-SoC
Zhang Xiong, Zhou Yanling, Zhang Zijia,Zeng Zhangfan
(College of Hubei University,Wuhan 430062,China)
As a new prototype display system, the system based on DE1-SoC Development Board. DE1-SoC operates an improved magnetic Nano-material through controlling the underlying hardware for the specific content. By transplanting Lighttpd, the lightweight Web server and developing Linux program, Linux driver, a custom IP core and Verilog decoding program, networked mobile devices can control the underlying hardware and display system through crossing platform. The system, combined with magnetic fluid and weight, can display dot matrix of some Chinese characters, perfectly reflecting the charm of Chinese characters.
DE1-SoC;magnetic fluid;IP Core;low level driver;display prototype
2016-12-21;
2017-01-19。
國家自然科學基金(61301144;61601175)。
張 雄(1992-),男,湖北荊州人,研究生,主要從事嵌入式智能系統方向的研究。
周艷玲(1981-),女,湖北廣水人,副教授,博士,主要從事衛星導航接收技術和信號設計方向的研究。
曾張帆(1983-),男,湖北武漢人,副教授,主要從事下一代無線通信系統方向的研究。
1671-4598(2017)03-0184-03
10.16526/j.cnki.11-4762/tp.2017.03.050
TP23
A