• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      SOPC在μC/OS-II系統(tǒng)下的實(shí)時(shí)調(diào)試功能研究*

      2014-09-06 10:49:56屈環(huán)宇屈百達(dá)
      關(guān)鍵詞:外設(shè)時(shí)鐘嵌入式

      屈環(huán)宇,屈百達(dá)

      (江南大學(xué) 輕工過(guò)程先進(jìn)控制教育部重點(diǎn)實(shí)驗(yàn)室,無(wú)錫 214122)

      ?

      SOPC在μC/OS-II系統(tǒng)下的實(shí)時(shí)調(diào)試功能研究*

      屈環(huán)宇,屈百達(dá)

      (江南大學(xué) 輕工過(guò)程先進(jìn)控制教育部重點(diǎn)實(shí)驗(yàn)室,無(wú)錫 214122)

      隨著微電子技術(shù)的飛速發(fā)展,越來(lái)越多的產(chǎn)品選擇基于FPGA的SOPC系統(tǒng)設(shè)計(jì)。本文針對(duì)SOPC系統(tǒng)的硬件設(shè)計(jì)及軟件的安全性、實(shí)時(shí)性、可移植性等方面的需求,在SOPC系統(tǒng)上移植μC/OS-II操作系統(tǒng),并實(shí)現(xiàn)基于時(shí)間戳的調(diào)試功能。

      SOPC;μC/OS-II;時(shí)間戳; FPGA

      引 言

      SOPC技術(shù)涵蓋嵌入式系統(tǒng)設(shè)計(jì)全部?jī)?nèi)容,它是由單個(gè)集成芯片完成整個(gè)嵌入式系統(tǒng)的主要邏輯設(shè)計(jì)功能,通過(guò)邏輯編程實(shí)現(xiàn)硬件和軟件上的裁減、擴(kuò)充、升級(jí)。硬件技術(shù)是以PCB和電磁兼容性分析、信號(hào)完整性分析為基礎(chǔ)的高速電路設(shè)計(jì)技術(shù)。軟件技術(shù)是以RTOS和驅(qū)動(dòng)程序?yàn)橹行牡能浖O(shè)計(jì)技術(shù)。本文以CYCLONE IV芯片為載體,設(shè)計(jì)了基于FPGA的SOPC系統(tǒng),移植μC/OS-II實(shí)時(shí)系統(tǒng),并實(shí)現(xiàn)時(shí)間戳功能,以利于系統(tǒng)實(shí)時(shí)調(diào)試。

      1 SOPC硬件系統(tǒng)的設(shè)計(jì)

      在FPGA上實(shí)現(xiàn)SOPC硬件系統(tǒng)的設(shè)計(jì),此系統(tǒng)主要是由軟核系統(tǒng)、硬實(shí)時(shí)部分、邏輯電路組成。本文設(shè)計(jì)了基于NIOS-II軟核與μC/OS-II結(jié)合的最小實(shí)時(shí)調(diào)試系統(tǒng)。

      NIOS-II軟核的硬件設(shè)計(jì)主要在Quartus軟件的SOPC Builder模塊中實(shí)現(xiàn),它是由NIOS-II微處理器作為CPU,NIOS-II微處理器體系結(jié)構(gòu)支持某些用戶(hù)自定義功能的指令,并用硬件電路實(shí)現(xiàn)這些指令功能,其地位與NIOS-II微處理器內(nèi)部自帶指令集中的指令地位等價(jià)。NIOS-II可以根據(jù)應(yīng)用的需要配置不同資源、不同速度級(jí)別的CPU、Debug單元、可配置大小的數(shù)據(jù)Cache、指令Cache、MMU、MPU、中斷及通用寄存器。

      Avalon總線(xiàn)是NIOS-II硬件系統(tǒng)設(shè)計(jì)中的重要組成部分,它為CPU與外設(shè)之間指令與數(shù)據(jù)的通信提供了一種互聯(lián)規(guī)范,實(shí)現(xiàn)CPU指令總線(xiàn)、數(shù)據(jù)總線(xiàn)與外設(shè)的主從關(guān)系以及沖突裁決等功能。SOPC硬件系統(tǒng)如圖1所示。

      圖1 SOPC硬件系統(tǒng)

      CYCLONE IV系列FPGA芯片每個(gè)時(shí)鐘輸入經(jīng)過(guò)一個(gè)PLL后,可產(chǎn)生5路時(shí)鐘輸出,每個(gè)輸出均可配置相應(yīng)的分頻、倍頻、相移。本文用了2路輸出,一路提供CPU的主頻時(shí)鐘,另一路經(jīng)過(guò)相移后作為SDRAM的主頻。該SOPC系統(tǒng)的RTL級(jí)視圖如圖2所示。

      圖2 SOPC的RTL級(jí)視圖

      系統(tǒng)在SOPC Builder中的CPU與外設(shè)之間指令總線(xiàn)、數(shù)據(jù)總線(xiàn)、時(shí)鐘源、尋址地址范圍、中斷優(yōu)先級(jí)等設(shè)置如圖3所示。

      圖3 CPU與外設(shè)的系統(tǒng)關(guān)系圖

      基于NIOS-II的SOPC主從關(guān)系建立好后,生成對(duì)應(yīng)的硬件系統(tǒng)描述文件,該描述文件為NIOS-II IDE提供系統(tǒng)對(duì)應(yīng)的硬件尋址范圍等相關(guān)內(nèi)容,建立并運(yùn)行TCL腳本文件,將FPGA的引腳與SOPC的硬件電路引腳相匹配。文件進(jìn)行分析、綜合等操作后得到系統(tǒng)級(jí)的硬件配置文件。

      2 SOPC軟件系統(tǒng)的設(shè)計(jì)

      SOPC的軟件可在NIOS-II IDE平臺(tái)上開(kāi)發(fā),根據(jù)之前生成硬件系統(tǒng)描述文件創(chuàng)建相應(yīng)的工作空間。每個(gè)工作空間主要由2個(gè)工程組成,一個(gè)工程主要存放SOPC的軟件代碼,另一個(gè)工程主要存放SOPC的板級(jí)硬件描述。

      為方便用戶(hù)的使用,NIOS-II IDE提供了一些工程模板,其中有一個(gè)是Hello MicroC/OS-II的工程模板,創(chuàng)建了這個(gè)模板,就基本實(shí)現(xiàn)了μC/OS-II系統(tǒng)在ALTER NIOS-II軟核上的建立。對(duì)于實(shí)時(shí)性很強(qiáng)的應(yīng)用,在NIOS-II IDE中可以創(chuàng)建一個(gè)硬件定時(shí)器,并利用時(shí)間戳來(lái)進(jìn)行實(shí)時(shí)測(cè)量,從而實(shí)現(xiàn)CPU輸入時(shí)鐘級(jí)的實(shí)時(shí)調(diào)試。

      在SOPC的硬件系統(tǒng)設(shè)計(jì)中,創(chuàng)建了兩個(gè)定時(shí)器:第一個(gè)定時(shí)器為μC/OS-II提供時(shí)基中斷,中斷間隔為1 ms;第二個(gè)定時(shí)器用于為時(shí)間戳計(jì)數(shù)提供時(shí)鐘。這兩項(xiàng)功能在BSP Editor中設(shè)置。

      #defineALT_SYS_CLK TIMER_0

      #defineALT_TIMESTAMP_CLK TIMER_1

      時(shí)間戳功能的相關(guān)函數(shù)申明在sys/alt_timestamp.h頭文件中,在使用時(shí)間戳功能之前,先要調(diào)用alt_timestamp()函數(shù)開(kāi)啟時(shí)間戳功能。

      在μC/OS-II系統(tǒng)中共建立了兩個(gè)任務(wù),任務(wù)體的代碼分別為:

      t1 = alt_timestamp();

      printf("時(shí)間戳(t1) = %ld ", t1);

      IOWR_ALTERA_AVALON_PIO_DATA(LED_BASE, 1);

      OSTimeDly(1000);

      t2 = alt_timestamp();

      printf("時(shí)間戳(t2) = %ld ", t2);

      IOWR_ALTERA_AVALON_PIO_DATA(LED_BASE, 2);

      OSTimeDly(2000);

      SOPC系統(tǒng)的輸入頻率為f=50 MHz。故時(shí)間戳的計(jì)數(shù)值每秒增量為50M,時(shí)基中斷F1=1 000 Hz。

      時(shí)間戳計(jì)算方式如下:

      其中,T1、T2分別為任務(wù)1和任務(wù)2每次執(zhí)行的時(shí)間間隔。

      編譯程序并配置運(yùn)行模式為NIOS-II-HARDWARE,下載在Eclipse的Console顯示了從UART中接收到的字符輸出。由圖4可以看出,時(shí)間戳值與理想值的偏差非常微小。

      結(jié) 語(yǔ)

      基于FPGA的SOPC系統(tǒng)設(shè)計(jì)涉及到硬件開(kāi)發(fā)與軟件開(kāi)發(fā)兩部分,其基本流程圖如圖5所示。

      基于NIOS-II的SOPC發(fā)揮了軟核嵌入式微處理器的性能,用戶(hù)可以獲得超過(guò)200DMIPS的性能,在超過(guò)60

      圖4 時(shí)間戳值反饋表

      圖5 SOPC開(kāi)發(fā)的流程圖

      [1] Corporation A. SOPC Builder User Guide [EB/OL]. (2010-10)[2013-10-04]. http://www.altera.com.cn/literature/ug/ug_sopc_builder.pdf.

      [2] Corporation A. Using MicroC/OS-II RTOS with the Nios II Processor Tutorial[EB/OL]. (2011-05)[2013-10-12].http://www.altera.com.cn/literature/tt/tt_nios2_MicroC_OSII_tutorial.pdf.

      [3] 王剛,張瀲. 基于FPGA的SOPC嵌入式系統(tǒng)設(shè)計(jì)與典型實(shí)例[M]. 北京:電子工業(yè)出版社, 2009.

      [4] 宋彩利. 數(shù)字系統(tǒng)設(shè)計(jì)與SOPC技術(shù)[M]. 西安:西安交通大學(xué)出版社, 2012.

      屈環(huán)宇(嵌入式系統(tǒng)設(shè)計(jì)師),主要從事檢測(cè)技術(shù)及自動(dòng)化裝置的研究;屈百達(dá)(教授),主要從事PLC應(yīng)用技術(shù)及最新器件應(yīng)用技術(shù)研發(fā)與實(shí)驗(yàn)。

      Research of μC/OS-II with Real-time Debugging in SOPC System

      Qu Huanyu, Qu Baida

      (Key Lab of Advanced Process Control for Light Industry, Jiangnan University ,Wuxi 214122,China)

      With the rapid development of microelectronic technology, more and more products chooses SOPC system based on FPGA. In this paper, with the needs of security real-time, portability of SOPC system's hardware and software design, the research transplantates μC/OS-II operating system in the SOPC system,and realizes the debugging functions based on timestamp.

      SOPC;μC/OS-II;timestamp;FPGA

      國(guó)家級(jí)-高等學(xué)校學(xué)科創(chuàng)新引智計(jì)劃基金(B12018)。

      TP332.2

      A

      迪娜

      2013-10-22)

      猜你喜歡
      外設(shè)時(shí)鐘嵌入式
      別樣的“時(shí)鐘”
      古代的時(shí)鐘
      搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
      有趣的時(shí)鐘
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
      時(shí)鐘會(huì)開(kāi)“花”
      Altera加入嵌入式視覺(jué)聯(lián)盟
      倍福 CX8091嵌入式控制器
      Microchip推出具備雙ADC外設(shè)的全新器件,擴(kuò)展其低成本8位PIC?單片機(jī)產(chǎn)品線(xiàn)
      貼身呵護(hù) 必不可少的PSP外設(shè)
      祁东县| 通海县| 白水县| 娄烦县| 自治县| 邛崃市| 石屏县| 平武县| 佳木斯市| 邵武市| 宝坻区| 伊通| 榆社县| 慈溪市| 绥芬河市| 上虞市| 遵义县| 高邑县| 怀柔区| 元谋县| 龙胜| 老河口市| 南皮县| 柳州市| 平谷区| 墨脱县| 永吉县| 额济纳旗| 牙克石市| 兰考县| 浙江省| 抚顺县| 扎囊县| 贵阳市| 全椒县| 吉林省| 齐河县| 上饶县| 梁山县| 嵊州市| 稻城县|