以SmartFusion智慧型混合訊號FPGA開發真正符合需求的系統 智慧應用 影音
聚陽實業
DForum0522

以SmartFusion智慧型混合訊號FPGA開發真正符合需求的系統

SmartFusion智慧型混合訊號FPGA開發真正符合需求的系統。
SmartFusion智慧型混合訊號FPGA開發真正符合需求的系統。

系統單晶片(SoC)依照它們在系統中運作的方式,對嵌入式系統設計師來說具有許多不同的意義。舉例來說,在大量的娛樂或通訊消費性產品市場中,SoC意味著一顆具數百萬邏輯閘的積體電路(IC),其中包含許多大區塊自訂邏輯,並有混合訊號功能可和晶片的數位處理性能介接以與外部世界連接。在現實世界中,能支援這樣大規模SoC開發計畫的數量非常有限。許多要進行「中型」嵌入式系統的設計人員都會很高興要完成一項SoC方案的開發,但實際上,因為各種不同的原因,這是很不容易做到的。

希望進行一項能將所有重要功能整合在單一元件的設計是很吸引人的,因為能將材料成本、零件庫存、以及電路板面積降至最低。相較於多晶片方案,此作法的功率較低,同時亦能助於增加對智財權(IP)的保護。如果一項設計功能的精髓能夠被深植於一單晶片中,將會大幅增加第三方取得這項設計的困難度。

SoC夢想

能夠被大量生產以支援一完全自訂化混合訊號晶片開發的產品仍然是少數。絕大部分的產品都是採用特定應用標準產品(ASSP)或微控制器作為其解決方案的核心。如此,想要找到一個能夠完全符合計畫需求的元件將是一個挑戰。就定義來看,ASSP能夠為特定應用領域的設計問題提供一種解決方案,但是這樣的典型方案不可能完全符合真實世界中的計畫需求。結果採用規格超過需求的元件,或是開發另外的晶片以彌補標準產品與實際需求之間的落差。ASSP的彈性不高,一旦選用了某顆IC,它的功能組合會限制此產品之後的設計進展。

大部分的常用解決方案都不免地會以微控制器(MCU)為基礎。雖然其軟體可程式性能提供不錯的彈性,但是很少MCU能提供與典型嵌入式設計需求完全相符的功能。大部分這類的設計都會在MCU旁加入不同形式的可程式邏輯─FPGA或CPLD─以增加硬體中的邏輯功能。儘管現今市場上有各種具備不同週邊功能的MCU可供選用,但是絕大多數的嵌入式系統電路板上都還是需要各種的類比元件以作為訊號調節和I/O連接之用。

混合訊號FPGA

SmartFusion結合了高密度、以快閃記憶體為基礎的FPGA、一個具完整週邊組合的ARM Cortex-M3微控制器核心、以及高效能可程式類比功能,全部都整合在一顆單晶片上。Cortex-M3處理器是一100 MHz (125 DMIPS)元件,擁有最高容量為512 KB的快閃記憶體和128 KB的SRAM,效能足以執行複雜演算法,像是精密馬達控制、或甚至是數個馬達的多軸控制。

週邊與介面

SmartFusion元件包括一個10/100 Ethernet MAC(媒體存取控制器)和其他介面,諸如SPI、I2C、以及UART。大量的數位(FPGA) I/O最快可執行350 MHz,並支援LVDS、PCI和LVPECL等I/O等級的介面標準。習慣採用微控制器進行設計的工程師會肯定此元件所包含的其他特性與功能,像是即時時脈、DMA控制器、外部記憶體控制器、計時器、和看門狗(watchdog)功能。

除了ARM Cortex-M3核心,還有豐富的Microsemi flash-based ProASIC 3 FPGA邏輯。此可程式邏輯可提供350 MHz的系統效能;同時,SmartFusion系列元件最高可提供50萬閘的可程式邏輯和108 KB的內建SRAM。Microsemi的flash-based FPGA架構可完全免於高能量輻射效應韌體錯誤(radiation-induced firm errors),此現象有時會影響SRAM-based元件。由於FPGA的配置是設定在快閃單元(flash cell)中(同時,ARM核心可從晶片上快閃記憶體執行),整個晶片是可通電即用的,無需等待配置檔從ROM或EPROM載入的時間。在微控制器子系統內,有5層的ARM AHB匯流排架構,理論上總共提供晶片每秒16 GB的頻寬。其中5個功能可供設定為匯流排主控(master):2個來自Cortex-M3核心,加上10/100 Ethernet MAC、DMA控制器和FPGA架構主控,而其他的各種介面與記憶體區塊則作為從屬(slave)。

可程式類比

第3個重要元素是高電壓雙極類比功能。為正確擷取來自應用程式的訊號,SmartFusion元件最高可具備3個12位元連續近似暫存器(SAR)類比至數位轉換器(ADC),其最高執行速度為600 ksps。每個ADC都有相對的一階、1位元sigma-delta DAC,具500 ksps更新與12位元有效解析度。多個類比功能都集中在訊號調節區塊(SCB)中,其中包含準確高電壓和電流監控器、溫度監控器、和高速比較器。此高壓監控器,亦稱為主動雙極預分壓器(ABPS),可提供從-11.5 V到 +14 V的電壓監控能力。

自主(Autonomous)類比訊號處理

截至目前提到的類比功能只是SmartFusion智慧型混合訊號FPGA中類比處理性能的一部分。類比運算引擎(ACE) 是一個全新的概念,這是一個半自主的功能區塊,能夠執行完整的類比前與後處理,包括訊號擷取的取樣和排序,而無需ARM Cortex-M3處理器的介入。

ACE可減少處理器核心的日常任務,因此像是訊號擷取、處理、儲存、和輸出等工作都能完全無需透過Cortex-M3處理器就能完成。它所處理的可程式類比區塊包括ADC、DAC、和SCB。請注意,此類比區塊擁有與微控制器子系統和FPGA架構的豐富連接組合。這些元素中的每一項,不管是單獨或作為一組功能方塊,其互連和操作參數都是可完全程式化的。

設計彈性的新境界

SmartFusion元件有一個功能強大的處理器核心,因此具軟體開發能力的嵌入式設計人員將能輕鬆上手ARM架構,並立即為ARM 32位元ISA撰寫程式碼。具備RTL設計背景的硬體設計人員可能不習慣於以處理器為基礎的C語言編寫程式,而且想要將類比功能設計交給具備此經驗的同事來處理。

當利用SmartFusion元件進行設計時,一種以使用者繪圖介面為基礎(GUI-based)、拖放的操作方式可提供對完整預定義IP功能庫的立即存取。對C語言和RTL程式碼開發人員來說,此工具套件可延伸他們的專業領域,讓晶片的資源充分使用。

一般的系統管理功能會包括排序、緩升(ramp)和監控多重電源軌、產生電壓修正(trim)訊號(類比和/或數位)、監控溫度探針、將警告和狀態訊號傳送到較高階的監督器(supervisor)、驅動風扇輸出和指示器、以及可能需要執行多項次要但關鍵的任務等。這樣一個子系統的確切規格可能一直要到主系統的開發完成後才能定案,因此,這時候一個完全可程式化的解決方案是非常吸引人的。像是電壓臨界值(threshold)可直接透過類比比較器或ADC來監測,藉由ACE區塊或是在Cortex-M3處理器上執行的程式碼來實現。風扇控制能透過一組由ACE排序的簡單步進值;或是可利用在Cortex-M3核心上執行的完整PID控制演算法來實現。若欲驅動風扇,系統需要產生一PWM輸出波形。PWM產生器可從ARM核心計時器來配置。

設計安全性

在其現有的flash-based FPGA系列元件中,Microsemi已對可程式邏輯提供了增強的設計安全性,一旦燒錄到陣列之中,駭客將難以從矽晶中讀取此核心的IP。現在,微控制器核心與FPGA架構在相同的晶粒上,此保護亦延伸到系統軟體以及FPGA配置碼。ARM Cortex-M3為一硬核心不再需要這樣的保護形式。

在單晶片環境中可提供固有的IP安全性,由於內建快閃記憶體,SmartFusion不再需要從外部記憶體讀取配置檔案。此外,還有多種額外選項可供設計人員用來保護IP。最簡單的方法是燒錄存有FPGA配置的快閃記憶體,以及將Cortex-M3程式碼放在「乾淨」的區域中,並設定一個條件─生效時切斷保險絲─以免於此快閃記憶體區域被讀取或重新燒錄。此功能亦稱為FlashLock。從Microsemi Libero整合式設計環境(IDE)輸出的資料,包含配置和run-time程式碼,也能用128位元AES標準進行加密,以期能安全地傳送到安全的製造環境之外。如果以匹配(matching)程式檔案做好設定,一內建的128位元AES解密引擎可在最後的產品製造期間進行安全的系統內(in-system)程式化。

(本文作者為美高森美公司產品行銷經理Rajiv Nema,記者周安蓮整理)