基于Nios II的多功能數碼相框設計
SL811HS主控制器接口提供8位的數據總線及一些控制信號,如讀寫、片選等與外部CPU或微控制器進行連接。并且,L811HS接口為外部提供簡單的地址線A0,支持可編程I/O或存儲器映射設計。通過對SL811HS的讀寫時序與Avalon總線讀寫時序的分析,采用了SL811HS中的A0尋址模式與Avalon總線的“具有一個固定等待的從端口讀/寫傳輸”時序,SL811HS的地址和數據均通過D[7..O]分時傳輸,通過A0(數據/地址選擇線)電平的高低加以區分。當A0置為低電平時,D[7..O]上傳輸的是SL811HS片內寄存器/緩沖區的地址,反之高電平則為數據。在A0模式下,SL8llHS正常的讀寫操作支持地址自動加1模式,即在此模式下微控制器只設置地址僅僅一次,緊接下一個時鐘的讀寫操作SL811HS內部地址指針將會自動跳到下一個數據位置。nWR,nRD,nCS,nRST分別為寫控制線、讀控制線、片選線和復位線,均是低電平有效,NiosⅡ通過這幾根控制線完成對SL811HS片內緩沖區讀寫、片選和復位等操作。INTRQ是中斷請求信號線。當SL8llHS檢測到外設插入、拔出或者數據發送錯誤、超時、數據溢出等異常情況時,通過將INTRQ置高電平通知NiosⅡ。Avalon總線為用戶提供了非常友好的接口,在SL811HS與Avalon總線的接口轉換Verilog代碼中,只需建立SL81lHS端口與Avalon總線端口的映射關系即可。如圖5所示。
5 系統軟件設計部分
對基于NiosⅡ的SOPC系統進行編譯并下載到FPGA中生成硬件系統,同時SOPC Builder幫助用戶生成相應的SOF文件,在此基礎上,開始系統軟件的設計。本系統軟件部分是在Altera公司提供的軟件集成開發工具IDE中,以C語言形式,在硬件抽象層(HAL)函數支持下設計的。
軟件的開發順序為:硬件驅動程序一操作系統移植→建立文件系統→應用程序設計。系統軟件開發均在NiosⅡ集成的μC/OS-Ⅱ操作系統上完成。在多功能數碼相框系統中建立了Task_Main(主控任務)、Task_Gui(GUI圖形化人機交互界面顯示任務)、Task_Music(音樂播放控制任務)等三個任務。利用消息郵箱機制,μC/OS-Ⅱ操作系統對這三個任務進行調度管理。
為了實現系統所需要的圖形人機界面,還必須在系統開發平臺進行嵌入式用戶圖形系統的設計,從而建立一個滿足實時性和快速性的人機交互系統。圖形用戶界(Graphical User Interface)一直是計算機的重要組成部分,對于嵌入式系統而言也是如此。在嵌入式GUI方面選擇了Micrium公司開發的通用嵌入式圖形用戶界面軟件μC/GUI,它是μC/OS-Ⅱ操作系統的專用GUI,可以實現與μC/OS-Ⅱ實時操作系統的完美結合。
6 結語
該系統的所有硬件結構都是在SOPC下集成的,具有的好處在于硬件的可重構與可重配置,并且采用從上而下的設計流程使得系統設計周期大大縮短。還介紹了包括LCD背光電路,電源偏置電路,及USB接口模塊的詳細設計。利用NiosⅡ軟核處理器與Avalon總線的仲裁機制和嵌入到NiosⅡ中的操作系統,完成了各個功能模塊的任務調度,穩定與提高了整個系統的性能,簡化了系統的設計,為家用電子產品領域的開發和應用開辟了新的途徑。
評論