過去幾年來的市場調查發現,使用助聽器材的人們不斷強調,如何在吵雜環境中分辨、識別聲音,是助聽器材研究的當務之急。然而,事實上目前市面上各品牌助聽器材最為人詬病的,往往就是欠缺了這種能力。
在瑞士Stafa有一個專門從事開發、生產、全球性銷售先進聽覺系統的Phonak Group,這個公司的主要目標就是針對人類耳朵內精密感應器官受到損傷後所造成的功能缺失加以修正,且研發出能夠十分近似於人類真實複雜的聽覺機制。為了增強產品的功能,Phonak決定全心投入一個為期三年的研究計劃,而在這個計劃的第一步,就是要發展出一個高度複雜與精密的數位認知處理系統(Digital Perception Processing)。
這個全新的系統,意謂著公司將聽覺器材平台上的系統,從類比式訊號處理移至數位式訊號處理的模式。無論體積、功率、功能的新需求,都使得Phonak必須重新研發出一個獨特的數位訊號處理核心,並儘最大可能將許多功能整合至一個單一的晶片裡,意即試圖以0.25次微米的技術設計晶片架構,以為未來各項新產品的基礎;這個計畫已經步步邁向成功之路!Phonak公司現在已經能夠完全地整合近似人類聽覺機制的心理-聽覺認知模式(Pyscho-Acoustic Perception Mordels),同時能夠模擬人類內耳中20種關鍵的聽覺頻率功能(Audio-Frequency Bands),由此提供極度近似自然聽覺經驗的聽覺模式。
超高難度的挑戰
設計的過程中,Phonak發展出許多標準,包括所謂的Audiozoom Technology-聽者以兩個收音麥克風分辨正確聲音來源與雜訊,從而將注意力集中在此特定信號或聲音來源,而排除背景雜訊,而且,此聽覺模擬系統甚至可以由遙控器選擇其設定,增強其應用於真實世界的偵測能力與識別能力。同時,Phonak也發展出一套Microlink無線通訊系統,為助聽設備提供頻率模組化技術(Frequency Modulation Technology),由於來源信號將直接傳送至可放在耳後的極迷你無線接收器內,所以周圍的雜訊便能夠被其他離散式高效能麥克風排除。
Phonak將其最新技術應用於Claro產品家族-根據該公司的說法,Claro是第一部真正能夠「聽得懂」的溝通/辨識型電腦,而在設計Claro的過程中,Phonak遇到了一個非常複雜的問題:如何將數以千計的功能建構至晶片上一個極小的區域上,同時必須將整個系統的電力需求降到最低。由於在數位設計的領域裡所能夠允許的精密程度遠高於傳統,因此Phonak決定放棄過去類比式的設計,改為數位設計的形式。
第一代的Claro設計中,包含了麥克風、可遙控接收器、整組式的三個晶片、被動式元件、與一個強力喇叭,這些助聽設備中的功能,都必須整合至一個200,000閘道的系統晶片(SOC,System-on-a-chip),這個晶片上包括大量的數位訊號處理功能、可載入各種濾波器組合以控制系統功能的微處理器、隨機存取記憶體、唯讀記憶體、以及一個數位/類比訊號轉換器,而在主要的IC上面,還有一個晶片也整合數位/類比訊號轉換器與時間基礎及電源管理的電路,此外,尚需要一個標準的EEPROM來儲存非揮發性參數資料,供可程式演算法參照之用,並藉著調整這些參數,即可將助聽設備調整,以適合於每一個不同的使用者(圖一)。
但真正的困難在於以上種種裝置,都必須裝備至一個可以放進人體耳朵內部的超迷你空間內,這使得所謂的SOC不能超過20平方公厘。另外,由於助聽器材都是以電池提供電源,而目前電池的最大電源供應量約只有1.5mA,電壓範圍約為1到1.5V,頻率約為2.5MHz,這些都造成助聽設備設計上的限制。然而,由於助聽器材必須採用一系列複雜的演算法滿足其功能上的需求,例如多頻壓縮(Multiband Compression)、頻譜處理(Spectral Subtraction)、快速傅立葉轉換(FFT)等等,所以整個系統必須達到130-MOPS的處理速度(Throughput)。
因此,種種功能上的需求,使得此數位系統必須採用一顆高效能的數位處理器(DSP),而非一個普通的DSP所能勝任,因為就算是一顆最先進的低功率DSP,所需的電源也超過了Phonak設計時在電源上所面臨的限制。提及這麼高的Throughput需求與嚴厲的電源限制,非常容易讓人聯想到:何不採用多個低頻率DSP核心,就能夠降低對電源的需求?這想法是正確的,然而卻只解決了電源需求上的問題,因為如果以此方式處理的話,其所佔的空間又太大了(別忘了這個助聽器材還必須能夠放進耳朵裡),所以,唯一的辦法,就是發展一個能夠實現各種所需數位演算法的專屬DSP核心。
展現創意於SOC
近年來,日益廣泛而複雜的整合式IC設計與設計時間的壓縮,使得許多公司不得不重新思考其傳統的設計流程。為了在一開始就提高成功的可能性,設計團隊必須採用一個縝密的研發方式,也就是同時將從觀念到硬體(From Concept to Hardware)的各個面向都納入設計考量。
傳統的設計流程通常是由一連串分離的設計階段所組成的,其中包括:發展規格、設計演算法、硬體設計、軟體設計、產品原型化、以及最後的產品測試與驗證階段,而由於軟硬體的設計是各自進行的,使得其在設計過程裡,面臨著相當大的困難與風險,因為即使是軟硬體各自已設計完成且符合各自的規格,也無法確保整合時的正確性與相容性;此外,由於設計團隊的成員們分屬於不同的階段,造成研發工程師們鮮少彼此分享其概念,也難以對其設計抱持相同的理念。
然而,在壓縮設計週期的壓力下,同步設計(Codesign)已然勢在必行,各個設計團隊都必須面對整個計劃,包含DSP軟體設計、DSP硬體設計、控制器設計、以及硬體層面設計等等;有別於傳統的ASIC設計,新的設計團隊體會到同步設計的好處,因為如此一來所有驗證與最佳化的考量,都能夠在設計流程的最早期就被注意到。那麼,既然SOC代表著高度整合許多DSP、微控制器、各種程式、和其他各種元件,這就意味著任何在整合軟硬體時所發生的問題,都可能成為整個研發計劃失敗的致命傷,必須及早防範。
重新定義設計團隊
在新的設計環境下,研發工程師們選擇新的研發流程,即使在不同的設計階段,工程師們通常也選擇相同的研發工具,例如:任何一個研發工具不能只針對特殊設計領域,必須能夠應用於整個設計流程當中,與其他工具互相整合。然而,複雜的SOC驗證工作更加困難且費時,每一設計階段的工程師們不但要驗證該階段的設計,還要預測其階段成品與整個設計成品之間相容性的問題,此外,不同工具之間錯誤的轉譯所造成的錯誤更是不勝其擾,且其所耗費的時間甚至可能高達整個設計流程的70%以上,所以,有效率的研發團隊必須揚棄過去的作法,選擇一個能夠「一以貫之」的設計平台。
Phonak公司的研發工程師們深刻地了解這個重要觀念,「在研發改進Claro產品家族時,我們採用所謂的Codesign設計概念與流程,讓設計演算法的工程師與設計硬體的工程師們同步合作,且以一個共同的研發工具從事設計、模擬、與驗證,方便工程師們互相溝通,以加速設計流程;這個研發平台包括了著名的MATLAB、Simulink、Real-time Workshop、及xPC Target等產品,它們加速了浮點運算演算法的設計、提供在設計早期就能進行驗證,更重要的是它們的測試模組能應用在整個設計流程中的任一階段,讓工程師們在任何時候都能確保其設計的可行性與整合性。」
為了設計Claro產品,Phonak將設計流程分為三個部分:首先,Phonak工程師負責DSP核心的演算法的設計、測試、與驗證,他們也負責CoolRISC核心(由Xemics提供)周圍的Controller硬體、與Controller軟體的實現;其次,在DSP修改與強化演算法及架構部分,Frontier Design(比利時公司)的工程師則負責將代表演算法的C程式碼轉換成描述DSP硬體的VHDL程式語言。最後,則將Xemics of Neuchatel(瑞士公司)出品的RAM、ROM、及CoolRISC微控制器核心,整合至SOC上,接受外部團隊的支援有效地加快研發腳步,但不可否認地,這樣的合作需要更注意在設計與實行等各階段相容性與一致性的問題。
展開助聽系統設計
在設計第一代的Claro時,Phonak工程師採用專為發展演算法而設計的MATLAB,以避免處理低階程式的繁瑣句法,後來Phonak不但將MATLAB與各種工具箱全面升級至最新版本,更增加引用Simulink以建立模型、模擬系統、分析動態系統,此外,其他的工具如:Real-Time Workshop則可提供Simulink流程圖中加入各種I/O函式區塊,並將整個模型轉成C程式碼;xPC Target則讓工程師們能夠將程式碼下載至另一台PC的Real-Time Kernel裡進行即時模擬。總而言之,這些工具能協助工程師將其設計轉為特別定製的C程式碼,並自動建立能夠在現有模擬環境下進行即時模擬的程式,為控制與DSP系統提供了快速原型化(Rapid Prototyping)與硬體迴圈測試(Hardware-in-the-Loop Testing)的選擇。
在系統的功能性方面,Phonak的研發工程師採用Simulink、xPC Target、與Real-Time Workshop來設計浮點運算演算法,以完成系統層級的定義,在此環境下,工程師們可在設計模型後,以現實世界的資料輸入至系統內以進行測試與驗證,Phonak也用MATLAB設計一套可在任何標準個人電腦上進行測試的專用程式,來驗證其演算法與子系統的功能性,然後研發工程師以其測試的結果,對模型內的區塊(Blocks)作調整,再用各種工具自動修正系統並產生新的C程式碼。如此一來,所有演算法的功能性都能夠在浮點運算模式下,就被有效地驗證,進而有效提昇研發的效率;過去需要一分鐘才能完成的即時模擬工作,現在只要兩秒鐘就能完成了!
所以,在進行各項後續設計階段之前,確認演算法的功能性是極度重要的工作,在系統層級的演算法與模型設計中,極短的模擬時間讓驗證工作變得快速而完整,雖然在後續設計的工作會因為模擬時間的延長而延長,但是研發工程師們不需要回頭修改演算法的功能性。在設計工程師確認其設計符合規格與目標後,便進行Overflow Scaling(規模裁減)的工作。所謂Overflow Scaling包含:在不影響其功能性的前提下,以特定的數學運算,降低訊號動態範圍的需求,並將訊號節點與參數切割為較小的形式,也就是說,工程師們藉此發展出第二個同質的小型測試模組,以確保其演算法與後續的程式在硬體描述的層面(Gate-Level Description),能夠正確地反映其高階系統層級演算法;有了可應用在各階段的共同測試模組,便能有效地降低發生設計錯誤的可能性。
同步設計的設計流程
由於浮點運算所需的電源太多,所佔的空間太大,所以所有的演算法必須轉換成定點運算與代數形式進行,而目前MATLAB環境下的Real-Time Workshop已能夠自動將M-files轉換成資料型態為位元(Bit-True)的C與C++程式碼,雖然為了程式碼的精準度,Phonak選擇以人工的方式撰寫C程式碼,然而Real-Time Workshop所轉換出來的C程式碼,確實提供其設計工程師一個正確的方向,提昇其撰寫C程式碼的速度與品質。最後,再將由人工所撰寫的C程式碼交由Frontier Design公司的A/RT工具組轉換成RTL VHDL硬體描述語言與低電源需求的實行。
A/RT工具所合成的VHDL處理器架構中,包含了以下幾個部分:首先是資料路與VLIW微處理器,此工具除了將資特定執行的資料路徑最佳化外,也整合了各種執行單元,如:算數邏輯單元、位址換算單元、ROM、RAM、暫存器、多工處理器等等。A/RT的彈性瀏覽功能將資料路徑的定義快速最佳化,以有效提昇執行的效率,此外,我們也自行設計許多特殊的執行單元使整個設計架構達成最佳化。
接下來,我們把合成後的VHDL結果交給Xemics公司,將其整合至其他相關的IP(Intellectual Property)程式核心,經由MATLAB環境的採用,與Frontier Design與Xemics公司的合作,Phonak確實開發出符合需求的極低電源耗用、極低電壓需求、可植入SOC的VHDL程式碼-DSP電路與執行架構。
值得一題的是,Frontier與Xemics在估算設計的電源需求與所佔空間時,所採用的是啟發式的臆測規則(Heuristic Rule),由於整個設計流程是同步進行的,所以他們再設計流程尚未完成時,並無法準確地估算出真實的電源需求與所佔空間,因此Xemics將Frontier的資料納入自己的資料中一起考量,已設計的大小、功能、與函式的數量,臆測出大約的電源與空間。至於SOC成品的實際電源特性與空間大小,則做為下一個開發計劃的參考支用。
寶貴的經驗
雖然DSP的設計與發展,只是助聽器材發展的一部份而已,但是數位訊號處理在科技領域所邁開的一大步卻是無庸置疑的,Phonak成功開發出以多麥克風在雜訊環境下識別目標聲音來源,確實達成了此計畫的目標也造福了聽力障礙的大眾,因此,Claro計劃將持續朝向小空間、少電源、複雜系統的方向前進。
Phonak公司選擇以MATLAB/ Simulink與其相關產品從事研發,有效縮短設計週期,因為Simulink使其設計工程師可在同一環境下設計模型,且在設計早期就能測試演算法的有效性,以避免設計後期才發現錯誤的重大損失,Real-Time Workshop與xPC Target則幫助其在彈指之間就產生即時可執行程式碼,而就其設計流程而言,MATLAB/ Simulink環境則為其系統的功能性下了一個非常明確的定義,使其設計的過程更加順暢。
成功的設計流程有賴於持續不斷的改進,MathWorks公司目前正致力於研究出將浮點運算轉成C程式碼後,所需要的低電源與小空間需求,而Phonak的工程師除了在PC平台之外,也嘗試在筆記型電腦或其他可攜式裝置上從事產品測試,使得其演算法的測試工作能夠更相似於實際世界的環境。
整合的設計環境
延伸模擬的技術是將DSP與通訊系統推向另一高峰的關鍵課題︰設計團隊應選擇一個整合式的設計環境,結合硬體、軟體設計,才能有效提昇其效率與團隊合作。變幻莫測的市場壓力下,設計的階段不得不合併濃縮,而一個整合式的設計團隊正是提供同步工程的最佳利器。