新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Chirp函數(shù)的Nios Ⅱ嵌入式實現(xiàn)

Chirp函數(shù)的Nios Ⅱ嵌入式實現(xiàn)

作者: 時間:2009-06-16 來源:網(wǎng)絡 收藏

Ⅱ的編程主要是基于操作系統(tǒng)μC/OS-Ⅱ,μC/OS-Ⅱ是一個完整的、可移植、固化和剪裁的占先式實時多任務核(Kernel)。從1992年發(fā)布至今,μC/OS-Ⅱ已經(jīng)有了上百個的商業(yè)應用案例,在40多種處理器上成功移植。其中Altera提供了對μCO/OS-Ⅱ的完整支持,非常容易使用。
μC/OS-Ⅱ提供以下系統(tǒng)服務:任務管理(TaskManagement);事件標志(Event Flag);消息傳遞(Message Passing);內存管理(Memory Management);信號量(Semaphores);時間管理(Time Management)。在應用程序中,用戶可以方便地使用這些系統(tǒng)調用目標功能。
在該設計中建立一個主和兩個任務,主的功能:調用系統(tǒng)任務初始化函數(shù)OSTaskCreateExt()初始化兩個任務函數(shù):調用系統(tǒng)開始函數(shù)OSStart()啟動系統(tǒng)開始工作。
任務1:實時的改變DDS控制字的輸出,并且保持一段時間,在遍歷完所有的需要頻率以后,延遲調用系統(tǒng)延遲函數(shù)OSTimeDlyHMSM(),延遲63 s將該使用權交付給任務2。
任務2:為了保證該系統(tǒng)以后能有功能擴展,建立一個任務,其僅僅是通過函Jtag_uart接口使用函數(shù)printf(),向電腦發(fā)送一個任務2已經(jīng)開始工作的提示信息,如果以后需要擴展功能則只需修改任務2即可。程序的具體流程圖如圖6所示。

本文引用地址:http://2s4d.com/article/152464.htm

在任務1中實時改變變量i的值步進為1,通過定義的函數(shù)關于時間和輸出頻率控制字之間的關系函數(shù)function(),計算得到此時的頻率控制字f,并且將f的值通過API函數(shù)IOWR_ALTERA_AVALON_PIO_DATA()從I/O端口輸出以控制DDS,然后延遲2 s使DDS保持該輸出頻率一段時間,并且通過Jtag_uart端口在Console調試界面向用戶提示當前的信號源的輸出頻率,程序如下:


圖7為QuartusⅡ中生成的軟核示意圖。

4 結 語
該設計在21controll公司提供的V4.O FPGA/SoPC開發(fā)學習套件上面通過仿真驗證,該套件的核心芯片為CycloneⅡ系列:EP2C20F484C8,其具有18 752個邏輯單元(LE)和52個M4K RAM塊,能夠很好地設計存儲需要的數(shù)據(jù),完全符合設計要求。通過調試程序在ⅡIDE編程環(huán)境中的Console窗口觀察如圖8所示。證明該程序能夠很好的完成函數(shù)的功能。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉