JP2021145338A - マルチモード変調を用いる向上した仮想gpio - Google Patents

マルチモード変調を用いる向上した仮想gpio Download PDF

Info

Publication number
JP2021145338A
JP2021145338A JP2021076152A JP2021076152A JP2021145338A JP 2021145338 A JP2021145338 A JP 2021145338A JP 2021076152 A JP2021076152 A JP 2021076152A JP 2021076152 A JP2021076152 A JP 2021076152A JP 2021145338 A JP2021145338 A JP 2021145338A
Authority
JP
Japan
Prior art keywords
gpio
messaging
signal
bit
frame
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2021076152A
Other languages
English (en)
Inventor
ララン・ジー・ミシュラ
Jee MISHRA Lalan
リチャード・ウィートフェルト
Wietfeldt Richard
モヒット・プラサド
Prasad Mohit
ジェームズ・パニアン
Panian James
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2021145338A publication Critical patent/JP2021145338A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1678Details of memory controller using bus width
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Dc Digital Transmission (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Magnetic Resonance Imaging Apparatus (AREA)
  • Crystals, And After-Treatments Of Crystals (AREA)

Abstract

【課題】マルチモード変調を用いる向上した仮想GPIOを提供する。【解決手段】複数のGPIO信号を、仮想GPIO信号として送信するために、パルス幅変調と位相変調を組み合せるマルチ変調方式のハイブリッド仮想FSM(有限状態機械)515であって、論理回路8012は、メッセージング信号の送信セットを受信し、送信セットの以前の状態と比較して送信セットに変化があった場合、送信ライン510aを介したマルチモード変調シンボルとしての信号の送信セットの直列送信を許可する。マルチモード変調器855は、送信ライン510aを介して送信された対応するシンボルをパルス幅変調および位相変調する。【効果】過度の数のピンを必要とすることなしに多数の入力/出力信号を適応させることができ、スループットが向上し電力消費が低減される。【選択図】図8

Description

関連出願の相互参照
本出願は、2015年4月14日に出願された仮出願第62/147,238号の利益を主張し、2015年9月25日に出願された米国仮出願第62/233,278号の利益をさらに主張する、2016年4月12日に出願された米国出願第15/097,237号の利益を主張する。
本出願は、シグナリングに関し、より詳細には、パルス幅変調と位相変調を組み合わせるマルチ変調デジタルシグナリング方式に関する。
汎用入力/出力(GPIO)により、集積回路設計者が特定のアプリケーション向けにカスタマイズされ得る汎用ピンを実現することが可能になる。たとえば、GPIOピンは、ユーザのニーズに応じて出力ピンまたは入力ピンのいずれかであるようにプログラム可能である。GPIOのホストまたは周辺装置は、一般に、インターフェース要件に基づいて変化することができるピンのグループを制御する。GPIOピンはプログラム可能であるので、マイクロプロセッサおよびマイクロコントローラのアプリケーションに含まれることが多い。たとえば、モバイルデバイス内のアプリケーションプロセッサは、モデムプロセッサとのプロセッサ間通信(IPC)などのハンドシェイクシグナリングを行うために、いくつかのGPIOピンを使用してもよい。
そのようなハンドシェイクシグナリングに関して、側波帯信号は、プロセッサによって送信と受信の両方が行われなければならない場合、「対称」と見なされる。交換される必要があるn個の対称側波帯信号が存在する場合、各プロセッサは、n*2個のGPIO(所与の信号を送信する1つのGPIOおよびその信号を受信する1つのGPIO)を必要とする。たとえば、モデムプロセッサとアプリケーションプロセッサとの間の対称IPCインターフェースは、5つの信号を備える場合があり、このことは、結果として生じるIPCシグナリングに10個のGPIOピンが必要であることになる。IPC通信にはそれほど多くのGPIOピンが必要なので、製造コストが増大する。さらに、IPCに充てるGPIOが多すぎると、他のシステムレベルの周辺インターフェースに対するGPIOの利用可能性が制限される。この問題は、特定のコーナー条件が侵害されることになるという点で、プロセッサ間のメインデータバスにIPC通信を移動させることによって解決することができない。
加えて、モバイルデバイスなどのシステム内の集積回路間の通信をサポートするために、いくつかのデジタルシグナリングプロトコルが開発されてきた。これらのシグナリングプロトコルは、本明細書では、送信回路がその送信ピンを電源電圧レベルまで高くするか、またはビットを送信するためにピンを接地するかのいずれかであるという点で、「デジタル」と見なされる。そのようなデジタルシグナリングプロトコルの例としては、汎用I/O(GPIO)およびユニバーサル非同期受信機送信機(UART:universal asynchronous receiver transmitter)がある。たとえば、UART送信機は、UART受信機における受信ピン上で受信されるデジタル信号を送信ピンを介して駆動する。UART受信機は、受信された信号がバイナリ高であったか、またはバイナリ低であったかを判定するために、受信された信号をオーバーサンプリングクロックを使用してサンプリングする。
これらのデジタルシグナリングプロトコルにおける電力消費を低減するために、ランレングス符号化(RLE:run length encoding)などの様々な可逆データ圧縮技法が利用されてきた。しかし、圧縮の程度はデータのランダム性に依存するので、ランレングス符号化は固定された予測可能なスループット向上を保証しない。データ送信が完全にランダムである場合、ランレングス符号化は、いかなる利益も提供しない。他のより複雑な方式は、改善されたスループットを提供するが、デジタルシグナリングに適合しない。たとえば、直交位相シフトキー(QPSK)方式の使用は、従来のデジタルシグナリングの2倍のスループットを有するが、2つの独立した正弦波サブキャリアの使用を必要とする。対照的に、送信機は、シンボル送信の間、その送信ピンを電源電圧におよび/または接地に駆動する必要があるにすぎないので、デジタル信号プロトコルは、はるかに単純である。同様に、デジタルシグナリング受信機は、オーバーサンプリングクロックの各サンプリングにおいて電圧高信号が受信されているか、または電圧低信号が受信されているかを判定する必要があるにすぎない。
したがって、当技術分野では、過度の数のピンを必要とすることなしに多数の入力/出力信号を適応させることができ、スループットが向上し電力消費が低減された改善されたデジタルシグナリングプロトコルを使用する、GPIOアーキテクチャが必要とされている。
ハイブリッド仮想GPIOアーキテクチャは、各々がプロセッサを有する2つの集積回路の間の通信のために提供される。このアーキテクチャは、GPIO信号とメッセージング信号の両方を適応させるという点で「ハイブリッド」と見なされる。前に説明したように、従来のGPIOシステムにおけるGPIO信号は、特定のピン専用である。対応するGPIOピン上でのGPIO信号の受信は、受信プロセッサへの信号を識別する。しかし、本明細書で定義するメッセージング信号は、シリアル周辺インターフェース(SPI)またはプロセス間通信(IPC)インターフェースなどにおける専用受信ピン上で受信される信号である。したがって、様々なメッセージング信号は、同じ専用受信ピン上で受信され得る。メッセージング信号を区別するために、メッセージング信号がアドレスを含んでいるアドレスヘッダを含むことが一般的である。受信集積回路は、アドレスに基づいて、受信されたメッセージング信号を適切なレジスタにルーティングする。たとえば、1つのタイプのメッセージング信号は、ワイヤレスカードまたはGPSカードなどのインストールされたカードの識別情報に関係してもよい。次いで、そのようなメッセージング信号は、適切なレジスタにマッピングするアドレスを有することになり、その結果、対応するメッセージコンテンツは、それに応じて登録され得る。次いで、レジスタの結果として生じるコンテンツを解釈することによって、受信プロセッサは、インストールされたカードの識別情報を解釈することができる。他のタイプのメッセージング信号は、類似する方法で受信集積回路内の適切なレジスタにルーティングされることになる。
各集積回路は、GPIO信号の送信セットを使用して(1つまたは複数の)残りの集積回路と通信するための仮想GPIOインターフェースも含む。仮想GPIOインターフェースは、従来の方法でGPIOピンを介して送信セットの一部分を対向する集積回路内のリモートプロセッサに送信するように構成される。しかし、送信セットの残りの部分は、個々のGPIOピン上では送信されない。代わりに、GPIO信号の送信セットの残りの部分は、ハイブリッド仮想GPIO有限状態機械(FSM)によって少なくとも1つのフレーム中に直列化され、専用送信ピンを介して送信される。ハイブリッド仮想GPIO有限状態機械はまた、メッセージング信号を少なくとも1つのフレーム中にまたはメッセージング信号の専用フレーム中に直列化するように構成される。
各集積回路は、残りの集積回路内のオーバーサンプリングクロックと非同期であるオーバーサンプリングクロックも含む。集積回路のハイブリッド仮想FSMは、そのオーバーサンプリングクロックのサイクルに応答して、仮想GPIO信号のフレームおよび/またはメッセージング信号のフレームを送信および受信するように構成される。送信ハイブリッド仮想FSMは、オーバーサンプリングクロックを使用してビットをオーバーサンプリングし、結果として生じるサンプルを送信ピンを介してリモート集積回路内のハイブリッド仮想FSMの受信ピンに送信することによって、送信されるべきフレーム中で各ビットをその送信ピンを介して送信する。受信ハイブリッド仮想FSMは、そのオーバーサンプリングクロックを使用して各受信されたビットをサンプリングし、UARTの分野において知られているように、結果として生じるサンプルに基づいてビットを復号する。結果として生じるアーキテクチャは、単一の送信ピンおよび単一の受信ピンだけを使用して仮想GPIO信号およびメッセージング信号の結果として生じる送信を同期させるために外部クロックピンを必要としないので、非常に有利である。
仮想GPIO送信を向上させるために、各ハイブリッド仮想GPIO(VGPIO)インターフェースは、位相符号化パルス幅変調シンボルを使用してフレームビットを送信および受信するようにさらに構成される。たとえば、シンボルが2つの考えられるパルス幅を有すると仮定する。従来のパルス幅変調方式では、これらの2つのパルス幅は1ビットを表すことになる。しかし、加えて、シンボルは、少なくとも2つの考えられる位相も有する。2位相実施形態では、パルスは、ビット周期の終わりに整合された、それらの立下りエッジを有するか、またはビット周期の始めに整合された、それらの立上りエッジを有するかのいずれかであるように整合される。したがって、2位相整合は、別のビットを表す。パルス幅変調と位相変調の両方のこの組合せを仮定すると、結果として生じるシンボルは、本明細書では「マルチ変調」シンボルまたは「マルチ変調」ワードとして示される。これらのワードは、増加したスループットおよび低減された電力消費により、バイナリ位相変調方式またはパルス幅変調方式と比較して非常に有利である。さらに、これらの利点は、従来のデジタルシグナリング技法から逸脱することなく得られる。したがって、QPSKなどにおけるアナログ正弦曲線に関わる複雑性が回避される。
開示するハイブリッド仮想GPIOアーキテクチャのための2つの主要な実施形態が存在する。第1の実施形態では、専用送信ピンを介して送信される各フレームは、フレームが仮想GPIO信号の送信セットを備えるかまたはメッセージング信号の送信セットを備えるかを識別するヘッダを含む。ヘッダはまた、フレームが受信機側で設定されるべき仮想GPIOフレーム長を識別することを示してもよく、または所望の仮想GPIOフレーム長の確認を示してもよい。したがって、フレームサイズは可変であり、結果として生じるストリーム長決定フレームによって決定される。第2の実施形態では、ヘッダは、仮想GPIO信号とメッセージング信号の両方を含むフレームにわたって拡張され、その結果、拡張されたヘッダは、仮想GPIO信号およびメッセージング信号のビット位置を識別する。次いで、ハイブリッドGPIOインターフェースは、リモートプロセッサからのGPIO信号およびメッセージング信号の第2のセットを備える信号の第2のセットを受信プロセッサに供給することができる。
ハイブリッド仮想GPIO FSMは、各々がスタートビットおよびエンドビットによって画定されたフレーム中で、仮想GPIO信号およびメッセージング信号の送信セットを送信する。したがって、受信デバイス内のハイブリッド仮想GPIO FSMは、送信されたフレームを、仮想GPIO信号およびメッセージング信号のその受信セットとして受信する。あるプロセッサ用のFSMは、そのFSMがスタートビットとエンドビットの両方を含む完全なフレームを受信したかどうかを監視することによって、リモートプロセッサが失敗したかどうかを検出することができる。
これらの利点および追加の利点は、以下の詳細な説明を通してより良く諒解され得る。
4つの例示的なマルチ変調2ビットワードを示す図である。 図1のマルチ変調ワードのうちのいくつかと、バイナリ位相変調入力ビットとパルス幅変調入力ビットの対応するセットとの間の関係を示す図である。 本開示の一実施形態による送信機についてのブロック図である。 図3の送信機から送信されたマルチ変調ワードを復調するためのオーバーサンプリングクロックサンプルを示す図である。 例示的なハイブリッド仮想GPIOアーキテクチャのブロック図である。 プロセッサが単一のリモートプロセッサと通信するハイブリッド仮想GPIOアーキテクチャについてのブロック図である。 プロセッサが2つのリモートプロセッサと通信するハイブリッド仮想GPIOアーキテクチャについてのブロック図である。 2ビットファンクションヘッダを有する例示的なハイブリッドフレームを示す図である。 図5のハイブリッド仮想GPIOアーキテクチャ内のハイブリッド仮想GPIO有限状態機械の回路図である。 図8のFSMによって送信される汎用フレームを示す図である。 図9のフレームの第1の入力/出力(I/O)モードを示す図である。 図9のフレームの第2のI/Oモードおよび第3のI/Oモードを示す図である。 図11のフレームのコードワードの表である。 図9のフレームの第4のI/Oモードを示す図である。 本開示の一態様による第1の動作方法についてのフローチャートである。 本開示の一態様による第2の動作方法についてのフローチャートである。 図5のハイブリッド仮想アーキテクチャを含む例示的なシステムを示す図である。
本開示の実施形態およびそれらの利点は、以下の詳細な説明を参照することによって最も良く理解される。図のうちの1つまたは複数に示す同様の要素を識別するために同様の参照番号が使用されることを諒解されたい。
たとえば、UARTシグナリングプロトコルにおいて使用される従来のデジタルシグナリングを介してスループットを2倍にするデジタルシグナリングプロトコルが提供される。その点において、UARTビットは、一般に、電源電圧レベルまたは接地のいずれかにおけるバイナリ電圧信号によって表される。これは、従来のインバータが出力ドライバとして使用されてもよいので、単純さの点で非常に有利である。本明細書で開示するデジタルシグナリングプロトコルは、各送信されたシンボルがバイナリの組合せである(電源電圧の高さまでパルスが生成されたシンボルの第1の部分および放電されている第2の部分)という点で、この単純さを保つ。従来のデジタルシグナリング技法よりもスループットを向上させるために、位相符号化パルス幅変調シンボルを送信する送信機が提供される。以下の例示的な実施形態は、2つのパルス幅および2つの位相だけを使用するシステムを対象とするが、任意の数のパルス幅および位相が本明細書で開示するように組み合わされる場合があることが諒解されよう。
2つの例示的なパルス幅が図1に示されている。第1のパルス100はビット周期の25%のパルス幅を有するが、残りのパルス105はビット周期の75%のパルス幅を有する。どのようなバイナリ割当てがパルス100のパルス幅に与えられるかについては任意であるが、説明の目的で、パルス100のパルス幅にはバイナリ0値が割り当てられている。同様に、パルス105のパルス幅はバイナリ1を表す。パルス100およびパルス105の立下りエッジは、ビット周期の終わりに整合することに留意されたい。したがって、論理高システムでは、パルス100とパルス105の両方が論理0(接地)で始まり、論理高(電源電圧)で終わる。論理低システムでは、これは、パルス100およびパルス105が両方とも、論理高値(接地)で始まり、論理低値(電源電圧)で終わることを示すことに相当する。以下の説明は、一般性の喪失なしに、論理高システムを対象とする。パルス100とパルス105の両方がビット周期境界で同時に終わるように位相調整されるので、パルス100およびパルス105は、第1の位相を表すと見なされる場合がある。この第1の位相変調は、バイナリ0を表すと見なされる場合がある。したがって、パルス100は、一方のバイナリ0が立下りエッジ整合からのものであり、他方のバイナリ0が25%パルス幅からのものである、2ビットシンボル00を表す。同様に、パルス105は、バイナリ1が75%パルス幅に由来する、2ビットシンボル01を表す。
相補的な第2の位相(ビット周期の始めに整合された立上りエッジ)は、パルス110とパルス115のペアによって表される。パルス110は、これもビット周期の25%に等しいパルス幅を有するという点で、パルス100に類似する。しかし、パルス100とは異なり、パルス110は、その立上りエッジがビット周期の始めに整合されるように、180度シフトされる。同様に、パルス115は、パルス105に対して180度シフトされる。
したがって、パルス100およびパルス105と比較して、パルス110およびパルス115によって表されるバイナリ位相変調が存在する。同様に、パルス100/105および110/115の各ペアは、バイナリパルス幅変調を表す。したがって、パルス100、105、110、および115の組合せは、各パルスが2ビットシンボルを備えると見なされ得るように、バイナリ位相変調とバイナリパルス幅変調の両方を表す。QPSKなどの代替のコーディング技法とは異なり、パルス100、105、110、および115の変調は完全にデジタルである、すなわち、送信機は、ビット周期の一部の継続時間の間はバイナリ高信号を送信し、ビット周期の残りの継続時間の間はバイナリ低信号を送信するだけでよい。各パルスが2ビットワードを表すので、[00]、[01]、[10]、および[11]と表される場合がある、4つの考えられるバイナリ2ビットワードが存在する。どの2ビットワードが所与のパルスに割り当てられるかは任意である。4つのそのような選択肢が存在することになり、図1は、パルス100がワード[00]を表し、パルス105がワード[01]を表し、パルス110がワード[10]を表し、パルス115がワード[11]を表す、1つの選択肢を表す。70/30または80/20などの代替のパルス幅がバイナリパルス幅変調方式において使用される場合があることが諒解されよう。加えて、代替実施形態では、パルス幅および位相の数は、たった2つから増加する場合がある。
バイナリ位相変調をバイナリパルス幅変調と組み合わせる、結果として生じる「マルチモード」変調によるスループット向上および電力低減は、図2を参照すると、より良く諒解され得る。パルス幅変調シーケンス200を生成するためにパルス幅変調を使用して処理される、8つのバイナリビットD0〜D7が存在する。これらの同じビットは、位相変調シーケンス205を生成するために位相変調を使用して処理される場合もある。位相変調用の搬送波は、バイナリ0を表す、ビット周期の終わりに整合されたその立下りエッジを有する矩形パルス(ビット周期の50%のパルス幅)である。そのような整合は、矩形パルスの0度の位相変調を表すという点で、本明細書では「反転されない」と呼ばれる。逆に、バイナリ1の位相変調は、ビット周期の始めに整合されたその立上りエッジを有する矩形パルスによって表される。そのような変調は、180度の位相変調を表すという点で、本明細書では「反転される」として示される。
いずれかのシーケンス200および205では、8つのビットD0〜D7を送信するために8つのビット周期を必要とする。対照的に、マルチ変調シーケンス210は、たった4つのビット周期においてこれらの8つのビットを送信し、このことは、単一の変調シーケンス200および205よりもスループットが2倍大きいことを表す。マルチ変調シーケンス210を作成するために、ビットD0〜D7の半分はパルス幅変調ビットとして指定され、残りの半分は位相変調ビットとして指定される。たとえば、シーケンス205内のビットD0、D2、D4、およびD6は、位相変調ビットを表すと仮定される場合がある。逆に、シーケンス200内のビットD1、D3、D5、およびD7は、パルス幅変調ビットを表すと仮定される場合がある。この例では、バイナリ1はビット周期の75%のパルスによって表されるが、バイナリ0はビット周期の25%のパルスによって表される。シーケンス200内のこれらのパルスはすべて、それらのそれぞれのビット周期の終わりに整合されたそれらの立下りエッジを有する。
各位相変調ビットは、後続のパルス幅変調ビットを位相変調する。この場合、これらの位相変調ビットのバイナリ1は、180度位相反転を表すと仮定され、その結果、パルス変調は、シンボル周期の始めとの立上りエッジ整合を有するように「反転される」。逆に、これらの位相変調ビットのバイナリ0は、シンボル周期の終わりとの立下りエッジ整合を有するように、位相変化なし(「反転されない」)を表すと仮定される。位相変調ビットD0はバイナリ1値を有するので、シーケンス200内のPWMビットD1からのパルスは、シーケンス210において対応するマルチ変調ワードA(図1に関して説明したワード110に対応する)を形成するために反転される。逆に、位相ビットD2はバイナリ0値を有し、その結果、PWMビットD3からのパルスは、対応するマルチ変調ワードB(図1のワードまたはシンボル105に対応する)を形成するために反転されない。しかしながら、位相変調ビットD4はバイナリ1値を有するので、PWMビットD5からのパルスは、対応するマルチ変調ワードC(図1のワード115に対応する)を形成するために反転される。最後に、位相ビットD6はバイナリ0であるので、PWMビットD7からのパルスは、対応するマルチ変調ワードD(やはり図1のワード105に対応する)を形成するために反転されない。入力PWMビットおよび位相変調ビットと比較した、結果として生じるマルチ変調ワードのいくつかの利点が直ちにわかる。たとえば、スループットは、マルチ変調周期が位相ビットおよびPWMビットのビット周期と同じであると仮定する場合、2だけ増加する。加えて、8つの位相ビットまたは8つのPWMビットの使用と比較して、マルチ変調ワードでは4つのパルスの送信しか存在しないので、電力消費が2分の1減少する。最後に、立上りエッジおよび立下りエッジの数が2分の1に減らされるので、マルチ変調ワードA〜Dからの電磁干渉(EMI)は、8つのPWMビットを使用することと比較して、低減される。
マルチ変調ワードの送信のために構成された例示的な送信機300が図3に示されている。ビットデマルチプレクサ305は、入力データストリームを受信し、入力ビットストリームをPWM入力ビットおよび位相入力ビットに多重分離する。たとえば、入力ビットストリームがビットD0からビットD15の範囲にわたる16個のビットを備える場合、デマルチプレクサ305は、位相ビットを形成するためにビットD0、D2、D4、D6、D8、D10、D12、およびD14を多重分離してもよい。逆に、ビットD1、D3、D5、D7、D9、D11、D13、およびD15は、PWMビットを形成する。この実施形態では、各位相ビットおよび連続するPWMビットは、変調器310によって図1の4つの考えられる出力ワード100、105、110、および115のうちの1つに変調される、入力ビットペアを形成する。たとえば、ビットD0およびD1はある入力ビットペアを形成し、ビットD2およびD3は別の入力ビットペアを形成し、以下同様である。変調器310は、4つの考えられる入力組合せ[00]、[01]、[10]、および[11]に対応する4ビットルックアップテーブル328を備え得る。ルックアップテーブル328は、入力ビットペア[00]が受信されると、パルス100を選択する。同様に、ルックアップテーブル328は、入力ビットペア[01]が受信されると、パルス105を選択し、以下同様である。スループットのさらなる増加をもたらすために、入力データストリームは、ビット多重分離の前にランレングス符号化されることなどによって、可逆的に符号化され得る。出力ドライバ325は、ルックアップテーブル328によって取り出されたシンボルの反転形を出力ピン315上でドライブアウトするインバータ326を含み得る。結果として生じるシンボル周期のタイミングは、オーバーサンプリングクロックからのオーバーサンプリングクロック信号320などのクロック信号に応答して生じ得る。
受信機におけるマルチ変調ワードの復調は、図4に示すものなどのオーバーサンプリングクロック信号400に関して実行され得る。その点において、送信機と受信機の両方は、類似するオーバーサンプリングクロックを含み得る。オーバーサンプリングクロックを互いと同相に維持するために、送信機は、50%デューティサイクルを有する一連のパルスなどのトレーニングシーケンスを周期的に送信し得る。次いで、マルチ変調ワードは、従来はUARTにおいて実行されるものなどのフレームおよびヘッダを使用して送信され得る。フレームおよびヘッダの寸法は、受信機と送信機の両方に知られている。したがって、受信機は、この既知の構造に関するフレームのビット境界を決定し得る。図4に示すように、受信機は、各ワード100〜115の初期サンプルを使用して、その位相を決定し得る。その第1のサンプルが0である場合、受信機は、ワード100または105のいずれかを復調しつつあることを知る。これらのワードを区別するために、受信機は、パルス幅を決定するために、バイナリ0であるサンプルの数と比較してバイナリ1(電源電圧)であるサンプルの数をカウントし得る。一方、初期サンプルがバイナリ1である場合、受信機はワード110と115を区別しなければならない。この区別は、バイナリ0と比較してバイナリ1であるオーバーサンプリングサンプルの数を決定することによって実行される場合もある。そのようなオーバーサンプリング方式は、より高次の(バイナリよりも大きい)位相変調およびパルス幅変調を復調するために容易に拡張され得る。加えて、マルチ変調は、電力消費のなお一層大きい低減およびスループットの増加を可能にするために複数の振幅を用いる場合もある。
本明細書で説明するマルチモード変調は、有利には、仮想GPIOアーキテクチャにおいて適用され得る。詳細には、ピンのペアがより多くの複数のGPIOピンを構成し、メッセージング信号のための専用送信ピンおよび専用受信ピンも構成しているかのように、システムがそれらのピンを使用することを可能にする、ハイブリッド仮想汎用入力/出力(GPIO)アーキテクチャが提供される。本明細書で使用する「メッセージング信号」は、IPCプロトコル、SPIプロトコル、またはUARTプロトコルにおいて実施されるものなど、従来であれば専用送信ピンを介して送信されるであろう信号を指す。したがって、各メッセージング信号は、受信プロセッサが受信されたメッセージング信号を適切なレジスタにルーティングすることができるようなアドレスを含む。ハイブリッド仮想GPIOアーキテクチャでは、アドレス信号は、送信されるフレーム内のビット順序によって置き換えられる。たとえば、メッセージングフレーム内の第1のビットは、受信されると、第1のメッセージングレジスタに配信されるべきであることが理解され得る。同様に、メッセージングフレーム内の第2のビットは、受信されると、第2のメッセージングレジスタに配信され、以下同様である。各メッセージングレジスタは、受信プロセッサが、プロセッサがメッセージング信号を取り出す対応するメッセージングレジスタのアドレスを介してメッセージング信号の識別情報を知るような、アドレスを有する。
ハイブリッド仮想GPIOアーキテクチャは、仮想GPIO信号を作成するシステムレベルアプリケーションに対して、それらの仮想GPIO信号が従来のGPIOピン上の入力/出力向けに適応されていたかのようであるという点で、「仮想」と見なされる。言い換えれば、本明細書で開示する仮想GPIOアーキテクチャを有するシステムオンチップ(SoC)またはプロセッサは、GPIO信号と仮想GPIO信号との間の機能差に遭遇しない。しかしながら、(GPIO信号が対称である場合)本来であれば各々がそれら自体のGPIOピンの専用ペアを必要とする仮想GPIO信号を送信および受信するために、2つのピンのみが使用される。ハイブリッド仮想GPIOアーキテクチャは、仮想GPIO信号を送信するために使用される専用送信ピンが、メッセージング信号をリモートプロセッサに送信するためにも使用されるという点で、「ハイブリッド」と見なされる。同様に、仮想GPIO信号を受信するために使用される専用受信ピンは、リモートプロセッサからメッセージング信号を受信するためにも使用される。
本明細書で開示する仮想GPIO信号について、携帯電話または他の通信デバイス内のアプリケーションプロセッサとモデムプロセッサとの間のIPCを適応させることに関して説明する。しかしながら、本明細書で開示する仮想GPIO回路および技法は、GPIO機能を必要とするシステムオンチップ(SoC)または特定用途向け集積回路(ASIC)に広く適用可能であることが諒解されよう。
開示するハイブリッド仮想GPIOアーキテクチャは、送信ノードの健全性(health)を受信ノードに対してトランスペアレントにする。これは、送信プロセッサが動作不能になる時間を受信プロセッサに示すので、ソフトウェア実装のデバッギング段階の間は特に、重要な利点である。そのようなロバストな仮想GPIO機能を可能にするために、各集積回路は、回路板上の送信ラインに結合された専用送信ピンと、回路上の受信ラインに結合された専用受信ピンとを含む。その点において、仮想GPIO信号は、送信ラインを介した送信用の送信セットと、受信ライン上の受信用の受信セットとに分割され得る。シグナリングが対称である場合、プロセッサごとの送信セット内の信号の数は同じである。しかしながら、本明細書で開示するハイブリッド仮想GPIOアーキテクチャは、あるプロセッサのための仮想GPIO信号の送信セットがリモートプロセッサのための送信セットと同じサイズではない非対称シグナリングを適応させることができる。仮想GPIO信号に類似して、メッセージング信号も、専用送信ピンを介して送信され、専用受信ピン上で受信される。
携帯電話または他の通信デバイス内のアプリケーションプロセッサ集積回路505およびモデムプロセッサ集積回路500を含むハイブリッド仮想GPIOアーキテクチャが図5に示されている。アプリケーションプロセッサ集積回路505用の送信ライン510aは、モデムプロセッサ集積回路500用の受信ラインである。同様に、モデムプロセッサ集積回路500用の送信ライン510bは、アプリケーションプロセッサ集積回路505用の受信ラインである。これらのラインまたはリードは、集積回路500と集積回路505との間の回路板または他の物理的相互接続上に担持される。各集積回路は、対応する送信ライン(たとえば、モデムプロセッサ集積回路500用のライン510b)に結合するための専用送信ピン512を含む。同様に、各集積回路は、対応する受信ライン(たとえば、モデムプロセッサ集積回路500用のライン510a)に結合するための専用受信ピン511を含む。各集積回路内のハイブリッド仮想有限状態機械(FSM)515は、本明細書でさらに説明するように、オーバーサンプリングクロック信号320(図3)のサイクルに関して、これらの専用ラインおよびピンを使用して送信および受信を制御する。
アプリケーションプロセッサ集積回路505は、プロセッサ502を含む。同様に、モデムプロセッサ集積回路500は、プロセッサ501を含む。各プロセッサは、従来の方法でGPIOピン525とインターフェースするGPIOインターフェース503を介して、GPIO信号を送信および受信する。各ハイブリッド仮想GPIOインターフェース503を介して処理された信号のある部分は、従来のGPIO信号530として、従来のGPIOピン525上で送信および受信され得る。しかし、GPIOインターフェース503を介して処理された信号の残りの部分は、従来のGPIOピン525を介して送信または受信されない。代わりに、この残りの信号部分の一部は、専用送信ピンおよび専用受信ピンを使用して対応するハイブリッド仮想FSM515を介して送信および受信される、複数の仮想GPIO信号535を備える。各ハイブリッド仮想FSM515はまた、メッセージング信号538を受信および送信することに関して、対応するプロセッサと直接インターフェースする。メッセージング信号538は、GPIO信号ではないので、GPIOインターフェース503を介して結合しない。各FSM515は、その専用の送信ピン512および受信ピン511を介して、メッセージング信号538を送信および受信する。したがって、これらのピンは、仮想GPIO信号535とメッセージング信号538の両方に使用されるという点で、「ハイブリッド」ピンである。
仮想GPIO信号535は各々、従来のGPIO信号530の場合のように、それら自体の専用ピンをもたない。これは、仮想GPIO信号535が各々、それら自体のピンを必要とするであろう従来のGPIO実施形態と比較して、結果として生じるハイブリッド仮想GPIOアーキテクチャがピンの著しい低減を達成するという点で、非常に有利である。メッセージング信号538は、従来であれば別の専用送信ピンおよび別の専用受信ピンも必要とする。しかし、本主題の有利なハイブリッド仮想GPIOアーキテクチャでは、これらの追加のピンも除去される。
集積回路は、ただ1つのハイブリッド仮想FSM515を含み得るか、または複数の外部システムとインターフェースするための複数のこれらの要素を含み得る。図6Aは、集積回路600が、それ自体の単一のハイブリッド仮想FSM515を含む集積回路605内のリモートプロセッサと通信するための単一のハイブリッド仮想FSM515を含む、ハイブリッド仮想GPIOアーキテクチャを示す。対照的に、図6Bに示す集積回路620は、それぞれ集積回路625および630内のリモートプロセッサと通信するための第1のハイブリッド仮想FSM515Aおよび第2のハイブリッド仮想FSM515Bを含む。その点において、本明細書で説明する集積回路は、他のデバイスとシグナリングするハイブリッド仮想GPIOを適応させるのに必要なだけの数のハイブリッド仮想FSM515で構成され得る。
再び図5を参照すると、仮想GPIO信号535はハイブリッド仮想FSM515などの有限状態機械を使用して適応されるので、プロセッサ501および502は、眠っているか、または別のタイプの休止状態であっても、仮想GPIO信号535およびメッセージング信号538を受信することが可能であり得る。このようにして、仮想GPIOアーキテクチャは、有利にはGPIOインターフェース503ごとのピンの数を節約するだけでなく、低電力でもある。
本明細書で使用する「ピン」は、集積回路が回路板または他の物理的相互接続(たとえば、パッケージ相互接続またはスルーホールビア相互接続)上のリードに結合するために使用するパッドまたは実際のピンなどの構造を包含する総称である。たとえば、図5に示すように各集積回路が16個のGPIOピンまたはパッド525を有する場合、これらのピンは、8つの対称GPIO信号530(説明を明快にするために、図5では4つの従来のGPIO信号#1〜#4のみが番号付けされている)または16個の非対称GPIO信号530を適応させるように構成され得る。加えて、各集積回路は、ライン510aおよび510bを使用して複数のm個の仮想GPIO信号535の入力/出力インターフェーシングを適応させることができ、mは任意の複数の整数である。同様に、各集積回路は、ライン510aおよび510bを使用して複数のM個のメッセージング信号538の入力/出力インターフェーシングを適応させることができ、Mは正の複数の整数である。各プロセッサコアに関して、GPIO信号530と仮想GPIO信号535との間に差はなく、これらの信号は両方とも、GPIOインターフェース503を介して必要に応じて送信および受信される信号であるにすぎない。しかしながら、従来のGPIO信号530とは対照的に、仮想GPIO信号535およびメッセージング信号538は専用ピンをもたないので、仮想GPIO信号535およびメッセージング信号538は、ライン510aおよび510b上で送信するためにハイブリッド仮想FSM515内で直列化される。受信されると、各ハイブリッド仮想FSM515は、受信された直列化仮想GPIO信号および受信された直列化メッセージング信号を非直列化する。したがって、各ハイブリッド仮想FSM515は、仮想GPIO信号535およびメッセージング信号538に関してシリアライザ/デシリアライザとして機能する。
プロセッサは、GPIO信号またはメッセージング信号のうちの選択された信号の変化に応答して、割込み信号を受信する必要がある場合がある。仮想GPIO信号535およびメッセージング信号538に関して、モデム電力マネージャ(MPM)540は、割込み構成レジスタ(図示せず)を介してプログラムされたように、選択されたGPIO信号またはメッセージング信号を監視する。各仮想GPIO信号535は、対応する割込み構成レジスタを有する。仮想GPIO信号535がその信号変化状態に応答して割込みを生成する必要がある場合、対応する構成レジスタは、それに応じてプログラムされる。同様に、仮想GPIO信号535またはメッセージング信号538が、その信号が状態を変化させたかどうかにかかわらず割込みを生成しない信号である場合、対応する割込み構成レジスタはやはり、それに応じてプログラムされる。MPM540は、有限状態機械を備える場合もある。したがって、ハイブリッド仮想FSM515とまったく同様に、MPM540は低電力であり、そのプロセッサがスリープモードまたは何らかの他の休止状態にあるかどうかにかかわらず、アクティブである。
仮想GPIO信号535は、送信セットおよび受信セットに細分されてもよい。対称システムでは、各送信セットは、同じ数の信号を有することになる。同様に、各受信セットは、同じ数の信号を有することになる。しかしながら、開示する仮想GPIOアーキテクチャは、仮想GPIO信号535の送信セットおよびメッセージング信号538の送信セットが異なるサイズを有し、GPIO信号535の受信セットおよびメッセージング信号538の受信セットも異なるサイズを有する非対称シグナリング実施形態を容易に適応させることができるという点で、有利であることが諒解されよう。アーキテクチャが対称であるか非対称であるかにかかわらず、各ハイブリッド仮想FSM515は、これらの送信セット内の各信号がGPIOインターフェース503とハイブリッド仮想FSM515との間のそれ自体のリード上で搬送されるという意味では、GPIOインターフェース503から並列に仮想GPIO信号535の送信セットを受信する。メッセージング信号538はGPIO信号ではなく、したがって、GPIOインターフェース503を介して結合しない。代わりに、各プロセッサ501および502は、メッセージングレジスタ536のうちの対応するメッセージングレジスタからメッセージング信号538を取り出すか、またはそれらのメッセージングレジスタにメッセージング信号538を書き込む。メッセージング信号538の受信されたフレームに関して、対応するハイブリッド仮想FSMは、どのメッセージング信号538が特定のメッセージングレジスタに書き込まれたかを識別するために、フレーム中のビット順序を使用する。これらのメッセージングレジスタ536は各々、対応するプロセッサ501または502のためのアドレス空間内のハイブリッド仮想FSM515用の汎用アドレスのいくらかのオフセットにマッピングされる。したがって、各メッセージングレジスタ536は、それ自体のアドレス537を有する。MPM540からの割込みに応答して、プロセッサ501または502は次いで、適切なメッセージング信号538を取得するためにメッセージングレジスタ536にアクセスすることができる。仮想GPIO信号535とまったく同様に、メッセージング信号538は、送信セットおよび受信セットに細分され得る。アーキテクチャが対称であるか非対称であるかにかかわらず、ハイブリッド仮想FSM515によるこれらの送信セットの結果として生じる送信は、単一の送信ピン512を介して行われる。あるプロセッサからの仮想GPIO信号535の送信セットは、リモートプロセッサのための仮想GPIO信号535の受信セットになる。同様に、メッセージング信号538の送信セットは、リモートプロセッサのためのメッセージング信号538の受信セットになる。次いで、リモートプロセッサのハイブリッド仮想FSM515は、仮想GPIO信号535の受信セットを非直列化し、その結果、仮想GPIO信号535は、並列にGPIOインターフェース503に提示され得る。
各ハイブリッド仮想FSM515は、仮想GPIO信号535の送信セットおよびメッセージング信号538の送信セットについての以前の状態を記憶する構成レジスタ(図示せず)を含む。このようにして、各ハイブリッド仮想FSM515は、GPIOインターフェース503から受信された仮想GPIO信号535の送信セットの現在の状態を監視し、現在の状態が以前の状態に対して変化した場合のみ、対応する送信セットの直列送信をトリガすることができる。言い換えれば、ハイブリッド仮想FSM515は、送信セット内の信号のうちの1つまたは複数が、構成レジスタ内の以前の状態の記憶を介して検出されるように状態を変化させた場合のみ、メッセージング信号538または仮想GPIO信号535の送信セットの直列送信をトリガする。各プロセッサは、メッセージング信号レジスタ536用のアドレス537を知っており、したがって、それらに所望の送信セットを書き込むことができ、受信セットの任意の変化を読み取ることもできる。ハイブリッド仮想FSM515は、メッセージング信号536の送信セットがそれらの以前の送信に対して変化したかどうかを監視し、それに応じてリモートプロセッサへの送信セットの送信をトリガする。MPM540は、受信セットが以前に説明したように変化したかどうかを監視し、変化した受信セットが処理され得るように対応するプロセッサに割り込む。
送信されたフレームおよび受信されたフレームは、事前定義されたサイズを有する。フレームサイズのこの事前定義は、ハイブリッド仮想FSM515が、受信された仮想GPIO信号535および受信されたメッセージング信号538をフレーム内のそれらの順序によって識別するという点で、必要である。送信プロセッサが、デフォルトのフレームサイズに含まれ得るよりも多くの仮想GPIO信号535またはメッセージング信号538を送信する必要がある場合、送信ハイブリッド仮想FSM515は、そのフレームサイズをデフォルトの長さから新しいプログラムされた長さに変更するために、受信ハイブリッド仮想FSM515にシグナリングし得る。たとえば、フレームサイズは、一定数のビット長になるようにヘッダによってプログラムされ得る。例示的なフレーム700が図7に示されている。ヘッダ705は、2つのファンクションビット、fn_0およびfn_1を備え得る。一実施形態では、両方のファンクションビットが0である場合、後続のビットは仮想GPIO信号535である。fn_0が0であり、fn_1が1に等しい場合、後続のビットはメッセージング信号538である。fn_0が1であり、fn_1が0に等しい場合、フレームペイロード内の後続のビットは、受信ハイブリッド仮想FSM515によって予想されることになる新しい仮想GPIO(またはメッセージング信号)フレーム長を表す。同様に、両方のファンクションビットが1である場合、後続のビットは、リモートプロセッサによる所望のフレーム長の確認を表す。仮想GPIO信号535の送信セット(またはメッセージング信号538の送信セット)がこの固定フレームサイズ未満である場合、各フレーム内の未使用ビットはドントケア値であり得る。代替的に、各ハイブリッド仮想FSM515は、所与のアプリケーションに必要なビットの数に応じて、送信されるフレームのサイズを変更するように構成され得る。2つのファンクションビットを使用するコーディングの前述の説明は一例にすぎず、他のヘッダおよびコーディングプロトコルは、フレームが、仮想GPIO信号535、メッセージング信号538、仮想GPIOフレーム長の識別情報、仮想GPIOフレーム長の確認、メッセージング信号フレーム長の識別情報、またはメッセージング信号フレーム長の確認を搬送しているかどうかを識別するために使用され得ることが諒解されよう。一実施形態では、フレーム700は、フレームペイロードが仮想GPIO信号535を備えるかまたはメッセージング信号538を備えるかを識別するタイプビット(type_bit)も含み得る。
仮想GPIO信号535またはメッセージング信号538の受信セットのための完全なフレームの受信を検出するために、ハイブリッド仮想FSM515は、フレーム700のスタートビット706の受信後オーバーサンプリングクロック320(図3)の必要なサイクル数をカウントする論理回路(図示せず)を含み得る。たとえば、受信セットが、オーバーサンプリングクロック320の100サイクル(10Xオーバーサンプリングレート)に応答して受信される10個の仮想GPIO信号535を備えると仮定する。スタートビット706を検出し、オーバーサンプリングクロック320の別の100サイクルを待機した後、FSM論理回路は、次いで、エンドビット710の受信を期待することになる。
再び図7を参照すると、仮想GPIO信号の送信セットは、したがって、スタートビット706およびエンドビット710によって画定されたフレーム700中で送信される。送信プロセッサのための送信セットはリモートプロセッサのための受信セットになるので、受信セットも、それに応じてフレーム化される。このフレーム化は、その場合、各プロセッサが、いかなる追加の専用ピンも必要とせずにリモートプロセッサの健全性を監視することができるという点で、有利である。たとえば、各ハイブリッド仮想FSM515は、(仮想GPIO信号の送信セットについての以前の状態に対する現在の状態に変化がない)デフォルト状態の間、その専用送信ピン512を電源電圧に弱く引く(したがって、その送信ライン510aを電源電圧に弱く引く)ように構成され得る。スタートビットは、そのような実施形態の場合、ハイブリッド仮想FSM515がスタートビット706の送信のためにその送信ライン510aを接地するような論理0になる。このようにして、各ハイブリッド仮想FSM515は、その受信ライン510bが接地に向かって引かれたことを検出することによって、スタートビット706の受信を容易に検出することができる。一実施形態では、スタートビット706およびストップビット710は、互いの論理補数である。したがって、スタートビット706が論理0である場合、ストップビット710は論理高値になる。次いで、フレーム700のペイロードは、タイプビットから、フレーム終了を画定するストップビット710まで拡張してもよい。
プロセッサが失敗し、その結果、その送信ライン510aを接地に不適切に引く可能性がある。したがって、リモートハイブリッド仮想FSM515は、スタートビット706としてこれを検出することになり、その論理回路は、それに応じてフレーム700の終わりに向かってカウントを開始することになる。しかし、エンドビット710が論理1である場合、各ハイブリッド仮想FSM515は、フレーム送信の終わりをシグナリングするために、その送信ライン510aを電源電圧に充電する。プロセッサが失敗し、その結果、リモートハイブリッド仮想FSM515がスタートビット706であると見なされるものを検出した場合、論理回路はエンドビットを検出せず、それに応じて、そのプロセッサにリモートプロセッサの失敗を通知する。
開示する仮想ハイブリッドGPIOアーキテクチャの利点を考えると、2つのピンのみが必要であるが、任意の数の仮想GPIO信号535およびメッセージング信号538がハイブリッド仮想有限状態機械515を介して直列化および非直列化され得る。唯一の制限は、オーバーサンプリングクロック320およびクロックの遅れまたは進みの任意の予想量に対する仮想GPIO信号のタイミング要件である。さらに、あるプロセッサの健全性を対向するプロセッサに対してトランスペアレントにするために、他のピンが必要になることはない。フレーム700はまた、わずか2つのファンクションビットのオーバーヘッドだけによって、様々なメッセージング信号538および仮想GPIO信号535が専用送信ピン112を介して送信され得るという点で、非常に有利である。
各ハイブリッド仮想FSM515は、図3および図4に関して説明したように、シンボル100、105、110、および115に関して説明したものなどのマルチモード変調を使用してフレーム700を送信および受信するように構成され得る。各受信されたシンボルは、そのオーバーサンプリングクロックを使用して受信されたシンボルをサンプリングし、バイナリ1サンプルの結果として生じる数をバイナリ0サンプルに対して比較することによって、受信ハイブリッド仮想FSM515によって変調され得る。
図8は、その送信動作および受信動作をより良く示す、マルチモード変調ハイブリッド仮想FSM515のブロック図である。FSM515は、多重化モジュール800を介して、(図5に示す)そのGPIOインターフェース503から仮想GPIO信号535の送信セットを受信する。代替的に、多重化モジュール800は、FSM515に関して前に説明したように、メッセージング信号538の送信セットを受信してもよい。FSM515は、送信セットの以前の状態と比較して送信セットに変化があった場合、送信ライン510aを介したマルチモード変調シンボルとしての信号の送信セットの直列送信を許可する論理回路801を含む。このようにして、以前の送信と比較して状態が変化していない送信セットの不要な再送信はない。したがって、論理回路801は、仮想GPIO信号535の現在の送信セットを、ラッチまたは構成レジスタ807に記憶された以前の送信セットと比較する。比較を実行するために、論理回路801は、現在の送信セットを構成レジスタ807に記憶された以前の送信セットとXORするXORゲート810を含み得る。多重化モジュール800は、並列入力直列出力(PISO)シフトレジスタ815の中に並列に現在の送信セットをロードする。XORゲート810からのイネーブル信号820が高くなった(現在の送信セットと構成レジスタ807に記憶された送信セットとの間の変化を示す)場合、PISOシフトレジスタ815はイネーブルにされて、シフトクロック120に応答して、そのコンテンツを送信ライン510a上に直列にシフトアウトする。
信号の各送信セットは、PISOシフトレジスタ815に記憶されたデータのフレームを備える。FSM515は、PISOシフトレジスタ815からシフトアウトされたビットの送信セットを、送信ライン510a上のリモートプロセッサに駆動されるマルチモード変調シンボルにマルチモード変調する、マルチモード変調器855を含む。この変調は、オーバーサンプリングクロックソース861からのオーバーサンプリングクロック信号320のカウントなどの、発振器からの発振サイクルのカウントに応答する。変調器855およびオーバーサンプリングクロックソース861は、XORゲート810からのイネーブル信号820のアサーションによってトリガされ得る。このトリガに応答して、変調器855は、PISOシフトレジスタ815が信号の送信セットからのビットの初期ペアを変調器855にシフトするように、シフト信号120をストローブする。たとえば、シフトクロック120は、オーバーサンプリングクロック320の周波数をそのオーバーサンプリングレートだけ減少させることによって、オーバーサンプリングクロック320から導出され得る。
このようにして、PISOシフトレジスタ815に記憶されたデータのフレームのための信号の送信セットは、一度にビットのペアを変調器855にシフトされる。PISOシフトレジスタ815からシフトアウトされたペア内の各ビットのバイナリ値に応じて、マルチモード変調器855は、送信ライン510aを介して送信された対応するシンボルをパルス幅変調および位相変調する。その点において、各プロセッサは、デフォルト状態(データ送信なし)の間、その送信ライン510aを電源電圧VDDまで高に弱く充電するように構成され得る。再び図3を参照すると、変調器855は変調器310を備え得る。
FSM515はまた、直列入力並列出力(SIPO)シフトレジスタ825を使用して、類似する方法で信号(仮想GPIO信号535および/またはメッセージング信号538)の受信セットを非直列化する。マルチモード復調器870は、受信ライン510b上で受信された、リモートプロセッサから受信されたマルチモード変調シンボルを復調する。フレームごとのスタートビットは、オーバーサンプリングクロック875からのオーバーサンプリングクロック信号880を同期させるために使用される。代替実施形態では、クロック875および861は同じクロックを備え得ることに留意されたい。復調器870はまた、フレーム全体が受信されたことを検出すると、シフト信号881をSIPOシフトレジスタ825にアサートしてもよい。次いで、SIPOシフトレジスタ825は、復調器870からの復調データ信号882をシフトインすることになる。フレームが受信されると、フレームは出力ラッチ851においてラッチされ、その結果、フレームは並列に多重化モジュール800に提示され得る。
図7に関して説明したファンクションビットは、誤り訂正コーディングによって向上し得る。誤り訂正コーディングはレイテンシを増加させるが、その場合、ファンクションビットは、誤り訂正コーディングによって訂正され得るビット誤りの影響を受けない。ひいては、ユーザは、肯定応答(ACK)および否定応答(NACK)などの重要なファンクションヘッダが誤りなしで配信されることを確信することができる。以下の実施形態は、固有の機能を定義するための拡張ハミング(8,4)コードワードの使用を対象とするが、他の誤り訂正技法が使用されてもよいことが諒解されよう。
誤り訂正を伴う例示的なフレーム900が図9に示されている。フレーム700に類似して、フレーム900はスタートシンボルで始まり、論理高(VDDにアサートされた)ストップシンボルで終わる。10ビット長のファンクションビットフィールド905は、たとえば、最大128データビットのデータペイロード910に関連付けられたメタデータを提供する。これらのデータビットは、図7に関して説明したように、仮想GPIO信号530および/またはメッセージング信号538を備え得る。ファンクションビットフィールド905とデータペイロード910の両方は、マルチモード変調シンボルとして送信される。たとえば、第1のシンボル915は、動作モードビットD0と動作モードビットD1の両方を表す。2つの動作モードビットが存在するので、これらの動作モードビットは、4つの異なる動作モードについて符号化する。第1の動作モードは、フレーム1100についての図10に示すように、両方とも0に等しい動作モードビットD0および動作モードビットD1に対応する。このモードでは、データペイロード910は、固定サイズの8つの仮想GPIOビット535を有する。この固定フレームサイズおよび比較的短いデータペイロード1010を考慮すれば、ファンクションビットフィールド905は、この第1の動作モードにおいて、2つの動作モードビットD0および動作モードビットD1だけに短縮され得る。
第2および第3の動作モードは、図11に示すフレーム1100に対応する。動作モードビットD0が1に等しく、動作モードビットD1が0に等しい場合、第1のP2P(ポイントツーポイント)メッセージング方式が使用される。この第1のP2Pメッセージング方式では、動作モードビットD0および動作モードビットD1の後に8ビット機能フィールドが続く。8ビット機能フィールドは、図12に示すハミングコードワードを形成し得る。このようにして、8ビット機能フィールドは誤りに対してロバストになり、その結果、受信ハイブリッド仮想FSMは、送信されているタイプのフレームをロバストに復号することができる。8つのビットが存在するので、図12に示すように、送信され得る16個のハミングコードワードが存在する。一実施形態では、ファンクションヘッダコードワードは、ビット反転したペアを形成して、結果として生じる復号を有利に簡略化することができる。たとえば、コードワード6は、ポイントツーマルチポイントネットワークに対するアドレス指定されたACKであるが、ビット反転したコードワード9はアドレス指定されたNACKである。同様に、コードワード7はダイレクトACK(ポイントツーポイントネットワーク)であるが、ビット反転したコードワード8はダイレクトNACKである。コードワード5およびそのビット反転した対応するコードワード10は、将来使うために予約され得る。コードワード4は、アドレス指定されたネットワークに対するフロー制御オーバーライドメッセージ(FCOM:flow control override message)を指定する。対応するビット反転したコードワード11は、ダイレクトネットワークに対するフロー制御オーバーライドメッセージである。コードワード3は、関連するデータペイロードをアドレス指定されたネットワークのためのメッセージングペイロードであるものとして識別するが、対応するビット反転したコードワード12は、関連するデータペイロードがダイレクトネットワークのためのメッセージングペイロードであることを示す。コードワード2は、関連するデータペイロードがアドレス指定されたネットワークのための仮想GPIOペイロードであることを示すが、ビット反転したコードワード13は、関連するデータペイロードがダイレクトネットワークのための仮想GPIOペイロードであることを示す。コードワード1は、フレームがブロードキャストフレームであることを意味するが、ビット反転したコードワード14は、フレームがリッスン専用クエリであることを意味する。最後に、コードワード0はソフトリセットをトリガするが、対応するビット反転したコードワード15は最低速度動作モードをトリガする。図12のコードワードの割当ては一実施形態を示すものにすぎず、多数の代替コードワード割当てが利用されてもよいことが諒解されよう。
再び図11を参照すると、第3の動作モードは、0に等しい動作モードビットD0および1に等しい動作モードビットD1に対応する。この動作モードでは、動作モードビットに続くファンクションビットフィールドは、0ビットから8ビットにわたることがある。これらのファンクションビットは、図12に示すコードワードのうちの選択されたコードワードに任意に割り当てられ得る。
第4の動作モードは、第1のシンボル915内の動作モードビットD0と動作モードビットD1の両方が1に等しい、図13に示すフレーム1300に対応する。このモードでは、動作モードビットに続くシンボルは、図7に関して説明したファンクションビットD0およびファンクションビットD1 705を備える。したがって、この第4の動作モードは、メッセージング信号および仮想GPIO信号のペイロードに使用されるべき新しい仮想GPIOストリーム長のプログラミングをサポートする。
フレーム900、1000、1100、および1300のペイロードはすべて、誤り訂正のためにも符号化され得ることに留意されたい。加えて、これらのフレームの各々は、シンボル周期にわたる同期シンボル(クロック同期)で始まる。クロック同期シンボルの前半では、送信ハイブリッド仮想FSM515はその送信ピンを充電する。同期シンボルの後半では、送信ハイブリッド仮想FSM515はその送信ピンを電源電圧VDDに戻して充電する。送信ピンのデフォルト状態が高であるので、受信ハイブリッド仮想FSM515は、同期シンボルの前半を受信すると、その受信ピンの充電を容易に検出することができる。受信ハイブリッド仮想FSM515は、シンボル送信の中間点における同期シンボルの立上りエッジを容易に検出することもできる。したがって、受信FSMは、同期シンボルのこの立上りエッジに応答して、そのオーバーサンプリングクロックを同期させることができる。
次に、第1の動作方法について、図14Aのフローチャートに関して説明する。第1の方法は、GPIOインターフェースにおいて、GPIO信号の送信セットを受信する行為1400を含む。対応するプロセッサ501または502からのGPIOインターフェース503におけるGPIO信号の送信セットの受信は、行為1400の一例である。方法は、GPIOインターフェースから、GPIOピンを介してGPIO信号の第1の部分を送信する行為1405も含む。GPIOピン525のうちの対応するGPIOピンを介したGPIO信号530の送信は、行為1405の一例である。加えて、方法は、GPIOインターフェースから、GPIO信号の第2の部分を有限状態機械(FSM)に送信する行為1410を含み、GPIO信号の第2の部分は、一連のビットペアに配置される。変調器855におけるビットペアの受信は、行為1410の一例である。以下の行為は、各ビットペアに関して定義される。行為1415は、ビットペアにおける第1のビットに基づいており、選択されたパルス幅を提供するために、少なくとも2つのパルス幅から選択することを備える。ルックアップテーブル328に関して説明した、各ビットペアにおける位相幅ビットに基づいたパルス幅の選択は、行為1415の一例である。行為1420は、ビットペアにおける第2のビットに基づいており、選択されたエッジ整合を提供するために、シンボル周期の始めとの選択されたパルス幅の立上りエッジ整合、およびシンボル周期の終わりとの選択されたパルス幅の立下りエッジ整合から選択することを備える。ルックアップテーブル328に関して説明した、各ビットペアにおける位相制御ビットによる位相の制御は、行為1420の一例である。最後に、方法は、FSMから、選択されたパルス幅および選択されたエッジ整合に従ってシンボル周期内に送信ピンを介してパルスを送信する行為1425を含み、パルスは、選択されたパルス幅の間は電源電圧に等しく、選択されたパルス幅以外では接地に等しい。変調器855によるパルス幅変調位相幅変調シンボルの送信は、行為1425の一例である。
第2の動作方法について、図14Bのフローチャートに関して説明する。行為1430および行為1435は、それぞれ、行為1400および行為1405に類似している。方法は、専用送信ピンを介してGPIO信号のセットの残りの部分を第1のフレーム中で仮想GPIO信号としてリモートプロセッサに直列送信する行為1440も含み、各第1のフレームは、第1のフレームを仮想GPIOフレームとして識別する第1のヘッダを含み、第1のヘッダは誤り訂正コーディングされる。最後に、方法は、メッセージング信号レジスタから第1のプロセッサによって書き込まれたメッセージング信号を取り出し、取り出されたメッセージング信号を専用送信ピンを介して第2のフレーム中でリモートプロセッサに直列送信する行為1445を含み、各第2のフレームは、第2のフレームをメッセージングフレームとして識別する第2のヘッダを含み、第2のヘッダは誤り訂正コーディングされる。
本明細書で開示するハイブリッド仮想GPIOインターフェース(図示せず)を介して複数の周辺デバイス1510と通信するように構成されたシステムオンチップ(SoC)1505を含む例示的なシステム1500が図15に示されている。したがって、各周辺デバイス1510は、本明細書で開示するハイブリッド仮想FSM(図示せず)も含む。システム1500は、セルラーフォン、スマートフォン、携帯情報端末、タブレットコンピュータ、ラップトップコンピュータ、デジタルカメラ、ハンドヘルドゲームデバイス、または他の適切なデバイスを備え得る。メッセージング信号および仮想GPIO信号を周辺デバイス1510に送信するためにそのハイブリッド仮想FSMを使用することに加えて、SoC1505は、DRAM1520などのメモリおよびディスプレイコントローラ1525にも結合するシステムバス1515を介して通信する。ディスプレイコントローラ1525は、ディスプレイ1535を駆動するビデオプロセッサ1530に結合する。
今では当業者が諒解するように、目下の特定の適用例に応じて、本開示のデバイスの材料、装置、構成および使用方法において、また、それらに対して、本開示の範囲から逸脱することなく、多くの修正、置換および変形が行われ得る。このことに照らして、本明細書において図示および説明した特定の実施形態は本開示のいくつかの例としてのものにすぎないので、本開示の範囲はそれらの特定の実施形態の範囲に限定されるべきではなく、むしろ、以下に添付された特許請求の範囲およびそれらの機能的等価物の範囲と完全に相応すべきである。
100 第1のパルス、パルス、出力ワード、ワード、シンボル
105 残りのパルス、パルス、出力ワード、ワード、シンボル
110 パルス、出力ワード、ワード、シンボル
115 パルス、出力ワード、ワード、シンボル
120 シフトクロック、シフト信号
200 パルス幅変調シーケンス、シーケンス、変調シーケンス
205 位相変調シーケンス、シーケンス、変調シーケンス
210 マルチ変調シーケンス、シーケンス
300 送信機
305 ビットデマルチプレクサ、デマルチプレクサ
310 変調器
315 出力ピン
320 オーバーサンプリングクロック信号、オーバーサンプリングクロック
325 出力ドライバ
326 インバータ
328 4ビットルックアップテーブル、ルックアップテーブル
400 オーバーサンプリングクロック信号
500 モデムプロセッサ集積回路、集積回路
501 プロセッサ
502 プロセッサ
503 GPIOインターフェース、ハイブリッド仮想GPIOインターフェース
505 アプリケーションプロセッサ集積回路、集積回路
510a 送信ライン、ライン
510b 送信ライン、ライン、受信ライン
511 専用受信ピン、受信ピン
512 専用送信ピン、送信ピン
515 ハイブリッド仮想FSM、リモートハイブリッド仮想FSM、ハイブリッド仮想有限状態機械、送信ハイブリッド仮想FSM、受信ハイブリッド仮想FSM、マルチモード変調ハイブリッド仮想FSM、FSM
515A 第1のハイブリッド仮想FSM
515B 第2のハイブリッド仮想FSM
525 GPIOピン、パッド
530 GPIO信号、対称GPIO信号、非対称GPIO信号、仮想GPIO信号
535 仮想GPIO信号、GPIO信号
536 メッセージングレジスタ、メッセージング信号レジスタ、メッセージング信号
537 アドレス
538 メッセージング信号
540 モデム電力マネージャ(MPM)、MPM
600 集積回路
605 集積回路
620 集積回路
625 集積回路
630 集積回路
700 フレーム
705 ヘッダ、ファンクションビットD0およびファンクションビットD1
706 スタートビット
710 エンドビット、ストップビット
800 多重化モジュール
801 論理回路
807 構成レジスタ
810 XORゲート
815 並列入力直列出力(PISO)シフトレジスタ、PISOシフトレジスタ
820 イネーブル信号
825 直列入力並列出力(SIPO)シフトレジスタ、SIPOシフトレジスタ
851 出力ラッチ
855 マルチモード変調器、変調器
861 オーバーサンプリングクロックソース、クロック
870 マルチモード復調器、復調器
875 オーバーサンプリングクロック、クロック
880 オーバーサンプリングクロック信号
881 シフト信号
882 復調データ信号
900 フレーム
905 ファンクションビットフィールド
910 データペイロード
915 第1のシンボル
1000 フレーム
1010 データペイロード
1100 フレーム
1300 フレーム
1500 システム
1505 システムオンチップ(SoC)、SoC
1510 周辺デバイス
1515 システムバス
1520 DRAM
1525 ディスプレイコントローラ
1530 ビデオプロセッサ
1535 ディスプレイ

Claims (24)

  1. GPIOインターフェースにおいて、GPIO信号の送信セットを受信するステップと、
    前記GPIOインターフェースから、GPIOピンを介して前記GPIO信号の第1の部分を送信するステップと、
    前記GPIOインターフェースから、前記GPIO信号の第2の部分を有限状態機械(FSM)に供給するステップであって、前記GPIO信号の前記第2の部分が、一連のビットペアに配置される、ステップと、
    前記FSMにおいて受信されたビットペアごとに、
    前記ビットペアにおける第1のビットに基づいて、選択されたパルス幅を提供するために、少なくとも2つのパルス幅から選択するステップと、
    前記ビットペアにおける第2のビットに基づいて、選択されたエッジ整合を提供するために、シンボル周期の始めとの前記選択されたパルス幅の立上りエッジ整合、および前記シンボル周期の終わりとの前記選択されたパルス幅の立下りエッジ整合から選択するステップと、
    前記選択されたパルス幅および前記選択されたエッジ整合に従って、前記シンボル周期内に送信ピンを介して仮想GPIOパルスを送信するステップであって、前記仮想GPIOパルスが、前記選択されたパルス幅の間は電源電圧に等しく、前記選択されたパルス幅以外では接地に等しい、ステップと
    を備える方法。
  2. 前記少なくとも2つのパルス幅が、前記シンボル周期の第1の部分に等しい第1のパルス幅と、前記シンボル周期の残りの第2の部分に等しい第2のパルス幅とを備える、請求項1に記載の方法。
  3. 前記第1のパルス幅が前記シンボル周期の25%であり、前記第2のパルス幅が前記シンボル周期の75%である、請求項2に記載の方法。
  4. プロセッサから、複数のメッセージング信号を対応する複数のメッセージングレジスタに書き込むステップと、
    前記FSMにおいて、前記複数のメッセージング信号を前記対応する複数のメッセージングレジスタから取り出すステップであって、前記取り出された複数のメッセージング信号が、メッセージングビットのペアに配置される、ステップと、
    前記FSMにおいて受信されたメッセージングビットのペアごとに、
    前記メッセージングビットのペアにおける第1のビットに基づいて、選択されたパルス幅を提供するために、少なくとも前記2つのパルス幅から選択するステップと、
    前記メッセージングビットのペアにおける第2のビットに基づいて、選択されたエッジ整合を提供するために、シンボル周期の始めとの前記選択されたパルス幅の立上りエッジ整合、および前記シンボル周期の終わりとの前記選択されたパルス幅の立下りエッジ整合から選択するステップと、
    前記選択されたパルス幅および前記選択されたエッジ整合に従って、前記シンボル周期内に送信ピンを介してメッセージング信号パルスを送信するステップであって、前記メッセージング信号パルスが、前記選択されたパルス幅の間は電源電圧に等しく、前記選択されたパルス幅以外では接地に等しい、ステップと
    をさらに備える、請求項1に記載の方法。
  5. 前記仮想GPIOパルスが、フレームを仮想GPIOペイロードを有するものとして識別するヘッダを含む前記フレーム中で送信される、請求項1に記載の方法。
  6. 前記メッセージング信号パルスが、フレームをメッセージング信号ペイロードを有するものとして識別するヘッダを含む前記フレーム中で送信される、請求項4に記載の方法。
  7. リモート集積回路における受信ピンを介して各メッセージング信号パルスを受信するステップであって、前記メッセージング信号パルスが、前記受信ピンにおける到着順序を有する、ステップと、
    各受信されたメッセージング信号を、前記受信されたメッセージング信号の前記到着順序に従って選択された対応する受信メッセージングレジスタに書き込むステップと
    をさらに備える、請求項4に記載の方法。
  8. 前記リモート集積回路内のプロセッサにおいて、前記受信されたメッセージング信号を前記対応する受信メッセージングレジスタから取り出すステップをさらに備える、請求項7に記載の方法。
  9. リモート集積回路における受信ピンを介して前記仮想GPIOパルスを受信するステップと、
    各受信された仮想GPIOパルスを、そのパルス幅に応答して、また、各受信された仮想GPIOパルスから前記GPIO信号のビットペアを復元するために、前記立上りエッジ整合を有するかまたは前記立下りエッジ整合を有するかに応答して、復調するステップと
    をさらに備える、請求項1に記載の方法。
  10. 複数のGPIOピンと、
    前記GPIOピンを介してGPIO信号の送信セットの第1の部分を送信するように構成されたGPIOインターフェースと、
    送信ピンと、
    前記GPIOインターフェースから前記GPIO信号の送信セットの第2の部分を受信するように構成された有限状態機械(FSM)であって、前記第2の部分が、一連のビットペアに配置され、前記FSMが、第1のパルス幅から選択されたパルス幅およびビットペアにおける第1のビットに対応する第2のパルス幅を有し、前記ビットペアにおける第2のビットに対応する位相変調を有する前記ビットペアごとに仮想GPIOシンボルを形成するようにさらに構成され、前記FSMが、前記送信ピンを介して前記仮想GPIOシンボルを送信するようにさらに構成される、FSMと
    を備える集積回路。
  11. 前記第1のパルス幅がシンボル周期の第1の部分に等しく、第2のパルス幅が前記シンボル周期の残りの第2の部分に等しい、請求項10に記載の集積回路。
  12. 前記FSMが、フレーム中で前記送信ピンを介して前記仮想GPIOシンボルを送信するようにさらに構成され、前記FSMが、前記送信ピンを介して、前記フレームを仮想GPIOデータペイロードを有するものとして識別する前記フレームのヘッダを送信するようにさらに構成される、請求項10に記載の集積回路。
  13. 前記FSMが、前記ヘッダを、前記第1のパルス幅および前記第2のパルス幅から選択されたパルス幅を有する2ビットシンボルとして送信するようにさらに構成される、請求項10に記載の集積回路。
  14. 複数のメッセージングレジスタと、
    複数のメッセージング信号を前記メッセージングレジスタに書き込むように構成されたプロセッサであって、前記メッセージング信号が、シリアル周辺インターフェース(SPI)信号、プロセッサ間通信(IPC)信号、およびユニバーサル非同期受信機送信機(UART)信号からなるグループから選択される、プロセッサと
    をさらに備え、
    前記FSMが、前記メッセージング信号を、メッセージング信号ペア内の前記メッセージング信号から、メッセージング信号ペアごとのバイナリコンテンツに基づいて取り出し、前記第1のパルス幅および前記第2のパルス幅からパルス幅を選択し、シンボル周期の始めとの立上りエッジ整合からまたは前記シンボル周期の終わりとの立下りエッジ整合からエッジ整合を選択し、前記選択されたパルス幅および前記選択されたエッジ整合に従って前記シンボル周期中にメッセージング信号パルスを送信するようにさらに構成される、
    請求項10に記載の集積回路。
  15. 前記FSMが、オーバーサンプリングクロック信号に応答して、各仮想GPIOシンボルを送信するようにさらに構成される、請求項10に記載の集積回路。
  16. 受信ピンをさらに備え、前記FSMが、前記受信ピンを介して仮想GPIOシンボルのフレームを受信するようにさらに構成される、請求項10に記載の集積回路。
  17. 第1のプロセッサからGPIOインターフェースにおいてGPIO信号のセットを受信するステップと、
    専用GPIOピンを介して前記GPIO信号のセットの一部分をリモートプロセッサに送信するステップと、
    専用送信ピンを介して前記GPIO信号のセットの残りの部分を第1のフレーム中で仮想GPIO信号として前記リモートプロセッサに直列送信するステップであって、各第1のフレームが、前記第1のフレームを仮想GPIOフレームとして識別する第1のヘッダを含み、前記第1のヘッダが誤り訂正コーディングされる、ステップと、
    メッセージング信号レジスタから前記第1のプロセッサによって書き込まれたメッセージング信号を取り出し、前記取り出されたメッセージング信号を前記専用送信ピンを介して第2のフレーム中で前記リモートプロセッサに直列送信するステップであって、各第2のフレームが、前記第2のフレームをメッセージングフレームとして識別する第2のヘッダを含み、前記第2のヘッダが誤り訂正コーディングされる、ステップと
    を備える方法。
  18. 前記第1のヘッダおよび前記第2のヘッダの前記誤り符号化がハミングコードを備える、請求項17に記載の方法。
  19. 前記ハミングコードが(8,4)ハミングコードである、請求項18に記載の方法。
  20. 前記取り出されたメッセージング信号を直列送信するステップが、取り出されたユニバーサル非同期受信機送信機(UART)信号を直列送信するステップを備える、請求項17に記載の方法。
  21. 前記取り出されたメッセージング信号を直列送信するステップが、取り出されたシリアル周辺インターフェース(SPI)信号を直列送信するステップを備える、請求項17に記載の方法。
  22. 第1のプロセッサと、
    複数のメッセージング信号レジスタであって、前記第1のプロセッサが、メッセージング信号の送信セットを前記メッセージング信号レジスタに書き込むように構成される、複数のメッセージング信号レジスタと、
    複数のGPIOピンと、
    前記第1のプロセッサから信号の第1のセットを受信し、前記信号の第1のセットの一部分をGPIO信号として前記複数のGPIOピンを介してリモートプロセッサに送信するように構成されたGPIOインターフェースと、
    専用送信ピンと、
    前記GPIOインターフェースから前記信号の第1のセットの残りの部分を受信し、前記残りの部分をフレーム中に編成された仮想GPIO信号の送信セットとして前記専用送信ピンを介して前記リモートプロセッサに直列送信するように構成された有限状態機械(FSM)であって、前記FSMが、メッセージング信号の送信セットをメッセージング信号レジスタから取り出し、フレーム中に編成された前記メッセージング信号の送信セットを前記専用送信ピンを介して前記リモートプロセッサに直列送信するようにさらに構成され、前記FSMが、誤り訂正コーディングされたヘッダを、前記フレームが仮想GPIO信号を含むかまたはメッセージング信号を含むかを識別する各フレームにアペンドするようにさらに構成される、FSMと
    を備える集積回路。
  23. 前記誤り訂正符号化されたヘッダがハミングコードを備える、請求項22に記載の集積回路。
  24. 前記ハミングコードが(8,4)ハミングコードである、請求項22に記載の集積回路。
JP2021076152A 2015-04-14 2021-04-28 マルチモード変調を用いる向上した仮想gpio Pending JP2021145338A (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201562147238P 2015-04-14 2015-04-14
US62/147,238 2015-04-14
US201562233278P 2015-09-25 2015-09-25
US62/233,278 2015-09-25
US15/097,237 2016-04-12
US15/097,237 US10146727B2 (en) 2015-04-14 2016-04-12 Enhanced virtual GPIO with multi-mode modulation
JP2017553087A JP6878300B2 (ja) 2015-04-14 2016-04-13 マルチモード変調を用いる向上した仮想gpio

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017553087A Division JP6878300B2 (ja) 2015-04-14 2016-04-13 マルチモード変調を用いる向上した仮想gpio

Publications (1)

Publication Number Publication Date
JP2021145338A true JP2021145338A (ja) 2021-09-24

Family

ID=55949087

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017553087A Active JP6878300B2 (ja) 2015-04-14 2016-04-13 マルチモード変調を用いる向上した仮想gpio
JP2021076152A Pending JP2021145338A (ja) 2015-04-14 2021-04-28 マルチモード変調を用いる向上した仮想gpio

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017553087A Active JP6878300B2 (ja) 2015-04-14 2016-04-13 マルチモード変調を用いる向上した仮想gpio

Country Status (9)

Country Link
US (2) US10146727B2 (ja)
EP (2) EP3283969B1 (ja)
JP (2) JP6878300B2 (ja)
KR (1) KR20170137089A (ja)
CN (2) CN112835825A (ja)
AU (1) AU2016250158A1 (ja)
BR (1) BR112017021885A2 (ja)
TW (1) TW201702891A (ja)
WO (1) WO2016168369A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117539819A (zh) * 2024-01-10 2024-02-09 广东保伦电子股份有限公司 使用gpio模拟单线uart串口的方法、装置、设备及存储介质

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9753487B2 (en) * 2013-03-14 2017-09-05 Micron Technology, Inc. Serial peripheral interface and methods of operating same
US10146727B2 (en) 2015-04-14 2018-12-04 Qualcomm Incorporated Enhanced virtual GPIO with multi-mode modulation
US20180359117A1 (en) * 2017-06-12 2018-12-13 Qualcomm Incorporated Virtual channel instantiation over vgi/vgmi
US20190050366A1 (en) * 2017-08-14 2019-02-14 Qualcomm Incorporated Device, event and message parameter association in a multi-drop bus
US10355693B1 (en) * 2018-03-14 2019-07-16 Qualcomm Incorporated Extended GPIO (eGPIO)
CN110531146B (zh) * 2019-09-02 2020-11-03 北京智芯微电子科技有限公司 三相载波通信模块的过零检测装置、方法及计算机存储介质
US11502712B2 (en) 2021-03-05 2022-11-15 Aspeed Technology Inc. Signal transceiving system and signal receiver thereof
US11960434B2 (en) * 2021-04-07 2024-04-16 Sony Semiconductor Solutions Corporation Communication device, communication system, and communication method for transmitting data blocks including signal groups conforming to a serial peripheral interface
WO2023219648A1 (en) 2022-05-09 2023-11-16 Lockheed Martin Energy, Llc Flow battery with a dynamic fluidic network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009110335A (ja) * 2007-10-31 2009-05-21 Renesas Technology Corp 半導体装置及びデータ処理システム
JP2010039803A (ja) * 2008-08-06 2010-02-18 Fujitsu Ltd インターフェース回路
WO2014062661A1 (en) * 2012-10-15 2014-04-24 Qualcomm Incorporated Virtual gpio
WO2014084072A1 (ja) * 2012-11-29 2014-06-05 ソニー株式会社 イメージセンサおよびそのデータ伝送方法、情報処理装置および情報処理方法、電子機器、並びにプログラム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434719A (en) * 1994-03-18 1995-07-18 Seagate Technology, Inc. Correction of header information in a magnetic disc drive
US5960191A (en) * 1997-05-30 1999-09-28 Quickturn Design Systems, Inc. Emulation system with time-multiplexed interconnect
JP2000278332A (ja) * 1999-03-24 2000-10-06 Fuji Electric Co Ltd マルチppm符号化方法およびその符号化回路
US20030061431A1 (en) * 2001-09-21 2003-03-27 Intel Corporation Multiple channel interface for communications between devices
US7055085B2 (en) * 2002-03-07 2006-05-30 Broadcom Corporation System and method for protecting header information using dedicated CRC
US6906502B2 (en) 2002-11-14 2005-06-14 Fyre Storm, Inc. Method for regulating an output voltage of a power coverter
US7373111B2 (en) * 2004-02-19 2008-05-13 Marvell International Ltd. Communication access apparatus, systems, and methods
US7260660B1 (en) * 2004-05-21 2007-08-21 Zilog, Inc. Flow control by supplying a remote start bit onto a single-wire bus
US8560753B1 (en) * 2005-03-30 2013-10-15 Teradici Corporation Method and apparatus for remote input/output in a computer system
CN101154207A (zh) * 2006-09-29 2008-04-02 上海海尔集成电路有限公司 一种微控制器配置接口操作方法
US20080278508A1 (en) 2007-05-11 2008-11-13 Swen Anderson Architecture and Method for Remote Platform Control Management
CN101329663B (zh) * 2008-07-31 2010-04-21 炬力集成电路设计有限公司 一种实现片上系统管脚分时复用的装置及方法
CN101404113B (zh) * 2008-11-06 2010-11-17 成都九洲电子信息系统有限责任公司 一种在嵌入式系统中用软件实现红外遥控解码的方法
CN101963783B (zh) * 2009-07-24 2012-06-27 环旭电子股份有限公司 可省电的脉冲宽度调制控制系统及其方法
CN102938197A (zh) * 2012-10-26 2013-02-20 合肥移瑞通信技术有限公司 输入捕获中断方式解码红外遥控的方法
CN103869724B (zh) * 2012-12-11 2017-10-13 厦门雅迅网络股份有限公司 一种两线制多信号输入检测的扩展方法及电路
US9875209B2 (en) * 2013-05-06 2018-01-23 Qualcomm Incorporated Synchronous data-link throughput enhancement technique based on data signal duty-cycle and phase modulation/demodulation
CN103346988B (zh) * 2013-06-13 2016-03-23 电子科技大学 一种fsk数字解调器
US9747244B2 (en) 2013-11-22 2017-08-29 Qualcomm Incorporated Clockless virtual GPIO
US9417801B2 (en) * 2014-03-27 2016-08-16 Intel Corporation Virtual general-purpose I/O controller
US9311206B2 (en) 2014-04-15 2016-04-12 Freescale Semiconductor, Inc. Method and apparatus for monitoring general purpose input output, GPIO, signals
US9619427B2 (en) 2014-04-21 2017-04-11 Qualcomm Incorporated Hybrid virtual GPIO
CN104484992B (zh) * 2014-12-31 2018-03-02 广州科技贸易职业学院 基于可编程逻辑器件的红外遥控解码器
JP2018506915A (ja) * 2015-02-04 2018-03-08 クアルコム,インコーポレイテッド データリンク電力低減およびスループット向上のためのマルチ変調
US10146727B2 (en) 2015-04-14 2018-12-04 Qualcomm Incorporated Enhanced virtual GPIO with multi-mode modulation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009110335A (ja) * 2007-10-31 2009-05-21 Renesas Technology Corp 半導体装置及びデータ処理システム
JP2010039803A (ja) * 2008-08-06 2010-02-18 Fujitsu Ltd インターフェース回路
WO2014062661A1 (en) * 2012-10-15 2014-04-24 Qualcomm Incorporated Virtual gpio
JP2016500174A (ja) * 2012-10-15 2016-01-07 クアルコム,インコーポレイテッド 仮想gpio
WO2014084072A1 (ja) * 2012-11-29 2014-06-05 ソニー株式会社 イメージセンサおよびそのデータ伝送方法、情報処理装置および情報処理方法、電子機器、並びにプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117539819A (zh) * 2024-01-10 2024-02-09 广东保伦电子股份有限公司 使用gpio模拟单线uart串口的方法、装置、设备及存储介质

Also Published As

Publication number Publication date
EP3283969A1 (en) 2018-02-21
EP3410306A1 (en) 2018-12-05
US20190087380A1 (en) 2019-03-21
US20160306770A1 (en) 2016-10-20
CN107580702A (zh) 2018-01-12
US10146727B2 (en) 2018-12-04
TW201702891A (zh) 2017-01-16
JP2018518083A (ja) 2018-07-05
CN112835825A (zh) 2021-05-25
BR112017021885A2 (pt) 2018-07-17
EP3283969B1 (en) 2020-05-27
AU2016250158A1 (en) 2017-09-28
JP6878300B2 (ja) 2021-05-26
WO2016168369A1 (en) 2016-10-20
CN107580702B (zh) 2021-03-26
KR20170137089A (ko) 2017-12-12
US10303643B2 (en) 2019-05-28

Similar Documents

Publication Publication Date Title
JP6878300B2 (ja) マルチモード変調を用いる向上した仮想gpio
US20170039162A1 (en) Dynamic data-link selection over common physical interface
JP6325537B2 (ja) N相極性出力ピンモードマルチプレクサ
US10042797B2 (en) Voltage mode and current mode device enumeration
CN105283862B (zh) 用于数据通信的方法和装置
US20170117979A1 (en) Alternating pseudo-random binary sequence seeds for mipi csi-2 c-phy
US9678828B2 (en) Error detection capability over CCIe protocol
US9621332B2 (en) Clock and data recovery for pulse based multi-wire link
US9569390B2 (en) Protocol for communication
US10579581B2 (en) Multilane heterogeneous serial bus
KR20160125411A (ko) 에러 검출 최적화를 용이하게 하는 공유된 버스를 통한 비트 할당
KR102243771B1 (ko) 직렬 측파대 시그널링 링크
JP2017514230A (ja) ハイブリッド仮想gpio
US10587391B2 (en) Simplified C-PHY high-speed reverse mode
US9880895B2 (en) Serial interface with bit-level acknowledgement and error correction
TWI596904B (zh) 用於資料鏈結功率減少及產出率增加之多調變
WO2019165804A1 (zh) 驱动控制方法、组件及显示装置
CN210270888U (zh) 一种单总线通信电路
US10355894B2 (en) Simplified 3-phase mapping and coding

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210527

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210527

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220627

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230206