當前位置:首頁 > 電源 > 數(shù)字電源
[導讀]傳統(tǒng)的微處理器由于內(nèi)部有限的邏輯資源和外部固定的引腳封裝,大大限制了應(yīng)用范圍。為此,在闡述微控制器的內(nèi)部結(jié)構(gòu)、存儲器管理結(jié)構(gòu)和指令集結(jié)構(gòu)后,利用現(xiàn)場可編程門陣列豐富的邏輯資源,虛擬出傳統(tǒng)微控制器的處理器核心,添加Wishbone總線,將處理器核心與通用外設(shè)連接構(gòu)成一個虛擬的微控制器平臺,并使用硬件描述語言Verilog和VHDL,自底向上設(shè)計AVR處理器核心,與通用外設(shè)互連組成系統(tǒng),使用XILINX Virtex-Ⅱ Pro芯片進行板級驗證。

0 引言

隨著社會發(fā)展,工業(yè)控制及人們?nèi)粘I钤絹碓阶非缶芸刂?,為滿足這種需求,微控制器得到了快速發(fā)展。微控制器(Micro Control Unit,MCU)又稱單片微型控制計算機或單片機。隨著大規(guī)模集成電路(LargeScale Integration,LSI)發(fā)展,MCU將原本分散的中央處理器(Central Processor Unit,CPU)、隨機存儲器(Ran-dom Access Memory,RAM)、只讀存儲器(Read OnlyMemory,ROM)、輸入/輸出接口(In/Out Ports,I/O)等集中于一塊單晶芯片內(nèi),形成一種芯片級計算系統(tǒng)。MCU主要用于控制,MCU構(gòu)成的系統(tǒng)有實時、快速的外部響應(yīng),能迅速采集到大量數(shù)據(jù),做出邏輯判斷與推理后實現(xiàn)對被控制對象的參數(shù)調(diào)整與控制。但是隨著對控制的要求增大,傳統(tǒng)MCU也越來越顯得捉襟見肘。為此使用專用應(yīng)用集成電路(Application Specific IntegratedCircuit,ASIC)器件在片內(nèi)實現(xiàn)與傳統(tǒng)MCU相兼容的核心,選用合適的片內(nèi)總線來連接外設(shè),構(gòu)成一個兼容傳統(tǒng)MCU平臺,這種方法必會延續(xù)傳統(tǒng)MCU的生命力,使其獲得更大的發(fā)展。

1 MCU 簡介

若將4位單片機的出現(xiàn)作為MCU的起點,MCU的發(fā)展大致可以分為如下階段:初級階段(1971年-1976年)、8 位低性能階段(1976 年-1980 年)、8 位高性能階段(1980年-1983年)、16位階段(1983年至80年代末)、片上系統(tǒng)(System On-Chip,SoC)階段(1990-)。一個通用的MCU 由ROM、RAM、GPIO、串行設(shè)備(UART/SPI/IIC)、計數(shù)器/定時器(TIMER)等組成,并通過總線連接,如圖1所示。

 

 

傳統(tǒng)MCU 都需要一套指令集結(jié)構(gòu)(Instruction SetArchitecture,ISA)。從現(xiàn)階段主流體系結(jié)構(gòu)講,主要分為復雜指令集(Complex Instruction Set Computer,CISC)和精簡指令集(Reduced Instruction Set Computer,RISC)。

RISC增加了運行速度,大大減小了指令集數(shù)目,方便使用多級流水線結(jié)構(gòu),可增加寄存器數(shù)量。AVR單片機就是一款內(nèi)置FLASH的增強型RISC處理器[4].

另外MCU需要將數(shù)據(jù)和指令存儲于存儲器中。目前使用最多的兩種存儲器組織結(jié)構(gòu)分別為馮·諾依曼結(jié)構(gòu)(Von Neumann Architecture)和哈佛結(jié)構(gòu)(Harvard Ar-chitecture)。馮·諾依曼結(jié)構(gòu)將處理器指令和數(shù)據(jù)合并在一起存儲,指向同一存儲器的不同物理地址。哈佛結(jié)構(gòu)將程序指令存儲和數(shù)據(jù)存儲分開,中央處理器先從程序指令存儲器中獲得指令譯碼后得到數(shù)據(jù)地址,再由此從數(shù)據(jù)存儲器中取得數(shù)據(jù),并進行下一步操作。哈佛結(jié)構(gòu)的微處理器通常有很高的執(zhí)行效率。Atmel公司的AVR系列就是采用的哈佛結(jié)構(gòu)。

AVR單片機是由Atmel公司在1997年推出的高速8位MCU,內(nèi)置FLASH的增強型RISC處理器,可廣泛應(yīng)用于計算機外部子系統(tǒng)、工業(yè)生產(chǎn)和控制、儀器儀表、通信設(shè)備、家用電器等各個領(lǐng)域。大部分AVR片上資源豐富:如E2PROM,PWM,RTC,SPI,USART,TWI,ISP,AD,Analog Comparator,WDT等。AVR單片機內(nèi)嵌高質(zhì)量的FLASH程序存儲器,擦寫方便,支持ISP和IAP,便于產(chǎn)品的調(diào)試、開發(fā)、生產(chǎn)、更新。內(nèi)嵌長壽命的E2PROM可長期保存關(guān)鍵數(shù)據(jù),避免斷電丟失。片內(nèi)大容量的RAM不僅能滿足一般場合的使用,同時也更有效地支持使用高級語言開發(fā)系統(tǒng)程序,并可像8051單片機那樣擴展外部RAM.

2 FPGA 簡介

ASIC 是指依特定用途而設(shè)計的特殊規(guī)格邏輯電路。ASIC的最顯著特點是面向特定用戶需求,與通用集成電路相比有更小的體積、更低的功耗、較高的可靠性、較強的保密性和低成本等優(yōu)點,但因為開發(fā)較為復雜,所以研發(fā)周期較長。

隨著電子工業(yè)技術(shù)的發(fā)展,ASIC的設(shè)計方法變得越簡單,效率越高,可編程ASIC就是一個很有特色的設(shè)計分支,它主要利用可編程的集成電路如PLD(Program-mable Read Only Memory)等可編程邏輯電路來設(shè)計。

主要特點是直接提供軟件設(shè)計編程,完成ASIC電路功能,而不再通過集成電路工藝加工后得到成品。這種方法大大降低了開發(fā)周期,且縮小了成本。

現(xiàn)場可編程門陣列(Field Programmable Gate Ar-ray,FPGA)就是眾多PLD產(chǎn)品中應(yīng)用最為廣泛的一種,它采用了邏輯單元陣列(Logic Cell Array,LCA),內(nèi)部包含了可配置的邏輯模塊(Configurable Logic Block,CLB)、輸入/輸出模塊(Input Output Block,IOB)和內(nèi)部連線(Interconnect)。FPGA采用的是小型查找表來實現(xiàn)組合邏輯的,每個查找表連接到一個D觸發(fā)器的輸入端,觸發(fā)器再來驅(qū)動其他的邏輯電路或者I/O,由此構(gòu)成即可實現(xiàn)組合邏輯功能又可實現(xiàn)時序邏輯功能的基本邏輯單元模塊,通過內(nèi)部連線互相連接。FPGA的邏輯是通過向內(nèi)部靜態(tài)存儲單元加載編程數(shù)據(jù)來實現(xiàn)的,存儲在存儲器單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或模塊與I/O之間的聯(lián)系方式,并且最終決定了FPGA所實現(xiàn)的功能。由于FPGA采用查找表結(jié)構(gòu),而查找表本質(zhì)是一個小RAM,所以FPGA內(nèi)部信息掉電消失,上電需要重新進行配置。FPGA支持多次重復編程。相對于其他的可編程器件,F(xiàn)PGA是ASIC電路中設(shè)計風險最小、開發(fā)費用最低、周期最短的器件之一。采用高速CMOS工藝,功耗低,可以與CMOS、TTL電平兼容。同時FPGA 的內(nèi)部邏輯和I/O 資源非常豐富,可以說用FPGA芯片進行小批量生產(chǎn),對于提高系統(tǒng)集成度、可靠性是很有幫助的。

在眾多PLD廠家中,XILINX公司的產(chǎn)品種類豐富,其開發(fā)工具ISE為業(yè)界公認的最好的開發(fā)工具之一,且其芯片的性價比很高。所以,這里主要使用XILINX公司的產(chǎn)品。XILINX 公司主要FPGA 產(chǎn)品為SPARTAN系列和VIRTEX系列。前者面向低成本應(yīng)用,滿足一般的邏輯設(shè)計要求,后者面向高性能應(yīng)用,滿足高端要求。文中選擇Virtex-Ⅱ Pro 系列芯片作為開發(fā)平臺。

這款芯片含有可編程輸入/輸出塊、可配置邏輯塊、嵌入式RAM塊、數(shù)字時鐘管理模塊、專用硬核以及豐富的布線資源。FPGA的設(shè)計過程是利用EDA工具將設(shè)計輸入轉(zhuǎn)化為FPGA芯片可運行的過程,開發(fā)的一般流程見圖2.

3 Virtual AVR 實現(xiàn)

通過對FPGA和MCU的深入了解,可知使用FPGA的豐富資源來虛擬出MCU是完全可行的。首先,需設(shè)計一個總體結(jié)構(gòu),如圖3所示。ROM用于存放被執(zhí)行程序及二進制代碼,RAM 為運行內(nèi)存,用總線將VirtualMCU Core與各外設(shè)相連。使用該結(jié)構(gòu)可簡化設(shè)計,無需對外設(shè)重復設(shè)計,只要使Virtual MCU Core滿足同一接口即可。

 

 

 

 

Virtual MCU Core由幾部分構(gòu)成:算術(shù)邏輯單元,運算的主要單元;譯碼器,由二進制文件判斷指令類型并獲得源操作數(shù)和目的操作數(shù)等;寄存器,用于參加運算和存儲某些中間值等。

Virtual AVR Core 以ATmega103處理器為參考,核心采用RISC結(jié)構(gòu),3級流水線結(jié)構(gòu),因為是哈佛結(jié)構(gòu),所以分為數(shù)據(jù)存儲器和指令存儲器。它的處理器核心如圖4所示。同時ATmega103共有130條指令,每條指令都是固定結(jié)構(gòu),為16 位。在該設(shè)計中,移植了Open-Cores開源組織的8位AVR核,它支持3級流水線,兼容標準AVR微處理器。[!--empirenews.page--]

 

 

ALU的實現(xiàn)采用模塊化設(shè)計,共分為控制模塊、加減法模塊和乘除法模塊。3級流水線設(shè)計如下:

stage0:FETCH,給出指令地址,并讀取相應(yīng)的指令,主要由譯碼機構(gòu)負責;stage1:ALU/MEM,ALU運算,或數(shù)據(jù)存儲器操作,讀數(shù)據(jù)存儲器時,在地址總線上給出正確的值,當寫數(shù)據(jù)存儲器時,不僅需要提供正確的地址,還需要在數(shù)據(jù)總線上提供正確的數(shù)據(jù),主要由運算機構(gòu)和總線控制機構(gòu)負責。

Stage2:LOAD,從數(shù)據(jù)線上獲取數(shù)據(jù),存至寄存器中,主要由寄存器機構(gòu)負責。

在一個系統(tǒng)中光有處理器是不夠的,需要有豐富的外設(shè)來滿足各種控制要求或數(shù)據(jù)傳輸功能,而片內(nèi)總線便是將處理器與總線連接的重要途徑。文中采用Sili-core的Wishbone總線進行設(shè)計,具有簡單、開放、高效和方便實現(xiàn)等特點,且完全開放并沒有專利保護。Wish-bone有四種連接模式:點對點、數(shù)據(jù)流、共享總線和十字交叉互聯(lián)。文中使用共享總線連接方式,其中充當Master為Virtual Core,而外設(shè)為Slaver.

為使Virtual Core能與外部器件進行通信,需要外設(shè)的支持。外設(shè)按數(shù)據(jù)流類型分為串行和并行,常用的串行外設(shè)有SPI、I2C、UART 等,常用的并行外設(shè)有GPIO等。

4 硬件支持與測試

硬件環(huán)境主要分為兩部分:第一部分為核心板,用以支持Virtex-Ⅱ Pro的運行;第二部分為底板,主要為添加外設(shè)環(huán)境,豐富系統(tǒng)的功能。選用XC2VP50FFG1152芯片作為核心的FPGA,在外圍又添加了DDR和SDRAM,方便自由選擇存儲器類型。FP-GA掉電后,內(nèi)容自動消失,每上電需要重新配置,為讓FPGA 上電后自動配置,需加一片PROM,使用XCF32P.FPGA采用并行主模式。底板上則是增加大量外設(shè):UART、PS2、VGA、ETHERNET、VIDEO、A/D、D/A、SD、USB等。

Virtual Core執(zhí)行的程序都是固化在ROM中,為達到測試要求,要多次更新ROM中內(nèi)容,為此使用嵌入式開發(fā)套件(Embedded Development Kit,EDK)來開發(fā)一個測試工具。首先將BRAM配置為雙端口RAM,一端口給Virtual Core來進行讀取操作,一端口給EDK,來更新程序存儲器。同時EDK也可提供簡單的控制任務(wù),如重啟Virtual Core 等,EDK 使用UART 和計算機進行操作。為方便控制,設(shè)計一個較為簡單的PC端串口程序,用于將EDK與PC交互,主要是將用戶的命令或文件經(jīng)串口發(fā)送至EDK,如圖5所示。搭建一個簡易測試系統(tǒng),使用ISE工具,進行綜合布局布線,其資源消耗如圖6所示。編寫一個跑馬燈程序,代碼如下:

 

 

 

 

使用WINAVR-GCC 編譯工具,編譯生成HEX 文件,后再轉(zhuǎn)化為BIN文件,將該BIN文件通過EDK組建更新ROM,觀察硬件LED,如圖7所示,其正常工作,Vir-tual AVR得到驗證。

 

 

5 結(jié)語

隨著MCU 應(yīng)用范圍越來越寬,對MCU 要求也提高,尤其目前MCU逐漸進入SoC時代,IP核復用將成為主流設(shè)計方法。為使老一代MCU延續(xù)生命力,開發(fā)其兼容IP核,不僅能將以往代碼迅速移植到新系統(tǒng),且可加快新系統(tǒng)開發(fā),將以往很多分立器件用邏輯功能實現(xiàn),集成于ASIC中,降低外圍硬件電路的設(shè)計。文中從模擬MCU核開始,闡述了用FPGA來虛擬出傳統(tǒng)MCU的設(shè)計原理和方法,適度改變內(nèi)部結(jié)構(gòu),添加Wishbone總線,替代傳統(tǒng)MCU片內(nèi)總線,來完成MCU核與外設(shè)的連接,使傳統(tǒng)MCU變的更靈活。結(jié)果表明,實現(xiàn)了既定目標,與標準的微控制器兼容,系統(tǒng)運行穩(wěn)定。該方法延續(xù)了傳統(tǒng)微控制器的生命力,能使其得到更大發(fā)展。由于Wishbone總線支持多主設(shè)備,今后可在一個FPGA 中集成多個MCU核,對于性能的提升將是質(zhì)的飛躍。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉