行動電話製造商正面臨一項複雜的問題;問題不光只是手機的複雜度,還包括需要針對全球各地的業者之需求,開發出專屬產品所衍生的複雜問題。電信業者需要各式各樣的手機,涵蓋範圍從高階智慧型手機、中階的照相手機、一直到入門級手機,而且須不斷地改款來滿足顧客的胃口。此外,市場需要不同的技術,從基本的GSM技術、改良型EDGE技術、支援各種資料服務的GPRS、一直到最新的3G服務。
多元化的產品與區域性市場,是手機製造商面臨的重要考量因素。如何為手機研發業者提供GSM晶片元件與軟體方案,同時降低整體手機研發時間與風險,成為相關解決方案供應商的挑戰。
手機業者對軟硬體的不同需求
在開發各種產品方面,手機研發業者採用的硬體有極大的差異。智慧型手機加入許多應用處理器來處理繪圖與影片資料,但中階照相手機卻不需要這些應用處理器。就軟體研發而言,針對不同等級的手機開發專屬軟體環境,且須管理所有不同的軟體版本,需要耗費相當大的成本。就目前而言,光是將單處理器版本的軟體,移植到雙處理器的環境,就已經相當困難。因此,在開發每一個新系列的手機時,整個流程就須重新執行一次,導致研發時間、複雜度、成本、以及風險都因而攀升。
製造商亦須在行動電話的人機界面(MMI)中提供不同語文與不同電信業者之品牌商標。這是相當浩大的工程,通常選單與軟體功能亦須隨著不同業者的需求提供最佳化設計,並且能夠為單一全球化經營業者支援多種語言介面。
愈來愈多手機製造商專注於本身最擅長的領域,意即透過客製化的造型與功能,來滿足電信業者客戶的需求。包括Symbian在內的新作業系統(OS),俾使業者不必再像以往採用專利技術時,在開發每個新世代手機時就須變更設計;然而要將所有衍生版本融入至硬體,仍是一項棘手的難題。
這些改變雖然屬於裝飾性質,但對手機的操作感以及最終的成敗,有著關鍵性的影響。不過,所有改變均不能影響到底層的硬體。畢竟,這只是人機界面。但直到目前為止,一旦變更MMI人機界面,尤其是選單結構以及像是單一按鍵就能啟動的“隨拍隨傳”等功能,都必須改變底層的程式碼。
許多一線手機製造商尋求解決這方面的問題協助,有部分廠商已採用Agere的通訊協定堆疊(protocol stack),開發出許多搭載單一微處理器的GSM/GPRS手機,現在則希望運用相同的通訊協定堆疊開發雙處理器機種,並在應用處理器上執行Symbian OS以及Nokia Series 60軟體。製造商希冀能夠運用一套可擴充的解決方案,讓相同軟體能應用在單一與雙處理器的設計,並在未來3G硬體發展成熟時亦能支援這類新技術。
手機軟硬體架構搭配的新挑戰
業界面臨的底層問題就是手機產業運用AT指令已有20年歷史。這些指令發展得相當成熟且使用簡單,但軟體複雜度的持續攀升,意謂擴充AT指令以及介面將衍生成另一項難題。為開發雙處理器解決方案,業界開始採用GSM 07.10多工通訊協定以及新的AT指令。要將這些功能融入至軟體,然後重新測試與檢驗手機內的所有軟體,會是一項龐大的工程,不僅充滿風險且可能面臨時程拖延的危機。
AT指令本身也不容易擴充。每當加入的功能涉及到Agere通訊引擎與應用程式之間之互動時,就需要一組新的AT指令。這些指令必須從應用程式發出,並由通訊引擎進行解譯。整個系統軟體必須重新測試,導致變更與擴增功能成為耗時且昂貴的工作。尤其是涉及應用處理器時,必須重新測試與重新檢驗手機的無線電以及資料處理部份的元件。這些問題均會大幅地拖慢新產品與新功能的開發時程。
雖然業界已發展出其他新方法,藉由運用新的結構來取代AT指令,但由於使用自己的資料標準與工具,因此作業流程會過於複雜。一旦資料格式改變,程式碼就須重新編譯與重新檢驗,反而衍生出另一項問題。這些模式亦沒有提供區隔機制,用以分隔通訊引擎中的即時電話功能以及應用程式。雖然新的延伸技術促使業者更容易進行變更,且不必重新編譯操作介面,但手機以及應用程式碼仍須重新編譯與重新測試。
在規劃專案階段時,資料格式尚在較不成熟的階段,因此ASN.1編譯器成為另一項問題。最終程式碼的潛在問題,可能源自於程式碼本身或是ASN.1編譯器裡的某項錯誤。若沒有充份掌握編譯器技術,就很難進行除錯且須耗費大量的時間。
AMI訊息傳遞通訊協定
因此Agere將這方面的工作加以區隔。不再採用與延伸現有的AT指令,並研發出Advanced Messaging Interface(AMI)介面。這套簡易的訊息傳遞通訊協定,能夠處理晶片中即時通訊處理器與應用處理器之間的介面傳輸。
在設計的即時元件方面,採用的通訊引擎包括ARM7控制器、以及DSP16000數位訊號處理器核心,搭配Agere的GSM/GPRS通訊協定堆疊,因此任何變更以及擴增的功能都可加入到程式碼,毋須針對手機硬體來改寫程式碼。兩組元件之間透過國際通用非同步傳輸接收器(UART)加以連結,UART本身會連結至序列傳輸管道來傳送資料,並使用共用的記憶體。這種模式能使用多個晶片,甚至在單一晶片中使用多個核心,並共用相同的軟體環境,而不需變更底層的軟體區塊。
AMI的第一個介面,是針對手機製造商需求所開發的自行編碼(hand-coded)方案,提供許多訊息封裝與解封裝方面的常式。每個訊號都有一個簡單的結構,4位元組的表頭內含ID識別資料、以及訊息的長度,使得系統能在介面FIFO緩衝區中預留儲存空間。之後可利用小型專屬編譯器自動產生這些介面程序,讓業者能根據需求輕易地變更訊息格式。所有介面都經過回歸測試(regression tests),確保AMI的效能表現與現有的軟體相匹配,俾使自行編碼或編譯器出錯的風險降到最低。
在GPRS建置工作方面,沒有必要在表頭中加入優先權資料,但這類資訊可被加入至3G設計方案中,藉以確保必須優先傳送至介面的影音資料指令,不會被其他非即時性的應用所延誤。這類設定僅須變更傳送與接收端的傳訊介面,使得通訊協定堆疊的程式碼依舊維持不變,且不受即時通訊引擎方面的干擾。
AMI另一項優點是能夠控制介面兩端的通訊協定。業者可輕易擴充新的延伸技術,但不須變更介面。反觀若使用外部通訊協定或介面,雖然能變更規格,但工具卻可能衍生出許多難以追蹤的錯誤。至今業界尚未發展出開放性標準的實際塵用,因為介面是由IC供應商所提供,若有開放性標準,將可向任意IC供應商採購。
但AMI並不是專案的最終流程,因為它還須整合作業系統以及部份的程式碼。在這方面,可運用Symbian作業系統搭載Nokia的Series 60應用層。
AMS 應用程式介面
為針對這種作業系統提供傳輸介面,Agere開發了Advanced Messaging Server(AMS),其中包括參考MMI軟體。AMS 應用程式介面 (API)讓應用能透過電話系統 (Telephone System;TSY)與其他Symbian OS外掛模組與通訊引擎進行傳輸。這些模組包含所有標準GSM/GPRS功能,例如發出語音通話、GPRS資料傳輸、以及各種支援服務。 舉例來說,在撥出一通電話時,AMS負責處理通訊協定堆疊與網路之間的協商,然後將進程指標(progress indicator)以及任何錯誤訊息傳回至TSY。
這種模式的主要優點在於新功能可擴增至應用處理器,且不須變更通訊引擎中的程式碼。這可大幅提升新功能的研發速度,並大幅簡化針對不同技術、電信業者、以及國家開發專屬機種的流程。
例如,當GPRS標準的release 99延伸規格建置在通訊引擎,且通過單一處理器環境的測試後,就能輕易針對應用處理器推出延伸方案。有關變更資料結構部份的AMI封裝與解封裝器、以及AMS API元件皆可進行擴充,讓應用系統能存取各種release 99功能。反觀若採用舊型AT指令,不僅須變更資料結構,亦須轉換至AT指令以及AT回應字串(AT response strings),這可能致使因變更字串格式導致在解譯資料時發生錯誤。
然而,這些Symbian OS外掛模組必須用AMS API來開發。TSY與網路介面(NIF)模組則以Symbian做為樣版,手機製造商可自行開發模組,並連結至AMS API與其他使用者操作介面。當這些模組開發完成後,就可根據所需的功能應用在各種不同手機上,同時簡化管理軟體的複雜度。這些模組亦可應用在下一代的Symbian手機。
雖然AMS是針對Symbian OS所設計,但未來可以依據市場需求,支援其他作業系統。 這方面的需求催生出Agere的Optiverse軟體架構,AMS將被其他作業系統所取代,例如Windows Mobile、PalmOS或是Linux。針對作業系統來變更AMS,可降低晶片平台增加新的作業系統之所需時間、成本、以及風險。通訊引擎與系統所使用的程式碼依舊不變,僅須擴增額外的作業系統專屬模組,故能簡化各種手機開發新軟體的研發流程。
結語
AMI以及支援介面與系統軟體的發展,為手機製造商建構出一套連貫的平台。不論是在單一或雙微處理器組態中均能使用相同的通訊協定堆疊,俾使業者能大幅縮短開發新產品、以及針對不同電信業者與區域進行客製化所需的時間。這對於數量日增為全球電信業者提供各種品牌產品的手機研發業者而言尤其重要。
由於MMI不必改變、重新測試、以及重新檢驗底層的程式碼即可變更,促使業者在開發即時通訊引擎時能節省數個月的研發時間。針對某種機種所設計的模組,不必修改就能用來開發另一款手機,能為業者省下更多的研發與測試時間,並建立一套軟體函式庫(library of software),能夠混合搭配不同價位的手機、不同的功能組合,以滿足不同消費族群與市場地域的需求。這不僅協助手機開發業者延伸產品版圖,亦能協助其更有效率地服務電信業者。
(作者任職於Agere Systems)