FPGA器件擴(kuò)展ASSP功能 扮演控制核心角色
融合為電子技術(shù)的行業(yè)應(yīng)用帶來了更適合的方式,而FPGA與生俱來的屬性更使得這些方式呈現(xiàn)出多樣性。
周立功最近出了本名為《新編計(jì)算機(jī)基礎(chǔ)教程》的書,觀后認(rèn)為,書中講授電子技術(shù)知識(shí)的方式,蘊(yùn)含計(jì)算機(jī)與半導(dǎo)體的淵源,使人仿佛再次看到那個(gè)年代親手搭建第一臺(tái)單板機(jī)的樣子……他們不斷追隨,沒過多久,單板機(jī)上的多個(gè)分離器件就被半導(dǎo)體工藝的進(jìn)步給融合為集成電路。不可否認(rèn),這種融合為電子技術(shù)的行業(yè)應(yīng)用帶來了更適合的發(fā)展方式,而FPGA與生俱來的屬性更使得這些方式呈現(xiàn)出多樣性。
FPGA器件擴(kuò)展ASSP功能
當(dāng)不同電壓的器件在一塊PCB上集合時(shí),面臨兼容各種電平標(biāo)準(zhǔn)的問題,有了FPGA,情況大為改觀。
在電子產(chǎn)品設(shè)計(jì)中,曾使用FPGA器件彌補(bǔ)ASSP器件功能上的不足。通用的MCU器件也許在智能家居主控單元中或者電表集抄器上無法提供足夠的UART外設(shè)端口,F(xiàn)PGA的邏輯單元以及雙口RAM資源的運(yùn)用,能夠以最少的硬件電路消耗完成多路UART接口的擴(kuò)展,而且是輕松實(shí)現(xiàn),因?yàn)楦鱾€(gè)FPGA廠家提供了經(jīng)過充分驗(yàn)證的IP核。
同時(shí),我們?cè)?jīng)也使用FPGA器件來增強(qiáng)或擴(kuò)展ASSP器件已具備的功能。當(dāng)不同電壓標(biāo)準(zhǔn)的器件在一塊PCB上集合時(shí),設(shè)計(jì)者面臨兼容各種電平標(biāo)準(zhǔn)的問題,或許MCU僅能夠提供1.8V LVTTL,但有了FPGA的引入,情況將大為改觀。FPGA的多電平標(biāo)準(zhǔn)Bank I/O能夠完成1.8V LVTTL到3.3V LVCMOS、2.5V LVTTL等電平的完美橋接并不降低速度。
另外,我們還一直看重FPGA器件的高速的并行執(zhí)行能力。數(shù)字0與1的翻轉(zhuǎn)時(shí)間在FPGA器件中能夠輕易小于零點(diǎn)幾納秒,這賦予了它無與倫比的集成電路速度。我們?cè)诖笮偷耐ㄐ旁O(shè)備中能夠看到他的性能,一些高速端口在處理數(shù)十條信道中的復(fù)雜的通信協(xié)議編碼與解碼,同時(shí)另一些I/O在并行處理多達(dá)10路的高速ADC送來的數(shù)據(jù)。
扮演控制核心角色
足夠大的可編程邏輯門陣列將可以實(shí)現(xiàn)任何數(shù)字電路。內(nèi)嵌式MCU與FPGA的融合是正在上演的重頭戲。
后來,SoC的概念被提出,F(xiàn)PGA器件開始以控制核心的角色登臺(tái)。如果所有的數(shù)字電路都是邏輯開關(guān),那么足夠大的可編程邏輯門陣列將可以實(shí)現(xiàn)任何數(shù)字電路。無疑,內(nèi)嵌式MCU與FPGA的融合是正在上演的重頭戲。
Altera半導(dǎo)體推出的NiosII軟核處理器是標(biāo)志性的SoC。NiosII處理器在FPGA邏輯中完整的運(yùn)行軟件編譯代碼并且不輸性能,最重要的是能夠與FPGA Fabric無縫連接,融合為一體。Altera半導(dǎo)體提供通過驗(yàn)證的一系列IP Core能夠使得設(shè)計(jì)者輕易完成自定義的SoC系統(tǒng)搭建。我們看到大學(xué)中的愛好者在廠家的技術(shù)資料參考下能夠順利完成基于DDS技術(shù)的任意波形發(fā)生器設(shè)計(jì),并帶有LCD顯示屏和觸摸屏的人機(jī)交互GUI菜單,然后通過文件系統(tǒng)的支持將波形數(shù)據(jù)存入SD卡。
[!--empirenews.page--]
Microsemi公司的FPGA產(chǎn)品,早期在ProASIC3系列器件中實(shí)現(xiàn)嵌入ARM公司授權(quán)的標(biāo)準(zhǔn)MP7以及Cortex-M1內(nèi)核,方式與Altera半導(dǎo)體的NiosII類似,但是這類方式有同一個(gè)短板——需要在FPGA器件外面增加額外的MCU所需內(nèi)存器件,這使設(shè)計(jì)者又想起了傳統(tǒng)的單板機(jī)式系統(tǒng)思路。不過很快,Microsemi半導(dǎo)體Fusion(融合)器件系列的誕生第一次使SoC的概念變得清晰。Fusion系列器件內(nèi)嵌了多達(dá)512KB的用戶可用FlashMemory,設(shè)計(jì)者可以在需要嵌入Cortex-M1或者8051S處理器內(nèi)核的時(shí)候,將程序運(yùn)行的C Code存儲(chǔ)在器件內(nèi)部的FlashMemory中,當(dāng)然也可以用來存儲(chǔ)字庫、數(shù)組等用戶數(shù)據(jù)。Fusion的另一個(gè)創(chuàng)新在于將多達(dá)30個(gè)通道并包含比較器等調(diào)理電路的ADC集成于單芯片內(nèi),實(shí)現(xiàn)模擬電路與數(shù)字電路的融合……現(xiàn)在,我們以上曾經(jīng)做過的FPGA設(shè)計(jì)一定程度上可以統(tǒng)一到Fusion器件的單芯片SoC平臺(tái)了。
利用Fusion的FPGA+Analog+“MCU”架構(gòu),我們?cè)晒f(xié)助設(shè)計(jì)者定制其專屬的多核SoC系統(tǒng)。該產(chǎn)品的PCB面積有限,而傳統(tǒng)的行業(yè)方案或許需要2-3顆MCU來并行處理才能夠得以完成?;谠O(shè)計(jì)者已有的軟件算法,我們推薦一顆Fusion器件并順利協(xié)助設(shè)計(jì)者嵌入2顆MCU軟核完成設(shè)計(jì),他同時(shí)將原來的PCB縮減50%。而實(shí)現(xiàn)的這些功能包括數(shù)據(jù)的多通道配置、數(shù)據(jù)格式的算法、系統(tǒng)的多路模擬量監(jiān)控(ADC模擬模塊)、GPRS的遠(yuǎn)程通信協(xié)議和加密算法。在以后的相當(dāng)長的一段時(shí)間里,公司多次對(duì)設(shè)計(jì)者推薦這一項(xiàng)真正單芯片的軟核SoC解決方案并不斷獲得認(rèn)可,“融合”這個(gè)詞的意義初顯。
內(nèi)嵌硬核處理器拉開序幕
硬核將晶圓面積變得更小而性能更高,也省去設(shè)計(jì)者調(diào)用軟核處理器之外全總線掛接的調(diào)試步驟。
有了軟核對(duì)于SoC技術(shù)的拓荒,半導(dǎo)體廠家開始考慮比較軟核的邏輯單元門數(shù)與硬核的晶圓面積之間的平衡,于是,由FPGA半導(dǎo)體廠家主導(dǎo)的內(nèi)嵌硬核處理器拉開序幕。Xilinx半導(dǎo)體與PowerPC的結(jié)合、Altera半導(dǎo)體與Cortex-A的結(jié)合、Microsemi半導(dǎo)體SmartFusion器件內(nèi)部帶有Cortex-M3硬核和通用外設(shè)部件……硬核利用半導(dǎo)體工藝的優(yōu)勢(shì)將晶圓面積變得更小而性能更高,同時(shí)也省去了設(shè)計(jì)者調(diào)用軟核處理器之外全總線掛接的調(diào)試步驟,減少設(shè)計(jì)者自設(shè)計(jì)軟核系統(tǒng)的不穩(wěn)定因素。
通過長時(shí)間與Microsemi半導(dǎo)體的接觸,發(fā)現(xiàn)設(shè)計(jì)者對(duì)SmartFusion系列器件在原有Fusion的結(jié)構(gòu)基礎(chǔ)上形成真正的硬件FPGA+Analog+MCU的結(jié)構(gòu)有著更加快速的認(rèn)可,并在設(shè)計(jì)推廣中收獲一些代表性的方案應(yīng)用。在工業(yè)場(chǎng)合,SmartFusion器件采用的已被廣泛應(yīng)用的Cortex-M3標(biāo)準(zhǔn)ARM內(nèi)核,使得設(shè)計(jì)者很容易將原來的同樣內(nèi)核MCU的設(shè)計(jì)無縫移植過來,同時(shí),官方及周立功公司等提供完善的技術(shù)支持,設(shè)計(jì)者可以在SmartFusion器件的硬核和以太網(wǎng)MAC中運(yùn)行實(shí)時(shí)操作系統(tǒng)支持TCP/IP協(xié)議,而官方也提供了廣泛應(yīng)用與工業(yè)的實(shí)時(shí)以太網(wǎng)IP解決方案。這樣,設(shè)計(jì)者將多路ADC采集的模擬量數(shù)據(jù)整合上傳,同時(shí)Cortex-M3接收主機(jī)端的控制指令通過AHB內(nèi)部總線驅(qū)動(dòng)FPGA邏輯部分的多路SVPWM實(shí)施MOSFET橋電路的精確控制。這樣的應(yīng)用在電機(jī)控制及高壓變頻器中是比較普遍的,而讓人高興的是,SmartFusion器件可以通過啟動(dòng)IAP方式使用內(nèi)核來更新FPGA邏輯的程序,使器件遠(yuǎn)程更新變?yōu)楝F(xiàn)實(shí),也提供了在這類較為危險(xiǎn)的場(chǎng)合下為保障調(diào)試人員安全的一種解決方案。
前不久,幫助一位FPGA設(shè)計(jì)者分析幾段HDL的設(shè)計(jì),其中不同的編碼方式使得同樣功能的兩個(gè)模塊在時(shí)序上的布局布線竟產(chǎn)生了截然不同的差異,輸出難以解釋的混亂數(shù)據(jù),期間百思不得其解。“或許他們(模塊)想要平等的待遇”——僅僅打趣的一句話而已,沒想到在更改為同樣的編碼位后問題得以解決!再次感慨現(xiàn)在的設(shè)計(jì)也需要融合哲學(xué)的思想!從電阻電容到集成電路,從開關(guān)管到可編程邏輯陣列,從8086的CPU雛形到盛行于世的ARM與SoC……當(dāng)電火花遭遇半導(dǎo)體,人類的智慧使得它變得有序和富有靈魂!原來這是一場(chǎng)融合的大革命,持續(xù)百年并且仍在延續(xù)。