混合信號FPGA實現(xiàn)真正單芯片SOC
要實現(xiàn)能夠?qū)⑺兄匾δ芗稍趩我黄骷脑O(shè)計理由很簡單,因為這樣就能將材料成本、部件庫存及電路板面積減至最低。另外,相較于多芯片解決方案,單芯片方案的功耗也較低,同時也有助于提高對知識產(chǎn)權(quán)的保護。如果一項設(shè)計功能的精髓能夠深植于單一芯片上,將會大大增加第三方取得這項設(shè)計的困難度。
本文引用地址:http://butianyuan.cn/article/275687.htm單芯片系統(tǒng)對嵌入式系統(tǒng)設(shè)計師來說,往往會隨著其面對的不同的系統(tǒng)設(shè)計而各有不同。例如,在龐大的娛樂或通信消費產(chǎn)品市場中,SoC意味著一顆具有數(shù)百萬邏輯門的集成電路(IC),其中包含許多大型定制邏輯模塊,并有將芯片的數(shù)字處理性能與外部世界連接的混合信號功能。在現(xiàn)實世界中,能夠支持這樣大規(guī)模的SoC開發(fā)的項目數(shù)量非常有限。
單芯片夢想
對大部分的設(shè)計團隊來說,這樣的SoC目標(biāo)仍然是一個夢想。能夠大量生產(chǎn)以支持一個完全定制化混合信號芯片開發(fā)的產(chǎn)品仍然是少數(shù)。絕大部分的產(chǎn)品都是采用專用標(biāo)準(zhǔn)產(chǎn)品(ASSP)或微控制器作為其解決方案的核心。在這樣的情況下,想要找到一個能夠完全符合項目需求的器件通常是一大難題。就定義來看,ASSP能夠為某一特定應(yīng)用領(lǐng)域的設(shè)計問題提供一種解決方案,但是這樣的典型解決方案不可能完全符合真實世界中的項目需求。結(jié)果,通常是采用性能和參數(shù)超過需求的器件,或開發(fā)附加電路以彌補標(biāo)準(zhǔn)產(chǎn)品與實際需求之間的落差。此外,ASSP的靈活度不高,一旦選用了某顆IC,它的功能往往會限制產(chǎn)品后續(xù)的設(shè)計進展。
大部分的常用解決方案都不免會以微控制器(MCU)為基礎(chǔ)。雖然其軟件可編程性可提供不錯的靈活度,但是很少有MCU能提供與典型嵌入式設(shè)計需求完全相符的功能。大部分這類的設(shè)計都會在MCU之外另加入不同形式的可編程邏輯(FPGA或CPLD),以增加硬件中的邏輯功能。盡管現(xiàn)今市場上有各種帶有不同外設(shè)的MCU可供選用,但是絕大多數(shù)的嵌入式系統(tǒng)電路板上都沒有提供各種作為信號調(diào)節(jié)和I/O連接用途的模擬器件。
混合信號FPGA
愛特過去一直在通過提供Fusion混合信號FPGA,為上述設(shè)計提供解決方案。Fusion混合信號FPGA在單一器件上結(jié)合了高密度可編程邏輯和可配置模擬電路功能,另外還包括大容量的閃存模塊、完整的時鐘生成、管理電路以及在FPGA邏輯中嵌入微控制器軟核等設(shè)計選項。
SmartFusion混合信號FPGA將高密度、基于閃存的FPGA、一個具完整外設(shè)組合的ARM Cortex -M3微控制器內(nèi)核,以及高效可編程模擬功能全部都集成在一顆單芯片上。
圖1 SmartFusion混合信號FPGA結(jié)構(gòu)
ARM Cortex-M3處理器已不需要太多介紹。在SmartFusion芯片中,Cortex-M3處理器是個100MHz(125 DMIPS)器件,擁有最高容量為512KB的閃存和128KB的SRAM。在此系列FPGA中,處理器是一個硬核,這代表它是以最小面積來實現(xiàn)的,可帶來多項好處。它的效能足以執(zhí)行復(fù)雜算法,像精密電機控制、數(shù)個電機的多軸控制等。此外,在諸如系統(tǒng)管理等應(yīng)用中,它能執(zhí)行所有的電壓監(jiān)測、排序、風(fēng)扇控制,以及相關(guān)的系統(tǒng)基本運作,同時還具備充裕的能力來執(zhí)行更高級、用戶應(yīng)用級別的任務(wù)。
外設(shè)與接口
與在SmartFusion器件中以更小面積實現(xiàn)處理器硬核的方式相同,此器件也包含了常用外設(shè)的完整組合。
圖2 SmartFusion系列器件具有豐富的外設(shè)及接口
SmartFusion器件提供一個10/100 Ethernet MAC(媒體存取控制器)和其他接口,諸如SPI、I2C以及UART。大量的數(shù)字(FPGA)I/O最快可執(zhí)行350MHz,并支持LVDS、PCI和LVPECL等I/O接口標(biāo)準(zhǔn)。慣于采用微控制器進行設(shè)計的工程師會喜歡此器件所包含的其他特性和功能,例如,實時時鐘、DMA控制器、外部存儲控制器、定時器和看門狗(watchdog)功能。
在硅片上,除了ARM Cortex-M3內(nèi)核,還有豐富的基于快閃的ProASIC 3 FPGA邏輯。此可編程邏輯可提供350MHz的系統(tǒng)效能;同時,SmartFusion系列器件最高可提供50萬門的可編程邏輯和108KB的內(nèi)建SRAM?;诳扉WFPGA架構(gòu)可完全免于由高能量輻射引發(fā)的固件錯誤(radiation-induced firm errors),此現(xiàn)象有時會影響基于SRAM的器件,同時也是許多嵌入式系統(tǒng)設(shè)計人員的主要考慮因素。由于FPGA的配置是設(shè)定在快閃單元(flash cell)中(ARM內(nèi)核可從片上閃存執(zhí)行),而整塊芯片是上電即用,無須等待配置文件從ROM或EPROM加載的時間。此外,閃存也能允許用來進行現(xiàn)場升級,但是有時出于系統(tǒng)安全考慮,這種現(xiàn)場升級功能被取消。在編程結(jié)束之后,進一步存取配置存儲器可被設(shè)置為永遠(yuǎn)停用。
在微控制器子系統(tǒng)內(nèi),有一個五層的ARM AHB總線矩陣架構(gòu),理論上共可提供片上每秒16GB/s的頻寬。其中共有五個功能可供設(shè)定為總線主控(master):10/100 Ethernet MAC、DMA控制器和FPGA架構(gòu)主控,另外兩個來自Cortex-M3內(nèi)核,而其他各種接口與存儲模塊則作為從屬(slave)。
可編程模擬
SmartFusion器件的第三個重要元素是高電壓雙極模擬功能。為了正確獲取來自應(yīng)用程序的信號,SmartFusion器件最高可具備三個12位逐次逼近寄存器(SAR)模數(shù)轉(zhuǎn)換器(ADC),其最高執(zhí)行速度為600ksps。每個ADC都有相對的第一階(first-order)1位sigma-delta DAC,能提供500ksps更新與12位有效分辨率。多個模擬功能都集中在信號調(diào)節(jié)模塊(signal conditioning block,SCB)中,其中包含準(zhǔn)確高電壓和電流監(jiān)控器、溫度監(jiān)控器和高速比較器。此高壓監(jiān)控器,也稱為有源雙極預(yù)分壓器(active bipolar prescalers,ABPS),可提供-11.5V?+14V的電壓監(jiān)控能力。
此外,對系統(tǒng)管理或電源調(diào)節(jié)領(lǐng)域的設(shè)計人員來說,這也可作為絕佳的工具。器件中的電流監(jiān)控器可放大從外部感測電阻測量到的電壓降,而此感測電阻放置在應(yīng)用的電流回路上,差分增益為50。溫度監(jiān)控器能把一個簡單的PN結(jié)的電壓降轉(zhuǎn)換為溫度讀數(shù)。器件具備數(shù)量很多的片上比較器(在一50萬門器件中最多有10個),而且速度非???,傳送時間僅為50ns。
自主(Autonomous)模擬信號處理
前面提到的模擬功能只是SmartFusion混合信號FPGA中模擬處理性能的一部分。而模擬運算引擎(ACE)是一個全新的概念,這是一個半自主的功能模塊,無須ARM Cortex-M3處理器的介入,便能夠執(zhí)行完整的模擬前/后處理,包括信號采集的采樣和排序。
由于ARM Cortex-M3內(nèi)核就在ACE附近,初看起來在ACE模塊中加入這樣的功能似乎是多余的。然而,半自主的ACE可減少處理器內(nèi)核的日常任務(wù),例如,信號采集、處理、存儲和輸出等工作完全無須通過Cortex-M3處理器就能完成。設(shè)計人員能以這種方式配置器件,以使Cortex-M3處理器不受其他影響地執(zhí)行實時處理任務(wù)。
在一個電源管理的設(shè)計工作中,監(jiān)測每一電壓軌是否偏離正常值以及警告等工作都由ACE來執(zhí)行,它還有可應(yīng)付更復(fù)雜的任務(wù)的能力,包括濾波和線性轉(zhuǎn)換等。它所處理的可編程模擬模塊包括ADC、DAC、和SCB。注意,此模擬模塊擁有與微控制器子系統(tǒng)和FPGA架構(gòu)的豐富連接組合。這些元素中的每一項,不管是單獨或作為一組功能模塊,其互連和工作參數(shù)都是可完全編程的。
設(shè)計靈活性更上一層樓
對于SmartFusion而言,器件和其相關(guān)的設(shè)計工具都已準(zhǔn)備就緒,因此不管是具備何種背景的工程師,都能充滿信心地執(zhí)行一個完整的設(shè)計。
當(dāng)利用SmartFusion器件進行設(shè)計時,一種基于圖形化用戶界面(GUI-based)拖放的操作方式(drag-and-drop-style)可提供對完整預(yù)定義IP功能庫的立即存取。對C語言和RTL程序代碼開發(fā)人員來說,此工具套件可擴展他們的專業(yè)領(lǐng)域,因此芯片的資源能充分被使用。此設(shè)計工具可提供協(xié)作環(huán)境,讓傳統(tǒng)的設(shè)計團隊能針對SmartFusion的不同領(lǐng)域共同合作。
設(shè)計安全性
在現(xiàn)有的基于快閃FPGA系列器件中,愛特已對可編程邏輯提供了增強的設(shè)計安全性。ARM公司愿意將其處理器內(nèi)核的軟件版本授權(quán)給愛特公司,并在其FPGA中實現(xiàn),就可以證明對于此設(shè)計安全性的信心。一旦編程到陣列之中,黑客將難以從硅片中讀取此內(nèi)核的IP。現(xiàn)在,微控制器內(nèi)核與FPGA架構(gòu)在相同的硅片上,此保護也延伸到系統(tǒng)軟件以及FPGA配置碼。ARM Cortex-M3是一個硬核,因此現(xiàn)已不需要這樣的保護形式。
在單芯片環(huán)境中可提供固有的IP安全性,由于SmartFusion是一個快閃器件,因而不再需要從外部存儲讀取配置檔案。在執(zhí)行時,諸如FPGA到ARM內(nèi)核總線的內(nèi)部接口是看不到的,同時在它們上面的流量也無法監(jiān)控。
此外,還有多種額外選項可供設(shè)計人員用來保護IP。最簡單的方法是將存有FPGA配置的閃存以及Cortex-M3程序代碼編程到“干凈”的區(qū)域中,并設(shè)定一個“生效時切斷保險絲”的條件,防止此閃存區(qū)域被讀取或重新編程。此功能也稱為FlashLock。從Actel Libero集成式設(shè)計環(huán)境(IDE)輸出的資料,包含配置和運行時間(run-time)程序代碼,也能用128位AES標(biāo)準(zhǔn)進行加密,以期在安全的制造環(huán)境之外也可以確保其IP得到保護。如果以匹配(matching)程序檔案做好設(shè)定,一個內(nèi)建的128位AES解密引擎可在最后的產(chǎn)品制造期間進行安全的系統(tǒng)內(nèi)(in-system)編程。
模擬信號相關(guān)文章:什么是模擬信號
fpga相關(guān)文章:fpga是什么
pic相關(guān)文章:pic是什么
c語言相關(guān)文章:c語言教程
模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理
評論