(57)【要約】  ライン多重化シリアルインターフェースのためのシステム、方法、および装置が開示される。送信デバイスによって実行される方法は、停止条件の持続時間よりも短い第1の時間期間にわたってシリアルデータリンクのワイヤを第1の電圧レベルに駆動することによって、ワイヤ上で停止条件をアサートすることと、第1の時間期間の後、ワイヤを監視することと、フロー制御パルスに対して規定された最小時間期間を超える第2の時間期間にわたってワイヤが第2の電圧レベルにとどまるとき、かつ第1の時間期間が経過した後、フロー制御がアサートされていると決定することと、フロー制御がアサートされている間、ワイヤ上でデータを送信するのを控えることと、フロー制御がアサート解除されるとワイヤ上でデータを送信することとを含む。
2019517066.tif 000002
【特許請求の範囲】
【請求項１】
送信デバイスにおいて実行される方法であって、
停止条件の持続時間よりも短い第1の時間期間にわたってシリアルデータリンクのワイヤを第1の電圧レベルに駆動することによって、前記ワイヤ上で前記停止条件をアサートするステップと、
前記第1の時間期間の後、前記ワイヤを監視するステップと、
フロー制御パルスに対して規定された最小時間期間を超える第2の時間期間にわたって前記ワイヤが第2の電圧レベルにとどまるとき、かつ前記第1の時間期間が経過した後、フロー制御がアサートされていると決定するステップと、
フロー制御がアサートされている間、前記ワイヤ上でデータを送信するのを控えるステップと、
フロー制御がアサート解除されると前記ワイヤ上でデータを送信するステップと
を備える方法。
【請求項２】
前記第2の時間期間の満了の後、前記ワイヤが前記第1の電圧レベルに戻され、前記方法が、
前記第2の時間期間の満了時に前記ワイヤが前記第1の電圧レベルに戻った後に開始する第3の時間期間にわたって前記ワイヤが前記第2の電圧レベルにとどまるとき、かつフロー制御パルスに対して規定された前記最小時間期間を前記第3の時間期間が超えるとき、フロー制御がアサート解除されると決定するステップをさらに備える、
請求項1に記載の方法。
【請求項３】
前記第2の時間期間の満了の後、前記ワイヤが前記第1の電圧レベルに戻され、前記方法が、
前記第2の時間期間の持続時間に基づいて第4の時間期間を計算するステップと、
前記第4の時間期間が経過した後、フロー制御がアサート解除されると決定するステップと
をさらに備える、
請求項1に記載の方法。
【請求項４】
前記ワイヤが前記停止条件の前記持続時間内に前記第2の電圧レベルに遷移するとき、フロー制御がアサートされているものと決定される、請求項1に記載の方法。
【請求項５】
前記停止条件が終結した後に前記第2の電圧レベルへの前記ワイヤの遷移が発生するとき、エラー条件を決定するステップと、
前記エラー条件が決定されるとき前記ワイヤを前記第1の電圧レベルに駆動するステップと
をさらに備える、請求項4に記載の方法。
【請求項６】
前記エラー条件が決定されるとき前記ワイヤを前記第1の電圧レベルに駆動するステップが、
キーパー回路をフリップさせるステップを備える、
請求項5に記載の方法。
【請求項７】
データグラムのための送信時間に対応する期間が経過した後、前記ワイヤをアクティブに駆動することによってフロー制御を無効にするステップ
をさらに備える、請求項1に記載の方法。
【請求項８】
シリアルデータリンクのワイヤに結合されたラインドライバであって、
前記ワイヤを介してデータパケットを送信し、
停止条件の持続時間よりも短い第1の時間期間にわたって前記ワイヤを第1の電圧レベルに駆動することによって、前記データパケットを送信した後に前記停止条件を提供する
ように構成されたラインドライバと、
フロー制御回路であって、
前記第1の時間期間が経過した後、前記ワイヤを監視し、
前記第1の時間期間が経過した後、フロー制御パルスに対して規定された最小時間期間を超える第2の時間期間にわたって前記ワイヤが第2の電圧レベルにとどまるとき、フロー制御がアサートされていると決定する
ように構成されたフロー制御回路と
を備え、
前記ラインドライバが、
フロー制御がアサートされている間、前記ワイヤ上でデータを送信するのを控え、
フロー制御がアサート解除されると前記ワイヤ上でデータを送信する
ようにさらに構成される、
送信装置。
【請求項９】
前記第2の時間期間の満了の後、前記ワイヤが前記第1の電圧レベルに戻され、前記フロー制御回路が、
前記第2の時間期間の満了時に前記ワイヤが前記第1の電圧レベルに戻った後に開始する第3の時間期間にわたって前記ワイヤが前記第2の電圧レベルにとどまるとき、かつフロー制御パルスに対して規定された前記最小時間期間を前記第3の時間期間が超えるとき、フロー制御がアサート解除されると決定するように構成される、
請求項8に記載の送信装置。
【請求項１０】
前記第2の時間期間の満了の後、前記ワイヤが前記第1の電圧レベルに戻され、前記フロー制御回路が、
前記第2の時間期間の持続時間に基づいて第4の時間期間を計算し、
前記第4の時間期間が経過した後、フロー制御がアサート解除されると決定する
ように構成される、
請求項8に記載の送信装置。
【請求項１１】
前記フロー制御回路が、
前記第4の時間期間に対応する個数のクロックパルスを計数するようにカウンタをプログラムし、
前記カウンタが、前記第4の時間期間に対応する前記個数のクロックパルスを計数した後、フロー制御がアサート解除されると決定するように構成される、
請求項10に記載の送信装置。
【請求項１２】
前記ワイヤが前記停止条件の前記持続時間内に前記第2の電圧レベルに遷移するとき、フロー制御がアサートされているものと決定される、請求項8に記載の送信装置。
【請求項１３】
前記フロー制御回路は、前記停止条件が終結した後に前記第2の電圧レベルへの前記ワイヤの遷移が発生するとき、エラー条件が発生していると決定するように構成される、請求項12に記載の送信装置。
【請求項１４】
前記フロー制御回路は、前記エラー条件が決定されるとき前記ワイヤを前記第1の電圧レベルに駆動するように構成される、請求項13に記載の送信装置。
【請求項１５】
前記フロー制御回路は、前記エラー条件が決定されるときキーパー回路をフリップさせるように構成される、請求項13に記載の送信装置。
【請求項１６】
前記シリアルデータリンクが同期的に動作させられるときにデータパケットを送信するように構成可能である、請求項8に記載の送信装置。
【請求項１７】
前記フロー制御回路が、
データバイトのための送信時間に対応する期間が経過した後、前記ワイヤをアクティブに駆動することによってフロー制御を無効にするように構成される、
請求項8に記載の送信装置。
【請求項１８】
受信デバイスにおいて実行される方法であって、
シリアルデータリンクのワイヤ上で停止条件がアサートされていると決定するステップであって、前記停止条件は、データが前記ワイヤから受信された後に前記ワイヤが第1の電圧レベルに駆動されるときに開始される第1の時間期間にわたって持続する、ステップと、
フロー制御パルスに対して規定された最小時間期間を超える第2の時間期間にわたって前記ワイヤを第2の電圧レベルに駆動することによって、前記シリアルデータリンクのためのフロー制御をアサートするステップと、
前記第2の時間期間が終結するときに前記ワイヤを前記第1の電圧レベルに駆動するステップを含む、前記シリアルデータリンクのための前記フロー制御をアサート解除するステップと、
前記シリアルデータリンクのための前記フロー制御をアサート解除した後、前記ワイヤからデータを受信するステップと
を備える方法。
【請求項１９】
前記シリアルデータリンクのための前記フロー制御をアサート解除するステップが、
前記第2の時間期間が経過した後、前記ワイヤ上でパルスを送信するステップを備え、前記パルスが、フロー制御パルスに対して規定された最小時間期間を超える持続時間を有する、
請求項18に記載の方法。
【請求項２０】
前記シリアルデータリンクのための前記フロー制御がその間にアサートされるべき第3の時間期間を選択するステップと、
前記第3の時間期間の持続時間に基づいて前記第2の時間期間を計算するステップと
をさらに備える、請求項18に記載の方法。
【請求項２１】
前記第1の時間期間が満了しているとき、前記シリアルデータリンクのためのフロー制御をアサートするのを控えるステップ
をさらに備える、請求項18に記載の方法。
【請求項２２】
前記シリアルデータリンクのためのフロー制御がアサートされるべきでないと決定するステップと、
前記シリアルデータリンクのためのフロー制御がアサートされるべきでないと決定した後、前記第1の時間期間の間に前記第2の電圧レベルへの前記ワイヤの遷移が発生するとき、エラー条件を決定するステップと、
前記エラー条件が決定されるとき前記ワイヤを前記第1の電圧レベルに駆動するステップと
をさらに備える、請求項18に記載の方法。
【請求項２３】
前記エラー条件が決定されるとき前記ワイヤを前記第1の電圧レベルに駆動するステップが、
キーパー回路をフリップさせるステップを備える、
請求項22に記載の方法。
【請求項２４】
シリアルデータリンクのワイヤ上で停止条件がアサートされていると決定するための手段であって、前記停止条件は、データが前記ワイヤから受信された後に前記ワイヤが第1の電圧レベルに駆動されるときに開始される第1の時間期間にわたって持続する、手段と、
フロー制御シグナリングを提供するための手段であって、
フロー制御パルスに対して規定された最小時間期間を超える第2の時間期間にわたって前記ワイヤを第2の電圧レベルに駆動することによって、前記シリアルデータリンクのためのフロー制御をアサートすることと、
前記第2の時間期間が終結するときに前記ワイヤを前記第1の電圧レベルに駆動することを含む、前記シリアルデータリンクのための前記フロー制御をアサート解除することと
を行うように構成された手段と、
前記シリアルデータリンクのために前記フロー制御がアサート解除された後、前記ワイヤからデータを受信するための手段と
を備える装置。
【請求項２５】
フロー制御シグナリングを提供するための前記手段が、
前記第2の時間期間が経過した後、前記ワイヤ上でパルスを送信するように構成され、前記パルスが、フロー制御パルスに対して規定された最小時間期間を超える持続時間を有する、
請求項24に記載の装置。
【請求項２６】
フロー制御シグナリングを提供するための前記手段が、
前記シリアルデータリンクのための前記フロー制御がその間にアサートされるべき第3の時間期間を選択し、
前記第3の時間期間の持続時間に基づいて前記第2の時間期間を計算するように構成される、
請求項24に記載の装置。
【請求項２７】
フロー制御シグナリングを提供するための前記手段が、
前記第1の時間期間が満了しているとき、前記シリアルデータリンクのためのフロー制御をアサートするのを控えるように構成される、
請求項24に記載の装置。
【請求項２８】
前記シリアルデータリンク上のシグナリングエラーを修正するための手段であって、
前記シリアルデータリンクのためのフロー制御がアサートされるべきでないと決定し、
前記シリアルデータリンクのためのフロー制御がアサートされるべきでないと決定した後、前記第1の時間期間の間に前記第2の電圧レベルへの前記ワイヤの遷移が発生するとき、エラー条件が発生していると決定する
ように構成された手段をさらに備え、
フロー制御シグナリングを提供するための前記手段は、前記エラー条件の発生が決定されるとき前記ワイヤを前記第1の電圧レベルに駆動するように構成される、
請求項24に記載の装置。
【請求項２９】
フロー制御シグナリングを提供するための前記手段は、前記エラー条件の発生が決定されるときキーパー回路をフリップさせるように構成される、請求項28に記載の装置。
【請求項３０】
前記ワイヤからデータを受信するための前記手段は、前記シリアルデータリンクが同期的に動作させられるときにデータを受信するように構成可能である、請求項24に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2016年5月10日に米国特許商標庁に出願した仮出願第62/334,141号、2017年5月5日に米国特許商標庁に出願した仮出願第62/502,503号、および2017年5月8日に米国特許商標庁に出願した非仮出願第15/589,805号の優先権および利益を主張し、それらの内容全体が参照により本明細書に組み込まれる。
【０００２】
本開示は、一般に、周辺通信インターフェースに関し、より詳細には、低減されたピンカウントを使用してフロー制御信号を通信するインターフェースデバイスを、信号ごとにピンを使用してフロー制御信号を通信するインターフェースデバイスと統合することに関する。
【背景技術】
【０００３】
モバイル通信デバイスは、回路板、集積回路(IC)デバイス、および/またはシステムオンチップ(SoC)デバイスを含む、様々な構成要素を含み得る。構成要素は、処理回路、ユーザインターフェース構成要素、ストレージ、および他の周辺構成要素を含み得る。構成要素間の通信は、ユニバーサル非同期レシーバ/トランスミッタ(UART)デバイスを使用して実施され得る。多くのインターフェースでは、4ワイヤUARTデバイスは、1本のワイヤ(Txワイヤ)上でデータを送信し、別のワイヤ(Rxワイヤ)上でデータを受信し、フロー制御信号を搬送するために2本のワイヤを使用する。一方のフロー制御信号は、送信されるべきデータをUARTが有することを示すために使用され得る送信要求(RTS)信号である。他方のフロー制御信号は、UARTにおいて受信されUARTがデータを送信できることを示すために使用され得る送信可(CTS)信号である。
【０００４】
高まる機能およびより高密度の入力/出力(I/O)構成は、SoCデバイスおよび/または他のICデバイスを相互接続するために使用されるインターフェースにおける低減されたピンカウントに対する要求を招くことがある。ライン多重化ユニバーサル非同期レシーバ/トランスミッタ(LM-UART: line-multiplexed universal asynchronous receiver/transmitter)とは、全二重動作モードにおいてハードウェアベースのフロー制御メカニズムをサポートするための能力を維持しながらI/O接続の数を低減するために、Rxワイヤ上およびTxワイヤ上のデータ送信の間でRTSおよびCTSを多重化することによって、2本のワイヤを使用してRx信号、Tx信号、RTS信号、およびCTS信号を搬送するUARTである。
【０００５】
セルラーフォンなどのモバイルデバイスの製造業者は、モバイルデバイスの構成要素を、異なる製造業者を含む様々な供給元から取得し得る。たとえば、セルラーフォンの中のアプリケーションプロセッサが第1の製造業者から取得されることがあり、セルラーフォン用のモデムが第2の製造業者から取得されることがある。アプリケーションプロセッサおよびモデムまたは他のデバイスは、UARTを使用して相互接続され得る。いくつかのデバイスは、LM-UARTを含んでよく、2本のワイヤおよび多重化フロー制御を使用する動作モードをサポートし得る。したがって、改善されたラインドライバ、および4ワイヤUARTを採用するデバイスにおける、LM-UARTを有するデバイスとのシグナリングを提供することが、継続的に必要である。
【発明の概要】
【課題を解決するための手段】
【０００６】
本開示のいくつかの態様は、LM-UART間の改善されたシグナリング信頼性をもたらすシステム、装置、方法、および技法に関する。
【０００７】
本開示の様々な態様では、送信デバイスにおいて実行される方法は、停止条件(stop condition)の持続時間よりも短い第1の時間期間にわたってシリアルデータリンクのワイヤを第1の電圧レベルに駆動することによって、ワイヤ上で停止条件をアサートすることと、第1の時間期間の後、ワイヤを監視することと、フロー制御パルスに対して規定された最小時間期間を超える第2の時間期間にわたってワイヤが第2の電圧レベルにとどまるとき、かつ第1の時間期間が経過した後、フロー制御がアサートされていると決定することと、フロー制御がアサートされている間、ワイヤ上でデータを送信するのを控えることと、フロー制御がアサート解除されるとワイヤ上でデータを送信することとを含む。
【０００８】
一態様では、ワイヤは、第2の時間期間の満了の後、第1の電圧レベルに戻される。いくつかの事例では、方法は、第2の時間期間の満了時にワイヤが第1の電圧レベルに戻った後に開始する第3の時間期間にわたってワイヤが第2の電圧レベルにとどまるとき、かつフロー制御パルスに対して規定された最小時間期間を第3の時間期間が超えるとき、フロー制御がアサート解除されると決定することを含む。いくつかの事例では、方法は、第2の時間期間の持続時間に基づいて第4の時間期間を計算することと、第4の時間期間が経過した後、フロー制御がアサート解除されると決定することとを含む。
【０００９】
一態様では、ワイヤが停止条件の持続時間内に第2の電圧レベルに遷移するとき、フロー制御はアサートされているものと決定される。方法は、停止条件が終結した後に第2の電圧レベルへのワイヤの遷移が発生するとき、エラー条件を決定することと、エラー条件が決定されるときワイヤを第1の電圧レベルに駆動することとを含み得る。ワイヤは、キーパー回路をフリップさせることによって、エラー条件が決定されるとき第1の電圧レベルに駆動され得る。
【００１０】
一態様では、方法は、データグラムのための送信時間に対応する期間が経過した後、ワイヤをアクティブに駆動することによってフロー制御を無効にすることを含む。
【００１１】
本開示の様々な態様では、送信装置は、シリアルデータリンクのワイヤに結合されたラインドライバであって、ワイヤを介してデータパケットを送信し、停止条件の持続時間よりも短い第1の時間期間にわたってワイヤを第1の電圧レベルに駆動することによって、データパケットを送信した後に停止条件を提供するように構成されたラインドライバを含む。送信装置は、フロー制御回路であって、第1の時間期間が経過した後、ワイヤを監視し、第1の時間期間が経過した後、フロー制御パルスに対して規定された最小時間期間を超える第2の時間期間にわたってワイヤが第2の電圧レベルにとどまるとき、フロー制御がアサートされていると決定するように構成されたフロー制御回路を含み得る。ラインドライバは、フロー制御がアサートされている間、ワイヤ上でデータを送信するのを控え、フロー制御がアサート解除されるとワイヤ上でデータを送信するように構成され得る。
【００１２】
一態様では、ワイヤは、第2の時間期間の満了の後、第1の電圧レベルに戻される。いくつかの事例では、フロー制御回路は、第2の時間期間の満了時にワイヤが第1の電圧レベルに戻った後に開始する第3の時間期間にわたってワイヤが第2の電圧レベルにとどまるとき、かつフロー制御パルスに対して規定された最小時間期間を第3の時間期間が超えるとき、フロー制御がアサート解除されると決定するように構成される。いくつかの事例では、フロー制御回路は、第2の時間期間の持続時間に基づいて第4の時間期間を計算し、第4の時間期間が経過した後、フロー制御がアサート解除されると決定するように構成される。フロー制御回路は、第4の時間期間に対応する個数のクロックパルスを計数するようにカウンタをプログラムし、カウンタが、第4の時間期間に対応する個数のクロックパルスを計数した後、フロー制御がアサート解除されると決定するように構成され得る。
【００１３】
一態様では、ワイヤが停止条件の持続時間内に第2の電圧レベルに遷移するとき、フロー制御はアサートされているものと決定される。フロー制御回路は、停止条件が終結した後に第2の電圧レベルへのワイヤの遷移が発生するとき、エラー条件が発生していると決定するように構成され得る。フロー制御回路は、エラー条件が決定されるときワイヤを第1の電圧レベルに駆動するように構成され得る。フロー制御回路は、エラー条件が決定されるときキーパー回路をフリップさせるように構成され得る。
【００１４】
一態様では、装置は、シリアルデータリンクが同期的に動作させられるときにデータパケットを送信するように構成可能であり得る。
【００１５】
一態様では、フロー制御回路は、データバイトのための送信時間に対応する期間が経過した後、ワイヤをアクティブに駆動することによってフロー制御を無効にするように構成される。
【００１６】
本開示の様々な態様では、プロセッサ可読記憶媒体が開示される。記憶媒体は、非一時的記憶媒体であってよく、1つまたは複数のプロセッサによって実行されたとき、1つまたは複数のプロセッサに、停止条件の持続時間よりも短い第1の時間期間にわたってシリアルデータリンクのワイヤを第1の電圧レベルに駆動することによって、ワイヤ上で停止条件をアサートすることと、第1の時間期間の後、ワイヤを監視することと、フロー制御パルスに対して規定された最小時間期間を超える第2の時間期間にわたってワイヤが第2の電圧レベルにとどまるとき、かつ第1の時間期間が経過した後、フロー制御がアサートされていると決定することと、フロー制御がアサートされている間、ワイヤ上でデータを送信するのを控えることと、フロー制御がアサート解除されるとワイヤ上でデータを送信することとをさせるコードを記憶し得る。
【００１７】
本開示の様々な態様では、受信デバイスにおいて実行される方法は、シリアルデータリンクのワイヤ上で停止条件がアサートされていると決定することを含む。停止条件は、データがワイヤから受信された後にワイヤが第1の電圧レベルに駆動されるときに開始される第1の時間期間にわたって持続し得る。方法は、フロー制御パルスに対して規定された最小時間期間を超える第2の時間期間にわたってワイヤを第2の電圧レベルに駆動することによって、シリアルデータリンクのためのフロー制御をアサートすることと、第2の時間期間が終結するときにワイヤを第1の電圧レベルに駆動することを含む、シリアルデータリンクのためのフロー制御をアサート解除することと、シリアルデータリンクのためのフロー制御をアサート解除した後、ワイヤからデータを受信することとを含み得る。
【００１８】
一態様では、シリアルデータリンクのためのフロー制御をアサート解除することは、第2の時間期間が経過した後、ワイヤ上でパルスを送信することを含む。パルスは、フロー制御パルスに対して規定された最小時間期間を超える持続時間を有し得る。
【００１９】
一態様では、方法は、シリアルデータリンクのためのフロー制御がその間にアサートされるべき第3の時間期間を選択することと、第3の時間期間の持続時間に基づいて第2の時間期間を計算することとを含む。
【００２０】
一態様では、方法は、第1の時間期間が満了しているとき、シリアルデータリンクのためのフロー制御をアサートするのを控えることを含む。
【００２１】
一態様では、方法は、シリアルデータリンクのためのフロー制御がアサートされるべきでないと決定することと、シリアルデータリンクのためのフロー制御がアサートされるべきでないと決定した後、第1の時間期間の間に第2の電圧レベルへのワイヤの遷移が発生すると、エラー条件を決定することと、エラー条件が決定されるときワイヤを第1の電圧レベルに駆動することとを含む。エラー条件が決定されるときワイヤを第1の電圧レベルに駆動することは、キーパー回路をフリップさせることを含み得る。
【００２２】
本開示の様々な態様では、装置は、シリアルデータリンクのワイヤ上で停止条件がアサートされていると決定するための手段を含む。停止条件は、データがワイヤから受信された後にワイヤが第1の電圧レベルに駆動されるときに開始される第1の時間期間にわたって持続し得る。装置は、フロー制御シグナリングを提供するための手段を含み得、ここで、フロー制御シグナリングを提供するための手段は、フロー制御パルスに対して規定された最小時間期間を超える第2の時間期間にわたってワイヤを第2の電圧レベルに駆動することによって、シリアルデータリンクのためのフロー制御をアサートすることと、第2の時間期間が終結するときにワイヤを第1の電圧レベルに駆動することを含む、シリアルデータリンクのためのフロー制御をアサート解除することとを行うように構成される。装置は、シリアルデータリンクのためにフロー制御がアサート解除された後、ワイヤからデータを受信するための手段を含み得る。
【００２３】
一態様では、フロー制御シグナリングを提供するための手段は、第2の時間期間が経過した後、ワイヤ上でパルスを送信するように構成され得る。パルスは、フロー制御パルスに対して規定された最小時間期間を超える持続時間を有し得る。
【００２４】
一態様では、フロー制御シグナリングを提供するための手段は、シリアルデータリンクのためのフロー制御がその間にアサートされるべき第3の時間期間を選択し、第3の時間期間の持続時間に基づいて第2の時間期間を計算するように構成され得る。
【００２５】
一態様では、フロー制御シグナリングを提供するための手段は、第1の時間期間が満了しているとき、シリアルデータリンクのためのフロー制御をアサートするのを控えるように構成され得る。
【００２６】
一態様では、装置は、シリアルデータリンク上のシグナリングエラーを修正するための手段であって、シリアルデータリンクのためのフロー制御がアサートされるべきでないと決定し、シリアルデータリンクのためのフロー制御がアサートされるべきでないと決定した後、第1の時間期間の間に第2の電圧レベルへのワイヤの遷移が発生すると、エラー条件が発生していると決定するように構成された手段を含む。フロー制御シグナリングを提供するための手段は、エラー条件の発生が決定されるとワイヤを第1の電圧レベルに駆動するように構成される。フロー制御シグナリングを提供するための手段は、エラー条件の発生が決定されるときキーパー回路をフリップさせるように構成され得る。
【００２７】
一態様では、ワイヤからデータを受信するための手段は、シリアルデータリンクが同期的に動作させられるときにデータを受信するように構成可能であり得る。
【００２８】
本開示の様々な態様では、プロセッサ可読記憶媒体が開示される。記憶媒体は、非一時的記憶媒体であってよく、1つまたは複数のプロセッサによって実行されたとき、1つまたは複数のプロセッサに、シリアルデータリンクのワイヤ上で停止条件がアサートされていると決定させるコードを記憶し得る。停止条件は、データがワイヤから受信された後にワイヤが第1の電圧レベルに駆動されるときに開始される第1の時間期間にわたって持続し得る。コードは、1つまたは複数のプロセッサに、フロー制御パルスに対して規定された最小時間期間を超える第2の時間期間にわたってワイヤを第2の電圧レベルに駆動することによって、シリアルデータリンクのためのフロー制御をアサートすることと、第2の時間期間が終結するときにワイヤを第1の電圧レベルに駆動することによって、シリアルデータリンクのためのフロー制御をアサート解除することと、シリアルデータリンクのためのフロー制御をアサート解除した後、ワイヤからデータを受信することとをさせ得る。
【図面の簡単な説明】
【００２９】
【図１】本明細書で開示するいくつかの態様に従って適合され得る装置の一例を示す図である。
【図２】4ワイヤ高速ユニバーサル非同期レシーバ/トランスミッタデバイス(HS-UART:high-speed universal asynchronous receiver/transmitter)に基づくシリアルインターフェースの一例、および2ワイヤLM-UARTに基づくシリアルインターフェースの一例を示す図である。
【図３】本明細書で開示するいくつかの態様に従って適合され得る、LM-UARTにおける単一ワイヤインターフェースを示す図である。
【図４】LM-UART間の接続のいくつかの電気的特性を示す図である。
【図５】キーパー回路を採用する装置の一例を示す図である。
【図６】本明細書で開示するいくつかの態様による、受信デバイスによるフロー制御アサーション(flow-control assertion)のタイミングの例を示す図である。
【図７】本明細書で開示するいくつかの態様による、送信デバイスによる強制フロー制御アサート解除(forced flow control deassertion)に関連するタイミングの一例を示す図である。
【図８】本明細書で開示するいくつかの態様に従って適合された、LM-UART間の改善されたシグナリングの第1の例を示す図である。
【図９】本明細書で開示するいくつかの態様に従って適合された、LM-UART間の改善されたシグナリングの第2の例を示す図である。
【図１０】本明細書で開示するいくつかの態様に従って適合された、LM-UART間の改善されたシグナリングの第3の例を示す図である。
【図１１】本明細書で開示するいくつかの態様に従って適合された、LM-UART間の改善されたシグナリングの第3の例を示す図である。
【図１２】本明細書で開示するいくつかの態様に従って適合され得る処理回路を採用する装置の一例を示すブロック図である。
【図１３】本明細書で開示するいくつかの態様による、LM-UARTインターフェースを動作させる方法の第1の例のフローチャートである。
【図１４】本明細書で開示するいくつかの態様による、LM-UARTインターフェースを動作させる方法の第2の例のフローチャートである。
【図１５】本明細書で開示するいくつかの態様による装置のためのハードウェア実装形態の第1の例を示す図である。
【図１６】本明細書で開示するいくつかの態様による、LM-UARTインターフェースを動作させる方法の第3の例のフローチャートである。
【図１７】本明細書で開示するいくつかの態様による、LM-UARTインターフェースを動作させる方法の第4の例のフローチャートである。
【図１８】本明細書で開示するいくつかの態様による装置のためのハードウェア実装形態の第2の例を示す図である。
【発明を実施するための形態】
【００３０】
添付の図面に関して以下に記載する発明を実施するための形態は、様々な構成について説明するものであり、本明細書で説明する概念が実践され得る唯一の構成を表すものではない。発明を実施するための形態は、様々な概念の完全な理解を与える目的で、具体的な詳細を含む。しかしながら、これらの概念がこれらの具体的な詳細なしに実践され得ることが、当業者には明らかであろう。いくつかの事例では、そのような概念を不明瞭にすることを避けるために、よく知られている構造および構成要素がブロック図の形態で示される。
【００３１】
次に、様々な装置および方法を参照しながら、本発明のいくつかの態様が提示される。これらの装置および方法は、以下の発明を実施するための形態において説明され、様々なブロック、モジュール、構成要素、回路、ステップ、プロセス、アルゴリズムなど(「要素」と総称される)によって添付図面に示される。これらの要素は、電子ハードウェア、コンピュータソフトウェア、またはそれらの任意の組合せを使用して実装され得る。そのような要素がハードウェアとして実装されるのか、それともソフトウェアとして実装されるのかは、特定の適用例および全体的なシステムに課される設計制約に依存する。
【００３２】
概要
複数のSoCデバイスおよび他のICデバイスを含むデバイスは、しばしば、プロセッサをモデムおよび他の周辺機器と接続するためにシリアルバスを採用する。いくつかの事例では、シリアルインターフェースに割り当てられるピンカウントを最小限に抑えるために、特定用途向け集積回路(ASIC)上またはSoC上に2ワイヤLM-UARTを実装することが望ましい場合がある。いくつかの事例では、2ワイヤLM-UARTにおける使用のために利用可能なラインドライバが、インピーダンス制御回路またはインピーダンス制御能力を有しないことがある。これらの事例では、フロー制御シグナリングは、信号の状態を記録する回路をフリップさせることがある電圧スパイクを持ち込むことがあるか、またはそうでない場合、フロー制御シグナリングにおける変化として解釈され得る、雑音および他の影響を受けやすいことがある。
【００３３】
本明細書で開示するいくつかの態様によれば、ASIC上およびSoC上にLM-UARTを実装するために、汎用ドライバの使用を可能にする改善されたシグナリングが採用される。本開示のいくつかの態様は、LM-UARTフロー制御実装の信頼性を改善するデジタルシグナリング方式に関する。一態様では、いくつかの技法は、デジタルシグナリングを採用するとともに限定された出力インピーダンス制御を有する、ラインドライバに適用可能である。一態様では、いくつかのフロー制御技法は、公称出力インピーダンスを伴ってラインを駆動すること、およびラインを駆動していないときに高インピーダンスモードに入ることができる、ラインドライバに適用可能である。別の態様では、限定された出力インピーダンス制御を有するラインドライバを使用して実施されるフロー制御シグナリングに、エラー修正技法が適用され得る。
【００３４】
本明細書で開示するいくつかの態様は、非同期的に動作するLM-UARTおよび/または同期的に動作するLM-UARTに適用され得る。本明細書で開示するいくつかの態様に従って適合されたLM-UARTは、RTSワイヤとCTSワイヤとを置き換えることによってピン(汎用の入力/出力)の数を低減するシリアルリンクを実施するために使用され得る。したがって、従来のUARTに対して必要とされる4ピンおよび/または4ワイヤは、2ピンおよび/または2ワイヤのLM-UARTに低減され得る。いくつかの態様によれば、2ワイヤLM-UARTは、ハードウェアフロー制御を用いて実施されてよく、それによって、フロー制御をサポートしないかまたはフロー制御のソフトウェアベースの方法を使用するデバイスに対して、リンクスループットおよび電力消費を改善する。フロー制御のソフトウェアベースの方法は、XON/XOFFシーケンスなどを採用することがある。
【００３５】
シリアルデータリンクを有する装置の例
いくつかの態様によれば、シリアルデータリンクは、セルラーフォン、スマートフォン、セッション開始プロトコル(SIP)電話、ラップトップ、ノートブック、ネットブック、スマートブック、携帯情報端末(PDA)、衛星ラジオ、全地球測位システム(GPS)デバイス、スマートホームデバイス、インテリジェント照明、マルチメディアデバイス、ビデオデバイス、デジタルオーディオプレーヤ(たとえば、MP3プレーヤ)、カメラ、ゲームコンソール、エンターテインメントデバイス、車両構成要素、ウェアラブルコンピューティングデバイス(たとえば、スマートウォッチ、ヘルスまたはフィットネストラッカー、アイウェアなど)、アプライアンス、センサー、セキュリティデバイス、自動販売機、スマートメーター、ドローン、マルチコプター、または任意の他の類似の機能デバイスなどの、装置の下位構成要素である電子デバイスを相互接続するために使用され得る。図1は、そのような装置100の一例を示す。装置100は、複数の回路またはデバイス122、124、126、128、134、136、および/または138を有する処理回路120を含み得る。処理回路120は、複数の回路またはデバイス122、124、126、128、134、136、および/または138を含み得るASICまたはSoCの中に実装され得る。一例では、装置100は通信デバイスであってよく、処理回路120は、装置が1つまたは複数のアンテナ140を通じて、無線アクセスネットワーク、コアアクセスネットワーク、インターネット、および/または別のネットワークと通信することを可能にする、RFフロントエンド回路126を含み得る。
【００３６】
図1に示す例では、処理回路120は、1つまたは複数のプロセッサ132、1つまたは複数のモデム130、および/あるいは他の論理回路または論理機能を有する、ASICデバイス122を含む。処理回路120は、オペレーティングシステムによって制御されてよく、たとえば、1つまたは複数のプロセッサ132が、メモリデバイス134の中に常駐するソフトウェアモジュールを実行することを可能にする、アプリケーションプログラミングインターフェース(API)レイヤを提供し得る。ソフトウェアモジュールは、メモリデバイス134などのプロセッサ可読ストレージの中に記憶された命令およびデータを含み得る。ASICデバイス122は、その内部メモリ、処理回路120のメモリデバイス134、および/または外部メモリにアクセスし得る。メモリは、読取り専用メモリ(ROM)もしくはランダムアクセスメモリ(RAM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュカード、または処理システムおよびコンピューティングプラットフォームの中で使用され得る任意のメモリデバイスを含み得る。処理回路120は、装置100および/または処理回路120を構成し動作させるために使用される動作パラメータおよび他の情報を保持することができる、ローカルデータベースまたは他のパラメータストレージを含み得るか、あるいはそれらへのアクセスを有し得る。ローカルデータベースは、レジスタ、データベースモジュール、フラッシュメモリ、磁気媒体、EEPROM、光媒体、テープ、ソフトディスクまたはハードディスクなどを使用して実装され得る。処理回路120はまた、構成要素の中でも、アンテナ140、ディスプレイ102などの外部デバイス、ボタン106および/または一体型キーパッドもしくは外部キーパッド104などのオペレータ制御装置に動作可能に結合され得る。ユーザインターフェース回路124は、専用通信リンク138を通じて、または1つもしくは複数のシリアルデータ相互接続部を通じて、ディスプレイ102、キーパッド104などと通信し得る。
【００３７】
処理回路120は、1つまたは複数のインターフェース回路128を通じて通信し得、1つまたは複数のインターフェース回路128は、回路、カウンタ、タイマー、制御論理、および他の構成可能な回路またはモジュールの組合せを含んでよい。一例では、インターフェース回路128は、通信仕様または通信プロトコルに従って動作するように構成され得る。処理回路120は、たとえば、インターフェース回路128、ユーザインターフェース回路124、RFフロントエンド回路126、およびASICデバイス122に存在する1つまたは複数のアプリケーションプロセッサ132の動作を構成および管理する、電力管理機能を含み得るか、あるいはそうした電力管理機能を制御し得る。
【００３８】
LM-UARTの概要
LM-UARTアーキテクチャのいくつかの態様は、従来のUARTとの後方互換性を提供する方法で実施される。フロー制御は、送信デバイスがストップビットを送っている間に受信デバイスによってアサートされ得る。いくつかの例では、ストップビットの持続時間は、可能な半ビット増分を伴って1〜3ビット期間の範囲内で構成可能であってよい。すなわち、ストップビットは拡張されてよく、3ビット期間までの持続時間を有してよい。いくつかの事例では、受信デバイスおよび送信デバイスは、コロケートされてよく、同じルートクロックソースから導出されたクロックを使用して動作させられてよく、1ビットのストップビットが、信頼できるフロー制御動作を保証することができる。送信デバイスは、受信デバイスによってアサートされたフロー制御を無効にしてよく、すなわちそれに対して優位に立ってよい。たとえば、送信デバイスは、最小数のオーバーサンプリングクロックサイクル(たとえば、3クロックサイクル)にわたってラインをハイに駆動し得る。一実装形態では、送信デバイスは、少なくとも1データフレーム時間区間にわたって待機した後に、フロー制御を無効にしてよく、すなわちそれに対して優位に立ってよい。いくつかの事例では、受信デバイスは、追加または代替として、ソフトウェアベースのフロー制御を使用してもよい。
【００３９】
図2は、従来の4ワイヤUARTデバイスを採用するシリアルインターフェースの例200、および2ワイヤLM-UARTデバイスを使用するシリアルインターフェースの例220を示す。第1の例200では、2つの4ワイヤHS-UART202、204が、4本のワイヤ206a、206b、208a、208bを介したハードウェアフロー制御を用いた全二重リンクを実施する。データは、2本のワイヤ206aおよび206bを介して送信される。たとえば、データは、第1のHS-UART202によって第1のワイヤ206aを介して送信され、第1のHS-UART202によって第2のワイヤ206bから受信される。データは、第2のHS-UART204によって第1のワイヤ206aから受信され、第2のHS-UART204が、第2のワイヤ206bを介してデータを送信し得る。第1のHS-UART202は、第3のワイヤ208aを介して第2のHS-UART204のCTS入力部へそのRTS信号を送信する。第1のHS-UART202によって第4のワイヤ208bから受信されたCTS信号は、第2のHS-UART204のRTS信号として送信される。
【００４０】
1つの動作モードでは、各HS-UART202、204は、アクティブなシグナリング状態がCTS信号上で検出されている(たとえば、CTSが論理ハイレベルにある)ときにしかフレームを送信しない。受信HS-UART204、202側は、新たなフレームを受信する準備ができているとき、そのRTS信号をアサートする。RTS/CTSフロー制御は、各HS-UART202、204におけるバッファ制御論理によって管理され得る。バッファ制御論理は、送信バッファまたは受信バッファの占有レベルを検出するように適合されてよく、たとえば、RTS信号は、占有レベルに従ってアサートされてよい。第1のHS-UART202は、第3のワイヤ208aを介して送られるRTS信号を使用して、第2のHS-UART204による送信を選択的に制御し得る。第1のHS-UART202は、第1のHS-UART202においてCTSとして受信される、第4のワイヤ208bを介して送られるRTS信号を使用して、データを送信するのを第2のHS-UART204によって選択的に抑制され得る。
【００４１】
図2に示す第2の例220では、2つの高速ユニバーサル非同期レシーバ/トランスミッタデバイス(LM-UART222、224)が、2本のワイヤ226a、226bを介した多重化ハードウェアフロー制御を使用して全二重シリアルリンクを実施する。データは、2本のワイヤ226aおよび226bを介してパケットをなして送信され、第1のLM-UART222のTx出力部から送信されたデータパケットは、第1のワイヤ226aを介して第2のLM-UART224のRx入力部へ搬送される。第1のLM-UART222のRx入力部において受信されるデータパケットは、第2のLM-UART224のTx出力部を通って第2のワイヤ206bを介して送信される。フロー制御情報は、両方のワイヤ226a、226bにおいてデータパケットの間で送信される。各LM-UART222または224において、統合された送信データバッファリングおよびフロー制御論理228または234が、単一ワイヤ226aまたは226bを使用してデータを送信し得るとともにフロー制御情報(CTS)を受信し得、統合された受信データバッファリングおよびフロー制御論理230または232が、単一ワイヤ226bまたは226aを介してデータを受信し得るとともにフロー制御情報(RTS)を送信し得る。
【００４２】
図3は、全二重2ワイヤシリアルデータリンクの一部であってよく、またはそれに寄与し得る、単一ワイヤインターフェース300を示す。単一ワイヤインターフェース300は、2つのLM-UART302、322を使用して実装され得る。第1のLM-UART302のトランスミッタ回路は、単一ワイヤ320を通じて第2のLM-UART322のレシーバ回路に結合されている。データフロー図340は、ワイヤ320上でのパケット送信の一例を示す。
【００４３】
第1のLM-UART302は、ワイヤ320を介してデータパケットを送信するために使用されるラインドライバ312を含む。ラインドライバの出力は、データパケットの間で高インピーダンス状態にあってよく、ワイヤ320に結合されたラインレシーバ314は、フロー制御論理316によって監視される信号を提供する。フロー制御論理316は、データパケットの間で単一ワイヤインターフェース300のCTS状態を決定する。CTS状態は、トランスミッタ制御論理310によって使用されて、ラインドライバ312が有効にされるべきか、それとも高インピーダンスモードに置かれるべきかを決定し、並直列変換器308(たとえば、シフト回路またはシフトレジスタ)の動作を制御し、かつ/あるいは1つまたは複数の先入れ先出しメモリ構造または先入れ先出しレジスタ(FIFO306)を含み得るデータバッファの動作を制御する。データは、システムバス304を通じてFIFO306に提供され得る。
【００４４】
第2のLM-UART322は、第1のLM-UART302によってワイヤ320を介して送信されたデータパケットを受信するラインレシーバ332を含む。ラインレシーバ332の出力は、レシーバ制御論理330の制御下で直並列変換器328(たとえば、シフト回路またはシフトレジスタ)に提供される。直並列変換器328の出力は、たとえば、システムバス324を通じて読み取るために、FIFOメモリ構造またはFIFOレジスタ(FIFO326)に入れられてよい。レシーバ制御論理330は、データパケットの間でフロー制御情報を送信するように構成されているフロー制御論理334を管理し得る。一例では、レシーバ制御論理330は、FIFO326の占有を監視し得、いつFIFO326が最大データ占有しきい値を超えたのかを決定し得る。最大データ占有しきい値を超えると、レシーバ制御論理330は、フロー制御論理334に、データパケットの間でワイヤ320を駆動してRTSがアサートされていないことを示すことによって、フロー制御をアサートさせてよい。一例では、ワイヤ320は、フロー制御をアサートするためにデータパケットの間でローシグナリング状態に駆動され得る。フロー制御をアサートすることは、物理的なRTSワイヤを論理ローシグナリング状態に駆動することと等価であるものと見なされてよい。最大データ占有しきい値を超えていないとき、レシーバ制御論理330は、フロー制御論理334に、RTSがアサートされていることを示すためにフロー制御をアサート解除させてよい。例では、ワイヤ320をハイシグナリング状態に戻すことによって、かつ/またはデータパケットの間でワイヤ320を駆動することを控えることによって、RTSがアサートされ得る。フロー制御をアサート解除することは、物理的なRTSワイヤを論理ハイシグナリング状態に駆動することと等価であるものと見なされてよい。
【００４５】
いくつかの態様によれば、LM-UARTフロー制御は、バイトレベル境界において実行され、かつUARTフレーム内の中間ビットにおいて行われない、UARTデータフロー制御決定実行を利用するように適合され得る。一般に、単一のデータフレームは、ローのスタートビットおよびハイのストップビットによって境界が定められた8データビットからなる。いくつかの事例では、またいくつかのUARTプロトコルによれば、パリティビットおよびチェックサムビットが随意に送信されてよい。データフロー図340は、パリティビットおよびチェックサムビットを示していない。
【００４６】
受信LM-UART322は、たとえば、受信LM-UART322の中のFIFO326の状態に基づいて、次のフレームを受信する準備ができているかどうかを示し得る。フロー制御のアサーション(受信する準備ができていないことを示す)は、現在のパケットのストップビット342の受信中に行われる。ストップビット342は、ハードウェアフロー制御アサーションがその間に行われるべきウィンドウとして規定され、少なくともいくつかの実装形態では、LM-UARTアーキテクチャは、いかなる他の時間におけるハードウェアフロー制御アサーションも許可しない。ソフトウェアフロー制御は、従来のUARTプロトコルに従ってアサートされてよい。
【００４７】
ライン多重化UARTに関連するシグナリング
いくつかの態様によれば、LM-UARTアーキテクチャは、標準的な汎用入力/出力(GPIO)パッドをプロビジョニングおよび構成することによって、ハードウェアフロー制御シグナリングを容易にする。一例では、LM-UARTシグナリングに関与するGPIOパッドは、キーパー回路構成を使用するように構成され得る。別の例では、LM-UARTシグナリングに関与するGPIOパッドは、出力ドライバのインピーダンスの動的制御を可能にするように構成され得る。
【００４８】
インピーダンス制御回路を含むLM-UARTのラインドライバ回路は、アクティブに送信するときに低インピーダンスドライバ回路を、また受信モードにあるときに高インピーダンス入力を提供し得る。再び図3を参照すると、送信LM-UART302の中のラインドライバ312は、データを送信している間に低インピーダンス出力を、また停止条件342を開始した後かつ次の開始条件344の前に高インピーダンス入力を提供する。高インピーダンス入力は、受信LM-UART322の中のRTSラインドライバ336が、送信デバイスが送信するのを控えるべきであることを示すロー論理レベルにワイヤ320を駆動することを可能にする。
【００４９】
いくつかの事例では、インピーダンス制御回路を有しないGPIOデバイスの使用に起因して、または両方のラインドライバ312、336が高インピーダンスモードにあるときに雑音がワイヤ320のシグナリング状態に影響を及ぼすとき、望ましくない条件が発生することがある。正常動作条件において信頼できるフロー制御のために使用されるインピーダンス制御方法は、プロセスノード変動性ならびにプロセス、電圧、および温度(PVT:process, voltage and temperature)の変動性の影響を通じて持ち込まれる変動性によって、影響を受けることがある。
【００５０】
本開示のいくつかの態様は、LM-UARTフロー制御実装の信頼性を改善するデジタルシグナリング方式に関する。一態様では、いくつかの技法は、デジタルシグナリング手法を採用するとともにドライバにおけるインピーダンス変動を回避する、ラインドライバに適用可能である。別の態様では、いくつかの技法は、公称出力インピーダンスを伴ってラインを駆動すること、およびラインを駆動していないときに高インピーダンスモードに入ることができる、ラインドライバに適用可能である。
【００５１】
図4は、LM-UART402、412の構成400の動作上のいくつかの態様を示す。ラインまたはワイヤ410は、送信LM-UART402のTxラインドライバ404と受信LM-UART412のRTSラインドライバ414とを接続する伝送経路の中に含まれる。送信LM-UART402のTxラインドライバ404は、値RTXを有する抵抗器408として図示した出力インピーダンスを示す。受信LM-UART412のRTSラインドライバ414は、値RRTSを有する抵抗器418として図示した出力インピーダンスを示す。ワイヤ410上で(たとえば、受信LM-UART412への入力部において)観測される電圧VRXは、抵抗器408、418(RTXおよびRRTS)の間の関係によって決定される。たとえば、Txラインドライバ404の抵抗器408がVDDとしての電圧に結合されているとき、受信LM-UART412への入力部において観測される電圧VRXは、以下のように計算され得る。
【００５２】
【数１】
2019517066.tif 000003
【００５３】
図4におけるタイミング図420は、送信LM-UART402がデータを受信LM-UART412へ通信しているときの、ワイヤ410上でのシグナリング430に関係するいくつかの態様を示す。図示の例では、送信LM-UART402から受信LM-UART412へ送られる送信422は、スタートビット(開始条件424)とともに開始し、8つのデータビット426が後続する。送信422は、ストップビット(停止条件428)によって終結する。送信LM-UART402のTxラインドライバ404は、開始条件424をシグナリングし、開始条件424は、ロー論理状態432に対応する電圧レベルにワイヤ410を駆動することによってシグナリングされ得る。Txラインドライバ404は、次いで、送信されるべきデータビット426に従ってワイヤ410を駆動する。Txラインドライバ404は、次いで、ハイ論理状態434に対応する電圧レベルにワイヤ410を駆動することによって停止条件428をシグナリングする。ワイヤ410上での送信のタイミングを制御するために、オーバーサンプリングクロック440が送信LM-UART402によって採用され得る。代替または追加として、オーバーサンプリングクロック440は、ワイヤ410から受信された信号をサンプリングするために受信LM-UART412によって採用されてもよい。
【００５４】
ハイ論理状態434をアサートして停止条件428をシグナリングした後、Txラインドライバ404はワイヤ410を解放し、ワイヤ410は、次いで、Txラインドライバ404の中の抵抗器408によって論理ハイ状態436に保持され得る。例では、ワイヤ410は、停止条件428に関連する時間区間の完了の前に、受信LM-UART412のRTSラインドライバ414によって、ロー論理状態438に対応する電圧レベルに駆動される。ロー論理状態438がアサートされている間、送信LM-UART402はデータを送信するのを控える。RTSラインドライバ414がワイヤ410をハイ論理状態434に戻すと、Txラインドライバ404は、次いで、ワイヤ410上でロー論理状態432をアサートして開始条件をシグナリングすることによって次の送信を開始する。
【００５５】
ラインドライバ404、414の出力インピーダンス関係が何らかの範囲内に維持されているという条件で、LM-UART402、412は、受信LM-UART412からのフロー制御アサーション、および送信LM-UART402からのフロー制御無効化をサポートすることができる。CTSレシーバ406およびRxレシーバ416を含むレシーバによって認識される電圧レベルは、それぞれ、論理ハイ(「1」)およびロー(「0」)状態に対してVIOHおよびVIOLとして表され得る。一例では、以下の条件が適用され得る。
1.論理「1」の送信の間、VRX≧VIOH_MIN
2.論理「0」の送信の間、VRX≦VIOL_MAX
3.フロー制御アサーションにおいておよびその間、VRX≦VIOL_MAX
4.「1」を送信しながらのフロー制御無効化の間、VRX≧VIOH_MIN
5.「0」を送信しながらのフロー制御無効化の間、VRX≦VIOL_MAX
【００５６】
インピーダンス制御式ラインドライバ(impedance-controlled line driver)において、条件1〜5は、通常、設計によって満たされ得る。いくつかの事例では、限定されたインピーダンス制御が利用可能であり得る。たとえば、GPIOラインドライバは、ワイヤ410を駆動しながら低インピーダンスを、またラインドライバが非アクティブであるときに高インピーダンス入力を提供し得る。ラインドライバが限定されたインピーダンス制御しか有しないか、またはインピーダンス制御をまったく有しないとき、条件1および2は比較的容易に満たされることがあり、条件3、4、および5は信号レベルを所望領域の外部に低下させるPVT変動によって影響を受けることがある。
【００５７】
図5は、キーパーベースの解決策を実施する装置500の一例を示す。図示の例では、第1のLM-UART402の中のTxラインドライバ502は、ワイヤ410を介して第2のLM-UART412へ信号を送信するように構成され、第2のLM-UART412の中のRTSラインドライバ506は、第1のLM-UART402によって送信されるデータパケットの間で、ワイヤ410上でフロー制御信号をアサートするように構成される。第1のLM-UART402の中のキーパー回路504および/または第2のLM-UART412の中のキーパー回路508は、ワイヤ410に結合されたラインドライバ502および/または506が非アクティブであるとき、弱いプルアップを提供するように動作する。キーパー回路504、508は、アイドルシグナリング状態(ハイ論理状態)またはフロー制御(FC:flow-control)アサートされたシグナリング状態(ロー論理状態)に、ワイヤ410を保持するように適合され得る。
【００５８】
キーパー回路504、508は、ワイヤ410上で停止条件428がアサートされた後、ラインをアイドル状態に保持し得る。公称出力インピーダンスを伴って動作しているTxラインドライバ502が、オーバーサンプリングクロック440の1つまたは複数のサイクルにわたってワイヤ410上でストップビットを駆動するとき、停止条件428はアサートされていると見なされてよい。Txラインドライバ502は、次いで、ワイヤ410を解放するとともに高インピーダンス状態に入ってよい。1つまたは複数のキーパー回路504、508は、停止条件428に関連するシグナリング状態にワイヤ410を保持する。受信LM-UART412は、RTSラインドライバ506にオーバーサンプリングクロック440の少なくとも1サイクルにわたってワイヤ410をロー論理状態に駆動させることによって、フロー制御をアサートし得る。RTSラインドライバ506は、次いで、ラインを駆動するのを中止するとともに高インピーダンス状態に入る。キーパー回路504および/または508は、ロー論理状態に関連する電圧レベルにワイヤ410を保持する。受信LM-UART412は、RTSラインドライバ506にオーバーサンプリングクロック440の少なくとも1サイクルにわたってワイヤ410をハイ論理状態に駆動させることによって、フロー制御をアサート解除し得る。受信LM-UART412は、次いで、ワイヤ410を駆動するのを中止するとともに高インピーダンス状態に入ってよく、キーパー回路504および/または508が、ロー論理状態に関連する電圧レベルにワイヤ410を保持したままにしておく。
【００５９】
任意のアクティブなラインドライバ502または506が、キーパー回路504および/または508を乗り超える(overcome)ことがある。キーパー回路504、508は、ワイヤ上の電圧に追従するように構成され、電磁干渉または他の信号雑音によって引き起こされる状態フリッピング(state-flipping)を起こしやすいことがある。たとえば、低エネルギーの電磁誘導されたスパイクが、キーパー回路504、508に状態を変化させる電圧グリッチをワイヤ410上に引き起こすことがある。キーパー回路504、508が雑音によってフリップされると、フロー制御デッドロックが生じることがある。デッドロックは、停止条件428が送信された後にキーパー回路504、508がワイヤ410上でロー論理状態をアサートすると発生し得る。送信LM-UART402は、ロー論理状態を否定的な送信可表示として認識するが、受信LM-UART412は、継続的なロー論理状態を、いくつかのラインインターフェース回路のリセットを引き起こすブレーク条件であるものと見なしてよい。
【００６０】
図6は、フロー制御がアサートされないときの第1の例608、フロー制御がアサートされるときの第2の例620、およびフロー制御がアサート解除されるときの第3の例630を示す、タイミング図600である。第1の例608は、フロー制御アサーションに関連するタイミングウィンドウ614、616、および618を示す。ストップビット604が開始された後、オーバーサンプリングクロック602の最初のサイクルの間、ラインは送信LM-UART402によってアクティブに駆動される(612a)。最初のサイクルの後、送信LM-UART402は高インピーダンス状態に入り(612b)、ラインのシグナリング状態はキーパー回路によって維持される。送信LM-UART402は、ストップビット604が完了した後、ラインをアクティブに駆動する。一例では、ストップビット604は、オーバーサンプリングクロック602の10サイクルを超えて拡張し得る第1のタイミングウィンドウ614の間、ストップビット604の中間点を中心としてサンプリングされ得る。フロー制御は、第1のタイミングウィンドウ614の後の1クロックサイクルで開始するオーバーサンプリングクロック602の10サイクルを超えて拡張する第2のタイミングウィンドウ616の間、受信LM-UART412によってアサートされ得る。送信LM-UART402は、第2のタイミングウィンドウ616と同時に開始するオーバーサンプリングクロック602の11サイクルを超えて拡張する第3のタイミングウィンドウ618の間、フロー制御アサーションを求めてラインを監視し得る。
【００６１】
第2の例620では、限定されたインピーダンス制御を有する送信LM-UART402は、オーバーサンプリングクロック602の1サイクルにわたってライン610を論理1にアクティブに駆動することによって、ストップビット604を起動し得る。アクティブに駆動されたこの期間の後、送信LM-UART402は、ライン610を駆動するのを停止することができ、ライン610は、送信LM-UART402の送信ピンと受信LM-UART412上の対応する受信ピンの両方において、キーパーによって論理1に保持される。キーパーは、オーバーサンプリングクロック602の1〜3期間にプログラムされ得るストップビット604の持続時間にわたって、ライン610を論理1シグナリング状態に維持する。送信LM-UART402は、セット{1ビット、1.5ビット、2ビット、2.5ビット、3ビット}などの、持続時間の構成されたセットの中から、ストップビット604の持続時間を選択してよい。
【００６２】
第2のタイミングウィンドウ616は、フロー制御をアサートするための機会を受信LM-UART412に与える。受信LM-UART412は、フロー制御がアサートされることを必要とするかまたは所望する場合、オーバーサンプリングクロック期間の1サイクルにわたってライン610を論理0シグナリング状態にアクティブに駆動する(624)。受信LM-UART412は、高インピーダンスモードに入り、キーパーは、フロー制御の持続時間にわたってライン610を論理0シグナリング状態626に維持する。いくつかの例では、受信LM-UART412は、ストップビット604の中心606においてフロー制御をアサートしようと試みてよい。送信LM-UART402および受信LM-UART412によって使用されるオーバーサンプリングクロック間の周波数および位相の不整合は、ストップビット604の中心606に関してタイミングの変動を引き起こすことがある。長いフロー制御検出ウィンドウの設定が、タイミングの変動に対応し得る。
【００６３】
いくつかの例では、送信LM-UART402の中のCTSレシーバ406は、ライン610のシグナリング状態およびライン610のシグナリング状態における遷移を監視するように構成される。ストップビット604の間の(すなわち、第3のウィンドウ618の間の)論理1シグナリング状態から論理0シグナリング状態への遷移が、受信LM-UART412によるフロー制御のアサーションを構成し得る。
【００６４】
送信LM-UART402は、フロー制御検出のためにオーバーサンプリングクロック604のサイクルにおいて利用可能な、最小マージンを有してよい。送信LM-UART402の中のフロー制御検出回路は、正エッジと負エッジの両方をベースとするライン状態サンプリングを採用し得る。このことは、たとえば、反転オーバーサンプリングクロックを使用して実施され得る。
【００６５】
フロー制御は、第3のタイミング例630に示すように、受信LM-UART412によってアサート解除され得る。受信LM-UART412は、オーバーサンプリングクロック602の1サイクルにわたってライン610を論理1に駆動することによって(632、638)、フロー制御アサート解除を開始し得る。受信LM-UART412は、次いで、高インピーダンス状態に入ってよく(634)、ライン610のシグナリング状態は、送信ピンおよび受信ピンにおいてキーパーによって論理1に維持され得る。送信LM-UART402は、そのCTSレシーバ406が論理0シグナリング状態から論理1シグナリング状態への遷移を検出すると、ライン610のアクティブな駆動を再開してよい。送信LM-UART402は、その送信バッファの中で送信のためにデータが利用可能になるまで、ライン610を論理1シグナリング状態に維持してよい。
【００６６】
通常動作において、受信LM-UART412は、受信LM-UART412の受信バッファの中にスペースが確立された後、フロー制御をゆるやかに(gracefully)アサート解除してよい。送信LM-UART402は、通常、ゆるやかなアサート解除が行われるとき、フロー制御アサーションの後、関係するライン610をアクティブに駆動しない。送信LM-UART402は、次のフレームの送信を再開する前に、フロー制御の正式な(formal)アサート解除を待つ。いくつかの事例では、フロー制御持続時間640は、受信LM-UART412におけるエラー条件に起因して過剰に長いことがある。そのような事例では、送信LM-UART402は、論理的なブレーク条件を起動してよい。いくつかの事例では、送信LM-UART402は、フロー制御アサート解除を待つことなくデータフレームを起動することを所望してよい。
【００６７】
いくつかの態様によれば、送信LM-UART402は、論理的なブレーク条件または強制フロー制御アサート解除を起動してよい。図7は、送信LM-UART402がフロー制御アサート解除を強制するときのタイミング702の一例を示す。図7は、図6に示すようなフロー制御のアサーションおよび非アサーションに対して同じタイミングを含む。強制フロー制御アサート解除は、ライン610がキーパーによって論理0シグナリング状態626に保持されているとき、送信LM-UART402によって実行されてよく、送信LM-UART402がアクティブ駆動モードを再開するときに容易に無効にされ得る。
【００６８】
第2の例608においてフロー制御アサーションが検出されると、送信LM-UART402は次のパケットの送信を控える。一例では、送信LM-UART402は、1つまたは複数のデータグラムタイムスパンに対応する期間にわたって待機した後、ソフトウェア制御の下でフロー制御を無効にし得る。送信LM-UART402は、ライン610を論理1シグナリング状態にアクティブに駆動し、次いで、最小時間期間にわたって論理1シグナリング状態を維持することによって、フロー制御条件を無効にする。一例では、最小時間期間は、オーバーサンプリングクロック602の3サイクルである。送信LM-UART402は、受信LM-UART412が受信動作を再開するのに十分かつ/または必要なターンアラウンドタイムを有することを保証するための最小時間期間にわたって論理1シグナリング状態を維持した後、新たなデータパケットを起動してよい。送信LM-UART402は、フロー制御アサーションに関連する経過時間区間を測定するための、タイマー回路またはソフトウェア要素を採用し得る。
【００６９】
送信無効化の間の受信LM-UART412の挙動は、類似の条件の下での従来のUARTの挙動と類似であってよい。送信データは、利用可能なスペースがある場合、受信バッファの中に収容されてよい。そうでない場合、データ無効化に起因するデータ破壊が起こり得る。受信LM-UART412は、従来のUARTの方法と類似の方法で、ブレーク条件送信に応答する。
【００７０】
いくつかの態様によれば、ストップビット604の持続時間は、フロー制御回路実装に対応するように選択され得る。1ビットのストップビットは、いくつかの実装形態では、フロー制御アサーション目的にとって十分であると見なされてよいが、設計制約または設計要件に基づいて不十分な場合がある。ストップビット604が1ビット(すなわち、1データビット持続時間)よりも長い持続時間を有するとき、タイミングウィンドウ614、616、618、および/またはフロー制御シグナリングを決定するために使用されるオーバーサンプリングクロック602のサイクルの数は変化し得る。たとえば、図6および図7に示す16クロックサイクルは、比例して乗算されてよく、ストップビット持続時間は、2または3ビット期間にプログラムされるべきである。ストップビット604の持続時間が2ビット期間に等しいように選ばれているとき、受信LM-UART412の観点からのストップビットサンプリングは、第1のビットの中間点において行われてよい。したがって、ストップビット604の第2のビット全体が、フロー制御論理実装用の細長いウィンドウ618を提供する。多くの実装形態では、スループットを最大にするように単一ビットのストップビット604が採用され得る。ストップビット604の持続時間は、フロー制御シグナリングに関連する論理および伝搬遅延に対応するようにプログラム可能であってよい。
【００７１】
雑音が、他の実装形態よりも大きい程度までキーパーベースの実装形態に影響を及ぼすことがある。いくつかの事例では、送信LM-UART402は、フロー制御シグナリングのために、全ビット期間にわたってストップビット604をアクティブに駆動するとともに、ストップビットの送信の後に設けられる第2のビット期間を使用するように構成され得る。
【００７２】
ライン多重化UARTのための改善されたシグナリング
本明細書で開示するいくつかの態様によれば、LM-UARTがインピーダンス制御式ラインドライバを有しないとき、LM-UARTは、改善され信頼できるフロー制御シグナリングをサポートするように適合され得る。1つまたは複数の態様に従って適合されたLM-UARTは、予想されるすべてのPVT条件にわたってフロー制御動作を保証しながら、キーパー回路またはマルチレベル(2レベルを超える)出力インピーダンス制御なしに動作することができる。
【００７３】
図8は、LM-UART構成800、820のための改善されたシグナリング840の第1の例を示す。ラインドライバ802、806が非アクティブであり高インピーダンスをワイヤ808に示すときに、ワイヤ808上で高電圧レベルを維持するためにプルアップ抵抗器804が使用されるLM-UART構成800とともに、図示したシグナリング840が採用され得る。図示したシグナリング840はまた、アクティブな間に公称(低)出力インピーダンスを与え、ラインドライバ822、826が非アクティブであるときにワイヤ834上で高電圧レベルを維持するために、非アクティブなときにもっと高いインピーダンスを与える内部回路を含む、LM-UART構成820とともに採用され得る。
【００７４】
この例では、レシーバが準備ができていないことをシグナリングするために第1のフロー制御(FCON)パルス850を、またレシーバが準備ができていることをシグナリングするために第2のフロー制御(FCOFF)パルス856を送信することによって、フロー制御が実施される。パルス850、856は、プログラム可能な持続時間を有してよい。いくつかの実装形態では、パルス850、856は、半ビット区間の中で測定された持続時間を有するようにプログラムされ得る。雑音に起因する誤ったトリガリングを回避するために、パルス検出技法が実施され得る。一例では、パルス850、856は、中心ゾーンサンプリングを使用して検出され得る。別の例では、パルス850、856は、雑音に起因する誤ったトリガを回避するために、投票論理を伴うマルチポイントサンプリングを使用して検出され得る。
【００７５】
LM-UARTは、パルス850、856を検出するとともに検出されたパルス850、856の持続時間を測定するように適合され得る。たとえば、LM-UARTは、パルス幅を測定し、パルスの有効性を決定し、かつパルス850、856に従ってフロー制御を実施するために、制御モジュール832の中に設けられた1つまたは複数のカウンタ830および論理回路を含み得る。パルス850、856の持続時間は、追加情報を提供することができる。いくつかの事例では、第1のフロー制御パルス850は、第2のフロー制御パルス856とは異なる持続時間を有してよい。
【００７６】
図9は、限定されたインピーダンス制御を有するラインドライバを使用して実装されるLM-UART間の信頼できるフロー制御シグナリングを可能にすることができる、改善されたシグナリング900の一例を示す。ラインドライバ924、942が非アクティブであり高インピーダンスをワイヤ936に示すときに、ワイヤ936上で高電圧レベルを維持するためにプルアップ抵抗器926が使用されるLM-UARTインターフェース構成920とともに、図示したシグナリング900が採用され得る。図示したシグナリング900はまた、アクティブな間に公称(低)出力インピーダンスを与え、ラインドライバ954、970が非アクティブであるときにワイヤ964上で高電圧レベルを維持するために、非アクティブなときにもっと高いインピーダンスを与える、限定された内部インピーダンス制御を有するラインドライバ954、970を含むLM-UART構成950とともに採用され得る。
【００７７】
本明細書で開示するいくつかの態様によれば、フロー制御は、FCONパルス910の持続時間(TWidth912)に相当する時間期間にわたってレシーバ938、966が準備ができていないことをシグナリングするために、可変長のフロー制御(FCON)パルス910を使用して実施され得る。一例では、トランスミッタ922、952の中の制御論理930、958は、FCONパルス910の幅によって示される経過時間の持続時間を測定するカウンタ932、960を開始する。カウンタ932、960が満了すると、すなわち、構成されたカウント値に到達すると、送信が再開し得る。一例では、カウンタ932、960は、オーバーサンプリングクロック440(図4参照)または別のクロック信号を使用して計数されるような、FCONパルス910の持続時間に基づいて計算された値をロードすることによって構成され得る。別の例では、カウンタ932、960は、FCONパルス910の持続時間または推定持続時間から導出されたインデックスを使用してルックアップテーブルから選択された値をロードすることによって構成され得る。レシーバにおいて、フロー制御期間の持続時間がすでに知られており、RTSベースのカウンタメカニズムはレシーバ動作にとって必要とされなくてよい。
【００７８】
図10および図11は、フロー制御シグナリング用のエラー検出を行うLM-UARTのための改善されたシグナリングの一例を示す。図10は、トランスミッタタイミング1002、エラーのないCTSタイミング1004、およびLM-UART実装形態においてキーパー回路が使用されるときに引き起こされることがあるシグナリングエラーの2つの例1006、1008を示す、タイミング図1000である。キーパー回路は、キーパー回路への入力部においてスパイクを引き起こす雑音を受けやすいことがある。
【００７９】
CTSタイミング1004として図示したタイミングは、従来のLM-UARTフロー制御タイミング、または図8および図9に示すパルスベースのフロー制御実装形態に対応し得る。フロー制御は、送信LM-UARTと受信LM-UARTとを結合する信号ワイヤ上で論理ローパルス1024を駆動することによってアサートされ得る。論理ローパルス1024は、レシーバがデータを受信する準備ができていないことを示し、追加情報を伝達するための可変持続時間を有し得る。論理ローパルス1024は、それが停止条件1012が最初にアサートされた後に送信される最初のパルス(FCONパルス)であるとき、既知の最小持続時間を有し得る。たとえば、論理ローパルス1024は、キーパー回路をフリップさせるのに十分な持続時間を有してよい。シグナリングエラー1006、1008は、LM-UART間のリンクのフロー制御ステータスを反映しない状態にキーパー回路をフリップさせる雑音によって引き起こされることがある。シグナリングエラーの第1のカテゴリー1006は、停止条件1012の終結の後、雑音によってワイヤがローに駆動されるときに発生する。シグナリングエラーの第2のカテゴリー1008は、停止条件1012の間に受信LM-UARTによってワイヤがローに駆動されハイ状態に戻らないか、または受信LM-UARTによってハイに駆動された後にハイ状態にとどまるときに発生する。
【００８０】
これらのシグナリングエラー1006、1008は、ロックアウト条件をもたらすことがあり、それにより、LM-UARTの各々は、他のLM-UARTからのシグナリングを待っている。いくつかの態様によれば、LM-UARTは、いくつかの論理規則に従ってエラーを修正することによってロックアウト条件を回避するように適合され得る。
【００８１】
図11は、本明細書で開示するいくつかの態様に従って適合され得るLM-UART1102、1122を採用する単一ワイヤインターフェース1100を示す。一例では、単一ワイヤインターフェースは、図3に示す単一ワイヤインターフェース300から導出されるかまたはそれに基づく。単一ワイヤインターフェース1100は、全二重2ワイヤシリアルデータリンクの中に含まれてよく、またはそれに寄与し得る。単一ワイヤインターフェース1100は、2つのLM-UART1102、1122を使用して実装され得る。第1のLM-UART1102のトランスミッタ回路は、ラインまたはワイヤ1120を通じて第2のLM-UART1122のレシーバ回路に結合されている。
【００８２】
第1のLM-UART1102は、ワイヤ1120を介してデータパケットを送信するために使用されるラインドライバ1104を含む。ラインドライバの出力は、データ送信の間で高インピーダンス状態にあり得る。ワイヤ1120に結合されたラインレシーバ1106は、データ送信の間で単一ワイヤインターフェース1100のCTS状態を決定するために使用される信号を提供する。CTS状態は、トランスミッタ制御論理1108によって使用されて、ラインドライバ1104が有効にされるべきか、それとも高インピーダンスモードに置かれるべきかを決定し、シフトレジスタおよびバッファを含むトランスミッタ回路の動作を制御する。
【００８３】
第2のLM-UART1122は、送信LM-UART1102によってワイヤ1120を介して送信されたデータを受信するラインレシーバ1124を含む。レシーバ制御論理1128は、データ送信の間でフロー制御情報のシグナリングを開始し得る。一例では、レシーバ制御論理1128は、レシーバ回路の中のバッファの占有を監視し得、フロー制御論理1134にデータ送信の間でフロー制御をアサートさせ得る。
【００８４】
図示の例では、LM-UART1102および1122は各々、それぞれ、トランスミッタ制御論理1108およびレシーバ制御論理1128によって制御され得る、キーパー回路1110および1130を含む。一例では、トランスミッタ制御論理1108およびレシーバ制御論理1128は、ワイヤ1120上での状態変化を強制するために、それぞれのキーパー回路1110および1130に信号1112、1132を提供し得る。たとえば、トランスミッタ制御論理1108は、ワイヤ1120がロー状態にあるとき、ワイヤ1120をハイ状態に駆動するようにキーパー回路1110をシグナリングし得る。キーパー回路1110は、次いで、トランスミッタ制御論理1108の制御下でフリップされ得る。
【００８５】
図10に示すシグナリングエラーの第1のカテゴリー1006は、送信LM-UART1102によって修正され得る。受信LM-UART1122は、停止条件1012に対して割り振られた区間の間、初期フロー制御をアサートするように構成され得る。初期フロー制御は、フロー制御信号のアサーションに対応するFCONパルス850(図8参照)またはエッジ1030を備え得る。停止条件1012の終結の後の初期フロー制御のアサーションの発生は、エラー条件と見なされてよい。送信LM-UART1102は、エラー条件、すなわち、立下りエッジ1026、または停止条件1012の終結の後に開始するロー状態を識別するように構成され得る。送信LM-UART1102は、ワイヤ1120がハイ状態を帯びるようにキーパー回路1110をフリップさせることによってエラー条件を修正し得る。送信LM-UART1102は、受信LM-UART1122によって予想されるストップビットに対する最小持続時間よりも、誤ったロー状態が短くなるように、オーバーサンプリングクロック440(図4参照)の1サイクルまたは2サイクル内にキーパー回路1110をフリップさせてよい。受信LM-UART1122は、誤ったロー状態を無効なパルスとして無視する。
【００８６】
図10に示すシグナリングエラーの第2のカテゴリー1008は、受信LM-UART1122によって修正され得る。受信LM-UART1122は、受信LM-UART1122がフロー制御をアサートしなかった環境下でワイヤ1120がロー状態にあるとき、エラー条件を認識するように構成され得る。停止条件1012の間に雑音によって引き起こされるワイヤ1120上での誤った遷移1028は、受信LM-UART1122によって修正され得る。受信LM-UART1122は、ワイヤ1120がハイ状態を帯びるようにキーパー回路1130をフリップさえることによって、エラー条件のこのカテゴリーを修正するように構成され得る。受信LM-UART1122は、オーバーサンプリングクロック440(図4参照)の1サイクルまたは2サイクル内にキーパー回路1130をフリップさせてよい。一例では、送信LM-UART1102は、フロー制御のアサーションと、その後に迅速に続くフロー制御のアサート解除とを見ることがある。別の例では、送信LM-UART1102は、図8および図9に示すフロー制御シグナリングに対して規定された最小パルス幅よりも短いパルスを検出することがある。これらの例のいずれにおいても、送信LM-UART1102は、停止条件1012の間、ワイヤ1120上での誤った遷移を事実上無視する。
【００８７】
処理回路および処理方法の例
LM-UARTは、複数のフロー制御モードで動作するように構成可能であってよい。たとえば、LM-UARTは、最初にパルスベースのフロー制御モードで動作するように構成されてよく、パルスベースのフロー制御技法を使用しないモードで動作するように再構成されてよい。
【００８８】
図12は、本明細書で開示する1つまたは複数の機能を実行するように構成され得る処理回路1202を採用する装置1200のためのハードウェア実装形態の一例を示す図である。本開示の様々な態様によれば、本明細書で開示するような要素、または要素の任意の部分、または要素の任意の組合せは、処理回路1202を使用して実装され得る。処理回路1202は、ハードウェアモジュールとソフトウェアモジュールとのいくつかの組合せによって制御される1つまたは複数のプロセッサ1204を含み得る。プロセッサ1204の例は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、SoC、ASIC、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、ステートマシン、シーケンサ、ゲート論理、個別ハードウェア回路、および本開示全体にわたって説明する様々な機能を実行するように構成された他の好適なハードウェアを含む。1つまたは複数のプロセッサ1204は、特定の機能を実行するとともにソフトウェアモジュール1216のうちの1つによって構成、増強、または制御され得る、専用プロセッサを含んでよい。1つまたは複数のプロセッサ1204は、初期化中にロードされたソフトウェアモジュール1216の組合せを介して構成されてよく、動作中に1つまたは複数のソフトウェアモジュール1216のローディングまたはアンローディングによってさらに構成されてよい。
【００８９】
図示の例では、処理回路1202は、バス1210によって概略的に表されるバスアーキテクチャを用いて実装され得る。バス1210は、処理回路1202の特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスおよびブリッジを含んでよい。バス1210は、1つまたは複数のプロセッサ1204およびストレージ1206を含む様々な回路を互いにリンクさせる。ストレージ1206は、メモリデバイスおよび大容量記憶デバイスを含んでよく、本明細書でコンピュータ可読媒体および/またはプロセッサ可読媒体と呼ばれることがある。バス1210はまた、タイミングソース、タイマー、周辺機器、電圧調整器、および電力管理回路などの、様々な他の回路をリンクさせ得る。バスインターフェース1208は、バス1210と1つまたは複数のトランシーバ1212との間のインターフェースを提供し得る。トランシーバ1212は、処理回路によってサポートされるネットワーキング技法ごとに設けられてよい。いくつかの事例では、複数のネットワーキング技法が、トランシーバ1212の中に見られる回路構成または処理モジュールの一部または全部を共有してよい。各トランシーバ1212は、伝送媒体を介して様々な他の装置と通信するための手段を提供する。装置1200の性質に応じて、ユーザインターフェース1218(たとえば、キーパッド、ディスプレイ、スピーカー、マイクロフォン、ジョイスティック)が設けられてもよく、直接またはバスインターフェース1208を通じてバス1210に通信可能に結合され得る。
【００９０】
プロセッサ1204は、バス1210の管理、およびストレージ1206を含むことがあるコンピュータ可読媒体に記憶されたソフトウェアの実行を含み得る一般的な処理を担当し得る。この点で、プロセッサ1204を含む処理回路1202は、本明細書で開示する方法、機能、および技法のいずれかを実施するために使用され得る。ストレージ1206は、ソフトウェアを実行するときにプロセッサ1204によって操作されるデータを記憶するために使用されてよく、ソフトウェアは、本明細書で開示する方法のうちのいずれか1つを実施するように構成され得る。
【００９１】
処理回路1202の中の1つまたは複数のプロセッサ1204は、ソフトウェアを実行し得る。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、または他の名称で呼ばれるかどうかにかかわらず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行ファイル、実行スレッド、プロシージャ、関数、アルゴリズムなどを意味するものと広く解釈されるべきである。ソフトウェアは、コンピュータ可読形態で、ストレージ1206または外部コンピュータ可読媒体の中に常駐し得る。外部コンピュータ可読媒体および/またはストレージ1206は、非一時的コンピュータ可読媒体を含んでよい。非一時的コンピュータ可読媒体は、例として、磁気記憶デバイス(たとえば、ハードディスク、フロッピーディスク、磁気ストリップ)、光ディスク(たとえば、コンパクトディスク(CD)またはデジタル多用途ディスク(DVD))、スマートカード、フラッシュメモリデバイス(たとえば、「フラッシュドライブ」、カード、スティック、またはキードライブ)、RAM、ROM、プログラマブル読取り専用メモリ(PROM)、EEPROMを含む消去可能PROM(EPROM)、レジスタ、リムーバブルディスク、ならびにコンピュータによってアクセスされ得るとともに読み取られ得るソフトウェアおよび/または命令を記憶するための任意の他の好適な媒体を含む。コンピュータ可読媒体および/またはストレージ1206はまた、例として、搬送波、伝送線路、およびコンピュータによってアクセスされ得るとともに読み取られ得るソフトウェアおよび/または命令を送信するための任意の他の適切な媒体を含んでよい。コンピュータ可読媒体および/またはストレージ1206は、処理回路1202の中、プロセッサ1204の中、処理回路1202の外部に存在してよく、または処理回路1202を含む複数のエンティティにわたって分散されてもよい。コンピュータ可読媒体および/またはストレージ1206は、コンピュータプログラム製品の中に組み込まれてよい。例として、コンピュータプログラム製品は、パッケージング材料の中に
コンピュータ可読媒体を含めてもよい。特定の適用例および全体的なシステムに課される全体的な設計制約に応じて、本開示全体にわたって提示される説明した機能を実装するための最良の方法を、当業者は認識されよう。
【００９２】
ストレージ1206は、本明細書でソフトウェアモジュール1216と呼ばれることがある、ロード可能なコードセグメント、モジュール、アプリケーション、プログラムなどの中に保持および/または編成されるソフトウェアを保持し得る。ソフトウェアモジュール1216の各々は、処理回路1202にインストールまたはロードされるとともに1つまたは複数のプロセッサ1204によって実行されたとき、1つまたは複数のプロセッサ1204の動作を制御するランタイムイメージ1214に寄与する命令およびデータを含み得る。実行されたとき、いくつかの命令は、処理回路1202に、本明細書で説明するいくつかの方法、アルゴリズム、およびプロセスに従って機能を実行させ得る。
【００９３】
ソフトウェアモジュール1216のうちのいくつかは、処理回路1202の初期化中にロードされてよく、これらのソフトウェアモジュール1216は、本明細書で開示する様々な機能の実行を可能にするように処理回路1202を構成し得る。たとえば、いくつかのソフトウェアモジュール1216は、プロセッサ1204の内部デバイスおよび/または論理回路1222を構成し得、トランシーバ1212、バスインターフェース1208、ユーザインターフェース1218、タイマー、数学的コプロセッサなどの外部デバイスへのアクセスを管理し得る。ソフトウェアモジュール1216は、割込みハンドラおよびデバイスドライバと対話するとともに処理回路1202によって提供される様々なリソースへのアクセスを制御する、制御プログラムおよび/またはオペレーティングシステムを含み得る。リソースは、メモリ、処理時間、トランシーバ1212へのアクセス、ユーザインターフェース1218などを含み得る。
【００９４】
処理回路1202の1つまたは複数のプロセッサ1204は多機能であってよく、それにより、ソフトウェアモジュール1216のうちのいくつかは、異なる機能、または同じ機能の異なるインスタンスを実行するようにロードおよび構成される。1つまたは複数のプロセッサ1204は、追加として、たとえば、ユーザインターフェース1218、トランシーバ1212、およびデバイスドライバからの入力に応答して開始されるバックグラウンドタスクを管理するように適合され得る。複数の機能の実行をサポートするために、1つまたは複数のプロセッサ1204は、マルチタスク環境を提供するように構成されてよく、それにより、複数の機能の各々が、必要または所望に応じて、1つまたは複数のプロセッサ1204によってサービスされるタスクのセットとして実施される。一例では、マルチタスク環境は、異なるタスク間でプロセッサ1204の制御を渡す時分割プログラム1220を使用して実装されてよく、それにより、各タスクは、任意の未処理動作の完了時に、かつ/または割込みなどの入力に応答して、時分割プログラム1220に1つまたは複数のプロセッサ1204の制御を戻す。タスクが1つまたは複数のプロセッサ1204の制御を有するとき、処理回路は、事実上、制御しているタスクに関連する機能によって対処される目的に対して特化される。時分割プログラム1220は、オペレーティングシステム、ラウンドロビンベースで制御を伝達するメインループ、機能の優先順位付けに従って1つまたは複数のプロセッサ1204の制御を割り振る機能、および/あるいは1つまたは複数のプロセッサ1204の制御を処理機能に提供することによって外部イベントに応答する割込み駆動型メインループを含んでよい。
【００９５】
図13は、送信LM-UARTにおいて実行され得る第1の方法のフローチャート1300である。
【００９６】
ブロック1302において、LM-UARTは、シリアルデータリンクのワイヤを第1の電圧レベルに駆動することによって、ワイヤ上で停止条件をアサートし得る。
【００９７】
ブロック1304において、LM-UARTは、ワイヤのアクティブな駆動を中止し得る。LM-UARTは、高インピーダンス動作モードに入り得、ワイヤは、キーパー回路によって第1の電圧レベルに維持され得る。いくつかの事例では、LM-UARTは、高インピーダンス動作モードに入り得、ワイヤは、プルアップ抵抗またはプルダウン抵抗によって第1の電圧レベルに維持され得る。いくつかの例では、LM-UARTは、ワイヤが第1の電圧レベルにパッシブに維持されるように出力インピーダンスを修正し得る。
【００９８】
ブロック1306において、LM-UARTは、停止条件の間にワイヤが第2の電圧レベルに遷移しているかどうかを決定するために、ワイヤを監視し得る。
【００９９】
ブロック1306においてワイヤが停止条件の間に第2の電圧レベルに遷移していないとLM-UARTが決定すると、LM-UARTは、ブロック1308において、ワイヤ上でデータを送信するかまたは送信し続けてよい。
【０１００】
ブロック1306においてワイヤが停止条件の間に第2の電圧レベルに遷移しているとLM-UARTが決定すると、LM-UARTは、ブロック1310において、フロー制御がアサートされていると決定し得る。
【０１０１】
ブロック1312において、LM-UARTは、フロー制御がアサートされている間、ワイヤ上でデータを送信するのを控え得る。
【０１０２】
ブロック1314において、LM-UARTは、ワイヤが、フロー制御のアサート解除を示す第1の電圧レベルに戻って遷移するまで待機し得る。ワイヤが第1の電圧レベルに戻って遷移しているとき、LM-UARTは、ブロック1308において、ワイヤ上でデータを送信するかまたは送信し続けてよい。
【０１０３】
図14は、送信LM-UARTにおいて実行され得る第2の方法のフローチャート1400である。
【０１０４】
ブロック1402において、LM-UARTは、停止条件の持続時間よりも短い第1の時間期間にわたってシリアルデータリンクのワイヤを第1の電圧レベルに駆動することによって、ワイヤ上で停止条件をアサートし得る。
【０１０５】
ブロック1404において、LM-UARTは、第1の時間期間の後、ワイヤを監視し得る。
【０１０６】
ブロック1406において、LM-UARTは、フロー制御パルスに対して規定された最小時間期間を超える第2の時間期間にわたってワイヤが第2の電圧レベルにとどまるとき、かつ第1の時間期間が経過した後、フロー制御がアサートされていると決定し得る。
【０１０７】
ブロック1408において、LM-UARTは、フロー制御がアサートされている間、ワイヤ上でデータを送信するのを控え得る。
【０１０８】
ブロック1410において、LM-UARTは、フロー制御がアサート解除されるとワイヤ上でデータを送信し得る。
【０１０９】
いくつかの例では、ワイヤは、第2の時間期間の満了の後、第1の電圧レベルに戻される。LM-UARTは、第2の時間期間の満了時にワイヤが第1の電圧レベルに戻った後に開始する第3の時間期間にわたってワイヤが第2の電圧レベルにとどまるとき、かつフロー制御パルスに対して規定された最小時間期間を第3の時間期間が超えるとき、フロー制御がアサート解除されると決定し得る。LM-UARTは、第2の時間期間の持続時間に基づいて第4の時間期間を計算し得、第4の時間期間が経過した後、フロー制御がアサート解除されると決定し得る。
【０１１０】
いくつかの例では、ワイヤが停止条件の持続時間内に第2の電圧レベルに遷移するとき、フロー制御はアサートされているものと決定される。
【０１１１】
いくつかの例では、LM-UARTは、停止条件が終結した後に第2の電圧レベルへのワイヤの遷移が発生するとき、エラー条件を決定し得、エラー条件が決定されるときワイヤを第1の電圧レベルに駆動し得る。ワイヤは、キーパー回路をフリップさせることによって、エラー条件が決定されるとき第1の電圧レベルに駆動され得る。
【０１１２】
一例では、LM-UARTは、データグラムのための送信時間に対応する期間が経過した後、ワイヤをアクティブに駆動することによってフロー制御を無効にし得る。データグラムは、フレーミングビットおよび制御ビットを伴うかまたは伴わない、8ビットデータバイト、16ビットデータワード、またはいくつかの他の個数のビットを搬送し得る。
【０１１３】
図15は、処理回路1502を採用する装置1500のためのハードウェア実装形態の簡略化された例を示す図である。装置は、本明細書で開示するいくつかの態様によるブリッジング回路を実装し得る。処理回路は、通常、1つまたは複数のマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、シーケンサ、および/またはステートマシンを含み得る、コントローラまたはプロセッサ1516を有する。処理回路1502は、バス1520によって概略的に表されるバスアーキテクチャを用いて実装され得る。バス1520は、処理回路1502の特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスおよびブリッジを含んでよい。バス1520は、コントローラまたはプロセッサ1516、モジュールまたは回路1504、1506、1508、および1510、ならびにコンピュータ可読記憶媒体1518によって表される、1つまたは複数のプロセッサおよび/またはハードウェアモジュールを含む、様々な回路を互いにリンクさせる。装置は、インターフェース1512当り可変数のワイヤ1514を使用するフロー制御を伴う全二重シリアル通信のために適合された、複数のマルチワイヤインターフェース1512を有してよい。バス1520はまた、タイミングソース、周辺機器、電圧調整器、および電力管理回路などの様々な他の回路をリンクさせてよく、そうした回路は当技術分野でよく知られており、したがって、これ以上説明しない。
【０１１４】
プロセッサ1516は、コンピュータ可読記憶媒体1518上に記憶されたソフトウェア、コード、および/または命令の実行を含む、一般的な処理を担当する。コンピュータ可読記憶媒体は、非一時的記憶媒体を含み得る。ソフトウェアは、プロセッサ1516によって実行されたとき、任意の特定の装置のための上記で説明した様々な機能を処理回路1502に実行させる。コンピュータ可読記憶媒体は、ソフトウェアを実行するときにプロセッサ1516によって操作されるデータを記憶するために使用され得る。処理回路1502は、モジュール1504、1506、1508、および1510のうちの少なくとも1つをさらに含む。モジュール1504、1506、1508、および1510は、コンピュータ可読記憶媒体1518の中に常駐する/記憶されるとともにプロセッサ1516の中で実行しているソフトウェアモジュール、プロセッサ1516に結合された1つもしくは複数のハードウェアモジュール、またはそれらのいくつかの組合せであってよい。モジュール1504、1506、1508、および1510は、マイクロコントローラ命令、ステートマシン構成パラメータ、またはそれらのいくつかの組合せを含み得る。
【０１１５】
一構成では、装置1500は、シリアルデータリンクのワイヤ1514のうちの1つにおいて停止条件をアサートするように構成されたモジュールおよび/または回路1506、1508と、第1の時間期間の後、ワイヤを監視するように構成されたモジュールおよび/または回路1504、1506、1508、1510と、フロー制御がアサートされていると決定するように構成されたモジュールおよび/または回路1506、1510と、フロー制御がアサート解除されるとワイヤ上でデータを送信するように構成されたモジュールおよび/または回路1506とを含む。装置1500は、シリアルデータリンクが同期的に動作させられるときにデータパケットを送信するように構成可能であってよい。装置1500は、シリアルデータリンクが非同期的に動作させられるときにデータパケットを送信するように構成可能であってよい。
【０１１６】
図16は、受信LM-UARTにおいて実行され得る第1の方法のフローチャート1600である。
【０１１７】
ブロック1602において、LM-UARTは、ワイヤからシリアルデータを受信し得る。LM-UARTは、データのビットを直並列変換器の中に受信し得、ここで、フレームの末尾はストップビットによって示され得る。
【０１１８】
ブロック1604において、LM-UARTは、ストップビットが受信されているかどうかを決定し得る。ストップビットが受信されていない場合、LM-UARTは、ブロック1602において、ワイヤからシリアルデータのビットを受信し続ける。ストップビットが受信されている場合、LM-UARTはブロック1606に進む。
【０１１９】
ブロック1606において、LM-UARTは、シリアルデータまたはパラレルデータを受信するバッファが、いっぱいであるかまたはしきい値占有レベルを超えているかどうかを決定し得る。LM-UARTが、バッファがいっぱいでないと決定する場合、LM-UARTは、ブロック1602において、ワイヤからシリアルデータを受信し続ける。LM-UARTが、バッファがいっぱいであると決定する場合、LM-UARTはブロック1610に進む。
【０１２０】
ブロック1610において、LM-UARTは、ワイヤをロー論理状態に駆動することによって、シリアルデータリンクのためのフロー制御をアサートし得る(ここで、ストップビットはハイ論理状態として表される)。
【０１２１】
ブロック1612において、LM-UARTは、バッファが空になるかまたはデータを受信し続けるために十分なスペースを有するのを待ち得る。バッファがさらなるデータを受信できるとき、LM-UARTは、ワイヤをハイ論理状態に駆動することによって、ブロック1616においてフロー制御をアサート解除し得る。LM-UARTは、次いで、ブロック1602において、ワイヤからシリアルデータを受信するのを再開し得る。
【０１２２】
図17は、受信LM-UARTにおいて実行され得る第2の方法のフローチャート1700である。
【０１２３】
ブロック1702において、LM-UARTは、シリアルデータリンクのワイヤ上で停止条件がアサートされていると決定し得る。停止条件は、データがワイヤから受信された後にワイヤが第1の電圧レベルに駆動されるときに開始される第1の時間期間にわたって持続し得る。
【０１２４】
ブロック1704において、LM-UARTは、フロー制御パルスに対して規定された最小時間期間を超える第2の時間期間にわたってワイヤを第2の電圧レベルに駆動することによって、シリアルデータリンクのためのフロー制御をアサートし得る。
【０１２５】
ブロック1706において、LM-UARTは、第2の時間期間が終結するときにワイヤを第1の電圧レベルに駆動することを含む、シリアルデータリンクのためのフロー制御をアサート解除することを行い得る。シリアルデータリンクのためのフロー制御をアサート解除することは、第2の時間期間が経過した後、ワイヤ上でパルスを送信することを含み得る。パルスは、フロー制御パルスに対して規定された最小時間期間を超える持続時間を有し得る。
【０１２６】
ブロック1708において、LM-UARTは、シリアルデータリンクのためのフロー制御をアサート解除した後、ワイヤからデータを受信し得る。
【０１２７】
いくつかの例では、LM-UARTは、シリアルデータリンクのためのフロー制御がその間にアサートされるべき第3の時間期間を選択し得、第3の時間期間の持続時間に基づいて第2の時間期間を計算し得る。
【０１２８】
いくつかの例では、LM-UARTは、第1の時間期間が満了しているとき、シリアルデータリンクのためのフロー制御をアサートするのを控え得る。LM-UARTは、シリアルデータリンクのためのフロー制御がアサートされるべきでないと決定し得、シリアルデータリンクのためのフロー制御がアサートされるべきでないと決定した後、第1の時間期間の間に第2の電圧レベルへのワイヤの遷移が発生するとき、エラー条件を決定し得、エラー条件が決定されるとワイヤを第1の電圧レベルに駆動し得る。ワイヤは、キーパー回路をフリップさせることによって、エラー条件が決定されるとき第1の電圧レベルに駆動され得る。
【０１２９】
図18は、処理回路1802を採用する装置1800のためのハードウェア実装形態の簡略化された例を示す図である。装置は、本明細書で開示するいくつかの態様によるブリッジング回路を実装し得る。処理回路は、通常、1つまたは複数のマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、シーケンサ、および/またはステートマシンを含み得る、コントローラまたはプロセッサ1816を有する。処理回路1802は、バス1820によって概略的に表されるバスアーキテクチャを用いて実装され得る。バス1820は、処理回路1802の特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスおよびブリッジを含んでよい。バス1820は、コントローラまたはプロセッサ1816、モジュールまたは回路1804、1806、1808、および1810、ならびにコンピュータ可読記憶媒体1818によって表される、1つまたは複数のプロセッサおよび/またはハードウェアモジュールを含む、様々な回路を互いにリンクさせる。装置は、インターフェース1812当り可変数のワイヤ1814を使用するフロー制御を伴う全二重シリアル通信のために適合された、複数のマルチワイヤインターフェース1812を有してよい。バス1820はまた、タイミングソース、周辺機器、電圧調整器、および電力管理回路などの様々な他の回路をリンクさせてよく、そうした回路は当技術分野でよく知られており、したがって、これ以上説明しない。
【０１３０】
プロセッサ1816は、コンピュータ可読記憶媒体1818上に記憶されたソフトウェア、コード、および/または命令の実行を含む、一般的な処理を担当する。コンピュータ可読記憶媒体は、非一時的記憶媒体を含み得る。ソフトウェアは、プロセッサ1816によって実行されたとき、任意の特定の装置のための上記で説明した様々な機能を処理回路1802に実行させる。コンピュータ可読記憶媒体は、ソフトウェアを実行するときにプロセッサ1816によって操作されるデータを記憶するために使用され得る。処理回路1802は、モジュール1804、1806、1808、および1810のうちの少なくとも1つをさらに含む。モジュール1804、1806、1808、および1810は、コンピュータ可読記憶媒体1818の中に常駐する/記憶されるとともにプロセッサ1816の中で実行しているソフトウェアモジュール、プロセッサ1816に結合された1つもしくは複数のハードウェアモジュール、またはそれらのいくつかの組合せであってよい。モジュール1804、1806、1808、および1810は、マイクロコントローラ命令、ステートマシン構成パラメータ、またはそれらのいくつかの組合せを含み得る。
【０１３１】
一構成では、装置1800は、シリアルデータリンクのワイヤ1814のうちの1つにおいて停止条件がいつアサートされるのかを決定するように構成されたモジュールおよび/または回路1806、1808と、ワイヤ上でフロー制御をアサートするように構成されたモジュールおよび/または回路1810と、フロー制御がアサート解除されるとワイヤからデータを受信するように構成されたモジュールおよび/または回路1806とを含む。装置1800は、シリアルデータリンクが同期的に動作させられるときにデータを受信するように構成可能であってよい。装置1800は、シリアルデータリンクが非同期的に動作させられるときにデータを受信するように構成可能であってよい。
【０１３２】
開示するプロセスにおけるステップの特定の順序または階層が例示的な手法の例示であることが理解される。設計選好に基づいて、プロセスにおけるステップの特定の順序または階層が再構成されてよいことが理解される。さらに、いくつかのステップは、組み合わされてよく、または省略されてよい。添付の方法クレームは、様々なステップの要素を例示的な順序で提示し、提示された特定の順序または階層に限定されることは意図されない。
【０１３３】
上述の説明は、本明細書で説明した様々な態様を任意の当業者が実践できるようにするために提供される。これらの態様への様々な修正は当業者に容易に明らかになり、本明細書で定義する一般原理は他の態様に適用されてよい。したがって、特許請求の範囲は、本明細書に示す態様に限定されるものではなく、クレーム文言と一致するすべての範囲を与えられるべきであり、単数形での要素への言及は、そのように明記されていない限り、「唯一無二の」ではなく、「1つまたは複数の」を意味するものとする。別段に明記されていない限り、「いくつかの」という用語は、1つまたは複数を指す。当業者に知られているか、または後で知られることになる、本開示全体にわたって説明した様々な態様の要素に対するすべての構造的および機能的均等物は、参照により本明細書に明確に組み込まれ、特許請求の範囲によって包含されることが意図される。その上、本明細書で開示したものは、そのような開示が特許請求の範囲に明示的に記載されているかどうかにかかわらず、公に供されるものではない。クレーム要素は、要素が「ための手段」という句を使用して明確に記載されていない限り、ミーンズプラスファンクションとして解釈されるべきではない。
【符号の説明】
【０１３４】
100  装置
102  ディスプレイ
104  キーパッド
106  ボタン
120  処理回路
122  ASICデバイス
124  ユーザインターフェース回路
126  RFフロントエンド回路
128  インターフェース回路
130  モデム
132  プロセッサ
134  メモリデバイス
138  専用通信リンク
140  アンテナ
200  シリアルインターフェース
202〜204  4ワイヤHS-UART
206〜208  ワイヤ
220  シリアルインターフェース
222〜224  高速ユニバーサル非同期レシーバ/トランスミッタデバイス
226  ワイヤ
228  送信データバッファリングおよびフロー制御論理
230  受信データバッファリングおよびフロー制御論理
232  受信データバッファリングおよびフロー制御論理
234  送信データバッファリングおよびフロー制御論理
300  単一ワイヤインターフェース
304  システムバス
306  FIFO
308  並直列変換器
310  トランスミッタ制御論理
312  ラインドライバ
314  ラインレシーバ
316  フロー制御論理
320  単一ワイヤ
324  システムバス
326  FIFO
328  直並列変換器
330  レシーバ制御論理
332  ラインレシーバ
334  フロー制御論理
336  ラインドライバ
504〜508  キーパー回路
804  プルアップ抵抗器
830  カウンタ
832  制御モジュール
【図１】
2019517066.tif 000004
【図２】
2019517066.tif 000005
【図３】
2019517066.tif 000006
【図４】
2019517066.tif 000007
【図５】
2019517066.tif 000008
【図６】
2019517066.tif 000009
【図７】
2019517066.tif 000010
【図８】
2019517066.tif 000011
【図９】
2019517066.tif 000012
【図１０】
2019517066.tif 000013
【図１１】
2019517066.tif 000014
【図１２】
2019517066.tif 000015
【図１３】
2019517066.tif 000016
【図１４】
2019517066.tif 000017
【図１５】
2019517066.tif 000018
【図１６】
2019517066.tif 000019
【図１７】
2019517066.tif 000020
【図１８】
2019517066.tif 000021
【手続補正書】
【提出日】平成30年11月13日(2018.11.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
送信デバイスにおいて実行される方法であって、
停止条件の持続時間よりも短い第1の時間期間にわたってシリアルデータリンクのワイヤを第1の電圧レベルに駆動することによって、前記ワイヤ上で前記停止条件をアサートするステップと、
前記第1の時間期間の後、前記ワイヤを監視するステップと、
フロー制御パルスに対して規定された最小時間期間を超える第2の時間期間にわたって前記ワイヤが第2の電圧レベルにとどまるとき、かつ前記第1の時間期間が経過した後、フロー制御がアサートされていると決定するステップと、
フロー制御がアサートされている間、前記ワイヤ上でデータを送信するのを控えるステップと、
フロー制御がアサート解除されると前記ワイヤ上でデータを送信するステップと
を備える方法。
【請求項２】
前記第2の時間期間の満了の後、前記ワイヤが前記第1の電圧レベルに戻され、前記方法が、
前記第2の時間期間の満了時に前記ワイヤが前記第1の電圧レベルに戻った後に開始する第3の時間期間にわたって前記ワイヤが前記第2の電圧レベルにとどまるとき、かつフロー制御パルスに対して規定された前記最小時間期間を前記第3の時間期間が超えるとき、フロー制御がアサート解除されると決定するステップをさらに備える、
請求項1に記載の方法。
【請求項３】
前記第2の時間期間の満了の後、前記ワイヤが前記第1の電圧レベルに戻され、前記方法が、
前記第2の時間期間の持続時間に基づいて第4の時間期間を計算するステップと、
前記第4の時間期間が経過した後、フロー制御がアサート解除されると決定するステップと
をさらに備える、
請求項1に記載の方法。
【請求項４】
前記ワイヤが前記停止条件の前記持続時間内に前記第2の電圧レベルに遷移するとき、フロー制御がアサートされているものと決定される、請求項1に記載の方法。
【請求項５】
前記停止条件が終結した後に前記第2の電圧レベルへの前記ワイヤの遷移が発生するとき、エラー条件を決定するステップと、
前記エラー条件が決定されるとき前記ワイヤを前記第1の電圧レベルに駆動するステップと
をさらに備える、請求項4に記載の方法。
【請求項６】
前記エラー条件が決定されるとき前記ワイヤを前記第1の電圧レベルに駆動するステップが、
キーパー回路をフリップさせるステップを備える、
請求項5に記載の方法。
【請求項７】
データグラムのための送信時間に対応する期間が経過した後、前記ワイヤをアクティブに駆動することによってフロー制御を無効にするステップ
をさらに備える、請求項1に記載の方法。
【請求項８】
シリアルデータリンクのワイヤに結合されたラインドライバであって、
前記ワイヤを介してデータパケットを送信し、
停止条件の持続時間よりも短い第1の時間期間にわたって前記ワイヤを第1の電圧レベルに駆動することによって、前記データパケットを送信した後に前記停止条件を提供する
ように構成されたラインドライバと、
フロー制御回路であって、
前記第1の時間期間が経過した後、前記ワイヤを監視し、
前記第1の時間期間が経過した後、フロー制御パルスに対して規定された最小時間期間を超える第2の時間期間にわたって前記ワイヤが第2の電圧レベルにとどまるとき、フロー制御がアサートされていると決定する
ように構成されたフロー制御回路と
を備え、
前記ラインドライバが、
フロー制御がアサートされている間、前記ワイヤ上でデータを送信するのを控え、
フロー制御がアサート解除されると前記ワイヤ上でデータを送信する
ようにさらに構成される、
送信装置。
【請求項９】
前記第2の時間期間の満了の後、前記ワイヤが前記第1の電圧レベルに戻され、前記フロー制御回路が、
前記第2の時間期間の満了時に前記ワイヤが前記第1の電圧レベルに戻った後に開始する第3の時間期間にわたって前記ワイヤが前記第2の電圧レベルにとどまるとき、かつフロー制御パルスに対して規定された前記最小時間期間を前記第3の時間期間が超えるとき、フロー制御がアサート解除されると決定するように構成される、
請求項8に記載の送信装置。
【請求項１０】
前記第2の時間期間の満了の後、前記ワイヤが前記第1の電圧レベルに戻され、前記フロー制御回路が、
前記第2の時間期間の持続時間に基づいて第4の時間期間を計算し、
前記第4の時間期間が経過した後、フロー制御がアサート解除されると決定する
ように構成される、
請求項8に記載の送信装置。
【請求項１１】
前記フロー制御回路が、
前記第4の時間期間に対応する個数のクロックパルスを計数するようにカウンタをプログラムし、
前記カウンタが、前記第4の時間期間に対応する前記個数のクロックパルスを計数した後、フロー制御がアサート解除されると決定するように構成される、
請求項10に記載の送信装置。
【請求項１２】
前記ワイヤが前記停止条件の前記持続時間内に前記第2の電圧レベルに遷移するとき、フロー制御がアサートされているものと決定される、請求項8に記載の送信装置。
【請求項１３】
前記フロー制御回路は、前記停止条件が終結した後に前記第2の電圧レベルへの前記ワイヤの遷移が発生するとき、エラー条件が発生していると決定するように構成される、請求項12に記載の送信装置。
【請求項１４】
前記フロー制御回路は、前記エラー条件が決定されるとき前記ワイヤを前記第1の電圧レベルに駆動するように構成される、請求項13に記載の送信装置。
【請求項１５】
前記フロー制御回路は、前記エラー条件が決定されるときキーパー回路をフリップさせるように構成される、請求項13に記載の送信装置。
【請求項１６】
前記シリアルデータリンクが同期的に動作させられるときにデータパケットを送信するように構成可能である、請求項8に記載の送信装置。
【請求項１７】
前記フロー制御回路が、
データバイトのための送信時間に対応する期間が経過した後、前記ワイヤをアクティブに駆動することによってフロー制御を無効にするように構成される、
請求項8に記載の送信装置。
【請求項１８】
受信デバイスにおいて実行される方法であって、
シリアルデータリンクのワイヤ上で停止条件がアサートされていると決定するステップであって、前記停止条件は、データが前記ワイヤから受信された後に前記ワイヤが第1の電圧レベルに駆動されるときに開始される第1の時間期間にわたって持続する、ステップと、
フロー制御パルスに対して規定された最小時間期間を超える第2の時間期間にわたって前記ワイヤを第2の電圧レベルに駆動することによって、前記シリアルデータリンクのためのフロー制御をアサートするステップと、
前記第2の時間期間が終結するときに前記ワイヤを前記第1の電圧レベルに駆動するステップを含む、前記シリアルデータリンクのための前記フロー制御をアサート解除するステップと、
前記シリアルデータリンクのための前記フロー制御をアサート解除した後、前記ワイヤからデータを受信するステップと
を備える方法。
【請求項１９】
前記シリアルデータリンクのための前記フロー制御をアサート解除するステップが、
前記第2の時間期間が経過した後、前記ワイヤ上でパルスを送信するステップを備え、前記パルスが、フロー制御パルスに対して規定された最小時間期間を超える持続時間を有する、
請求項18に記載の方法。
【請求項２０】
前記シリアルデータリンクのための前記フロー制御がその間にアサートされるべき第3の時間期間を選択するステップと、
前記第3の時間期間の持続時間に基づいて前記第2の時間期間を計算するステップと
をさらに備える、請求項18に記載の方法。
【請求項２１】
前記第1の時間期間が満了しているとき、前記シリアルデータリンクのためのフロー制御をアサートするのを控えるステップ
をさらに備える、請求項18に記載の方法。
【請求項２２】
前記シリアルデータリンクのためのフロー制御がアサートされるべきでないと決定するステップと、
前記シリアルデータリンクのためのフロー制御がアサートされるべきでないと決定した後、前記第1の時間期間の間に前記第2の電圧レベルへの前記ワイヤの遷移が発生するとき、エラー条件を決定するステップと、
前記エラー条件が決定されるとき前記ワイヤを前記第1の電圧レベルに駆動するステップと
をさらに備える、請求項18に記載の方法。
【請求項２３】
前記エラー条件が決定されるとき前記ワイヤを前記第1の電圧レベルに駆動するステップが、
キーパー回路をフリップさせるステップを備える、
請求項22に記載の方法。
【請求項２４】
シリアルデータリンクのワイヤ上で停止条件がアサートされていると決定するための手段であって、前記停止条件は、データが前記ワイヤから受信された後に前記ワイヤが第1の電圧レベルに駆動されるときに開始される第1の時間期間にわたって持続する、手段と、
フロー制御シグナリングを提供するための手段であって、
フロー制御パルスに対して規定された最小時間期間を超える第2の時間期間にわたって前記ワイヤを第2の電圧レベルに駆動することによって、前記シリアルデータリンクのためのフロー制御をアサートすることと、
前記第2の時間期間が終結するときに前記ワイヤを前記第1の電圧レベルに駆動することを含む、前記シリアルデータリンクのための前記フロー制御をアサート解除することと
を行うように構成された手段と、
前記シリアルデータリンクのために前記フロー制御がアサート解除された後、前記ワイヤからデータを受信するための手段と
を備える装置。
【請求項２５】
フロー制御シグナリングを提供するための前記手段が、
前記第2の時間期間が経過した後、前記ワイヤ上でパルスを送信するように構成され、前記パルスが、フロー制御パルスに対して規定された最小時間期間を超える持続時間を有する、
請求項24に記載の装置。
【請求項２６】
フロー制御シグナリングを提供するための前記手段が、
前記シリアルデータリンクのための前記フロー制御がその間にアサートされるべき第3の時間期間を選択し、
前記第3の時間期間の持続時間に基づいて前記第2の時間期間を計算するように構成される、
請求項24に記載の装置。
【請求項２７】
フロー制御シグナリングを提供するための前記手段が、
前記第1の時間期間が満了しているとき、前記シリアルデータリンクのためのフロー制御をアサートするのを控えるように構成される、
請求項24に記載の装置。
【請求項２８】
前記シリアルデータリンク上のシグナリングエラーを修正するための手段であって、
前記シリアルデータリンクのためのフロー制御がアサートされるべきでないと決定し、
前記シリアルデータリンクのためのフロー制御がアサートされるべきでないと決定した後、前記第1の時間期間の間に前記第2の電圧レベルへの前記ワイヤの遷移が発生するとき、エラー条件が発生していると決定する
ように構成された手段をさらに備え、
フロー制御シグナリングを提供するための前記手段は、前記エラー条件の発生が決定されるとき前記ワイヤを前記第1の電圧レベルに駆動するように構成される、
請求項24に記載の装置。
【請求項２９】
フロー制御シグナリングを提供するための前記手段は、前記エラー条件の発生が決定されるときキーパー回路をフリップさせるように構成される、請求項28に記載の装置。
【請求項３０】
前記ワイヤからデータを受信するための前記手段は、前記シリアルデータリンクが同期的に動作させられるときにデータを受信するように構成可能である、請求項24に記載の装置。
【請求項３１】
プロセッサによって実行されたとき、請求項1から7および18から23のいずれか1項に記載の方法のステップを実行する命令を記憶したコンピュータ可読記録媒体。
【国際調査報告】
2019517066.tif 000022
2019517066.tif 000023