0 引言
數(shù)碼相框是時尚的電子消費品,,也是家庭必備的裝飾品,,是一種以存儲、回放和瀏覽數(shù)碼照片為核心功能的電子產(chǎn)品,。目前,,市場上數(shù)碼相框大多是以單芯片為解決方案,,以ESS/AML0GIC/MPX芯片設(shè)計為代表,,就其設(shè)計流程而言,不存在嚴格意義上的硬件設(shè)計而只有軟件設(shè)計,。硬件系統(tǒng)的核心器件是現(xiàn)成的,,功能是確定的,結(jié)構(gòu)是固定的,,指令系統(tǒng)是不可更改的,,從而導(dǎo)致硬件組織方案和連接方案是限定的。因此,,要想對系統(tǒng)功能有大的升級或擴展,,靠簡單的固件升級是不行的,必須采用更好的核心器件,,設(shè)計全新的硬件系統(tǒng),。
本文采用了基于NiosⅡ軟核處理器的SOPC技術(shù)來實現(xiàn)數(shù)碼相框的設(shè)計,從根本上改變了傳統(tǒng)設(shè)計方案的不足,。NiosⅡ軟核嵌入式處理器是Altera公司提供的SOPC解決方案,。NiosⅡ是一種可配置的16/32位RISC處理器,它結(jié)合豐富的外設(shè),、專用指令和硬件加速單元可以低成本地提供極度靈活和功能強大的SOPC系統(tǒng),,開發(fā)者可以根據(jù)實際需要自行整合。SOPC技術(shù)在電子設(shè)計上給出了一種同時涉及底層的硬件系統(tǒng)設(shè)計和相應(yīng)的軟件設(shè)計,,在系統(tǒng)優(yōu)化方面有了前所未有的自由度,,使得從多角度,、多因素和多結(jié)構(gòu)層面上大幅度優(yōu)化自己的設(shè)計成為可能。當電路有少量改動時,,更凸現(xiàn)出其優(yōu)勢,,可以延長該產(chǎn)品在市場上的壽命,大大提高多功能數(shù)碼相框的性能,。
1 系統(tǒng)總體架構(gòu)設(shè)計及系統(tǒng)硬件設(shè)計
基于NiosⅡ的SOPC嵌入式系統(tǒng)開發(fā),,主要由三部分組成:IP庫(Nios軟核處理器,Avalon總線,,外圍設(shè)備接口等),,SOPC Builder開發(fā)工具,CNUPro軟件編譯器,。另外,,使用NiosⅡ進行嵌入式設(shè)計在硬件上必須使用Altera公司的FPGA,本文中的設(shè)計使用的是Altera的Cyclone系列芯片的EPlCl2Q240C8芯片,。
多功能數(shù)碼相框主要實現(xiàn)以下功能:能清晰地顯示JPEG圖片的自動播放及其縮略圖式瀏覽,;多區(qū)播放或者畫中畫多種顯示方式;圖片的即時編輯與裁剪(旋轉(zhuǎn),、美化),;具有出色的視聽娛樂功能,能播放MP3,、MP4音頻文件,,實時字幕滾動疊加;文件和文件的瀏覽及其對USB接口和SD卡的支持,;多種附加功能時鐘,,萬年歷等。
數(shù)碼相框從CPU的總體結(jié)構(gòu)到局部功能的實現(xiàn)上需要有時鐘電路,,CPU,,RAM及RAM控制器,F(xiàn)LASH及FLASH控制器,,SD卡及SD卡控制電路,,
USB接口及USB接口控制器,液晶屏及液晶顯示器驅(qū)動電路,,DMA控制器,,音頻驅(qū)動及音頻控制電路,定時器模塊,,系統(tǒng)硬件結(jié)構(gòu)圖如1所示,。
整個設(shè)計采用自上而下的設(shè)計方法,在SOPCBuilder中搭建系統(tǒng)硬件模塊,,將所需的各功能模塊通過Avalon總線集成,,這樣系統(tǒng)的穩(wěn)定性更高,。除顯示驅(qū)動模塊、音頻控制模塊和SD卡控制模塊,、USB接口控制模塊外,,其他模塊都可以從SOPC Builder中添加IP核構(gòu)建。
2 LED背光設(shè)計
LCD面板是數(shù)碼相框的主要組成部分,,它帶有用于背光照明的白光LED,,LM27313已被大量用于白光LED BLU解決方案。圖2顯示了用于8英寸數(shù)碼相框LCD的白光LED背光電路,。
在設(shè)計LED背光驅(qū)動電路時,,LED是電流驅(qū)動型器件,為保證光照強度并提高LED的使用壽命,,最重要的問題是在LED正向偏置時保持恒流,。由于大多數(shù) LED模塊是通過一個連接器與主板相連的,LM27313在輸出時會因誤操作或LED模塊受損而開路,,誤差放大器的負輸入端沒有信號,,輸出電壓將會無限制地上升,這將造成毀滅性后果,,損壞LM27313或輸出二極管,。為解決這一問題,在圖2中加入了一個過電壓保護電路,。在圖2中,,電阻器R1和R2通過向誤差放大器引腳(FB)饋送輸出電壓,,確保恒定輸出電壓不會無限上升,。
調(diào)光控制是指根據(jù)客戶的喜好控制顯示器光照強度??梢酝ㄟ^開/關(guān) LM27313來控制LED的開關(guān),,而對LM27313的開關(guān)控制可通過在SHDN引腳上應(yīng)用脈沖寬度調(diào)制(PWM)得以實現(xiàn)。脈沖頻率必須超過20 kHz,,低于20 kHz的頻率會使電路輸出端的多層陶瓷電容器產(chǎn)生波形振蕩,,從而產(chǎn)生可聽噪聲。
3 LCD典型電源偏置電路設(shè)計
面向LCD平板電源的DC/DC轉(zhuǎn)換中采用了美國國家半導(dǎo)體擁有的最佳的電源解決方案LM2622,。在用于數(shù)碼相框的典型LCD平板顯示器中,,輸入電源電壓約為+5.O V。必須提供若干不同的電壓,,以使顯示面板通過該輸入電壓實現(xiàn)最佳性能,,通常情況下需用到升壓轉(zhuǎn)換器??梢岳肔M2622在+5.0 V輸入電壓下提供若干不同的輸出電壓,。圖3中的電路顯示了應(yīng)如何配置LM2622,,以提供+8 V,-8 V和+23 V的輸出電壓,,這對于偏置TFT顯示器而言是非常方便的,。
4 USB接口模塊設(shè)計
隨著通用串行總線(USB)技術(shù)的飛速發(fā)展和應(yīng)用領(lǐng)域不斷擴大,已經(jīng)實現(xiàn)了脫離PC而實現(xiàn)USB的點對點的數(shù)據(jù)傳輸,,嵌入式USB主機能夠脫離PC完成 USB的點對點的數(shù)據(jù)傳輸,。本系統(tǒng)采用的是NiosⅡ+USB接口芯片的方案,USB串行接口可以作為NiosⅡ的一個外設(shè),,接口芯片采用的是 Cypress公司生產(chǎn)的SL811HS為主控制器的USB Host/Slave接口芯片,。設(shè)計的原理方案圖如圖4所示。
SL811HS 主控制器接口提供8位的數(shù)據(jù)總線及一些控制信號,,如讀寫,、片選等與外部CPU或微控制器進行連接。并且,,L811HS接口為外部提供簡單的地址線A0,,支持可編程I/O或存儲器映射設(shè)計。通過對SL811HS的讀寫時序與Avalon總線讀寫時序的分析,,采用了SL811HS中的A0尋址模式與 Avalon總線的“具有一個固定等待的從端口讀/寫傳輸”時序,,SL811HS的地址和數(shù)據(jù)均通過D[7..O]分時傳輸,通過A0(數(shù)據(jù)/地址選擇線)電平的高低加以區(qū)分,。當A0置為低電平時,,D[7..O]上傳輸?shù)氖荢L811HS片內(nèi)寄存器/緩沖區(qū)的地址,反之高電平則為數(shù)據(jù),。在A0模式下,,SL8llHS正常的讀寫操作支持地址自動加1模式,即在此模式下微控制器只設(shè)置地址僅僅一次,,緊接下一個時鐘的讀寫操作SL811HS內(nèi)部地址指針將會自動跳到下一個數(shù)據(jù)位置,。nWR,nRD,,nCS,,nRST分別為寫控制線、讀控制線,、片選線和復(fù)位線,,均是低電平有效,NiosⅡ通過這幾根控制線完成對SL811HS片內(nèi)緩沖區(qū)讀寫,、片選和復(fù)位等操作,。INTRQ是中斷請求信號線。當SL8llHS檢測到外設(shè)插入,、拔出或者數(shù)據(jù)發(fā)送錯誤,、超時,、數(shù)據(jù)溢出等異常情況時,通過將INTRQ置高電平通知NiosⅡ,。Avalon總線為用戶提供了非常友好的接口,,在SL811HS與Avalon總線的接口轉(zhuǎn)換Verilog代碼中,只需建立SL81lHS端口與Avalon總線端口的映射關(guān)系即可,。如圖5所示,。
5 系統(tǒng)軟件設(shè)計部分
對基于NiosⅡ的SOPC系統(tǒng)進行編譯并下載到FPGA中生成硬件系統(tǒng),同時SOPC Builder幫助用戶生成相應(yīng)的SOF文件,,在此基礎(chǔ)上,,開始系統(tǒng)軟件的設(shè)計。本系統(tǒng)軟件部分是在Altera公司提供的軟件集成開發(fā)工具IDE中,,以 C語言形式,,在硬件抽象層(HAL)函數(shù)支持下設(shè)計的。
軟件的開發(fā)順序為:硬件驅(qū)動程序一操作系統(tǒng)移植→建立文件系統(tǒng)→應(yīng)用程序設(shè)計,。系統(tǒng)軟件開發(fā)均在NiosⅡ集成的μC/OS-Ⅱ操作系統(tǒng)上完成,。在多功能數(shù)碼相框系統(tǒng)中建立了Task_Main(主控任務(wù))、Task_Gui(GUI 圖形化人機交互界面顯示任務(wù)),、Task_Music(音樂播放控制任務(wù))等三個任務(wù),。利用消息郵箱機制,μC/OS-Ⅱ操作系統(tǒng)對這三個任務(wù)進行調(diào)度管理,。
為了實現(xiàn)系統(tǒng)所需要的圖形人機界面,,還必須在系統(tǒng)開發(fā)平臺進行嵌入式用戶圖形系統(tǒng)的設(shè)計,從而建立一個滿足實時性和快速性的人機交互系統(tǒng),。圖形用戶界(Graphical User InteRFace)一直是計算機的重要組成部分,,對于嵌入式系統(tǒng)而言也是如此。在嵌入式GUI方面選擇了Micrium公司開發(fā)的通用嵌入式圖形用戶界面軟件μC/GUI,,它是μC/OS-Ⅱ操作系統(tǒng)的專用GUI,,可以實現(xiàn)與μC/OS-Ⅱ?qū)崟r操作系統(tǒng)的完美結(jié)合。
6 結(jié)語
該系統(tǒng)的所有硬件結(jié)構(gòu)都是在SOPC下集成的,,具有的好處在于硬件的可重構(gòu)與可重配置,并且采用從上而下的設(shè)計流程使得系統(tǒng)設(shè)計周期大大縮短,。還介紹了包括 LCD背光電路,,電源偏置電路,及USB接口模塊的詳細設(shè)計,。利用NiosⅡ軟核處理器與Avalon總線的仲裁機制和嵌入到NiosⅡ中的操作系統(tǒng),,完成了各個功能模塊的任務(wù)調(diào)度,穩(wěn)定與提高了整個系統(tǒng)的性能,,簡化了系統(tǒng)的設(shè)計,,為家用電子產(chǎn)品領(lǐng)域的開發(fā)和應(yīng)用開辟了新的途徑,。