www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 隨著信息技術(shù)的發(fā)展,網(wǎng)絡(luò)通信、信息安全和信息家電產(chǎn)品的普及,嵌入式MCU正是所有這些信息產(chǎn)品中必不可少的部件。目前國內(nèi)一些科研院校和半導(dǎo)體公司都在致力于研發(fā)自主設(shè)計的嵌入式微控制器,這對我

 

隨著信息技術(shù)的發(fā)展,網(wǎng)絡(luò)通信、信息安全和信息家電產(chǎn)品的普及,嵌入式MCU正是所有這些信息產(chǎn)品中必不可少的部件。目前國內(nèi)一些科研院校和半導(dǎo)體公司都在致力于研發(fā)自主設(shè)計的嵌入式微控制器,這對我國的半導(dǎo)體產(chǎn)業(yè)、電子產(chǎn)品產(chǎn)業(yè)的發(fā)展具有重要意義。

這里描述了一款自主研發(fā)的16位嵌入式微控制器(A8096)的設(shè)計與實(shí)現(xiàn),基于RTL級設(shè)計方法使用VerilogHDL進(jìn)行設(shè)計描述,在設(shè)計中,采用硬布線控制方式,減少了面積和功耗,同時MCU兼容了MSC-96指令集,目標(biāo)是可以應(yīng)用于實(shí)際嵌入式系統(tǒng)項(xiàng)目中。

 

1 總體設(shè)計

1.1 MSC-96體系結(jié)構(gòu)

圖1所示為MSC-96體系結(jié)構(gòu)。Intel 8096微控制器是由通用寄存器陣列、算術(shù)邏輯單元(RALU)和微程序控制器等模塊組成。其采用的是微程序控制方式,需要使用一個片內(nèi)ROM存儲器,因而會造成面積和功耗都會較大。

MCU內(nèi)部的寄存器陣列通過一個控制器和2條總線與RALU相連。這兩條總線是8位的A-BUS和16位的D-BUS。DBUS只用于RALU與寄存器之間的數(shù)據(jù)傳輸,而A-BUS用作上述傳輸過程中的地址總線。當(dāng)MCU通過寄存器控制器訪問片內(nèi)外寄存器時,A-BUS可作為多路轉(zhuǎn)換的地址/數(shù)據(jù)總線。

1.2 A8096總體結(jié)構(gòu)

為了減少面積和功耗,A8096采用硬布線邏輯控制方式取代上述的微程序控制器。依據(jù)MSC-96的體系結(jié)構(gòu),A8096主要功能模塊包括:IPU(InSTructiON Pre-fetch Unit。指令預(yù)取單元)、CU(Control Unit,控制單元)、ALU(ArithmetICLogical Unit,算術(shù)邏輯單元)、MEM_C-TRL(MEM控制器)、RF_CTRL(寄存器堆控制器)、ISR(Interrupt Service Routine unit,中斷服務(wù)單元)、GPIO(General Purpose Input Out-put,通用輸入輸出單元)等主要功能部件。其結(jié)構(gòu)如圖2所示。

 

1.3 系統(tǒng)總線

A8096采用3條總線:一條是MEM總線,用于IPU和MEMCTRL對程序空間和數(shù)據(jù)空間的讀寫控制;16 bit的數(shù)據(jù)線,16 bit的地址線,讀寫信號memrd/memwr;一條是內(nèi)部寄存器陣列(Register File)總線,用于RF_CTRL對內(nèi)部寄存器陣列的讀寫訪問,地址線是8 bit的,數(shù)據(jù)線為16 bit,讀寫信號為rf_rd/rf_wr;一條是SFR總線,用于訪問數(shù)據(jù)空間地址在00H~19H的特殊定義的寄存器空間。8 bit的地址總線,16bit的數(shù)據(jù)總線,讀寫信號sfrrd/sfrwr。另外IPU和MEMCTR的數(shù)據(jù)交互是通過8 bit的數(shù)據(jù)線instr_bus完成的,其作用是從預(yù)取指令隊(duì)列中將指令傳給CU單元等。

 

2 MCU設(shè)計與實(shí)現(xiàn)

2.1 MCU工作原理

A8096通過IPU(指令預(yù)取單元)指令預(yù)取,并存放在預(yù)取指令隊(duì)列中,CU(控制單元)從IPU指令隊(duì)列中取指并進(jìn)行譯碼,產(chǎn)生控制時序等信號。ALU單元、RAM控制器、MEM控制器等部件中均有譯碼模塊,依據(jù)當(dāng)前指令和當(dāng)前指令周期主動工作。如:RAM控制器在加法指令的相應(yīng)周期取操作數(shù)送往ALU單元,ALU在相應(yīng)周期接收數(shù)據(jù),然后進(jìn)行運(yùn)算并將結(jié)果輸出。

2.2 MCU啟動過程

在上電復(fù)位時,MCU處于復(fù)位態(tài)(rst信號有效)。復(fù)位時,IPU單元中的指令隊(duì)列清空(empty信號有效),總線處于空閑態(tài),IPU立刻進(jìn)行指令預(yù)取動作,程序空間的首地址(2080H)指令即被取人指令隊(duì)列,隨后隊(duì)列空信號(empty)無效,同時指令被發(fā)送出去(instr_bus)。在復(fù)位同時,控制單元(CU)的取指信號(codefetche)即一直有效,在指令隊(duì)列空信號empty無效后(在empty無效之前CU一直等待),指令即通過instr_ bus進(jìn)入了CU,指令操作碼被存入了指令寄存器,如圖3中instr寄存器更新為加法指令的操作碼74。至此,MCU完成了復(fù)位、自動取指操作,并開始往下執(zhí)行該指令,IPU單元也會繼續(xù)進(jìn)行指令預(yù)取操作。

2.3 指令執(zhí)行過程

在A8096中,有兩級指令預(yù)取概念:一級是指令預(yù)單元IPU利用總線空閑從程序空間不斷預(yù)取指令存入指令隊(duì)列中;一級則是指令執(zhí)行過程中的指令預(yù)取,當(dāng)一條指令執(zhí)行到最后一個時鐘周期時,CU單元就會發(fā)送取指信號,進(jìn)行指令執(zhí)行級的預(yù)取指動作,下一條指令的操作碼即被預(yù)取出來(指令隊(duì)列為空時需等待),并立刻進(jìn)行譯碼確定指令的字節(jié)長度和指令執(zhí)行周期數(shù)。

如圖4所示,在加法指令的最后一個周期(cycle=05),CU單元取指信號codefetche有效,則下一條指令的操作碼(6C,乘法操作碼)被預(yù)取出來,同時進(jìn)行查表譯碼確定其指令字節(jié)長度和指令周期數(shù),隨后操作碼被存入指令寄存器instr中(此時,指令周期計數(shù)器cycle又從01開始計數(shù))。后面乘法指令的操作數(shù)也會不斷被取進(jìn)來執(zhí)行,直到乘法指令最后一個周期時,又將下一條指令的操作碼預(yù)取進(jìn)來。

需要說明:codefetche為取操作碼信號,datafetche為取操作數(shù)信號。在指令最后一個周期時若有中斷請求,則插入LCALL指令進(jìn)行中斷處理,讀取下一條指令。其流程如圖5所示。

 

 

2.4 指令譯碼過程

在MCU設(shè)計過程中,首先完成對各條指令的指令分析工作,確定每個周期該做的動作,然后各部件依據(jù)指令分析表進(jìn)行相關(guān)的指令譯碼(RAM控制器只譯RAM要做的動作,ALU只譯ALU要做的動作)。過程描述如下:在預(yù)取操作碼時,CU單元對操作碼進(jìn)行譯碼確定指令的字節(jié)長度(nr_bytes)和指令周期數(shù)(nr_cycles)。然后CU依據(jù)指令字節(jié)長度(nr_bytes)取操作數(shù),其他部件依據(jù)指令和當(dāng)前指令周期(curcycle)執(zhí)行相應(yīng)的指令操作。表1為加法指令分析表,下面以加法指令的譯碼過程來說明整個譯碼流程:

1)加法指令 ADD OPl OP2(將OPl+0P2結(jié)果寫入OPl中);其目標(biāo)碼格式為:ADD OP2 OPl,其中OPl和OP2均為操作數(shù)地址。

2)0周期 實(shí)際指上一條指令的最后一個時鐘周期,此周期codefetche取指信號有效,IPU單元將指令送入CU單元確定了指令周期和指令長度。

3)l周期 取操作數(shù)信號datafetche有效,op2(地址)進(jìn)來,被送入RAM地址線,發(fā)讀信號(從RAM寄存器陣列取操作數(shù)2)。

4)2周期 操作數(shù)2被取入,并存入ALU中的a寄存器;此周期取操作數(shù)信號datafetche有效,opl(地址)進(jìn)來,被送入RAM地址線,發(fā)讀信號。

5)3周期 操作數(shù)l被取入,并存入ALU中的b寄存器;加法器立刻進(jìn)行a+b運(yùn)算。

*周期 將加法結(jié)果放到RAM數(shù)據(jù)線上,地址線=opl,發(fā)寫信號。將加法結(jié)果寫回到opl中,并依據(jù)結(jié)果對PSW進(jìn)行處理。

7)5周期 無動作,用于寫回操作的過程。

3 驗(yàn)證結(jié)果

3.1 仿真驗(yàn)證

芯片的功能與結(jié)構(gòu)設(shè)計,只是設(shè)計流程的一部分,為保證最終設(shè)計成功,必須對其全面仿真與功能驗(yàn)證。對MCU的測試方法如下:1)功能模塊的單元測試,驗(yàn)證模塊的功能正確性,包括接口時序等。2)系統(tǒng)集成測試,首先編寫簡單的機(jī)器碼測試向量進(jìn)行初步調(diào)試:然后使用編譯器寫匯編程序,編譯成二進(jìn)制機(jī)器碼進(jìn)行程序功能測試。在集成測試中,編寫匯編測試程序,用編譯器編譯成機(jī)器碼,在Cadenee NC下運(yùn)行這些測試程序進(jìn)行仿真測試。對每條指令均測試了其各種尋址方式,且測試程序自動向DEBUG寄存器寫測試結(jié)果,以方便調(diào)試。經(jīng)過復(fù)雜的測試和不斷修正,驗(yàn)證結(jié)果顯示MCU指令執(zhí)行的正確性。

3.2FPGA驗(yàn)證

使用的FPGA器件是StratixⅡ型號為EP1S40F780C7。綜合結(jié)果顯示:A8096使用3 565個LE(LogICElement)。時序分析結(jié)果:A8096可以運(yùn)行在49.93 MHz的時鐘頻率下。A8096占用FPGA資源分布情況如圖6所示。

 

4 結(jié)論

本設(shè)計中,采用RISC技術(shù)中的硬布線控制邏輯,有利于減少M(fèi)CU面積、降低功耗以及提高M(jìn)CU執(zhí)行效率,F(xiàn)PGA實(shí)現(xiàn)表明其只占用了3 565個LE單元,工作時鐘可達(dá)50 MHz。同時該MCU具有很強(qiáng)的擴(kuò)展性與實(shí)用性,應(yīng)用領(lǐng)域廣泛,可方便與定時器、串行通訊接口(I2C)、串行外圍接口(SPI)、模數(shù)(A/D)轉(zhuǎn)換器等外圍功能單元組成各種嵌入式系統(tǒng),完全具備實(shí)際應(yīng)用價值。

 

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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