TWI413387B - 無線通訊單元及執行其中程式碼之方法 - Google Patents

無線通訊單元及執行其中程式碼之方法 Download PDF

Info

Publication number
TWI413387B
TWI413387B TW94106369A TW94106369A TWI413387B TW I413387 B TWI413387 B TW I413387B TW 94106369 A TW94106369 A TW 94106369A TW 94106369 A TW94106369 A TW 94106369A TW I413387 B TWI413387 B TW I413387B
Authority
TW
Taiwan
Prior art keywords
wireless communication
communication unit
data stream
command
commands
Prior art date
Application number
TW94106369A
Other languages
English (en)
Other versions
TW200610333A (en
Inventor
Michael William Randle
Original Assignee
Sendo Int Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sendo Int Ltd filed Critical Sendo Int Ltd
Publication of TW200610333A publication Critical patent/TW200610333A/zh
Application granted granted Critical
Publication of TWI413387B publication Critical patent/TWI413387B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Description

無線通訊單元及執行其中程式碼之方法
本發明係有關於執行一無線通訊單元中軟體。本發明適用於,但不限於此,一種機制,可供各軟體元件,像是一嵌入式系統中的應用程式碼,能夠透過一簡單命令介面來接取該無線通訊單元中的硬體資源。
在本發明之領域裡,眾知對於像是無線通訊單元之裝置,包含一「作業系統(OS)」。與日俱增地,藉像是智慧型手機等等,該裝置的OS係一例如既由,或併同於,一製造廠商發展,而經授權予複數個其他代工廠商(OEM)等等的共通作業系統。各製造廠商會設計並製造一或更多而其上執行該OS之硬體平台,且撰寫一介接於該共通OS與該特定硬體平台間之硬體相關軟體。
特別是,在一些像是相符於「全球行動通訊系統(GSM)」標準之電話的細胞式電話裡,該OS及/或執行於該OS上之第三方應用程式既經撰寫以組態設定及/或控制如Hayes AT命令介面的功能,而其中「AT」代表「注意(Attention)」。該GSM技術規格畫07.07中即定義對於「GSM行動設備」之AT命令集。
圖1說明一功能性軟體基礎式區塊圖範例,此圖指出一在一利用一OS之無線通訊單元裡的已知命令訊流100。該OS包含一服務供應者110及一實作對各硬體元件140之軟體介面的序列資料串流介面120。
執行於該OS上的客戶端應用程式130能夠透過該OS之服務供應者110而接取到該裝置之各硬體元件140所提供的功能。該客戶端應用程式130將一請求傳送給該服務供應者110之客戶端側應用程式設計介面(API)(未以圖示)。該客戶端側API最好是定義一被預期由所有OEM硬體平台所支援之核心功能集合。
該服務供應者110呼叫一適當的動態鏈結函式庫(DLL)150,並將來自於該客戶端應用程式130之各所收請求傳送至此。該DLL 150將各請求轉譯成一含有例如AT命令之序列資料串流,並將該資料串流傳送給該序列資料串流介面120。
該序列資料串流介面120僅作為一導管,經此將該資料串流傳通至一適當硬體元件140等等。該硬體元件140會接收該資料串流,並按照所接收之AT命令提供經要求的功能。
而該硬體元件140會將對於命令及未經請求之通知的回應,按序列資料串流之形式,透過該序列資料串流介面120傳送至該DLL 150。然後該DLL 150將所收資料串流轉換成該客戶端應用程式130所要求的格式,並透過該服務供應者110將該資訊送返至該者。
即如前述,像是行動電話之裝置日漸增多使用共通作業系統。顯著地,這會造成來自一範圍OEM之一範圍硬體平台使用相同的OS。在一其中由特定軟體元件提供特定功能之系統裡,這或會造成各軟體元件所要求之功能與該硬體經設計以控制之實際功能間的邏輯隔閡。
例如圖1所示,該OS,且特別是該服務供應者110、該DLL 150以及該序列資料串流介面120,係概念上按接取必然地由,或併同於,發展該OS之製造商的(各)特定硬體平台之各式硬體元件140的特定方法所撰寫。例如,來自各客戶端應用程式之各請求會被該DLL 150轉換成AT命令,而會透過該序列資料串流介面120,按一序列資料串流從該DLL 150載送到該硬體元件140。
然而,不同OEM所提供的不同硬體平台,會利用不同命令等而按不同方式予以組態設定/控制。即是使來自相同OEM的不同平台也會運用不同的硬體資源,而控制這些硬體資源的元件也會互異,並因此也會按不同方式加以組態設定/控制。從而,且有問題地,對於行動電話發展商而言,會要求該OS經調適以運用於各硬體平台。
特別是有些硬體功能,或被預期由一特定硬體元件所提供,像是數據機(未以圖示),但是一特定的OEM或既已將該等實作為一些其他元件的一部份。在這些情況下,既經運用於該OS的原始實作中且藉一序列資料串流所載送之AT命令或不適於組態設定及/或控制該等OEM平台的這些硬體元件。
圖2說明一更維特定之範例,一功能性軟體基礎式區塊圖,該圖中說明一於一利用SymbianT M 作業系統之無線通訊單元內的已知命令訊流200。該OS包含一按電話(ETel)伺服器210形式之服務功能供應者,以及一按一通訊子系統(CSY)220形式之序列資料串流介面,此者可實作對各硬體元件的軟體介面。
該CSY 200事實上是由一被該通訊伺服器260呼叫之動態鏈結函式庫(DLL)所提供,該CSY 200係關聯於一或更多的特定硬體元件240。執行在該OS上的客戶端應用程式230可透過該OS之ETel伺服器210,接取由該裝置之各硬體元件所提供功能。該客戶端應用程式230可將各請求送給該ETel伺服器210之應用程式設計介面(API)(未以圖示)。
該ETel伺服器210呼叫一按電話子系統(TSY)模組之形式的動態鏈結函式庫,且將所收自該客戶端應用程式230的各請求傳通至此。該TSY 250將各請求轉譯成一含各AT命令之序列資料串流,並將該資料串流傳送給該通訊伺服器260。
當接收到該資料串流後,該通訊伺服器260呼叫所要求的CSY 220,此者僅作為一導管,而經此會將該資料串流傳通給一適當的硬體元件240等等。該硬體元件240接收該資料串流,且按照所收之AT命令提供所請求的功能性。
Symbian OS係概屬一般OS,用以運用於一不同範圍OEM之不同範圍的硬體平台。該Symbian OS既已被設計以不同目的,特別是透過該ETel伺服器210及該通訊伺服器260以組態設定/控制各電話功能性。接收自該客戶端應用程式230之各項請求等等會被該TSY模組250轉換成一AT命令之序列資料串流,並透過該通訊伺服器260及該CSY 220載送至相關的硬體元件240。
然而,並非所有的硬體平台會實作所有的所期望功能性,使得這能夠藉由AT命令所組態設定/控制。如此,會有必要修改Symbian OS,藉以該者能夠組態設定/控制此一功能性。
一種克服此項問題的傳統方法即如圖3所示。在此已知的實作裡,該DLL 350既經OEM所調適以將收自該客戶端應用程式130之各請求,按照所要求之功能性(且從而該硬體元件所負責的)轉換成一所要求格式。特別是,必須擴張該DLL,且包含更複雜的功能性,以將各請求不僅轉換成AT命令,而亦承其他格式。會按照該請求所針對之特定硬體元件140、340而定,將這些請求傳給適當的處置器,例如該序列資料串流介面120、一平台伺服器310、裝置驅動程式320或一核心330。
如此,對於其中AT命令為適當之各硬體元件140,各請求(及回應)會經該序列資料串流介面120所路由傳送。然而,對於其中AT命令並非適當之各硬體元件340,該DLL 350既經調適以將各請求傳至必要的命令處置器。
對於如圖2所示之更特定範例,該TSY模組250會被調適以將各請求/回應傳至必要的命令處置器。
本發明人既已認知到藉此方法的一項問題,在於該DLL350包含相當複雜的程式碼部份。如此,對一OEM所發展出的各個硬體平台,會有必要對各平台維護該程式碼。
使用像是SymbianT M TSY而由第三方所發展出的模組,亦屬一常見的實作方式。在這種情況下,向該第三方提供對於一些OEM特定軟體元件之API規格或非適當。從而,對於第三方發展人員,將該等OEM元件之功能性裹裝於一適當命令介面內會較為便易。
上述問題阻礙了OEM運用具有概泛結構之程式碼的能力,因此會使得在不同硬體平台上重用相同的程式碼會更為困難。
從而會需要一種經改良且簡化之機制,使得軟體元件能夠便即地且簡易地接取及/或控制在一通訊單元內的各硬體資源,其中前述各項缺點可得減緩。
根據本發明之一第一特點,茲提供一種執行於一無線通訊單元中之軟體程式碼的方法。該執行於一無線通訊單元中之軟體程式碼的方法包含如下步驟,即接收一請求,以在一通訊伺服器處按一或更多來自一無線通訊單元之客戶端應用程式的簡單命令而執行一功能。該方法進一步包含解譯該等一或更多簡單命令之資料內容;藉該通訊伺服器來識別一虛擬序列資料串流介面,此係為管理該所接收一或更多簡單命令並將該等一或更多簡單命令傳通至此所必要者;以及回應於該等一或更多簡單命令之資料內容而由該虛擬序列資料串流介面執行一功能。
根據本發明之一第二特點,茲提供一種執行於一無線通訊單元。該無線通訊單元包含一執行軟體程式碼之嵌入式軟體系統,像是應用程式碼,以透過一簡單命令介面來接取該無線通訊單元的硬體資源,以及一接收一或更多簡單命令之通訊伺服器。該無線通訊單元特徵在於該通訊伺服器之,或可予耦接至之,虛擬序列資料串流介面,並經組態設定以回應於各所收之一或更多簡單命令的資料內容而執行一功能。
如此,不同於像是傳統CSY功能的傳統序列資料串流介面,本發明之序列資料串流介面包含一並不是僅作為一經此而傳通資料之導管的虛擬CSY功能。本發明之序列資料串流介面可讀取及/或另解譯傳通於此之資料並據此而運作。例如,根據經此傳通之資料而定,本發明之序列資料串流介面可將按一或更多簡單命令之形式的所收資料加以解碼,且將各命令轉譯為相對應之應用程式指令,像是對所要求之硬體元件的API呼叫。
或另者,本發明之序列資料串流介面可截收並監視按一或更多簡單命令之形式的所收資料。該資料監視處理包含保留部分/所有經此而過之資料的記錄,對於識別預先定義之資料,該序列資料串流介面會截收該資料,並執行一功能。例如該序列資料串流介面可阻斷進一步資料經此通過,並可提供虛仿回應至該資料的來源,隱藏該資料既經阻斷的事實。該序列資料串流亦可將替代資料送出至該硬體元件,例如,既經儲存之先前送出資料。
按此方式,例如當應用程式碼為電話子系統基礎式程式碼時,本發明之較佳具體實施例提議一種機制,以讓該電話子系統基礎式程式碼能夠透過一簡單命令介面來接取或控制硬體資源。如此,當將電話子系統應用程式碼以及其他程式碼轉跨於各通話平台之間時,即可維持一致介面而提供彈性。
可在各相關申請項中提供本發明之各項進一步特點。
現參照圖4,茲參照於一概泛性作業系統(OS)以說明本發明較佳具體實施例。在該OS裡,由一服務供應者410提供電話功能。這是利用按「動態鏈結函式庫(DLL)」450所實作之各「插件」元件。一DLL 450正常是由該OS供應者所提供,但即如前述「代工廠商(OEM)」會要求調適處理,以提供於例如該客戶端應用程式軟體430所發出之C++函式呼叫,與該硬體元件440所支援之任何介面(例如一AT命令串流)間進行轉譯所必要的邏輯。在該DLL 450與該硬體元件440之間的介面是由一序列資料串流介面420所提供,這既經所調適以依符於本發明。
根據本發明較佳具體實施例,一OEM經提供有發展一具有一接於該DLL 450之標準介面的序列資料串流介面420之能力。如此,對該DLL 450,該序列資料串流介面420會看似與任何其他序列資料介面相同。該序列資料串流介面420係經組態設定以接收對某些硬體元件的命令/請求,並將該等轉譯成一可由一或更多硬體資源所瞭解的簡單命令字串格式,像是該適當的伺服器460、驅動程式470及核心480呼叫。
考量到待由該應用程式碼所擷取之資訊可為眾多項目之任者,例如電話功能資訊,像是後光指示、電池水準資訊、所收信號強度指示等。接著,該序列資料串流介面420利用所送返之數值,建構出適當的回應以傳回至該DLL 450。
按此方式,該DLL 450能夠藉由一簡單元AT命令來發出其請求給該序列資料串流介面420,並按所預期之簡單AT命令方式接收其回應,同時保持不受個別的特定實作所影響且亦無需在意。
現參照於圖5,此圖顯示一無線通訊單元500之硬體基礎式區塊圖,該者係經調適以支援本發明較佳具體實施例的發明概念。一般說來,即如業界所眾知,該無線通訊單元500含有一天線502,此者最好係經耦接於一可在該無線通訊單元500內提供接收與傳送串鏈間之隔離的雙工濾波器或天線切換器504。該接收器串鏈包含接收器前置電路506(可有效地提供接收、過濾及中頻或基頻轉換處理)。該接收器前置電路506係透過一基帶(後置)處理電路507而串列耦接於一一般信號處理功能508。
該一般信號處理功能508在該較佳具體實施例裡係一雙處理器排置,這包含一第一處理器540(構成一第一處理器系統(未以圖示)之一部份),以及一第二處理器550(構成一第二處理器系統(未以圖示)之一部份)。此外,該一般信號處理功能508包含一共處理器介面(未以圖示),提供作為這兩個處理器540、550間之直接通訊的裝置。
在一行動電話之較佳具體實施例裡,該第一處理器系統是負責控制與一該通訊裝置連接至此之網路的通訊,例如處置一協定堆疊及信號處理。此外該第一處理器系統最好是控制或接取來自各元件(未以圖示)之資訊,像是射頻(RF)模組、基帶/音訊CODEC、電池管理器、用戶識別模組(SIM)卡讀卡機等等。在本情境下,該第二處理器系統係經設計以負責執行一人機介面(MMI),並控制一顯示器、鍵板、通用序列匯流排(USB)及/或IrDA介面等。
對於所述具體實施例,該行動通訊單元500係相容於「全球行動通訊系統(GSM)」標準。因此該第一處理器540在使用上會具有執行其上以控制RF電路等的必要軟體542,俾透過一數據機而運用於一GSM網路。這種軟體包含第1層及GSM協定軟體。該第二處理器550在使用上具有執行於其上之人機介面以及一無線電介面層,經由此者執行於該第二處理器550上的MMI軟體及任何其他軟體(未以圖示)可對執行於該第一處理器540上之GSM軟體542往返送出並接收命令。
一控制器514可運作耦接於該前置電路506,使得該接收器能夠自所復原之資訊,計算出接收位元錯誤率(BER)或碼框位元錯誤率(FER)或是類似的鏈結品質測量資料,這亦可併入一所收信號強度指示(RSSI)512功能。該RSSI功能512可運作耦接於該前置電路506。該記憶體裝置516可儲存各種裝置特定性資料,例如該無線通訊單元500的解碼/編碼功能、頻率及時脈資訊等。
一計時器518可運作耦接於該控制器514以控制該運算時脈,換言之,在該無線通訊單元500內之時間相關信號的傳輸或接收作業。即如業界所眾知,由該信號處理功能所處理之所收信號會通常被輸入至一輸出裝置,像是一喇叭或顯示器。
該傳送串鏈基本上包含一經一般信號處理器功能508、傳送器/調變電路522及功率放大器524所串列耦接之輸入裝置520,像是麥克風。該等一般信號處理器功能508、傳送器/調變電路522及功率放大器524可藉一來自經耦接於該雙工濾波器或天線切換器504之功率放大器的輸出,即如業界所眾知,以運作回應於該控制器。
如此,根據本發明之較佳具體實施例,一像是一行動電話500之無線通訊單元,包含一執行像是應用程式碼之軟體程式碼的嵌入式軟體系統,以透過一簡單命令介面接取該無線通訊單元的硬體資源。該行動電話500包含一處理器,此係按接收一或更多像是AT命令之簡單命令的通訊伺服器之形式。一虛擬序列資料串流介面,即如後文所詳述,位於該通訊伺服器內,或可運作耦接於該者,且經組態設定以回應於該所收一或更多簡單命令之資料內容而執行一功能。
當然,可按離散或整合元件之形式來實作該無線通訊單元500內的各式元件。此外,本發明亦慮及該無線通訊單元500可為任何無線通訊單元,像是一可攜式或斯屬行動無線電(PMR)、一行動電話、一個人數位助理(PDA)、一無線膝上型電腦等等。
更一般地說,根據本發明較佳具體實施例之一般性信號處理功能508,或其內所含之個別一或更多處理器,的任何重新程式設計或調適處理,皆可按任何適當方式所實作。例如,可將一新的一般性信號處理功能508(或個別處理器)或記憶體裝置516增入一傳統的無線通訊單元500。
或另者,傳統無線通訊單元的現有部份可藉如重新程式設計其內之一或更多處理器而加調適。而這種必要調適處理可按儲存在像是軟碟、硬碟、可程式化唯讀記憶體(PROM)、隨機存取記憶體(RAM)或是該等或其他儲存媒體任何組合之儲存媒體內的處理器-可實作之指令形式所實作。
現請參照圖6,此圖參照於一採用SymbianT M 作業系統(OS)之智慧型手機以說明一本發明的進一步具體實施例。此圖顯示一功能性「軟體基礎式」圖式600,表示透過一根據本發明較佳具體實施例之電話(ETel)伺服器610較佳命令流。該ETel伺服器610包含一電話子系統(TSY)模組650,對此已考慮到該TSY程式碼可由一代工廠商(OEM)所撰寫,以供各客戶端應用程式630能夠直接地接取到該行動電話的硬體資源。
該TSY模組650送出命令/請求,像是簡單AT命令給一通訊伺服器620。該通訊伺服器620會將這些命令路由傳送至一CSY元件640,例如透過一標準序列連接,或透過共處理器分享之記憶體介面(CSMI)(未以圖示),俾按正常方式加以處置。然後該CSY元件640將任何所送返之回應傳回到該TSY模組650。
然而,相對於接取這些硬體元件645的已知技術,其中簡單AT命令並不適於直接地傳經裝置驅動程式670、核心延伸項680及其他伺服器660,接取各硬體元件645會由一「虛擬」CSY功能628執行。就這方面,該TSY模組650會按正常方式,將像是簡單AT命令之命令/請求送給該通訊伺服器620。該通訊伺服器620將這些命令路由傳送至該虛擬CSY功能628,這會將AT命令轉換成一像是API呼叫的適當格式。然後該虛擬CSY功能628將這些經轉換之API呼叫路由傳送至各裝置驅動程式670、核心延伸項680及其他平台伺服器660,以供按正常方式加以處置。然後該虛擬CSY功能628利用從硬體見645所回返的任何數值,來建構適當的AT命令回應俾送返至該TSY模組650。
按此方式,該TSY模組650可發出其請求給該虛擬CSY功能628,藉由正常的簡單命令(AT)字串,這會被轉譯且重新格式化成API命令,以供傳通至個別的硬體鍵645。在相反方向上,該虛擬CSY功能628將所回返之API命令格式轉譯成適合於該TSY模組650之簡單命令(AT)格式字串。如此,該TSY模組650可按所預期方式接收其回應,同時保持不受個別的特定實作所影響且亦無需在意。
如此,在本發明較佳具體實施例裡,該虛擬CSY功能628在一簡單命令集,像是AT命令,與一或更多複雜訊應用程式設計介面程式碼之間進行對映。有利地,該TSY模組650並不需要直接地支援API呼叫。在不同行動電話平台間之API接取處理的可攜性好處對於OEM會有些略的成本,該等現需發展一具AT命令解譯器之非標準CSY。不過,該虛擬CSY功能628含有相較於該TSY模組650更簡易的程式碼部份。
如此,會將該OEM調適處理等等保持在較小覺簡易的CSY功能內,且可改變而無需更動該TSY模組。按此方式,對複數個硬體平台調適並維護該作業系統程式碼,會遠較簡單,且可運用一概泛TSY模組而無需平台特定的自訂化作業。
在此會要求藉由簡單AT命令,或其他序列資料串流來接取各硬體元件640,對各硬體元件640的接取亦可為由該虛擬CSY功能628來執行。對此,該TSY模組650會按正常方式,將像是簡單AT命令之命令/請求送給該通訊伺服器620。該通訊伺服器620將這些命令路由傳送至該虛擬CSY功能628。然後該虛擬CSY功能628將含有各AT命令之序列資料串流路由傳送至所要求的硬體元件640,以供按正常方式加以處置。
或另者,及/或此外,可由一傳統CSY功能625來執行對這些硬體元件640的接取。對此,該TSY模組650會按正常方式,將像是簡單AT命令之命令/請求送給該通訊伺服器620。該通訊伺服器620將這些命令路由傳送至該傳統CSY功能625。然後該傳統CSY功能625含有各AT命令之序列資料串流路由傳送至所要求的硬體元件640,以供按正常方式加以處置。
不同於傳統序列資料串流介面,像是該傳統CSY功能625,本發明之序列資料串流介面,特別是該虛擬CSY功能628,並不僅作為一資料經此通過的導管。
本發明之虛擬序列資料串流介面會讀取及/或另解譯自此通過而最好是按一或更多簡單命今之形式的資料。然後該虛擬序列資料串流介面會回應於該等一或更多簡單命令的資料內容而據此動作且執行一功能。例如,按照經此而過之資料,本發明之序列資料串流介面可將所收資料轉換成對於所要求之硬體元件的適當API呼叫。
在一替代性具體實施例裡,該序列資料串流介面會截收並監視經此而過的資料。監視該資料包含保持記錄部份/所有經此而過的資料。對於識別預先定義資料,該序列資料串流介面會截收該資料,並執行一功能。例如,該序列資料串流介面可阻斷進一步資料經此傳通,且可提供虛仿回應給該資料來源,隱藏該資料既經阻斷的事實。該序列資料串流亦可將替代資料送出至該硬體元件,例如,既經儲存之先前送出資料。
即如將可知悉者,該序列資料串流介面會被要求對其所收之資料具有一預先定義的瞭解。例如,在其中該序列資料串流介面監視該資料一直到該者識別某些資料為止(即如一些命令或回應)的情況下,會先對該序列資料串流介面提供需尋找哪些資料的定義。
現參照圖7,此圖顯示一說明根據本發明較佳具體實施例之較佳命令解譯處理的流程圖700。一客戶端應用程式對一像是電話伺服器之服務供應者送出一欲予執行之要求功能的請求,即如步驟705所示。在步驟710裡,該電話伺服器呼叫一DLL,像是一TSY模組,這會將該請求轉換成一或更多像是AT命令之簡單命令,並將該等傳送到例如一通訊伺服器。
該通訊伺服器識別一序列資料串流介面,這在本較佳具體實施例裡係採一CSY功能之形式,此者對於管理(各)所收命令為必要者。根據本發明之較佳具體實施例,對於並不適於直接地傳過至一裝置驅動程式等等之命令,該通訊伺服器會將一虛擬序列資料串流介面,或CSY功能,識別為對於該(等)所收之特定命令的適用功能,並且會將該(等)AT命令傳送至此,即如步驟715中所示者。
該虛擬CSY功能將(各)AT命令轉譯成適當的API呼叫,並將該等API呼叫路由傳送至經識別之硬體命令處置器,即如步驟720中所示者。
各硬體命令處置器回返適當的結果給該虛擬CSY功能,即如步驟725。該虛擬CSY功能將結果轉譯為一或更多AT回應,並將該等送返至該TSY模組,即如步驟730中所示者。
在步驟735裡,該TSY模組剖析(各)AT命令,並對該電話伺服器產生任何適當結果且傳返至該客戶端。按此方法,可按有效率的方式,將資訊送至,且取自,該無線通訊單元內之一或更多硬體資源。
現參照圖8,此圖顯示一說明根據本發明較佳具體實施例之較佳命令解譯處理的流程圖800。一客戶端應用程式對一電話伺服器送出一欲予執行之功能的請求,即如步驟805所示。在步驟710裡,該電話伺服器呼叫該TSY模組,這會將該請求轉換成一或更多AT命令,並將該等傳送到一通訊伺服器。
該通訊伺服器識別一CSY功能,此者對於管理(各)所收命令為必要者。根據本發明之較佳具體實施例,對於或適於或是不適於直接地傳經一裝置驅動程式等等之命令,該通訊伺服器會將一虛擬CSY功能識別為對於該(等)所收之特定命令的適當功能,並且會將該(等)AT命令傳送至此,即如步驟815中所示者。
該虛擬CSY功能會監視該(等)AT命令,且當收到此一命令時會識別出一預先定義之命令,即如步驟820中所示。
當接收且識別該預先定義之命令時,該虛擬CSY功能會截收所有的進一步命令,並執行一特定功能,即如步驟825。在完成該特定功能後,該虛擬CSY功能會恢復讓各AT命令經此傳通,即如步驟830中所示者。
考慮到該特定功能可例如提供虛仿回應給嘗試接取該硬體資源之客戶端應用程式,以隱藏該資料既經截收的事實。此外,該虛擬CSY功能或既已儲存先前送出至該硬體資源的命令,而該虛擬CSY功能會將該等重新送至該硬體資源。
本發明較佳具體實施例雖既已參照於一雙處理器排置所描述,而在兩個處理器之間路由傳送各項命令,然亦考慮到本發明概念可等同地施用於單一處理器情境。實際上,在這種單一處理器情境中,該處理器可執行所收來自任何詢查裝置之各命令的截收與重新格式化處理,並將該等傳通至個別硬體功能,且特別是使用序列資料串流介面者。
本發明較佳具體實施例雖既已參照於一無線通訊單元,像是對該等元件採用Symbian作業系統之行動電話,所描述,然確考量到該發明概念等同地適用於運用這種方法以控制硬體資源之任何嵌入式系統。
本發明較佳具體實施例雖既已參照於解譯或轉譯各簡單AT命令以接取非數據機硬體資源,然確考量到該發明概念等同地適用於任何其他相當簡單的命令,例如透過各序列資料介面所傳送之眾知OSI協定堆疊第1層命令。
應瞭解上述機制,即提議一種可讓一TSY模組能夠透過一簡單AT命令而接取到硬體資源的虛擬CSY功能,係為提供至少一或更多的後述優點:(i)可運用一概泛TSY模組而無須平台特定自訂化。
(ii)所有的OEM調適作業會保持在一較小、較簡易的CSY元件裡,且可改變而無需更動該TSY。
(iii)較為複雜的TSY程式碼可從一硬體平台攜帶至另一者。如此,藉利用前述虛擬CSY概念,可利用略微修飾之命令路由傳送處理而獲得顯著增加的功能性。
(iv)可利用較佳機制,以對於各式及多種硬體資源,透過AT命令來支援一一致且均勻的軟體介面。從而,對該電話伺服器之單一簡單建構API會是為接取廣大範圍之功能而所需的唯一介面,否則這會另需具有多重、實作特定之API。
前文中雖係按特定、較佳之本發明實作所說明,然可顯知熟諳本項技藝之人士隨即可對該等發明概念施以進一步的變化及修飾。
如此,既已提供一種為以執行軟體程式碼以獲得無線通訊單元內之硬體資源資訊的無線通訊單元及方法,這可例如減緩關聯於利用API以接取無線電硬體資源之各項已知問題。
100...命令訊流
110...服務供應者
120...序列資料串流介面
130...客戶端應用程式
140...硬體元件
150...動態鏈結函式庫
200...命令訊流
210...電話(ETel)伺服器
220...通訊子系統(CSY)
230...客戶端應用程式
240...硬體元件
250...電話子系統(TSY)模組
260...通訊伺服器
310...平台伺服器
320...裝置驅動程式
330...核心
340...硬體元件
350...動態鏈結函式庫(DLL)
410...服務供應者
420...序列資料串流介面
430...客戶端應用程式軟體
440...硬體元件
450...動態鏈結函式庫(DLL)
460...伺服器
470...驅動程式
480...核心
500...無線通訊單元
502...天線
504...雙工濾波器或天線切換器
506...接收器前置電路
507...基帶(後置)處理電路
508...一般信號處理功能
512...所收信號強度指示(RSSI)
514...控制器
516...記憶體裝置
518...計時器
520...輸入裝置
522...傳送器/調變電路
524...功率放大器
540...第一處理器
542...軟體
550...第二處理器
600...功能性軟體基礎式圖式
610...電話伺服器
620...通訊伺服器
625...CSY功能
628...虛擬序列資料串流介面
630...客戶端應用程式
640...CSY元件
645...硬體元件
650...電話子系統(TSY)模組
660...平台伺服器
670...裝置驅動程式
680...核心
700...流程圖
705...客戶端應用程式對該電話伺服器請求某些待予執行之功能
710...電話伺服器呼叫該TSY模組,這會將該請求轉換成一或更多像是AT命令,並將該等傳送到該通訊伺服器
715...通訊伺服器將CSY功能識別為適用功能,並且將(各)AT命令傳送至此
720...該虛擬CSY功能將(各)AT命令轉譯成適當的API呼叫,並將該等API呼叫路由傳送至經識別之硬體命令處置器
725...各硬體命令處置器將適當結果回返給虛擬CSY功能
730...該虛擬CSY功能將結果轉譯為一或更多AT回應,並將該等送返至該TSY模組
735...該TSY模組剖析(各)AT命令,並對該電話伺服器產生任何適當結果且傳返至該客戶端
800...流程圖
805...客戶端應用程式對一電話伺服器送出某些欲予執行之功能的請求
810...電話伺服器呼叫該TSY模組,這會將該請求轉換成一或更多AT命令,並將該等傳送到該通訊伺服器
815...通訊伺服器將該虛擬CSY功能識別為適當功能,並且會將該(等)AT命令傳送至此
820...該虛擬CSY功能監視該(等)AT命令,且識別出一預先定義之命令
825...該虛擬CSY功能截收所有的進一步命令,並執行一特定功能
830...在完成該特定功能後,該虛擬CSY功能會恢復讓各AT命令經此傳通
圖1說明一功能性軟體基礎式區塊圖範例,此圖表示一無線通訊單元裡的已知命令流;圖2說明一功能性軟體基礎式區塊圖之更為特定範例,此圖表示一利用SymbianT M 作業系統之無線通訊單元裡的已知命令流;以及圖3說明一已知功能性軟體基礎式區塊圖進一步範例,此圖表示一無線通訊單元裡的已知命令流。現將參照於各隨附圖式以說明本發明之示範性具體實施例,其中:圖4說明一功能性軟體基礎式區塊圖範例,此圖表示一無線通訊單元裡的已知命令流;圖5說明一能夠根據本發明較佳具體實施例所調適之無線通訊單元的硬體基礎式區塊圖;圖6說明一根據本發明較佳具體實施例之功能性軟體基礎式區塊圖範例,此圖表示一透過一電話(ETel)伺服器之較佳命令流。
圖7說明一根據本發明較佳具體實施例之命令解譯及轉譯處理的流程圖;以及圖8說明一根據本發明較佳具體實施例之命令截收及轉譯處理的流程圖。
500...無線通訊單元
502...天線
504...雙工濾波器或天線切換器
506...接收器前置電路
507...基帶(後置)處理電路
508...一般信號處理功能
512...所收信號強度指示(RSSI)
514...控制器
516...記憶體裝置
518...計時器
520...輸入裝置
522...傳送器/調變電路
524...功率放大器
540...第一處理器
542...軟體
550...第二處理器

Claims (25)

  1. 一種於一無線通訊單元中執行軟體程式碼(700、800)之方法,其包含如下步驟:接收一請求(705、805),以在一通訊伺服器處執行來自該無線通訊單元之一客戶端應用程式的一或更多簡單命令內之一功能;解譯該等一或更多簡單命令之資料內容;由該通訊伺服器來識別(715、815)一虛擬序列資料串流介面,此係為管理該所接收一或更多簡單命令並將該等一或更多簡單命令傳通至此所必要者;以及回應於該等一或更多簡單命令之資料內容而由該虛擬序列資料串流介面執行(720、820)一功能。
  2. 如請求項1之執行軟體程式碼的方法(700、800),其中該執行(720)一功能之步驟包含如下步驟:將該等一或更多簡單命令加以解碼,以識別出一或更多的硬體命令處置器(hardware command handlers);將該等一或更多簡單命令轉譯為應用程式指令,例如應用程式設計介面(API)呼叫;以及將該等應用程式指令路由傳送(720)至該等一或更多經識別之硬體命令處置器。
  3. 如請求項2之執行軟體程式碼的方法(700、800),其進一步包含如下步驟,即藉該等一或更多硬體命令處置器,將該等一或更多的回應送返(725)至該虛擬序列資料串流介面。
  4. 如請求項3之執行軟體程式碼的方法(700、800),其進一步包含如下步驟,即由該虛擬序列資料串流介面,將該等一或更多的回應轉譯(730)成一或更多的簡單回應。
  5. 如請求項4之執行軟體程式碼的方法(700、800),其進一步包含如下步驟,即將一或更多簡單回應傳送(730)至一服務供應者。
  6. 如請求項5之執行軟體程式碼的方法(700、800),其進一步包含如下步驟,即由該服務供應者剖析該等一或更多回應,以產生一或更多回應俾送返至該客戶端應用程式。
  7. 如請求項6之執行軟體程式碼的方法(700、800),其中該剖析步驟係由該服務供應者之一動態鏈結函式庫所執行。
  8. 如請求項1-7任一者之執行軟體程式碼的方法(700、800),其中該接收步驟包含藉由該服務供應者之一動態鏈結函式庫,將該請求轉換成一或更多簡單命令。
  9. 如請求項1之執行軟體程式碼的方法(700、800),其中執行(820)一功能之步驟包含如下步驟:從該等一或更多簡單命令識別出一預先定義之命令;截收(825)後續一或更多簡單命令;以及回應於該等所截收命令之資料內容,執行(720、820)該功能。
  10. 如請求項9之執行軟體程式碼的方法(700、800),其中該方法進一步包含如下步驟: 一旦完成該執行步驟後,將該等一或更多簡單命令經由該虛擬序列資料串流介面而傳通(830)。
  11. 如請求項1-7任一者之執行軟體程式碼的方法(700、800),其中該服務供應者係一電話伺服器。
  12. 如請求項1-7任一者之執行軟體程式碼的方法(700、800),其中該服務供應者包含一動態鏈結函式庫(DLL),像是電話子系統(TSY)模組。
  13. 如請求項1-7任一者之執行軟體程式碼的方法(700、800),其中該等一或更多簡單命令為AT命令。
  14. 一種無線通訊單元(500),其中包含:一執行軟體程式碼之嵌入式軟體系統,像是應用程式碼,以透過一簡單命令介面來接取(access)該無線通訊單元的硬體資源,以及一接收一或更多簡單命令之通訊伺服器;其中該無線通訊單元(500)特徵為:包含於該通訊伺服器或可予耦接至該通訊伺服器之一虛擬序列資料串流介面(628),經組態設定以回應於該等所接收之一或更多簡單命令的資料內容而執行一功能。
  15. 如請求項14之無線通訊單元(500),其中該虛擬序列資料串流介面(628)係經組態設定以讀取或另為解譯經此通過之資料且對此進行回應。
  16. 如請求項14或15之無線通訊單元(500),其中該虛擬序列資料串流介面(628)係經組態設定以對該等一或更多的簡單命令進行解碼以識別出一或更多的硬體命令處置器, 並將該等所接收之一或更多簡單命令轉譯為應用程式指令,例如應用程式設計介面(API)呼叫,以路由傳送至該經識別之硬體資源。
  17. 如前述請求項14至15任一者之無線通訊單元(500),其中該虛擬序列資料串流介面(628)係經組態設定以接收來自該等一或更多硬體命令處置器之一或更多回應,並經組態設定以將該等所接收之一或更多回應轉譯為一或更多簡單命令,以例如透過一電話子系統(TSY)模組(650)傳通至該應用程式碼。
  18. 如前述請求項14至15任一者之無線通訊單元(500),其中該等一或更多的硬體資源包含如下至少一者:伺服器(460)、一驅動程式(470)、一核心(kernel)(480)。
  19. 如前述請求項14至15任一者之無線通訊單元(500),其中該等一或更多的硬體資源提供待予回返至該應用程式碼之電話功能資訊,像是:後光指示、電池水準資訊、所收信號強度指示。
  20. 如請求項14或15之無線通訊單元(500),其中該虛擬序列資料串流介面(628)係經組態設定以截收傳通經此之資料,並回應於所截收之資料內容執行一功能。
  21. 如請求項20之無線通訊單元(500),其中該虛擬序列資料串流介面(628)係經組態設定以阻斷進一步資料經此通過。
  22. 如請求項21之無線通訊單元(500),其中該虛擬序列資料串流介面(628)係經組態設定以對該資料之來源提供虛仿 回應,藉此隱藏該資料既經阻斷的事實。
  23. 如請求項20之無線通訊單元(500),其中該虛擬序列資料串流介面(628)係經組態設定以將替代資料送出至該硬體元件,例如,既經儲存之先前送出資料。
  24. 如前述請求項14至15任一者之無線通訊單元(500),其中該虛擬序列資料串流介面(628)係位於一服務供應者內,或可運作耦接於此者。
  25. 如前述請求項24之無線通訊單元(500),其中該服務供應者係一電話伺服器610包含一可運作耦接於一通訊伺服器(620)之電話子系統(TSY)模組(650)。
TW94106369A 2004-03-02 2005-03-02 無線通訊單元及執行其中程式碼之方法 TWI413387B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0404556A GB2411742A (en) 2004-03-02 2004-03-02 Method of running software code in a wireless communication unit

Publications (2)

Publication Number Publication Date
TW200610333A TW200610333A (en) 2006-03-16
TWI413387B true TWI413387B (zh) 2013-10-21

Family

ID=32051116

Family Applications (1)

Application Number Title Priority Date Filing Date
TW94106369A TWI413387B (zh) 2004-03-02 2005-03-02 無線通訊單元及執行其中程式碼之方法

Country Status (3)

Country Link
GB (1) GB2411742A (zh)
TW (1) TWI413387B (zh)
WO (1) WO2005086359A2 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI316373B (en) 2006-04-20 2009-10-21 High Tech Comp Corp Method for switching communication networks
SE533987C2 (sv) * 2009-07-17 2011-03-22 Mobisma Ab Applikation i mobil telefon för styrning av en icke-publik telefonväxel

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764985A (en) * 1994-12-13 1998-06-09 Microsoft Corp Notification mechanism for coordinating software extensions
US20030058884A1 (en) * 2001-01-25 2003-03-27 International Business Machiness Corporation Communication endpoint supporting multiple provider models
US20030158974A1 (en) * 2002-02-20 2003-08-21 Allan Herrod Software method for emulating a serial port between applications for enabling communications by mobile bar code readers and computer terminals in wireless networks

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826762B2 (en) * 2001-02-16 2004-11-30 Microsoft Corporation Radio interface layer in a cell phone with a set of APIs having a hardware-independent proxy layer and a hardware-specific driver layer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764985A (en) * 1994-12-13 1998-06-09 Microsoft Corp Notification mechanism for coordinating software extensions
US20030058884A1 (en) * 2001-01-25 2003-03-27 International Business Machiness Corporation Communication endpoint supporting multiple provider models
US20030158974A1 (en) * 2002-02-20 2003-08-21 Allan Herrod Software method for emulating a serial port between applications for enabling communications by mobile bar code readers and computer terminals in wireless networks

Also Published As

Publication number Publication date
GB0404556D0 (en) 2004-03-31
WO2005086359A2 (en) 2005-09-15
GB2411742A (en) 2005-09-07
TW200610333A (en) 2006-03-16
WO2005086359A3 (en) 2008-12-18

Similar Documents

Publication Publication Date Title
US11483689B1 (en) Electronic subscriber identity module (eSIM) management platform
CN105763723B (zh) 移动终端和系统升级方法
US9042877B1 (en) System and method for retrofitting a branding framework into a mobile communication device
US9268959B2 (en) Trusted security zone access to peripheral devices
AU2003219640B2 (en) System and method for use of multiple applications
RU2496278C2 (ru) Способ связи между платформами
US20220214932A1 (en) Methods, devices and computer storage media for inter-mini program platform communication
US8995966B2 (en) Radio interface layer design for smartphones
WO2005083984A1 (en) Protocol stack with modification facility
EP1416353B1 (en) Communication device, program and recording media
US20090204725A1 (en) Wimax communication through wi-fi emulation
CN103548007B (zh) 用户装置和外部装置的连接系统和方法
US9591434B1 (en) Virtual private network (VPN) tunneling in a user equipment (UE) brokered by a radio frequency identity (RFID) chip communicatively coupled to the user equipment
US20220245005A1 (en) Methods, devices and computer storage media for inter-mini program platform discovery
JP2010501139A (ja) 無線通信システムにおけるデータベース管理
US9521504B1 (en) Channel selection in a mobile communication device application framework
CN111371695B (zh) 服务限流方法及装置
TWI413387B (zh) 無線通訊單元及執行其中程式碼之方法
US8051191B2 (en) Ethernet extensibility
WO2012129930A1 (zh) 一种多制式驱动方法、系统和终端
JP2006277204A (ja) 携帯通信端末装置
US20230217356A1 (en) Shim Application for Enclave Separation
CN114584615A (zh) 云服务协同交互方法、装置以及设备
US20050207546A1 (en) Modem sharing device of PDA phone and method thereof
CN105681091A (zh) 升级装置和升级方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees