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