亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于MicroBlaze的AXI總線實(shí)時(shí)時(shí)鐘IP核設(shè)計(jì)

        2014-08-12 08:46:10薩其日娜
        關(guān)鍵詞:外設(shè)寄存器時(shí)鐘

        薩其日娜

        (內(nèi)蒙古魯電電力工程有限公司,內(nèi)蒙古 010000)

        基于MicroBlaze的AXI總線實(shí)時(shí)時(shí)鐘IP核設(shè)計(jì)

        薩其日娜

        (內(nèi)蒙古魯電電力工程有限公司,內(nèi)蒙古 010000)

        應(yīng)用MicroBlaze軟核作為CPU的硬件平臺(tái),在此平臺(tái)上設(shè)計(jì)了基于AXI總線的通用實(shí)時(shí)時(shí)鐘IP核。給出了創(chuàng)建IP核的過(guò)程和導(dǎo)入IP核的方法。介紹了實(shí)時(shí)時(shí)鐘的IP核結(jié)構(gòu),給出了IP核的結(jié)構(gòu)框圖。介紹了實(shí)時(shí)時(shí)鐘的原理,給出了實(shí)時(shí)時(shí)鐘各個(gè)模塊的核心代碼。

        AXI;IP核;實(shí)時(shí)時(shí)鐘;MicroBlaze

        引 言

        MicroBlaze是可以嵌入到FPGA中的RISC處理器軟核,具有運(yùn)行速度快、占用資源少、可配置性強(qiáng)等優(yōu)點(diǎn),廣泛應(yīng)用于通信、軍事、高端消費(fèi)市場(chǎng)等領(lǐng)域。Xilinx公司的MicroBlaze 32位軟處理器核是支持CoreConnect總線的標(biāo)準(zhǔn)外設(shè)集合。MicroBlaze處理器運(yùn)行在150 MHz時(shí)鐘下,適合設(shè)計(jì)針對(duì)網(wǎng)絡(luò)、電信、數(shù)據(jù)通信和消費(fèi)市場(chǎng)的復(fù)雜嵌入式系統(tǒng)。

        AXI是ARM公司提出的AMBA3.0協(xié)議中最重要的部分,是一種面向高性能、高帶寬、低延遲的片內(nèi)總線。AXI 總線技術(shù)不但使片上系統(tǒng)面積更小功耗更低,同時(shí)還獲得了更加優(yōu)異的性能。AXI 能達(dá)到這樣的技術(shù)指標(biāo)的一個(gè)主要原因,就是它的單向通道體系結(jié)構(gòu)。單向通道體系結(jié)構(gòu)使得片上的信息流只以單方向傳輸,減少了延時(shí)。AXI 技術(shù)滿足超高性能和復(fù)雜的片上系統(tǒng)設(shè)計(jì)的需求,因此AXI的與應(yīng)用也越來(lái)越廣泛[1]。隨著ARM公司與Xilinx公司的合作逐步加強(qiáng),Xilinx開始逐步在FPGA產(chǎn)品中大力推廣AXI總線技術(shù)。AXI在Xilinx公司的MicroBalze等CPU上面得到越來(lái)越重要的支持,必將成為未來(lái)的主流技術(shù)。

        1 IP核的創(chuàng)建與導(dǎo)入

        Xilinx的MicroBlaze軟核為用戶提供了大量的可用IP核,方便用戶開發(fā)縮短開發(fā)周期,降低成本。但是用戶的需求千差萬(wàn)別,官網(wǎng)提供的IP核不可能滿足所有人的需求。因此開發(fā)環(huán)境支持用戶自定義IP核,根據(jù)用戶的不同需求,用戶可以通過(guò)定制的方式開發(fā)自己需要的IP核。在測(cè)控裝置的研發(fā)過(guò)程中,筆者發(fā)現(xiàn)插件上設(shè)計(jì)的RTC時(shí)鐘芯片,雖然具有掉電保持時(shí)間的功能。但是在完成裝置界面對(duì)時(shí)等功能時(shí),對(duì)RTC芯片的讀寫操作顯示到界面上后,會(huì)有一定的延時(shí),界面無(wú)法精確的顯示當(dāng)前的時(shí)間。因此設(shè)計(jì)一個(gè)通過(guò)自定制IP核的形式,實(shí)現(xiàn)實(shí)時(shí)時(shí)鐘時(shí)鐘的功能解決上述問(wèn)題。開發(fā)環(huán)境中的Xilinx Platform Studio為IP核的定值與導(dǎo)入提供了向?qū)А?/p>

        創(chuàng)建IP核的步驟如下:選擇Hardware→Create or Import Peripheral Wizward來(lái)打開創(chuàng)建和引入外設(shè)向?qū)?。單擊Next按鈕。選擇Create templates for a new peripheral。默認(rèn)情況下新的外設(shè)將被存在pcores文件夾中方便查找。然后再次單擊Next按鈕。在Create Peripheral-Name and Version對(duì)話框中,輸入定制的IP核的名字,這里輸入本次定制IP核名稱為soft_rtc。下面是版本控制,可以根據(jù)需要修改。界面如圖1所示。

        圖 1

        單擊Next按鈕,在Create Peripheral-Bus Interface 對(duì)話框中,選擇AXI4,這是新的外設(shè)將要連接的總線。對(duì)于簡(jiǎn)單設(shè)計(jì)可以選擇AXI4_Lite;下一步在IPIF (IP 接口) 配置,這里配置接口的一些屬性,如是否是AXI 主/從設(shè)備等。所定制的IP是一個(gè)從設(shè)備,因而不需要使用主設(shè)備接口。數(shù)據(jù)寬度選擇默認(rèn)的32位,下一步選擇需number of use memory ranges數(shù)量,這里選1。界面如圖2所示。

        圖 2

        接下來(lái)就是IPIC(IP 互聯(lián)),也就是IP的接口信號(hào)。接下來(lái)需要使用需要使用BFM總線功能模型對(duì)外設(shè)進(jìn)行仿真,本例不要使用。最后,需要選擇HDL類型、ISE工程支持和軟件驅(qū)動(dòng)模板。此處使用Verilog模板,選擇后需IP接口仍然是VHDL編寫,只是用戶邏輯改用Verilog。如果不需要使用軟件驅(qū)動(dòng)模板,可以不選。最后給出了外設(shè)的信息summary。完成上述步驟后,自定制的soft_rtc IP核的模版創(chuàng)建完成,只需根據(jù)需求對(duì)user_logic文件索要實(shí)現(xiàn)的功能編寫應(yīng)用代碼,并配置相應(yīng)的引腳。

        完成user_logic的代碼編寫后,需要將完成的IP核導(dǎo)入工程。大致步驟如下:再次使用Hardware Create or Import Peripheral, 并單擊Next按鈕。選擇Import existing peripheral項(xiàng),單擊Next按鈕再次輸入名稱soft_rtc,單擊Next按鈕,選擇Yes按鈕。下一步選中第一項(xiàng)HDL source files單擊Next按鈕,然后下一步驟選中第二項(xiàng)Use existing Peripheral Analysis Order files(*pao), Browse到相應(yīng)的目錄下,選中.pao文件,單擊打開,然后單擊Next按鈕;出現(xiàn)圖3所示的窗口時(shí),選中左側(cè)AXI4Lite選項(xiàng),然后單擊Next按鈕后面都選擇默認(rèn)選項(xiàng)直到出現(xiàn)結(jié)束窗口時(shí)選擇結(jié)束按鈕Finish按鈕。 這樣通過(guò)上述步驟完成了IP核的創(chuàng)建與導(dǎo)入。最后將IP核加入到工程中與AXI4Lite總線連接。完成IP核模版的創(chuàng)建與導(dǎo)入后,下一步就要進(jìn)行完成IP核user_logic文件的代碼設(shè)計(jì)。

        圖 3

        2 soft_rtc IP核的設(shè)計(jì)

        soft_rtc IP核中主要分為與上層接口的寄存器管理模塊、為IP核提供精確時(shí)鐘的 Clock分頻模塊和RTC的核心邏輯模塊[2]。IP核接口如圖4所示。

        圖 4

        開發(fā)板上提供有25 MHz的晶振和16.384 MHz的晶振。為了計(jì)時(shí)的精度,將16.384 MHz的輸入信號(hào)引入soft_rtc模塊。Clock 分頻模塊將輸入的16.384 MHz準(zhǔn)晶振時(shí)鐘4分頻得到4.096 MHz的時(shí)鐘信號(hào)。分頻核心代碼如下:

        always @(posedge clk_in)

        begin

        if(clk_div == 4'b0011)

        clk_div <= 4'b0110;

        else if(clk_div == 4'b0110)

        clk_div <= 4'b1100;

        else if(clk_div == 4'b1100)

        clk_div <= 4'b1001;

        else

        clk_div <= 4'b0011;

        end

        寄存器控制模塊的主要功能是實(shí)現(xiàn)對(duì)RTC 模塊內(nèi)部各個(gè)寄存器的讀寫控制并為整個(gè)IP 模塊提供控制信號(hào)。提供上層應(yīng)用代碼與IP核代碼之間的接口。在這個(gè)模塊內(nèi)部包含對(duì)每個(gè)內(nèi)部功能寄存器的讀寫進(jìn)行控制的子模塊和對(duì)各個(gè)子模塊時(shí)鐘的總體分布控制[3]。本設(shè)計(jì)中一共定義了16個(gè)寄存器,主要有控制寄存器、狀態(tài)寄存器以及毫秒的讀寄存器、毫秒的寫寄存器;秒的讀寄存器、秒位寫寄存器、分位的讀寄存器、分位的寫寄存器、小時(shí)位的讀寄存器、小時(shí)位的寫寄存器、以及年月日的讀與寫寄存器等。

        設(shè)置RTC核心代碼如下:

        always @(posedge Bus2IP_Clk)

        begin

        if(Bus2IP_CS[0] && Bus2IP_WrCE[0] && (Bus2IP_Addr[9:2] == SETSECOND_Addr))

        SetSecondRegister <= Bus2IP_Data[5:0];

        ……

        end

        讀RTC核心代碼如下:

        assign IP2Bus_Data[15:0] = (Bus2IP_CS[0] && Bus2IP_RdCE[0] && (Bus2IP_Addr[9:2] == MSECOND_Addr))?{6'h00,GetMsecondRegister}:16'hzzzz;

        ……

        RTC的核心邏輯模塊主要完成的功能就是精確計(jì)時(shí)。IP核中通過(guò)計(jì)數(shù)器的控制,毫秒逢1000進(jìn)位,秒、分和小時(shí)逢60進(jìn)位,月逢12進(jìn)位。設(shè)計(jì)時(shí)要全面考慮實(shí)際情況,注意對(duì)閏年以及不同月份天數(shù)不一樣等情況的處理。RTC計(jì)時(shí)的核心代碼如下:

        always @(posedge SETTIME or posedge clk_jg)

        begin

        if(SETTIME)

        SecondRegister <= SetSecondRegister;

        else if((SecondRegister_B < 59) && Msecond_Carry)

        SecondRegister <= SecondRegister + 1;

        else if(Msecond_Carry)

        SecondRegister <= 6'h00;

        else

        SecondRegister <= SecondRegister;

        end

        ……

        當(dāng)時(shí)鐘上升沿到來(lái)或者應(yīng)用程序發(fā)出設(shè)置時(shí)間指令后,進(jìn)行判斷:秒位如果小于59并且毫秒位有進(jìn)位,此時(shí)秒位計(jì)數(shù)器加1;如果秒位計(jì)數(shù)器大于或等于59時(shí)毫秒位有進(jìn)位則將秒位清零。其他情況秒位計(jì)數(shù)器保持原來(lái)數(shù)值。 其他的分、小時(shí)、日月年等計(jì)數(shù)依次類推。

        結(jié) 語(yǔ)

        [1] 田澤,曹慶年,劉天時(shí),等. 嵌入式處理器S3C2440 Windows CE的RTC模塊設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)應(yīng)用與軟件,2007,24(3):31-33.

        [2] 周飚, 謝曉陽(yáng). 有限狀態(tài)機(jī)在RTC設(shè)計(jì)中的分析與應(yīng)用[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2008,17(5):77-80.

        [3] 戚戰(zhàn)鋒. RTC技術(shù)在系統(tǒng)集成中的應(yīng)用研究 [J].信息通信,2012(6):37-38.

        薩其日娜(工程師),從事電網(wǎng)自動(dòng)化研究。

        Real-time Clock IP Core Based on AXI Bus and MicroBlaze

        Saqirina

        (Inner Mongolia Ludian Electric Power Engineering Corp. Ltd., Nei Menggu 010000, China)

        MicroBlaze was used as embedded hardware system. In this embedded hardware system, the real time clock IP core was based on AXI bus. The method of creating and importing the IP core was provided. The structure of the IP core was introduced. At the same time the structured flowchart of the IP core was provided. The theory of the real time clock was introduced, and the core code of the modules was provided.

        AXI; IP core;real time clock;MicroBlaze

        TP399

        A

        2014-02-25)

        猜你喜歡
        外設(shè)寄存器時(shí)鐘
        別樣的“時(shí)鐘”
        古代的時(shí)鐘
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        有趣的時(shí)鐘
        時(shí)鐘會(huì)開“花”
        Microchip推出具備雙ADC外設(shè)的全新器件,擴(kuò)展其低成本8位PIC?單片機(jī)產(chǎn)品線
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
        一種可重構(gòu)線性反饋移位寄存器設(shè)計(jì)
        貼身呵護(hù) 必不可少的PSP外設(shè)
        国产又色又爽又黄的| 久久精品国产一区二区涩涩| 国产人妖一区二区av| 亚洲禁区一区二区三区天美| 毛片av在线播放亚洲av网站| 久久久久亚洲AV成人网毛片 | 国产激情一区二区三区在线| 久久久久88色偷偷| 乌克兰粉嫩xxx极品hd| 男人的天堂在线无码视频| 麻美由真中文字幕人妻| 国产日产免费在线视频| 午夜亚洲精品视频在线| 亚洲av成人无码一二三在线观看| 乱码丰满人妻一二三区| 99久久久无码国产精品试看| 国产av一区二区三区丝袜| 亚洲国产丝袜美女在线| 一区二区三区国产在线视频| 国色天香精品一卡2卡3卡4| 美女高潮无遮挡免费视频| 日韩精品精品一区二区三区| 暴露的熟女好爽好爽好爽| 国产禁区一区二区三区| 一本色道久久综合无码人妻| 亚洲男同志gay 片可播放| 亚洲中文字幕有综合久久| 男人天堂亚洲天堂av| 国产美女做爰免费视频| 色妞色综合久久夜夜| 一本色道久久综合中文字幕| 美女与黑人巨大进入免费观看 | 精品无码国产污污污免费网站| 国产内射视频在线播放| 国产自拍91精品视频| 亚洲av成人片色在线观看高潮| 少妇被躁爽到高潮无码文| 亚洲国产一区二区三区在观看| 国产一区二区在线免费视频观看 | 日韩av无码社区一区二区三区| 欧美一区二区三区红桃小说 |