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