日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件

摘 要:設(shè)計(jì)了基于FPGA并與MCS-51單片機(jī)指令兼容的高效微處理器內(nèi)核。本內(nèi)核改進(jìn)了傳統(tǒng)MCS-51單片機(jī)的體系結(jié)構(gòu),使每個(gè)機(jī)器周期只需一個(gè)時(shí)鐘周期,提高了指令的執(zhí)行效率。同時(shí)增加了硬件看門狗及軟件復(fù)位功能,提高了系統(tǒng)的可靠性和抗干擾能力。本內(nèi)核通過了功能仿真并下載到FPGA中成功運(yùn)行。
關(guān)鍵詞:FPGA 微處理器內(nèi)核 看門狗 MCS-51

與傳統(tǒng)投片實(shí)現(xiàn)ASIC相比[1],F(xiàn)PGA具有實(shí)現(xiàn)速度快、風(fēng)險(xiǎn)小、可編程、可隨時(shí)更改升級(jí)等一系列優(yōu)點(diǎn),因而得到了越來(lái)越廣泛的應(yīng)用。MCS-51應(yīng)用時(shí)間長(zhǎng)、范圍廣,相關(guān)的軟硬件資源豐富,因而往往在FPGA應(yīng)用中嵌入MCS-51內(nèi)核作為微控制器。但是傳統(tǒng)MCS-51的指令效率太低,每個(gè)機(jī)器周期高達(dá)12時(shí)鐘周期[2],因此必須對(duì)內(nèi)核加以改進(jìn),提高指令執(zhí)行速度和效率,才能更好地滿足FPGA的應(yīng)用。
通過對(duì)傳統(tǒng)MCS-51單片機(jī)指令時(shí)序和體系結(jié)構(gòu)的分析,使用VHDL語(yǔ)言采用自頂向下的設(shè)計(jì)方法重新設(shè)計(jì)了一個(gè)高效的微控制器內(nèi)核。改進(jìn)了的體系結(jié)構(gòu),可以兼容MCS-51所有指令,每個(gè)機(jī)器周期只需1個(gè)時(shí)鐘周期,同時(shí)增加了硬件看門狗和軟件復(fù)位功能,提高了指令執(zhí)行效率和抗干擾能力。
1 系統(tǒng)設(shè)計(jì)
1.1 模塊劃分
本內(nèi)核在劃分和設(shè)計(jì)模塊時(shí),基于以下幾條原則:
(1)同步設(shè)計(jì),提高系統(tǒng)穩(wěn)定性和可移植性;(2)功能明確,功能接近的放在同一個(gè)模塊內(nèi)以減少模塊的數(shù)量和模塊之間的互連線,同時(shí)利于綜合時(shí)的優(yōu)化;(3)模塊之間的接口時(shí)序預(yù)先定義好,并嚴(yán)格按定義的時(shí)序要求編寫每個(gè)模塊;(4)模塊信號(hào)的輸出采用寄存器輸出的方式。這樣可以提高系統(tǒng)的可靠性,一旦出錯(cuò)也容易確定問題所在。
本內(nèi)核由以下幾個(gè)部分組成:中央控制單元(CPU),算術(shù)邏輯運(yùn)算單元(ALU),寄存器組控制器(REGS_CTR),定時(shí)器/計(jì)數(shù)器(T/C),通用串行接口(UART),看門狗(WT_DOG),如圖1所示。


1.2 提高速度的方法
本內(nèi)核采用以下幾種辦法來(lái)提高速度。
(1)采用多數(shù)據(jù)通道:本內(nèi)核取消了傳統(tǒng)MCS-51系列單片機(jī)的單一總線,采用直連結(jié)構(gòu),各模塊的數(shù)據(jù)傳輸使用單向?qū)S脭?shù)據(jù)線,尤其在數(shù)據(jù)交換頻繁的ALU與REGS_CTR之間采用四條單向數(shù)據(jù)線相互連接,提高了數(shù)據(jù)傳輸?shù)牟⑿卸?,從而加快了?shù)據(jù)的傳輸。
(2)采用雙相時(shí)鐘:如圖2所示。CLK時(shí)鐘上升沿CPU發(fā)出控制信號(hào),I/O端口采樣外部信號(hào)即圖1中流入REGS_CTR的數(shù)據(jù)或控制信號(hào);CLK1時(shí)鐘上升沿把數(shù)據(jù)寫入寄存器中并把刷新后的數(shù)據(jù)或控制信號(hào)發(fā)出,即圖1中虛箭頭表示的數(shù)據(jù)流向。這樣REGS_CTR的讀寫分別在兩個(gè)時(shí)鐘的上升沿,減少了一個(gè)時(shí)鐘周期的等待,時(shí)鐘頻率提高了一倍。


(3)采用寄存器組:FPGA內(nèi)部有極為豐富的寄存器資源,本內(nèi)核取消了傳統(tǒng)的同一時(shí)間只能讀或者寫的RAM塊,代之以可同時(shí)進(jìn)行不同地址讀寫操作的寄存器組。一些特殊功能寄存器有專用總線輸出,如圖3所示。


(4)提高時(shí)鐘頻率:對(duì)電路的關(guān)鍵路徑進(jìn)行了改造,以減少邏輯電路級(jí)數(shù)從而提高時(shí)鐘頻率。通過這些設(shè)計(jì),保證了每個(gè)機(jī)器周期只需一個(gè)時(shí)鐘周期,提高了指令執(zhí)行效率,同時(shí)也提高系統(tǒng)的時(shí)鐘頻率。
1.3 兼容性方面的考慮
MCS-51系列單片機(jī)有豐富的軟硬件資源,為充分利用這些資源,在本內(nèi)核設(shè)計(jì)時(shí)盡量考慮增強(qiáng)其兼容性。除機(jī)器周期變?yōu)樵瓉?lái)的1/12以及新增加一個(gè)特殊功能寄存器(地址F8H)用于控制看門狗和軟件復(fù)位外,其他沒有變化。因而單個(gè)內(nèi)核應(yīng)用時(shí),以前的程序可完全移植;在與外界通信時(shí)因機(jī)器周期與MCS-51單片機(jī)有差別可能需對(duì)一些程序作相應(yīng)改動(dòng)。這樣可以使系統(tǒng)在提高性能的同時(shí)無(wú)需其他開銷,便于推廣使用。
2 功能模塊的設(shè)計(jì)
2.1 中央控制器(CPU)的設(shè)計(jì)
這是微控制器的核心,負(fù)責(zé)中斷處理及指令執(zhí)行。中斷處理分為中斷取樣、中斷高低優(yōu)先級(jí)的判斷及執(zhí)行相應(yīng)的處理過程。CPU對(duì)指令的執(zhí)行分為四個(gè)階段:取指-譯碼、執(zhí)行、執(zhí)行-回寫、回寫-預(yù)取指。指令執(zhí)行流程如圖4所示。


在編碼實(shí)現(xiàn)方式上,本模塊是一個(gè)大的父子兩級(jí)狀態(tài)機(jī),父狀態(tài)機(jī)為指令的類型,子狀態(tài)機(jī)為每種指令的執(zhí)行步驟。這樣結(jié)構(gòu)清晰,利于編程、查錯(cuò)及仿真。
2.2 寄存器組(REGS_CTR)的設(shè)計(jì)
本模塊在CPU的控制下完成:程序地址的產(chǎn)生、高低128個(gè)寄存器的讀寫。程序計(jì)數(shù)器根據(jù)控制信號(hào)與來(lái)自寄存器組的數(shù)據(jù)產(chǎn)生相應(yīng)的指令地址并送往ROM。在寄存器組的讀寫中,用讀譯碼電路選擇輸出操作數(shù)據(jù),寫譯碼電路寫入結(jié)果數(shù)據(jù)。這種結(jié)構(gòu)可以在對(duì)一個(gè)寄存器寫的同時(shí)讀另一個(gè)寄存器。如圖3所示,通用的數(shù)據(jù)總線可以取得任何一個(gè)寄存器的數(shù)據(jù),各個(gè)專用寄存器也有各自的專用數(shù)據(jù)線輸出。例如執(zhí)行指令 ADD A,DIRECT時(shí),由于累加器ACC有專門的總線,只要給出相應(yīng)的讀控制信號(hào)就可以從通用數(shù)據(jù)總線上得到來(lái)自寄存器組的DIRECT數(shù)據(jù),這樣ALU在同一周期內(nèi)就可以得到所需的兩個(gè)操作數(shù)。
2.3 看門狗(WT_DOG)的設(shè)計(jì)
傳統(tǒng)的MCS-51系列單片機(jī)為提高抗干擾能力通常使用外置看門狗或者采用軟件陷阱的方式使系統(tǒng)復(fù)位。本內(nèi)核增加了硬件看門狗及軟件復(fù)位功能,通過新增加一個(gè)特殊功能寄存器(地址F8H)來(lái)控制是否啟用看門狗或軟件復(fù)位以及設(shè)置看門狗的喂狗時(shí)間。除非掉電或用程序重新設(shè)置,F(xiàn)8H寄存器的數(shù)值一直保存,這樣避免了看門狗復(fù)位后其自身失效的問題。
2.4 算術(shù)邏輯運(yùn)算單元(ALU)的設(shè)計(jì)
累加器在CPU發(fā)出的指令控制下,對(duì)來(lái)自ROM與REGS_CTR的數(shù)據(jù)完成相應(yīng)的操作,包括算術(shù)運(yùn)算(加減乘除)與邏輯運(yùn)算(與或非)及BCD碼調(diào)整。所有操作的結(jié)果在一個(gè)時(shí)鐘周期內(nèi)得出,在clk1上升沿到來(lái)后寫入REGS_CTR。
2.5 串行模塊及定時(shí)/計(jì)數(shù)器的設(shè)計(jì)
串行模塊和定時(shí)/計(jì)數(shù)器的工作模式與傳統(tǒng)的MCS-51系列單片機(jī)相同。定時(shí)/計(jì)數(shù)器一個(gè)時(shí)鐘周期計(jì)數(shù)一次,與傳統(tǒng)MCS-51單片機(jī)一個(gè)機(jī)器周期計(jì)數(shù)一次效果等同。在與外界用串行端口通信時(shí)機(jī)器周期有差別。
3 仿真、綜合優(yōu)化及實(shí)現(xiàn)
3.1 仿真
為了保證內(nèi)核正確地工作,必須對(duì)電路做充分的仿真以保證設(shè)計(jì)的正確性。系統(tǒng)設(shè)計(jì)完成后用ModelSim Se PLUS 6.0D對(duì)電路進(jìn)行了功能仿真,對(duì)組合邏輯模塊(如ALU)采用了窮舉測(cè)試向量的方法予以功能仿真,對(duì)于時(shí)序模塊如CPU,先測(cè)試能否正確執(zhí)行中斷及每一條指令,再測(cè)試隨機(jī)指令及隨機(jī)中斷。仿真結(jié)果表明,內(nèi)核能滿足設(shè)計(jì)的要求。ALU的仿真結(jié)果如圖5所示。
其中rom_data、acc、regs_data為ALU的操作數(shù),instruction為指令的類別,alu_rslta、alu_rsltb為ALU的操作結(jié)果的高、低字節(jié)。由圖5可見,在輸入操作數(shù)和進(jìn)位溢位標(biāo)志位不變的情況下,不同的指令都能輸出相對(duì)應(yīng)的正確結(jié)果。ALU操作結(jié)果的數(shù)據(jù)予以鎖存,直到下一個(gè)指令或數(shù)據(jù)到來(lái)時(shí)才改變。在保持指令不變的情況下改變輸入數(shù)據(jù)和進(jìn)位溢位標(biāo)志位也能得到正確的結(jié)果。


3.2 綜合優(yōu)化
為了盡可能提高時(shí)鐘頻率,必須降低關(guān)鍵路徑的延時(shí)。由于ALU所有的操作都要在一個(gè)周期內(nèi)完成,因而操作所需的最長(zhǎng)時(shí)間也是時(shí)鐘周期的最小值。綜合分析后發(fā)現(xiàn)操作時(shí)間最長(zhǎng)的是除法運(yùn)算,采用普通移位相減除法器所需時(shí)間為39ns,如果采用并行除法器后則只需23ns,從而顯著提高了時(shí)鐘頻率。內(nèi)核綜合后消耗的LUT為4500個(gè)。
3.3 實(shí)現(xiàn)
本內(nèi)核的全部工作都在ISE7.1開發(fā)環(huán)境下完成。其中,仿真用的是ModelSim Se PLUS 6.0D,綜合用的軟件是Synplify Pro 8.0。驗(yàn)證采用的平臺(tái)是CREAT-SOPC1000X試驗(yàn)箱[3],它的核心芯片即FPGA使用的是Xilinx公司的Virtex-Ⅱ xc2v1000 -6 fg456,等效為100萬(wàn)門電路,如圖6所示。平臺(tái)上集成了一些常用的功能模塊,其中的晶振為50MHz,超過了本內(nèi)核綜合后的最高頻率,因而設(shè)計(jì)了一個(gè)5分頻模塊使時(shí)鐘為10MHz。內(nèi)核運(yùn)行的測(cè)試程序和數(shù)據(jù)以事先機(jī)器代碼的形式“固化”在一個(gè)程序模塊內(nèi)替代ROM,系統(tǒng)可以像ROM一樣對(duì)其讀取數(shù)據(jù)和程序。P0-3輸出觀察數(shù)據(jù),檢驗(yàn)程序是否正確執(zhí)行。驗(yàn)證結(jié)果表明,內(nèi)核能正確執(zhí)行加載的程序并穩(wěn)定運(yùn)行在10MHz的頻率上。


為克服傳統(tǒng)MCS-51單片機(jī)執(zhí)行效率偏低的缺點(diǎn),滿足現(xiàn)在的FPGA對(duì)嵌入式軟核速度較高的要求,重新設(shè)計(jì)了一個(gè)兼容MCS-51指令的嵌入式軟核。該軟核指令效率提高了12倍,同時(shí)增加了實(shí)用的功能:硬件看門狗和軟件復(fù)位。內(nèi)核通過FPGA驗(yàn)證具有一定的應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] 韓俊剛.論ASIC與FPGA之爭(zhēng).計(jì)算機(jī)工程,2004,30(8):10-11.
[2] 楊忠煌等.單芯片8051實(shí)務(wù)與應(yīng)用.第一版.北京:中國(guó)水利水電出版社,2001.
[3] CREATE-SOPC 1000X試驗(yàn)指導(dǎo)書..

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉