嵌入式數據機的兩難硬體還是軟體數據機最適合您的應用?

2004-09-30
硬體或軟體數據機的選擇實際上就是成本和風險的管理,您所選擇的技術會影響國際法規相容性、體積、功能特色、速度和成本,同時也會影響所需的客戶支援水準...
硬體或軟體數據機的選擇實際上就是成本和風險的管理,您所選擇的技術會影響國際法規相容性、體積、功能特色、速度和成本,同時也會影響所需的客戶支援水準。  

而為了選擇一個最佳的解決方案,必須先對數據機基本運作原理,及軟體/硬體數據機的特性有所瞭解。本文將就主要相關部份做概要說明,期能幫助您為應用選擇最好的數據機。  

要為嵌入式應用選擇最好的數據機技術,第一步是清楚瞭解那些系統資源可供使用,又有哪些限制因素會影響您的選擇(請參考附文「數據機基本原理」)。全功能硬體數據機本身就包含控制器、DSP以及資料和程式記憶體,因此幾乎不會佔用任何系統資源。嵌入式系統的主機處理器會透過串列或並列介面與數據機通訊,它只須將初始設定字串傳送給數據機,這些字串是由數據機控制命令和資料所組成。數據機處理器負責執行所有數據機功能,包括訊號等化處理、迴音消除、調變、解調、錯誤更正和壓縮,完全不需主機處理器或嵌入式作業系統的介入,數據機只是單純的傳送和接收資料。對於硬體數據機來說,串列或並列介面的選擇會受到許多因素影響,例如其它的系統介面需求、處理器、可供使用的介面;另外,不同介面會讓系統軟體複雜性有所差異,所需的額外處理負擔也不相同,這些因素都會影響介面的選擇。  

了解作業系統能力與「有效處理器」(MIPS)  

另一方面,您是在主機處理器上實作軟體數據機,它們必須與其它軟體並行作業,例如使用者介面、錯誤更正和壓縮,這些程式都會在資料通訊期間進入工作狀態。軟體數據機的程式碼會儲存於系統記憶體內,這個記憶體必須大到能夠儲存數據機程式和其它應用程式,又快到能讓所有軟體正常執行;除此之外,您必須完全瞭解作業系統的能力和限制,許多嵌入式作業系統都很簡單,只適合執行既有的應用軟體,還有些作業系統很難支援多工作業,但要讓很重視時效性的數據機程式和其它必要軟體共同執行,多工作業卻是不可或缺的功能。  

數據機程式需要確定的中斷時序(Interrupt Timing)和適當中斷時間長度(Interrupt Duration),這樣才能確定處理延遲時間(Processing Latency)的最大值。您必須深入瞭解數據機所需的有效處理器MIPS,數據機程式會執行許多的乘加運算,DSP則是專門設計來執行這類運算,它們每個時脈週期就能完成一次乘加運算,通用處理器則可能需要三到五個時脈週期才能完成一次乘加運算,因此一顆「30 MIPS處理器」在執行數據機的程式時,實際運算速度或許只能達到6至10MIPS。  

符合國際電信聯盟的規範標準  

其它重要考量包括AT命令集和回應碼,Windows應用必須符合國際電信聯盟(ITU)的V.250標準,但實際上只有少數軟體數據機會嚴格遵守這項標準。硬體數據機則會提供事先定義的AT命令集,其範圍涵蓋這類數據機可能支援的所有功能,嵌入式軟體數據機的功能通常較少,因此會使用較為精簡的AT命令集。若您想採用其它的數據機解決方案,例如速度更高的數據機,您就必須仔細考慮AT命令集、回應碼和時序;在這種情形下,系統程式碼必須預作準備,以便應付不同數據機在許多方面的差異,例如數據機命令、回應碼、回應時間、暫存器定義和數值範圍。大部份的數據機都會提供ATI命令來表明自己的身份,讓系統軟體能為它選擇正確的指令集。  

系統時脈對於軟體數據機應用很重要,為了滿足國際電信聯盟的互用性(interoperability)要求,數據機時脈的穩定度至少必須達到 100ppm,這表示系統的石英晶體或時脈源的準確度必須達到100 ppm以內,包括初始精確度、溫度漂移、零件老化和負載電容的容忍範圍。  

表1列出典型數據機功能在DSP上執行時所需的MIPS、程式記憶體和資料記憶體估計值,由於V.42、V.42b和V.32b之類的功能會同時工作,它們的MIPS需求必須相加在一起;另一方面,V.32b、V.22b和Bell 212採用不同的調變方式,所以它們的MIPS需求不必相加在一起,因為同一個時間不可能有多種調變方式在工作。對於數據機程式執行的所有功能,它們的程式記憶體需求也必須加在一起。  

每部數據機都需要AT命令解析器和數據機作業系統,隨著架構、指令集和目標主機處理器精準度的不同,表格所列出的MIPS值會有很大差異。  

選擇最佳DAA技術 提升整體效能  

就像在硬體和軟體數據機之間做抉擇一樣,DAA(Direct Access Arrangement)技術的選擇也是重要的系統決定之一,它會影響數據機效能、電信法規相容性、功能特色,電路板面積和成本。DAA的主要功能是將 SELV(Safety Extra-Low-Voltage)系統電路和高電壓TNV(Telephone-Network Voltage)隔離開來。  

變壓器DAA技術簡單 但功能不易擴充  

變壓器DAA不但簡單,又已通過長期應用的考驗,是最早提供這種隔離能力的方法(圖1)。變壓器通常是用於非常簡單而基本的低速數據機應用,它們對於電路保護的要求並不嚴格,不需要滿足國際電信法規的要求,也沒有空間的限制。變壓器DAA的問題在於它很難增加新功能,例如線路使用中的話機拿起偵測 (Parallel Phone-off-Hook)或是來電號碼顯示;一般說來,要符合國際電信法規要求,就必須為多個國家安排不同的零件佈局,但這會造成產品成本增加。  

硬體數據機通常都採用整合式DAA解決方案,因此選擇硬體數據機也意味著選擇DAA技術;另一方面,軟體數據機則提供更豐富的DAA選擇彈性,因為它不會事先指定任何的DAA解決方案。雖然以變壓器為基礎的DAA也能支援軟體數據機,但它若要像固態DAA一樣提供某些功能,例如線路使用中的話機拿起偵測,那麼不但變壓器DAA的成本會提高,軟體數據機程式的複雜性也會增加。變壓器DAA使得未來的功能升級非常困難,甚至完全不可能,除非將整個硬體線路重新設計,因此使用陳舊又沒有彈性的DAA技術來限制軟體數據機的彈性實在不是好辦法。  

電容耦合DAA具有多方面優勢  

另一方面,電容耦合DAA則具有多方面優勢,例如數據機效能、軟體可程式的各國電信法規支援、更強大的安全和突波電壓保護以及豐富的功能特色。這種DAA 技術的體積很小,成本很低,也適合所有的數據機傳輸速度。電容耦合DAA提供許多不同的功能,包括來電號碼顯示、斷線和連線的干擾偵測(On/off- Hook Intrusion Detection)、有效線路偵測(Valid-line Detection)以及過電流保護。電容耦合DAA的另一項彈性特色是它只需更換系統端介面元件,就能用於硬體數據機或軟體數據機,線路端(TNV)電路完全不受影響。這是個好消息,因為電信法規相關的多數電路都是在線路端,從圖2即可看出硬體數據機電路和軟體數據機電路的差異並不大,有趣的是您可以讓硬體/軟體數據機的選擇成為電路板零件組裝(Board-Stuffing)的選項之一。  

其它DAA技術都介於變壓器DAA和電容耦合DAA之間,有些新的「固態」DAA同時採用電容和變壓器耦合,這種方法雖在某些方面勝過傳統變壓器技術,但它仍需使用變壓器,外部零件數目也遠超過純粹的電容隔離技術。除此之外,這種技術也會和特定的硬體數據機綁在一起,不容易轉換成軟體數據機解決方案,若您想在設計之初先使用硬體數據機,然後再轉換至軟體數據機解決方案以降低成本,那麼選擇最佳DAA技術是讓轉換過程順利的重要關鍵。  

考量不同法規要求  

確保未來相容性  

所有數據機,無論硬體或軟體數據機,都會連接至公眾電話交換網路,而且遵守所在國家的政府法規要求。新產品必須先通過認證,隨後在產品壽命期間還要定期(通常是年度)接受檢查,確保後續製造的產品仍符合法規要求,無法達到要求的產品則會受到鉅額罰款。  

為了減少不同國家,尤其是歐洲地區的法規差異,業界在過去十年裡已做了許多努力,例如CTR21/TBR21標準的制定,儘管這些工作已經獲得很大的進展,差異卻依然存在。關鍵在於任何數據機解決方案不但都要達到所在國家的法規要求,它們還必須預做準備,以便滿足未來可能採用這些數據機的所有國家的電信法規要求。  

您可以將電信法規分成三大類,第一類是互用性(Interoperability)技術要求,其目的在於確保廠商的產品能與所在國家的公眾電話交換網路連線操作。不同國家的電信法規存在許多差異和例外,使得廠商幾乎不可能發展出全球通用的變壓器DAA,唯一能夠全球通用的DAA解決方案必然採用軟體可程式技術,使它不需修改硬體,就能自行調整以滿足不同國家的特殊要求。可程式能力的要求對於電容隔離式DAA特別有利。下一類要求是電磁干擾/電磁相容性 (EMI/EMC)規定;幸運的是,這類要求大部份都有標準可供依循。數據機本身可能產生電磁幅射,也可能因為不適當的系統設計而將其它來源的電磁干擾幅射出去。達到電磁干擾/電磁相容性要求是DAA技術、電路板佈局和系統設計的重要目標之一。  

最後一組法規要求是安全規定,其重點在於防止危險高壓耦合至操作人員可能接觸的系統低電壓端;DAA隔離技術、離散零件的選擇、電路板訊號線寬度、訊號線間距、電路板與機櫃的間距以及良好的系統設計都必須符合要求,才能通過安全規定,為使用者提供適當保護。  

最後,數據機程式或DAA電路的修改都可能影響認證,電容隔離式DAA的可程式能力則在這方面佔有很大優勢,因為製造商會預先測試這些可程式的功能特色,確認它們符合所在國家的法規要求,不需對硬體設計進行任何修改。  

審慎規劃升級能力  

降低成本與風險  

許多理由會使得嵌入式數據機需要升級,包括錯誤修復、產品增加新功能、速度提升以及將硬體數據機轉換成軟體數據機,縝密的規劃可變得簡單直接。若您計劃升級到更高速的數據機,那麼無論它是硬體或軟體數據機,您都應事先確認它的AT命令和暫存器設定值在不同速度下完全相容。如果除了與更高速度有關的命令外,整個AT命令集都相同,那麼使用者介面和應用軟體所受的衝擊就會減到最少;此外,您還必須驗證S暫存器以及其它暫存器的定義和數值範圍也都相容。  

隨著系統資源以及DAA實作方式的不同,將現有嵌入式系統升級到更高速軟體數據機的成本可能非常昂貴,甚至不可能做到;如果主機處理器的MIPS不足,或是程式和資料記憶體的容量太小,無法執行更高速度的程式碼,那麼升級的可能性就根本不存在。  

要於未來提供速度升級能力,您或許必須採用效能超過目前所需的強大處理器或增加更多記憶體,但這種方法的成本可能太高,使得軟體數據機的吸引力大減。若您需要新的數據機晶片,以便讓您的硬體數據機支援速度更高的連線,請先確定這顆高速晶片的接腳和暫存器都相容於原來的晶片。這項特色讓速度升級變成電路板零件組裝選項之一,故能將電信法規的問題減至最小。  

硬體數據機解決方案極富彈性,圖2所示的設計就是個例子,您不僅能藉由選擇適當的數據機晶片來將速度升級,您還能利用DAA介面晶片取代數據機晶片,把這部數據機轉變成軟體數據機DAA解決方案,電話線路端的電路則完全不必改變。  

快速發展和推出新產品的要求給嵌入式系統設計人員帶來更大壓力,迫使他們必須第一次就完成正確的產品設計,這種需求讓已通過長期考驗的硬體數據機解決方案享有更大優勢。另一方面,成本考量則讓需要撥接功能的嵌入式系統傾向採用軟體數據機,這也是個人電腦曾經走過的道路 – 讓軟體數據機免費利用主機處理器的運算效能,這種構想或許聽起來極具吸引力,但實際情形可能會有很大出入。  

雖然嵌入式軟體數據機剛開始時好像很簡單,成本也很低,但其隱藏成本和風險卻遠超過同樣採用軟體數據機的個人電腦,必須考慮的因素包括作業系統、處理器負載、額外的記憶體需求、研發和支援成本以及產品上市時間,它們讓這項決定變得困難。硬體數據機晶片組是已經考驗的建構方塊,它們能免除設計和測試的需求,也不像未經試煉的新型軟體數據機要先接受電信法規認證的考驗,因此它們可加快新產品上市腳步。硬體數據機甚至還能以電路板零件組裝選項的方式,提供升級至軟體數據機的支援;但在另一方面,硬體數據機的單位成本也比較高。選擇嵌入式數據機解決方案時,下列考量可以幫助您管理風險報酬比。  

硬體數據機風險雖小 但成本可能略微增加  

硬體數據機的風險較小,它們是嵌入式通訊問題的完整解決方案,其中包含已經考驗的參考設計和電路板佈局建議,您可以直接將其用於任何設計。一般而言,這些產品不但已在製造商的實驗室裡接受密集測試,更有數百萬部產品在實際應用環境中通過了消費者的檢驗,因此製造商很可能已經找出和修復它們的操作和效能問題。在國際電信法規的認證方面,硬體數據機同樣擁有傑出的成功記錄;事實上,由於硬體數據機解決方案已順利通過認證測試,因此利用它們來發展您的數據機產品,您將更有可能第一次就通過認證。  

由於數據機晶片、數據機軟體和DAA解決方案都來自相同廠商,因此只要一家廠商就能為您提供所有的應用工程支援,這也是硬體數據機的最大優勢之一;除此之外,廠商還會為其解決方案提供完整的技術文件,這包括元件資料表及應用說明。硬體數據機還能為未來的速度升級提供最簡單的解決方案,對於軟體數據機來說,就算系統主機處理器擁有足夠MIPS和記憶體來支援軟體速度升級,其設計也包含適當的DAA技術,但是軟體數據機的升級仍須通過嚴格測試。硬體數據機對於系統軟體的衝擊最小,提供的功能非常豐富,對於國際電信法規的相容性也極具彈性。  

硬體數據機雖能降低風險,但必須以略微增加的成本做為代價。控制硬體數據機成本的最佳方法是使用符合現有應用需求的最低速數據機,同時確保它提供接腳相容的晶片升級能力,以便支援未來的速度提升,這種方法可幫助將未來的研發成本減至最少。  

軟體數據機成本雖低 但需考量支援成本  

另一方面,軟體數據機或許看起來成本較低,但在您選擇軟體數據機之前,請先確定您已將所有成本都列入考慮。無論是移植到主機處理器上的軟體數據機,或是與其相關的專屬作業系統,它們大致上都是未經測試的新產品,就算其它廠商曾經成功使用這些軟體數據機程式,但要把它們移植到您的處理器,並與您的作業系統、應用軟體、系統時脈和DAA整合在一起,這仍是未經考驗的全新過程。您應比較軟體數據機和市場上現有獨立式數據機的效能資料,同時要求數據機軟體廠商在您的成品系統上執行完整的連線可靠性以及資料產出測試,然後與先前的數據機軟體和市場上現有數據機的結果進行比較,這些資料是對您很有用的效能指標,它會幫您瞭解您所實作的數據機與其它產品之間的相對排名。  

軟體數據機的成本優勢就是硬體數據機晶片成本和軟體數據機成本之間的差值,軟體數據機成本包括授權費用、軟體發展及整合、額外的主機處理器MIPS和記憶體、額外的應用軟體及作業系統複雜性以及額外的支援成本。認證成本也可能更高,因為新的軟體數據機程式尚未通過認證, 至少尚未以現有形式通過認證。  

硬體數據機較具優勢  

數據機解決方案在實際環境的應用經驗越豐富,發生困難問題的風險就越低;想要複製客戶的問題、尋找解決方案、然後把該解決方案轉換成軟體更新,這整個過程絕不如想像中容易。  

對於嵌入式系統來說,要在硬體和軟體數據機之間做出抉擇並不容易,您必須完全瞭解其中的風險,並且擬定深思熟慮的計劃來管理這些風險。  

在絕大多數情形下,硬體數據機的風險最少,也是最具吸引力的解決方案,表2列出這些主要風險以及您能用來管理這些風險的建議策略。若軟體數據機真能提供成本優勢,又是最佳的替代方案,那麼您應選擇長期而言最好的DAA技術,這樣您就能將您的工程投資最大程度的重複用於未來產品,並將重新設計的需求減至最少。最後,無論您選擇何種數據機實作方式,您都應確定您擁有完整的客戶支援。  

(本文作者目前任職於Silicon Laboratories)  

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!