<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 光電顯示 > 設(shè)計(jì)應(yīng)用 > 基于太陽(yáng)能LED照明控制系統(tǒng)的處理器設(shè)計(jì)

          基于太陽(yáng)能LED照明控制系統(tǒng)的處理器設(shè)計(jì)

          作者: 時(shí)間:2010-11-15 來(lái)源:網(wǎng)絡(luò) 收藏

            3 指令集設(shè)計(jì)

            在本系統(tǒng)中, 處理器要對(duì)AD 以及按鍵的輸入量進(jìn)行處理。這些輸入數(shù)據(jù)位寬小且處理過(guò)程為常規(guī)運(yùn)算,不需要進(jìn)行使用高級(jí)數(shù)學(xué)算法進(jìn)行繁雜的數(shù)據(jù)運(yùn)算。所以本設(shè)計(jì)采用精簡(jiǎn)指令集(RISC) 的設(shè)計(jì)方法。

            精簡(jiǎn)指令集具如下特點(diǎn)為: 指令系統(tǒng)的規(guī)模較小且復(fù)雜程度小; 操作數(shù)預(yù)存在寄存器中; 指令格式統(tǒng)一; 避免不必要的存儲(chǔ)器訪問(wèn)。

            采用RISC 指令集設(shè)計(jì)可直接減小芯片面積, 節(jié)省成本, 減少開(kāi)發(fā)人員的開(kāi)發(fā)與維護(hù)開(kāi)銷。是嵌入式設(shè)備處理器的主流設(shè)計(jì)方法。

            本處理器具有l(wèi)oad/ store 結(jié)構(gòu), 也就是說(shuō)與主存儲(chǔ)器通信只能通過(guò)LOAD 和STORE 指令進(jìn)行。運(yùn)算操作數(shù)只與寄存器組有關(guān), 而并不在主存儲(chǔ)器上。TOP2的指令分為4 類: 運(yùn)算指令、寄存器指令、跳轉(zhuǎn)指令、存儲(chǔ)器指令, 如表1 所示。

            針對(duì)太陽(yáng)能 控制系統(tǒng)的處理器指令集設(shè)計(jì)考慮到功耗及面積成本, 只包含6 條運(yùn)算指令, 沒(méi)有連續(xù)移位指令和硬件乘法器。經(jīng)測(cè)試本指令集可滿足上一節(jié)所述對(duì)處理器的功能需求。

            作為RISC 體系的特點(diǎn)之一就是指令格式簡(jiǎn)單規(guī)則, 筆者遵循這一原則, 指令集中的11 條指令均為4 位操作碼和12 位操作目標(biāo)位 。

            4 處理器結(jié)構(gòu)

            處理器主體結(jié)構(gòu)如圖2 所示, 下面具體介紹處理器各部分。

            4. 1 存儲(chǔ)結(jié)構(gòu)

            本處理器的存儲(chǔ)結(jié)構(gòu)采用哈佛( Harvard) 結(jié)構(gòu)。這是嵌入式處理器中被廣泛采用的結(jié)構(gòu), 如ARM、MIPS 等。特別適用于采用RISC 指令集的處理器。哈佛結(jié)構(gòu)的主要特點(diǎn)是: 程序指令存儲(chǔ)通路與數(shù)據(jù)指令存儲(chǔ)通路物理上是分離的。使得兩個(gè)存儲(chǔ)器可以獨(dú)立編址、獨(dú)立訪問(wèn), 從而避免了程序訪問(wèn)與數(shù)據(jù)訪問(wèn)之間產(chǎn)生的相關(guān)性沖突。這中并行設(shè)計(jì)架構(gòu)相當(dāng)于提高了1 倍的吞吐量, 從而提高了處理器性能。

            4. 2 流水線結(jié)構(gòu)

            基于哈佛存儲(chǔ)結(jié)構(gòu), 處理器核心的設(shè)計(jì)采用5 級(jí)流水線( pipe2line) 結(jié)構(gòu) 分別是: 取指令級(jí)( IF) 、譯碼級(jí)( ID) 、寄存器訪問(wèn)級(jí)( LO) 、運(yùn)算級(jí)( EX) 、回寫(xiě)級(jí)(WB) 。流水線的設(shè)計(jì)方法在高性能大規(guī)模系統(tǒng)中得到廣泛應(yīng)用, 其實(shí)際上就是把規(guī)模較大、層次較多的組合邏輯分為幾個(gè)級(jí), 在每一級(jí)插入寄存器并暫存中間數(shù)據(jù)。這樣做大大地增加了時(shí)鐘周期的利用率, 最大限度地發(fā)揮電路潛能。在不提高時(shí)鐘頻率的前提下提高了處理器效率, 可以實(shí)現(xiàn)在同等效率下相對(duì)于非流水線設(shè)計(jì)功率可降低25 倍 , 實(shí)現(xiàn)低功耗設(shè)計(jì)。

            4. 3 片內(nèi)其他模塊

            整個(gè)芯片是圍繞著流水線核心實(shí)現(xiàn)。根據(jù)系統(tǒng)需求, 處理器要實(shí)現(xiàn)精確計(jì)時(shí)以及脈沖充電方式。為了實(shí)現(xiàn)這兩種功能, 在流水線核心的基礎(chǔ)上添加了兩個(gè)可獨(dú)立流水線運(yùn)行的模塊: TIMER( 定時(shí)器) 和PWM( 脈寬調(diào)制) 。T IMER 模塊是16 位定時(shí)器, 時(shí)鐘源采用32 768 Hz晶振。其可以準(zhǔn)確分辨1 s 時(shí)間單位, 誤差低, 可為本系統(tǒng)長(zhǎng)年室外穩(wěn)定工作提供支持。定時(shí)器可以供中斷和查詢2 種操作方式, 以供系統(tǒng)后期的靈活配置。PWM 是脈沖調(diào)制模塊。其功能是產(chǎn)生占空比可變的方波, 以驅(qū)動(dòng)大功率MOS 管進(jìn)行脈沖充電。其占空比變化范圍為0~ 100% , 步長(zhǎng)1%。本模塊減輕了處理器流水線部分的負(fù)擔(dān), 使脈沖驅(qū)動(dòng)可與其他控制信號(hào)并行執(zhí)行, 增強(qiáng)了系統(tǒng)的穩(wěn)定性。

            處理器片內(nèi)還包含通用I/ O 控制單元。此單元完成對(duì)管腳數(shù)據(jù)方向的控制, 并為輸出數(shù)據(jù)提供保持功能, 對(duì)輸入數(shù)據(jù)進(jìn)行同步。此單元對(duì)外部異步信號(hào)域與內(nèi)部同步信號(hào)域進(jìn)行隔離。避免產(chǎn)生信號(hào)毛刺, 簡(jiǎn)化時(shí)序分析。

            5 仿真與實(shí)現(xiàn)

            本設(shè)計(jì)通過(guò)FPGA 實(shí)現(xiàn)了所需求功能。設(shè)計(jì)流程如圖3 所示。

            5. 1 仿真

            在太陽(yáng)能 控制系統(tǒng)中, 控制器所需要面對(duì)的指令流主要有三種: 運(yùn)算指令流( 順序執(zhí)行) 、分支跳轉(zhuǎn)指令流、循環(huán)指令流。

            5. 1. 1 運(yùn)算操作指令流( 加法)

            完成加法指令需要的步驟包括:

            ( 1) 準(zhǔn)備2 個(gè)操作數(shù)。這2 個(gè)操作數(shù)如果已經(jīng)存在于寄存器組中則可以忽略此步驟, 如果其中一個(gè)或兩個(gè)是立即數(shù)或者在存儲(chǔ)器中, 則需要MOV 指令或LOAD 指令完成準(zhǔn)備過(guò)程。

            ( 2) 進(jìn)行運(yùn)算。一條ALU 加操作。

            ( 3) 寫(xiě)回存儲(chǔ)器。根據(jù)不同的需求會(huì)編譯出不同的指令組合, 這里以兩立即數(shù)相加結(jié)果存放在寄存器中為例進(jìn)行加法操作。這需要首先執(zhí)行兩條MOVD 指令準(zhǔn)備操作數(shù), 之后進(jìn)行加法操作。需要注意的是, 在流水線中由于數(shù)據(jù)相關(guān)性問(wèn)題, 在MOVD 指令之后ADD 指令不能馬上進(jìn)入流水線執(zhí)行。



          關(guān)鍵詞: LED 照明

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();