基于Nios II的多功能數(shù)碼相框設(shè)計
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ū)分。當(dāng)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是中斷請求信號線。當(dāng)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)用開辟了新的途徑。
評論