淺析嵌入式MCU硬件設計相關要素
1、引言
本文引用地址:http://m.butianyuan.cn/article/201808/386066.htm目前,集成電路的嵌入式技術發(fā)展越來越快,各色嵌入式產品也越來越受歡迎,尤其是以大屏幕多功能的手機、平板電腦等為典型代表,做為其控制核心的高性能、低功耗的微控制器(MCU)起到了決定性作用。因此以CPU為核心MCU的設計也成為了諸多高等院校、各大公司進行市場競爭的一個主流發(fā)展方向。
2、MCU選型技術
微控制器(MCU)的應用領域非常廣泛,如消費類電子市場中的手機、照相機、攝像機、MP3、MP4、平板電腦、筆記本電腦、PC機、各種遙控電動玩具等,還有汽車電子的電子鑰匙、控制系統(tǒng)、導航、倒車影像、倒車雷達等,還有各種安全防衛(wèi)系統(tǒng)、醫(yī)療器械、工業(yè)控制、武器裝備、航空航天等各個領域。因此在設計MCU之前需要進行明確的市場定位,從而使目標產品有的放矢,并在高性能、低成本、多功能、輕體積、低功耗、高可靠、散熱好、抗輻照、抗單粒子、適應超高溫和超低溫等方面具有很強的競爭力。MCU硬件設計主要包括兩大部分:CPU選型和外圍IP核的選取。
3、CPU選型
CPU作為MCU的大腦,起到控制核心的作用,基本上決定了MCU的目標應用領域,因此CPU的選型是設計MCU的關鍵。目前,可以用于集成電路嵌入式設計的CPU主要有CISC架構的80386EX,RISC架構的ARM7TDMI/EJ、ARM926EJS/946ES/968ES、ARM1136/56/76、ARMCortex-A5/7/8/9/15、ARMCortex-R4/5/7、ARMCortex-M0/0+/1/3/4、SecurCore000/100/300、MIPS32M4K/4K/14K/24K/34K/74K/1004K/1074K、microMIPS32、SmartMIPS、Nios/NiosII、PowerPC40x/60x/70x/90x、SPARCv7/8/9、LEON2/3/4、OR1000/1200等,其中以ARM系列嵌入式CPU發(fā)展的勢頭最為迅猛,占據了嵌入式處理器絕大部分的市場份額,而且還在繼續(xù)增長。各家公司的每種處理器都有自己的特點,可以滿足不同的應用需求。此外,開發(fā)環(huán)境的完備性、總線接口協(xié)議的高效性、技術支持的專業(yè)性、IP核種類的豐富性、設計資源的開放性以及設計者的使用習慣等,都會對CPU的選型產生決定性的影響。
4、外圍IP選取
對于應用領域而言,外圍IP核起到了很好的支撐作用,因為如果把MCU比作“人”,則外圍IP核相當于MCU的“眼”“耳”“口”“鼻”等重要器官,所以外圍IP核的選取也同樣至關重要。IP核的選取包括通用IP核和特定用途IP核兩種。
4.1通用IP選取
目前,通用IP核的種類比較繁多,按照總線接口協(xié)議可以分為IBM公司的Core Connect、ARM公司的AMBA(Advanced Microcontroller BusArchitecture)和Silicore Corp公司的Wishbone等;按功能分為接口類IP核如DMA、GPIO、UART、USART、Timer、WDT、I2C、I2S、SPI、CAN、存儲器控制器,圖像處理類IP核等;存儲器類IP核如ROM、RAM、SRAM、FLASH等。根據功能不同可以進行不同的選擇,還可以集成幾個相同功能的IP核,如UARTx4有4個UART接口,I2Cx2則是有2個I2C接口等。
4.2特定用途IP選取
特定功能的IP核種類也很多,如時鐘類的PLL、片上高精度振蕩器,模數轉換類的AD、DA,網絡類的ETHERNETMAC/PHY、Modem,圖像處理類的H.264、JPEG,接口類的USB2.0/3.0、IDE、SATA等,高速接口類的LVDS、RapidIO、SerDes等,還有各種傳感器等,需要根據市場定位來確定。
5、MCU設計
5.1硬件設計
目前,Samsung、FreeScale、Atmel、NXP、TI、ST等大公司已經大規(guī)模推出各類MCU,而且各具特色,因此設計具有自主知識產權的MCU應在系統(tǒng)架構等方面有別于這些大公司,一是避免侵權,二是更有利于市場競爭。同時應做好產品的規(guī)劃:從簡單到復雜,從單一產品到系列產品,設計平臺不斷維護與更新,設計軟件不斷維護與升級,設計人員的水平不斷提高。主要包括以下幾個方面:
(1)體系架構分析、設計和驗證
依據設計規(guī)格書中的性能指標和功能指標,首先需要制定設計方案:選取幾款CPU以及所有用到的IP核進行系統(tǒng)級設計,從整體上評估MCU的系統(tǒng)架構、CPU的性能指標、IP核的功能特性等方面?;趲追N選定的目標工藝給出相應的數據分析,確認是否能夠滿足設計目標的要求,從而確定基本的設計方案,然后再根據具體的設計結果進行相應的優(yōu)化。
(2)時鐘和復位方案設計
時鐘和復位對整個電路而言起到了至關重要的作用。如果這兩路信號有問題,則電路不能正常工作。因此,需要作出詳盡的時鐘方案和復位方案,需要給不同的外設提供不同的時鐘:USB單獨時鐘、CPU等高速外設一個時鐘、UART等低速外設一個時鐘,如圖1示。
圖1時鐘方案示意圖
(3)總線方案設計
采用何種總線、何種組合方式、總線的數量等關系到MCU性能的發(fā)揮。以AMBA總線為例,通常的用法是AHB接高速外設,再通過AHB到APB總線橋來訪問低速外設。有時為了提高外設的訪問速度,一個MCU內部可能有兩條APB總線;也可能有兩條AHB總線。指令和數據分離,一條用來數據傳輸或圖像處理,另一條用來通用控制。還可能有多層AHB的互連矩陣,便于多個Master可以同時訪問多個不同的高速外設,從而大幅度提高MCU系統(tǒng)性能。因此,總線方案的制定須依據產品的具體應用來確定。
(4)功耗管理方案設計
低功耗是MCU的突出特點之一,因為MCU中集成了多種低功耗管理策略:不僅在邏輯上采用門控時鐘、門級優(yōu)化的方式,而且還在物理上采用多閾值電壓、多電源域、門控電源等方式;同時更在功能模式上采用了多種模式:正常運行模式、睡眠模式、深度睡眠模式、掉電模式等,并嚴格規(guī)定各種模式下運行和關閉IP核的種類以及各種模式之間的進入和退出流程。這既保證了電路的功能,又保證了電路的性能。
(5)中斷處理方案設計
中斷是MCU一項很重要的功能。通過中斷控制,CPU可以快速響應外設的請求。中斷處理一般包括中斷源的數量、優(yōu)先級、是否可屏蔽、是一般中斷還是快速中斷等,通常需要設計一個專用模塊來進行中斷處理。有時為了提高設計效率,IP銷售商也提供標準的基于AHB或APB等總線接口協(xié)議的IP核。如果此類IP核能夠滿足系統(tǒng)對于中斷處理情況的要求,也可以選用。
(6)存儲器管理方案設計
存儲器是MCU中占面積較大的模塊。一個MCU中可能同時含有ROM、SRAM和FLASH三種存儲器:ROM用于放置BootLoader、IP Drivers等,SRAM用于提高軟件運行速度、存放臨時數據,FLASH用于存放應用程序和數據。由于FLASH的讀寫速度比較慢,為了提高FLASH的讀寫速度,可以采用預取緩沖器和寫緩沖器來加速指令和數據的緩沖。由于各個存儲器都有自己的地址空間,因此很方便用戶訪問。為了便于系統(tǒng)管理,通常設計一個存儲器管理模塊,并在系統(tǒng)控制模塊中設計對應的控制寄存器。
(7)在線調試方案設計
目前,比較常用的在線調試方式為串行調試,如JTAG、EJTAG、UART等,使用PC機的并口、串口、網口或是USB接口,使得在線調試簡單方便,成本低廉,如圖2所示。由于被調試的程序要在目標板上運行,而且MCU必須正常工作,因此需要設計一個專用的調試模塊以保證上位機軟件可以調用CPU來進行軟硬件的在線調試,并且符合IEEE1149.1的協(xié)議標準,此模塊的基本結構如圖3所示。
圖2典型在線調試系統(tǒng)示意圖
圖3調試結構示意圖
(8)測試方案設計
MCU的測試方案主要包括物理測試、功能測試和性能測試幾部分內容。先要根據時鐘方案和復位方案對MCU進行時鐘測試,確保時鐘電路工作正常;再對CPU進行功能測試,因為CPU是MCU的控制核心,只有CPU正確運行才能對其他IP核進行測試;然后再依據設計規(guī)格書對MCU外圍的數字IP核和模擬IP核進行功能測試和性能測試。
5.2系統(tǒng)級驗證
為了確保設計的正確性,流片之前必須對MCU進行全功能驗證。因此需要使用多種IIP和VIP來搭建一個系統(tǒng)級驗證平臺,依據設計規(guī)格書制定詳細的驗證方案,通過仿真工具,采用定向和隨機的方式或采用比較流行的OVM、VMM和UVM等驗證方法學、逐個IP核來驗證MCU的全部功能是正確的,重點是系統(tǒng)控制單元、總線仲裁器、功耗管理等為系統(tǒng)功能定制設計的非標準模塊。
5.3 FPGA原型驗證
由于系統(tǒng)級驗證使用的是EDA工具進行軟件仿真,仿真的速度比較慢,因此可以通過FPGA原型驗證的方式來加速系統(tǒng)級驗證的速度,尤其是需要將那些功能比較復雜、規(guī)模比較大的模塊下載到FPGA中,而且應盡可能使用規(guī)模比較大的FPGA,如Virtex-7系列、ArriaV系列等。搭建FPGA驗證平臺時,不僅可以使用一塊FPGA,也可以使用多塊FPGA,最好能夠將設計的所有模塊全部下載到FPGA中。FPGA原型驗證不僅要驗證硬件的正確性,還要驗證IP核驅動程序的正確性,同時也可以驗證目標應用程序的正確性。
5.4物理設計
在對MCU系統(tǒng)級驗證和FPGA原型驗證后,需要進行物理設計:依據設計規(guī)格書制定合理設計約束,從邏輯綜合到自動布局布線,再到物理驗證、形式驗證、靜態(tài)時序分析和功能驗證,完成從RTL到GDSII的轉換過程,最后將數據發(fā)送至代工廠進行加工制造。
5.5文檔設計
文檔是MCU設計過程中很重要而且很必要的環(huán)節(jié),且應該在設計的不同階段,以模板的形式規(guī)定在此階段所要完成的文檔設計,并由項目負責人進行詳細審查,從而確保一旦設計中出現了任何問題,都可以查找相關的設計文件以及對應的設計文檔,尤其是設計的細節(jié)需要體現的很完整。
5、結束語
以上只是簡要概述了MCU硬件設計的主要方面。若要設計一個性價比高、競爭力強的MCU,還需要進行大量的、詳細的工作,尤其是電路的全功能驗證和詳盡測試,并搭建一個MCU平臺來進行系列產品的開發(fā),以保證產品可以源源不斷地進入嵌入式市場。
評論