JP7212637B2 - シリアル通信のためのスレーブデバイス及び方法 - Google Patents

シリアル通信のためのスレーブデバイス及び方法 Download PDF

Info

Publication number
JP7212637B2
JP7212637B2 JP2019572645A JP2019572645A JP7212637B2 JP 7212637 B2 JP7212637 B2 JP 7212637B2 JP 2019572645 A JP2019572645 A JP 2019572645A JP 2019572645 A JP2019572645 A JP 2019572645A JP 7212637 B2 JP7212637 B2 JP 7212637B2
Authority
JP
Japan
Prior art keywords
data
signal
clock signal
bit data
serial
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.)
Active
Application number
JP2019572645A
Other languages
English (en)
Other versions
JP2021536043A (ja
Inventor
ファン、ピン
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.)
Chipone Technology Beijing Co Ltd
Original Assignee
Chipone Technology Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chipone Technology Beijing Co Ltd filed Critical Chipone Technology Beijing Co Ltd
Publication of JP2021536043A publication Critical patent/JP2021536043A/ja
Application granted granted Critical
Publication of JP7212637B2 publication Critical patent/JP7212637B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Dc Digital Transmission (AREA)
  • Communication Control (AREA)

Description

本出願は、2018年12月10日に出願された、出願番号が201811501631.6で、発明の名称が「シリアル通信のためのスレーブデバイス及び方法」の中国特許出願の優先権を主張し、その全ての内容を本出願に援用する。
[技術分野]
本発明はデータ通信技術分野に関し、具体的にシリアル通信のためのスレーブデバイス及び方法に関する。
従来の技術において、SPI(Serial Peripheral Interface、シリアルペリフェラルインタフェース)スレーブデバイスにより、データを伝送するための一般的な設計方法の構造ブロック図が図1に示されている。SPIスレーブデバイス100は、クロック信号端子SCLKを介してシリアルクロック信号SCLKを受信し、データ入力端MOSIを介してデータを受信し、データ出力端MISOを介してデータを伝送する。SPIスレーブデバイスは内部でSPIシリアルクロック(SCLK)の周波数よりも数倍高いシステムクロック(SYSCLK)を使用して、エッジ検出モジュール110において、伝送エッジとも呼ばれる、SPIシリアルクロック信号のSCLKエッジ、すなわちシリアルクロック信号SCLKの立ち上がりエッジ又は立ち下がりエッジの遷移を同期させて検出し、伝送エッジ信号を取得する。該伝送エッジ信号はイネーブル信号ENTXとして、1システムクロックSYSCLK周期のみに高レベルで有効である。ロジックモジュール120はイネーブル信号に基づいて、記憶モジュール130からデータを読み取り、伝送データの1ビットをデータ出力端MISOにシフト出力し、1群のデータ(通常8bitである)のシフト出力が完了した後、メモリから次の1群のデータを読み取って再びシフト出力する。
図2は該方法のSPIモード0でデータを伝送する波形図である。図に示すように、SPIシリアルクロックは通常、SPIがデータを伝送する際(CSの有効期間)にのみ動作し、それ以外のときに固定レベルに維持して変化しない(変化があってもCSゲートで制御することができる)。SPIモード0では、1番目のSPIシリアルクロック伝送エッジが到着する前に、第1ビットデータを準備して、データ出力端MISOに出力する必要がある。SPIシリアルクロックが到着する前に、SPIシリアルクロックを使用してメモリからデータを読み取って、第1ビットデータを伝送することができないため、通常、システムクロック信号SYSCLKを使用してデータを伝送する。
このデータ伝送方法にはいくつかの欠点がある。図2では、SPIシリアルクロックの伝送エッジからシステムクロックSYSCLKまで、SPIシリアルクロックの伝送エッジ遷移信号をクロックドメイン全体で同期して検出し、該遷移信号をイネーブル信号ENTXとして、データをシフト出力し、このデータ準備遅延Ta(MISO data prepare delay)は、通常2~3システムクロックSYSCLK周期(TSYSCLK)である。もう1つの遅延は、PAD/boardにおけるデータ伝送遅延Tb(MISO PAD/board delay)である。SPIシリアルクロックの半周期(TSCLK/2)からデータ準備遅延TaとPAD/boardにおけるデータ伝送遅延Tb(MISO PAD/board delay)を引いて、受信側での出力データのセットアップ時間Tc(MISO setup time)を得る。1つのプロジェクトでは、PAD/boardにおけるデータの伝送遅延Tbは固定されており、データ準備遅延Taが大きいほど出力データのセットアップ時間Tcが小さくなり、伝送速度の向上を制限する。
受信側で出力データのセットアップ時間要件を満たすために、SPIシリアルクロック周波数(すなわち伝送速度)が一定的(すなわち、TSCLK/2が一定的である)であるとき、データ準備遅延Taを減少させるために、より高い周波数のシステムクロック信号SYSCLKが要求される。又は、システムクロック信号SYSCLKの周波数が一定の場合、サポート可能なSPIシリアルクロックの最大周波数がより低いが、これはシステムクロックSYSCLK/シリアルクロックSCLKの周波数比がより高いことからも分かる。
上記問題点に鑑み、本発明の目的は、システムクロックSYSCLK/シリアルクロック信号SCLKの周波数比を小さくし、出力データのセットアップ時間を短縮することができる、シリアル通信のためのスレーブデバイス及び方法を提供することである。
本発明の一態様によれば、スレーブデバイス用のシリアル通信方法を提供し、クロック信号端子を介してシリアルクロック信号を受信することと、データ入力端を介して、連続したビットデータを複数含むデータを受信することと、システムクロック信号に同期して、前記データをシフトしてビットデータを取得することと、前記シリアルクロック信号に同期して、前記ビットデータをラッチし、およびデータ出力端を介してラッチされたビットデータの少なくとも一部を伝送することとを含み、前記シリアルクロック信号及び前記システムクロック信号は、それぞれ第1クロック周期及び第2クロック周期を有し、前記第1クロック周期が前記第2クロック周期よりも長い。
所望により、前記シリアルクロック信号の連続周期において、それぞれ前記データの選択ビットデータをそれぞれシフトして、ラッチして伝送する。
所望により、前記シリアルクロック信号に基づいて、クロック駆動信号を生成することをさらに含み、前記クロック駆動信号のエッジに前記ビットデータを伝送する。
所望により、前記クロック駆動信号は、前記シリアルクロック信号をゲーティング及び/又は位相変換することによって取得される。
所望により、前記データをシフトするステップは、前記シリアルクロック信号の第1クロック周期において、少なくとも1つの第2クロック周期を遅延することによって、前記システムクロック信号に同期したイネーブル信号を取得することと、前記イネーブル信号に基づいて、前記データをシフトしてビットデータを取得することとを含む。
所望により、前記イネーブル信号に基づいて、前記ビットデータをシフトして第1ビットデータを取得することと、前記第1ビットデータをラッチすることと、ラッチされた第1ビットデータを伝送することと、をさらに含む。
所望により、前記シリアルクロック信号に基づいて、前記データの第1ビットデータ及び残りのビットデータを選択的にデータ出力端に提供して伝送するための選択信号を取得することをさらに含む。
所望により、前記スレーブデバイスの動作モードに基づいて、前記シリアルクロック信号の立ち上がりエッジ又は立ち下がりエッジに前記ビットデータを伝送する。
所望により、前記スレーブデバイスの動作モードに基づいて、前記シリアルクロック信号の1番目のエッジの前又はその後に前記第1ビットデータを伝送する。
本発明の他の態様によれば、クロック信号端子を介してシリアルクロック信号を受信し、データ入力端を介してデータを受信し、データ出力端を介して前記データを伝送するシリアル通信用のスレーブデバイスを提供し、前記スレーブデバイスは、前記データを記憶するための記憶モジュールと、記憶モジュールと結合され、システムクロック信号に同期し、前記データをシフトしてビットデータを取得するためのロジックモジュールと、ロジックモジュールと結合され、前記データの第1ビットデータをラッチするための第1ラッチモジュールと、ロジックモジュールと結合され、前記データの残りのビットデータをラッチするための第2ラッチモジュールと、前記シリアルクロック信号に同期した選択信号を取得するための選択信号生成モジュールと、第1ラッチモジュール、第2ラッチモジュール及び選択信号生成モジュールと結合され、選択信号に基づいて、前記第1ビットデータ及び前記残りのビットデータの一方を前記データ出力端に提供するための選択モジュールとを含み、前記シリアルクロック信号及び前記システムクロック信号は、それぞれ第1クロック周期及び第2クロック周期を有し、前記第1クロック周期が前記第2クロック周期よりも長いことを特徴とする。
所望により、前記シリアルクロック信号の第1クロック周期において、少なくとも1つの第2クロック周期を遅延することによって、前記システムクロック信号に同期したイネーブル信号を取得するためのエッジ検出モジュールをさらに含む。
所望により、前記シリアルクロック信号をゲーティング及び/又は位相変換して、クロック駆動信号を取得するためのクロックモジュールをさらに含み、前記選択信号生成モジュールは、前記クロック駆動信号のエッジ検出に基づいて前記選択信号を生成する。
所望により、前記ロジックモジュールは、スレーブデバイスの動作モードに基づいて、前記第1ビットデータを前記第1ラッチモジュール又は前記第2ラッチモジュールにシフトすることを選択する。
所望により、前記第1ラッチモジュールは、第1ビットデータをラッチして出力するためのフリップフロップ及び制御ロジックを含む。
所望により、前記第2ラッチモジュールはフリップフロップを含み、残りのビットデータをラッチして出力するために、前記クロック駆動信号がフリップフロップのクロック端子に印加される。
所望により、前記選択信号生成モジュールは、選択信号を制御するためのフリップフロップ及び制御ロジックモジュールを含む。
本発明により提供されたシリアル通信のためのスレーブデバイス及び方法によると、以下の利点及び利益を有する。システムクロックSYSCLKを利用して、検出された、伝送エッジとも呼ばれるシリアルクロック信号SCLKエッジ、すなわちシリアルクロック信号SCLKの立ち上がりエッジ又は立ち下がりエッジに基づいて、予めシフトして、伝送されるビットデータを準備し、シリアルクロック信号SCLKの伝送エッジが到着するとき、該クロックエッジを伝送フリップフロップに印加して、該伝送されるデータをラッチして伝送し、セレクタにより選択して出力する。このように、伝送データの準備遅延を伝送エッジの到着前に移し、受信側への伝送データには伝送遅延(PAD/board delay)しかなく、それにより、最良の伝送データセットアップ時間が得られ、システムクロックSYSCLK/シリアルクロック信号SCLKの周波数比が低くなる。
さらに、予めシフトして、伝送されるビットデータを準備することは、システムクロックSYSCLKにより検出されたシリアルクロック信号SCLKの伝送エッジに基づいて行われ、その最大遅延時間が3システムクロックSYSCLK周期であり、シリアルクロック信号SCLKの2つの伝送エッジ間隔(すなわち周期)が3システムクロックSYSCLK周期よりも大きい限り、シリアルクロック信号SCLKの伝送エッジ(モードによってクロック駆動信号GSCLKに切り替える)を用いて、システムクロックSYSCLKにより予めシフトして準備できた、伝送されるデータを直接にラッチして伝送し、伝送フリップフロップのセットアップ時間及びホールド時間の要求を十分に満たし、データの正しい伝送を保証した。
さらに、システムクロックSYSCLKによって記憶モジュールを操作し、SPI伝送開始前にシリアルクロック信号SCLKなしで第1ビットデータを読み取り、準備し、伝送する問題、及びシリアルクロック信号SCLKがない際におけるメモリモジュールの操作問題(例えば、クリア、同期など)を解決する。
さらに、第1ビットデータラッチモジュールを増設して、SPIの異なるモードでは、第1ビットデータが1番目のシリアルクロック信号SCLKの伝送エッジの前に伝送される問題を解決し、第1ビットデータラッチモジュールに1つのフリップフロップしか使用せず、コストが極めて低い。
さらに、シフトデータラッチ及び伝送モジュールを増設して、各シリアルクロック信号SCLK伝送エッジの後に該伝送ビットデータを伝送することを確保し、受信側での伝送データのホールド時間(hold time)を保証し、データを伝送するとき、ずれがないように確保し、かつシフトデータラッチ及び伝送モジュールに1つのフリップフロップしか使用せず、コストが極めて低い。
さらに、選択信号生成モジュール及び選択モジュールを増設し、異なるモードにおいて、選択モジュールが正しいシフトビットデータを選択して出力することを保証する。
以下、図面を参照しながら本発明の実施例について説明し、本発明の上記及び他の目的、特徴並びに利点はより明らかになる。図面において、
従来の技術におけるシリアル通信のためのスレーブデバイスの構成を示すブロック図である。 従来の技術におけるスレーブデバイスのシリアル通信を示すタイミング図である。 本発明の第1実施例に係るスレーブデバイスのシリアル通信方法を示すフローチャートである。 本発明の第2実施例に係るスレーブデバイスのシリアル通信方法を示すフローチャートである。 本発明の実施例に係るスレーブデバイスのシリアル通信の4つの動作モードを示す。 本発明の第3実施例に係るシリアル通信用のスレーブデバイスの構成を示すブロック図である。 本発明の第4実施例に係るスレーブデバイスのSPIモード0でのデータ伝送方法を示すタイミング図である。 本発明の第5実施例に係るスレーブデバイスのSPIモード1でのデータ伝送方法を示すタイミング図である。
以下、本発明の様々な実施例を、添付の図面を参照しながらより詳しくに説明する。様々な添付の図面において、同じ要素は同じ又は類似の参照番号で示されている。明確にするために、図中の様々な部分は一定の縮尺で描かれていない。
以下、本発明の具体的な実施形態を、添付の図面及び実施例を参照しながらさらに詳しく説明する。
SPIバスは全二重同期ペリフェラルインタフェースバスであり、該インタフェースにそれぞれ低レベルで有効なスレーブ選択ケーブルCS、シリアルクロックケーブル(SCLK)、マスター入力/スレーブ出力データケーブルMISO、マスター出力/スレーブ入力データケーブルMOSIという4本の信号線が含まれる。信号線の数が少なく、プロトコルが単純で、相対ビットレートが高いため、チップの大部分でSPIインタフェースを統合した。SPIは、通常1つのマスターデバイスと1つ以上のスレーブデバイスを持つマスタースレーブモードで動作し、SPIシリアルクロックのサンプリングエッジに従ってマスターデバイスとスレーブデバイスの間でビットデータを受信し、データ送受信のために、伝送エッジからビットデータを伝送し、全二重通信(送受信)を実現する。
CSはマスターデバイスにより生成されるチップセレクト信号であり、各スレーブデバイスがそれぞれのCSに対応し、スレーブデバイスがマスターデバイスにより選択したか否かを示し、通常、低レベルなら有効になる。CSの有効期間のみに、マスターデバイスとスレーブデバイス間で有効なSPI伝送を行うことができ、複数群のマルチビットデータを伝送することができる。また、SPIシリアルクロックSCLKもマスターデバイスによって生成され、マスターデバイスとスレーブデバイスとは、SPIシリアルクロックSCLKのサンプリングエッジ/伝送エッジに従ってデータを送受信し、マスターデバイスは、サンプリングエッジでスレーブデバイスから伝送されたMISOデータを受信し、伝送エッジでMISOを介してデータをスレーブデバイスに伝送する。スレーブデバイスはサンプリングエッジでマスターデバイスから伝送されたMOSIデータをサンプリングして受信し、伝送エッジでMISOを介してデータをマスターデバイスに伝送する。
伝送エッジは、クロック信号のレベル遷移エッジであって、立ち上がりエッジ又は立ち下がりエッジであり、タイミング図では、伝送エッジがタイミング解析の開始点である。
図3は本発明の第1実施例に係るスレーブデバイスのシリアル通信方法を示すフローチャートであり、該方法がスレーブデバイスのシリアル通信装置により実現され、具体的に、以下のステップを含む。
ステップS301:シリアルクロック信号を受信してデータを受信する。
SPIスレーブデバイスのチップセレクト信号CSが有効になる前に、マスターデバイスからのシリアルクロック信号SCLKを受信し、データアクセス側(MOSI)を介して伝送されるデータ(DATA)を受信して、データ記憶モジュールに記憶する。
シリアルクロック信号SCLKはSPIマスターデバイスのシステムクロック信号であって、マスターデバイスにより生成される。
ステップS302:システムクロック信号に同期して、データをシフトしてビットデータを取得する。
システムクロック信号SYSCLKはSPIスレーブデバイス内部のシステムクロックであり、システムクロック信号SYSCLKを用いてシリアルクロック信号SCLKのエッジを同期して検出し、イネーブル信号ENBITを取得する。イネーブル信号ENBITは対応する有効期間を維持し、有効期間はシリアルクロック信号のエッジが第1期間を遅延するときから始め、かつ有効期間が第2期間を維持し、第1期間及び前記第2期間がそれぞれ少なくとも1つの第2クロック周期を含む。例えば、システムクロック信号SYSCLKの周期が第2クロック周期であると、イネーブル信号ENBITの有効期間がシリアルクロック信号SCLKのエッジよりも2~3システムクロック信号周期を遅延し、かつ有効期間が1システムクロック周期のみに有効である。
イネーブル信号ENBITのエッジはシステムクロック信号SYSCLKのエッジに同期しており、このエッジでメモリ内のデータをシフトしてビットデータを取得する。
前記エッジはクロック信号のレベル遷移エッジであって、伝送エッジとも呼ばれる立ち上がりエッジ又は立ち下がりエッジである。
ステップS303:シリアルクロック信号に同期して、予めシフトされるビットデータをラッチして伝送する。
シリアルクロック信号SCLKのエッジすなわち伝送エッジで、予めシフトされるビットデータをラッチして伝送し、第2ラッチモジュールにラッチして、選択モジュールに伝送する。
前記シフトされるビットデータは今回の伝送エッジで伝送されるデータであって、システムクロック信号SYSCLKが前回の伝送エッジを同期して検出して得られるイネーブル信号ENBITによりシフトしたデータを指すが、システムクロック信号SYSCLKが今回の伝送エッジを同期して検出して得られたイネーブル信号ENBITによりシフトしたデータが次の伝送エッジ時刻に伝送される。
イネーブル信号ENBITは、シリアルクロック信号SCLKのエッジに対して遅延するので、イネーブル信号ENBITに基づいてシフトされるビットデータは、シリアルクロック信号SCLKのエッジに対しても遅延し、すなわちシリアルクロック信号に同期し、ラッチして伝送されるシフトビットデータは、シリアルクロック信号SCLKの前回の周期のエッジを検出することによって得られるイネーブル信号に基づいて、シフトされたビットデータである。
ステップS304:選択信号を生成し、選択モジュールは選択信号に基づいてビットデータを選択して出力する。
選択信号SELはシリアルクロック信号SCLKに基づいて得られる。シリアルクロック信号SCLKの1番目の伝送エッジが到着する前に、選択信号SELが1であり、1番目の伝送エッジの後に、選択信号SELが0である。選択信号SELが1である場合、選択モジュールが第1ラッチ出力端と接続され、選択信号SELが0である場合、選択モジュールが第2ラッチ出力端と接続される。
上記ステップは、データ伝送開始後、すなわち1番目の伝送エッジからの、スレーブデバイスによるシリアル通信方法のデータ伝送フローのみを示している。スレーブデバイスがデータ伝送を始める前に、すなわち1番目の伝送エッジの前に、該方法は1番目の伝送エッジの前に、1つのシフトビットデータを準備して、1番目の伝送エッジ時刻に伝送することをさらに含む。SPIスレーブデバイスモードによって、該方法は1つのシフトビットデータを予め準備する前に、1つのビットデータをシフトして第1ラッチモジュールにラッチして、1番目の伝送エッジの前にそれをデータ出力端MISOに伝送することをさらに含む。
図4は本発明の第2実施例に係るスレーブデバイスのシリアル通信方法を示すフローチャートであり、図3に示した方法と比較して、図4は好適な実施例であり、異なるところはクロック駆動信号GSCLKを増設し、駆動クロックのエッジでシフトしたビットデータをラッチして伝送することであり、該方法は、以下のステップを含む。
ステップS401:シリアルクロック信号を受信してデータを受信する。
SPIスレーブデバイスのチップセレクト信号CSが有効になる前に、マスターデバイスからのシリアルクロック信号SCLKを受信し、データアクセス側(MOSI)を介して伝送されるデータ(DATA)を受信して、データ記憶モジュールに記憶する。
シリアルクロック信号SCLKはSPIマスターデバイスシステムのクロック信号であって、マスターデバイスにより生成される。
ステップS402:シリアルクロック信号に基づいてクロック駆動信号を取得する。
1つのモジュールを増設して、シリアルクロック信号SCLKを入力して、クロック駆動信号GSCLKを出力し、具体的に、クロック駆動信号GSCLKはシリアルクロック信号SCLKを位相変換及び/又はゲーティングすることによって生成される。CSの有効期間のみにゲーティングをイネーブルさせ、クロック駆動信号GSCLKを動作させる。
ステップS403:システムクロック信号に同期して、データをシフトしてビットデータを取得する。
システムクロック信号SYSCLKはSPIスレーブデバイス内部のシステムクロックであり、システムクロック信号SYSCLKを用いてシリアルクロック信号SCLKのエッジを同期して検出し、イネーブル信号ENBITを取得する。イネーブル信号ENBITが対応する有効期間を維持し、有効期間はシリアルクロック信号のエッジが第1期間を遅延するときから始め、有効期間が第2期間を持続し、第1期間及び前記第2期間はそれぞれ少なくとも1つの第2クロック周期を含む。例えば、システムクロック信号SYSCLKの周期が第2クロック周期であり、イネーブル信号ENBITの有効期間がシリアルクロック信号SCLKのエッジに対して2~3システムクロック信号周期を遅延し、有効期間が1システムクロック周期のみに有効である。
イネーブル信号ENBITのエッジがシステムクロック信号SYSCLKのエッジに同期し、このエッジでメモリ内のデータをシフトしてビットデータを取得する。
前記エッジはクロック信号のレベル遷移エッジであり、伝送エッジとも呼ばれる立ち上がりエッジ又は立ち下がりエッジである。
ステップS404:クロック駆動信号に同期して、シフトされるビットデータをラッチして伝送する。
クロック駆動信号SCLKのエッジ、すなわち伝送エッジで、予めシフトされるビットデータをラッチして伝送し、第2のラッチモジュールにラッチして選択モジュールに伝送する。
前記シフトされるビットデータは今回の伝送エッジで伝送されるデータであって、システムクロック信号SYSCLKにより、前回の伝送エッジを同期して検出して得られるイネーブル信号ENBITをシフトしたデータを指すが、システムクロック信号SYSCLKにより、今回の伝送エッジを同期して検出して得られたイネーブル信号ENBITをシフトしたデータが次の伝送エッジ時刻に伝送される。
第2実施例では、駆動クロックはシリアルクロック信号SCLKを位相変換及び/又はゲーティングすることによって得られるので、駆動クロックのエッジがシリアルクロックのエッジに同期している。
イネーブル信号ENBITはシリアルクロック信号SCLKのエッジに対して遅延するため、イネーブル信号ENBITに基づいてシフトするビットデータが、シリアルクロック信号SCLKのエッジに対しても遅延する。クロック駆動信号GSCLKに同期し、すなわちシリアルクロック信号SCLKに同期して、ラッチして伝送されるシフトビットデータは、シリアルクロック信号SCLK前回の周期のエッジを検出することにより得られたイネーブル信号に基づいて、シフトされるビットデータである。
ステップS405:選択信号を生成し、選択モジュールが選択信号に基づいてビットデータを選択して出力する。
選択信号SELはシリアルクロック信号SCLK及びクロック駆動信号GSCLKに基づいて得られる。シリアルクロック信号SCLKの1番目の伝送エッジが到着する前に、選択信号SELが1であり、1番目の伝送エッジの後に、選択信号SELが0である。選択信号SELが1である場合、選択モジュールが第1ラッチ出力端と接続され、選択信号SELが0である場合、選択モジュールが第2ラッチ出力端と接続される。
上記ステップは、データ伝送開始後、すなわち1番目の伝送エッジからの、スレーブデバイスによるシリアル通信方法のデータ伝送フローのみを示している。スレーブデバイスがデータ伝送を始める前に、すなわち1番目の伝送エッジの前に、該方法は1番目の伝送エッジの前に、1つのシフトビットデータを準備して、1番目の伝送エッジで伝送することをさらに含む。SPIスレーブデバイスモードによって、該方法は1つのシフトビットデータを予め準備する前に、1つのビットデータをシフトして第1ラッチモジュールにラッチして、1番目の伝送エッジの前にそれをデータ出力端MISOに伝送することをさらに含む。
図5は本発明の実施例に係るスレーブデバイスのシリアル通信の4つの動作モードを示す。図に示すように、システムクロックの位相CPHA及び極性CPOLに基づいて、それを4つの動作方式に分ける。
方式1(SPI0):極性CPOLが0で、位相CPHAが0であり、
方式2(SPI1):極性CPOLが0で、位相CPHAが1であり、
方式3(SPI2):極性CPOLが1で、位相CPHAが0であり、
方式4(SPI3):極性CPOLが1で、位相CPHAが1である。
極性CPOLは、SPIがアイドル状態のときにシリアルクロック信号SCLKが高レベルか低レベルかを示す。CPOLが1に設定されている場合、該デバイスがアイドル状態のとき、シリアルクロック信号SCLKのピンの下のクロック信号は高レベルである。CPOLが0に設定されている場合、シリアルクロック信号SCLKのピンの下のクロック信号は低レベルである。
位相CPHAは、シリアルクロック信号SCLKピンのクロック信号が立ち上がりエッジになったときに、SPIデバイスがデータサンプリングをトリガするか、又はシリアルクロック信号SCLKが立ち下がりエッジになったときに、データサンプリングをトリガするかを示す。CPHAが1に設定されている場合、シリアルクロック信号SCLKが立ち下がりエッジになると、SPIデバイスはデータサンプリングをトリガし、立ち上がりエッジでデータを伝送する。CPHAがゼロに設定されている場合、その逆である。
本発明では、4つのモード間の違いもまた次のように表される。
Figure 0007212637000001
図5及び表1から分かるように、SPIモード2はモード0のデータ伝送テンポと同じであり、唯一の違いはモード2のクロック駆動信号GSCLKがシリアルクロック信号SCLKと同相であることである。
SPIモード1とモード3との伝送データテンポが同じであるが、モード1ではクロック駆動信号GSCLKとシリアルクロック信号SCLKとが同相であり、モード3ではクロック駆動信号GSCLKとシリアルクロック信号SCLKとが逆位相である。
SPIモード1とモード0の伝送データテンポの違いは、SPIモード0では1番目の伝送エッジが到着する前に、すでにデータの第1ビットデータを伝送済んだが、モード1では1番目の伝送エッジの後に第1ビットデータを伝送する。
モード1及びモード3では、全ての伝送データも第2ラッチモジュールから伝送し、選択信号SELはずっと0のままである。モード0及びモード2では、第1伝送データが第1ラッチモジュールからのものであり、残りの伝送データが第2ラッチモジュールからのものであり、選択信号SELのレベルが1番目の伝送エッジの前に1であり、1番目の伝送エッジの後に0のままである。
図6は本発明の第3実施例に係るシリアル通信用のスレーブデバイスの構成を示すブロック図であり、該図が具体的に図4に示したフローチャートに対応するブロック図である。図に示すように、本発明の実施例によるSPIスレーブデバイス200はシステムクロックドメインD1及びクロック駆動信号GSCLKドメインD2に分けられ、さらにクロックモジュール310、選択モジュール214を含む。
前記システムクロックドメインD1は、エッジ検出モジュール110、記憶モジュール130、ロジックモジュール120及び第1ラッチモジュール211を含む。
前記クロック駆動信号ドメインD2は第2ラッチモジュール212及び選択信号生成モジュール213を含む。
エッジ検出モジュール110は、内部のシステムクロックSYSCLKを用いてシリアルクロック信号SCLKの伝送エッジを検出し、1内部システムクロック周期を維持する伝送エッジイネーブル信号ENBITを得る。
記憶モジュール130はすべての伝送されるデータを記憶する。
ロジックモジュール120は、記憶モジュール130から1群ずつ伝送データを読み取り、検出してイネーブル信号ENBITを得るときに、伝送データ群の1つのビットデータBITDATAを第2ラッチモジュール212にシフト伝送する。
第1ラッチモジュール211は、フリップフロップ及び制御ロジックを含み、SPIモード0及びモード2に用いられ、毎回の伝送開始前に該回に伝送される第1群の1ビット目の伝送データをラッチし、CSが有効になった後に1ビット目のビットデータを伝送し、今回の伝送中にずっと維持する。
クロックモジュール310は、CSが有効になる場合にのみゲーティングをイネーブルさせ、SPIモード0及びモード3では逆位相のシリアルクロック信号SCLKを読み取り、モード1及びモード2では同相のシリアルクロック信号SCLKを読み取り、それによってクロック駆動信号GSCLKを得る。クロック駆動信号GSCLKは、CSの有効期間にのみ動作し、クロック駆動信号GSCLKの伝送エッジは、SPIの各モードにおけるシリアルシステムクロックSCLKの伝送エッジに対応し、クロック駆動信号GSCLKの伝送エッジは、様々なモードにおいても立ち上がるエッジであり、したがって、クロック駆動信号ドメインD2は、立ち上がりエッジフリップフロップで動作する。
第2ラッチモジュール212はフリップフロップを含み、クロック駆動信号GSCLKの伝送エッジがフリップフロップクロック端子に印加され、システムクロックドメインD1における予めシフトして準備された伝送ビットデータBITDATAをラッチして伝送し、第2ラッチモジュール212の出力端を介して選択モジュール214に伝送する。
選択信号生成モジュール213は、フリップフロップ及び制御ロジックを含み、選択信号SELを生成して伝送ビットデータを選択して出力し、その必要条件は、SPIモード0とモード2との選択信号が1番目の伝送エッジの前に1であり、1番目の伝送エッジの後に0であり、1回のSPI伝送が終了するまで0のままであり、SPIモード1及びモード3ではずっと0のままである。
選択モジュール214は、選択信号SELで、システムクロックドメインD1における第1ラッチモジュール211の出力端データ、又はクロック駆動信号ドメインD2における第2ラッチモジュール212の出力端データを選択する。具体的に、選択信号SELが1である場合、第1ラッチモジュール211の出力端データを選択し、選択信号SELが0である場合、第2ラッチモジュール212の出力端データを選択する。
図7は、本発明の第4実施例に係るスレーブデバイスのSPIモード0でのデータ伝送方法を示すタイミング図である。図5を参照して、該タイミング図が2つの部分に分けられ、点線上方の信号がシステムクロックドメインD1で動作し、点線下方の信号がクロック駆動信号GSCLKドメインD2で動作する。
SPIモード0ではクロック駆動信号GSCLKはシリアルクロック信号SCLKと逆位相である。
CSが低レベルになる前に、システムクロックドメインD1において、スレーブデバイスが記憶モジュール130から第1群のデータを読み取り、第1ビットデータをBIT0第1ラッチモジュール211に記憶し、1番目の伝送エッジで伝送されるデータBITDATAをBIT1-N第2ラッチモジュール212にシフトする。同時に、システムクロックドメインD1では非同期リセット信号を生成し、リセットクロック駆動信号GSCLKドメインD2における選択信号SELが1である。
CSが低レベルになった後、駆動クロックドメインD2において、1番目の伝送エッジの前に、選択信号SELが1であり、選択モジュール214がBIT0第1ラッチモジュール211のbit0を選択してMISOに出力してbit0となる。1番目の伝送エッジの後、クロック駆動信号GSCLKが第2ラッチモジュール212を介してBITDATAを選択モジュール214にラッチして伝送し、選択信号SELが0になり、選択モジュール214が第2ラッチモジュール212のデータを選択してMISOに出力する。
また、システムクロックドメインD1において、システムクロックSYSCLKが、シリアルクロック信号SCLKの伝送エッジを検出してイネーブル信号ENBITを得、ロジックモジュール120がイネーブル信号ENBITに基づいて、ビットデータBITDATAをシフトし、該ビットデータBITDATAを第2ラッチモジュール212にシフトする。
具体的に図7に示すように、1番目の伝送エッジt0時刻の前に,BIT0第1ラッチモジュール211におけるビットデータbit0がすでにMISOに出力され、t0時刻に、クロック駆動信号GSCLKが、伝送開始前に準備できたbit1であって、BIT1-N第2記憶モジュール212におけるbit1をラッチして伝送し、選択モジュール214により選択してMISOに出力してbit1となる。
また、t0時刻に、シリアルクロック信号SCLKの伝送エッジがシステムクロックSYSCLKにより検出され、イネーブル信号ENBIT(1システムクロックSYSCLK周期の有効期間を維持する)を生成し、該イネーブル信号ENBITがt1時刻にデータをシフトしてbit2を得、2番目の伝送エッジのためにデータを準備する。
2番目の伝送エッジt2時刻に、クロック駆動信号GSCLKが伝送開始前に準備できたbit2、すなわち第2記憶モジュールにおけるbit2をラッチして伝送し、選択モジュール214により選択してMISOに出力してbit2となる。
また、t2時刻に、シリアルクロック信号SCLKの伝送エッジがシステムクロックSYSCLKにより検出され、イネーブル信号ENBITを生成し、該イネーブル信号がt3時刻にデータをシフトしてbit3を得、3番目の伝送エッジのためにデータを準備する。
t4時刻、すなわち3番目の伝送エッジ時刻に、上記テンポに従って、組立ラインのようにデータを伝送する。第1群のデータが伝送終了後、今回のSPI伝送終了(CSが低から高になって無効になる)まで、メモリから次の1群のデータを読み取って伝送する。
伝送中に、システムクロックSYSCLKのクロック周期がシリアルシステムクロックSCLK周期の少なくとも3倍である限り、シリアルシステムクロック信号SCLKの伝送エッジが到着するとき、伝送されるデータDATA1が十分安定し、BITDATAの準備時間T1を満たすことができる。
図8は、本発明の第5実施例に係るSPIスレーブデバイスのSPIモード1でのデータ伝送方法を示すタイミング図であり、図に示すように、該タイミング図が2つの部分に分けられ、点線上方の信号がシステムクロックドメインD1で動作し、点線下方の信号がクロック駆動信号ドメインD2で動作する。SPIモード1ではクロック駆動信号GSCLKがシリアルクロック信号SCLKと同相である。
CSが低レベルになる前に、システムクロックドメインD1では、スレーブデバイスが記憶モジュール130から第1群のデータを読み取り、第1ビットデータbit0を第2ラッチモジュール212にシフトする。選択信号SELはずっと0のままである。
CSが低レベルになった後、駆動クロックドメインD2では、選択信号SELが1番目の伝送エッジの前後にもずっと0のままであり、選択モジュール214が選択信号SELに基づいて第2ラッチモジュール212のデータを選択してMISOに出力する。
また、システムクロックドメインD1では、システムクロックSYSCLKがシリアルクロック信号SCLKの伝送エッジを検出してイネーブル信号ENBITを得、ロジックモジュール120がイネーブル信号ENBITに基づいて、記憶モジュール130におけるビットデータをシフトしてBITDATAを得、該ビットデータBITDATAが第2ラッチモジュール212にシフトされる。
具体的に図8に示すように、1番目の伝送エッジt0時刻の前に、記憶モジュール130におけるデータをシフトしてBITDATAを得、t0時刻に、クロック駆動信号GSCLKが伝送開始前に準備できたbit0、すなわちBIT1-N第2記憶モジュール212におけるbit0をラッチして伝送し、選択モジュール214により選択してMISOに出力してbit0となる。
また、t0時刻に、シリアルクロック信号SCLKの伝送エッジがシステムクロックSYSCLKにより検出され、イネーブル信号ENBIT(1システムクロックSYSCLK周期の有効期間を維持する)を生成し、該イネーブル信号ENBITがt1時刻にデータをシフトしてbit1を得、2番目の伝送エッジのためにデータを準備する。
2番目の伝送エッジt2時刻に、クロック駆動信号GSCLKが伝送開始前に準備できたbit1、すなわち第2記憶モジュールにおけるbit1をラッチして伝送し、選択モジュール214により選択してMISOに出力してbit1となる。
また、t2時刻に、シリアルクロック信号SCLKの伝送エッジがシステムクロックSYSCLKにより検出され、イネーブル信号ENBITを生成し、該イネーブル信号がt3時刻にデータをシフトしてbit2を得、3番目の伝送エッジのためにデータを準備する。
t4時刻すなわち3番目の伝送エッジ時刻であり、上記テンポに従って、組立ラインのようにデータを伝送する。第1群のデータが伝送終了後、今回のSPI伝送終了(CSが低から高になって無効になる)まで、メモリから次の1群のデータを読み取って伝送する。
本発明により提供されるシリアル通信のためのスレーブデバイス及び方法は、システムクロックSYSCLK/シリアルクロック信号SCLKの周波数比を大幅に下げ、スレーブデバイスのデータ伝送速度を上げ、又はスレーブデバイスのシステムクロックSYSCLKの周波数を下げることができる。従来の技術と比較した本発明の有利な効果は、以下の2つの実施例によって説明される。
スレーブデバイスのデータ伝送遅延(PAD/board delay)時間(図7におけるT3)が15ns(他の関連する微細な二次遅延がここでは考慮されず、この合計遅延にカウントすることができる)であって、受信側がスレーブデバイスからの伝送データを受信することに必要な最小セットアップ時間(図7におけるT4)は5nsであると仮定し、これを例として、2種の解決手段を比較する。
Figure 0007212637000002
表2から分かるように、同様にシステムクロック信号SYSCLKが50MHzであり、元の解決手段ではサポートできるSPIシリアルクロック信号SCLKの最大周波数が6.25MHzであり、本解決手段では、サポートできるSPIシリアルクロック信号SCLKの最大周波数が16.6MHzである。
Figure 0007212637000003
表3からわかるように、同様にSPIシリアルクロック信号SCLKが10MHzであり、元の解決手段ではシステムクロック信号SYSCLKの最低周波数が100MHzで、本解決手段ではシステムクロック信号SYSCLKの最低周波数が33MHzである必要がある。
上記2つの表を比較することによって明確にわかるように、SPIシステムクロックSYSCLKの周波数が決定されると、本発明では、シリアルクロック信号SCLKのサポート周波数が大幅に向上されるため、SPIデータ伝送の速度を高めることができ、SPIシリアルクロック信号SCLKの周波数が決定されると、本発明では、システムクロックSYSCLKの周波数要求が大幅に低減されるので、電力消費を削減することができる。したがって、本発明は、データ伝送速度の向上と消費電力の削減に優れた効果を奏する。
本発明による実施例は上記の通りであり、これらの実施例はすべての詳細を詳しく説明していなく、本発明を記載された具体的な実施例にしか限定しない。明らかに、上記の説明に照らして多くの修正及び変形が可能である。本明細書では、本発明の原理及び実際の使用をよりよく説明するために、これらの実施例を選択して具体的に説明し、それにより、当業者は本発明をよく利用し、及び本発明に基づいて修正して利用することができる。本発明は、特許請求の範囲並びにそのすべての範囲及びその同等物によってのみ限定される。

Claims (16)

  1. スレーブデバイス用のシリアル通信方法であって、
    クロック信号端子を介してシリアルクロック信号を受信し、
    データ入力端を介して、連続したビットデータを複数含むデータを受信し、
    システムクロック信号に基づいて前記シリアルクロック信号のエッジを検出してイネーブル信号を取得し、
    前記イネーブル信号のエッジに基づいて前記データをシフトしてビットデータを生成し、
    前記シリアルクロック信号に同期して、前記ビットデータをラッチし、およびデータ出力端を介してラッチされたビットデータの少なくとも一部を伝送し、
    前記シリアルクロック信号及び前記システムクロック信号は、それぞれ第1クロック周期及び第2クロック周期を有し、前記第1クロック周期が前記第2クロック周期よりも長いことを特徴とするシリアル通信方法。
  2. 前記シリアルクロック信号の連続周期において、それぞれ前記データの各ビットデータをそれぞれシフトして、ラッチして伝送することを特徴とする請求項1に記載のシリアル通信方法。
  3. 前記シリアルクロック信号に同期して、前記ビットデータをラッチし、およびデータ出力端を介してラッチされたビットデータの少なくとも一部を伝送するステップは、前記シリアルクロック信号に基づいて、クロック駆動信号を生成することをさらに含み、前記クロック駆動信号のエッジに前記ビットデータを伝送し、前記クロック駆動信号のエッジが前記シリアルクロック信号のエッジに同期することを特徴とする請求項1に記載のシリアル通信方法。
  4. 前記クロック駆動信号は、前記シリアルクロック信号をゲーティング及び/又は位相変換することによって取得されることを特徴とする請求項3に記載のシリアル通信方法。
  5. 前記システムクロック信号に基づいて前記シリアルクロック信号のエッジを検出してイネーブル信号を取得するステップは、
    前記シリアルクロック信号の第1クロック周期において、少なくとも1つの第2クロック周期を遅延することによって、前記システムクロック信号に同期したイネーブル信号を取得することを含むことを特徴とする請求項1に記載のシリアル通信方法。
  6. 前記イネーブル信号のエッジに基づいて前記データをシフトしてビットデータを生成するステップは、前記イネーブル信号に基づいて、前記ビットデータをシフトして第1ビットデータを取得することをさらに含み、
    前記シリアルクロック信号に同期して、前記ビットデータをラッチし、およびデータ出力端を介してラッチされたビットデータの少なくとも一部を伝送するステップは、第1ビットデータをラッチすることと、ラッチされた第1ビットデータを伝送することと、をさらに含むことを特徴とする請求項5に記載のシリアル通信方法。
  7. 前記データ出力端を介してラッチされたビットデータの少なくとも一部を伝送するステップは、前記シリアルクロック信号に基づいて選択信号を取得すること、及び、前記選択信号に基づいて、前記第1ビットデータ及び残りのビットデータを前記データ出力端に送信するよう選択すること、をさらに含むことを特徴とする請求項6に記載のシリアル通信方法。
  8. 前記スレーブデバイスの動作モードに基づいて、前記シリアルクロック信号の立ち上がりエッジ又は立ち下がりエッジに前記ビットデータを伝送することを特徴とする請求項1に記載のシリアル通信方法。
  9. 前記スレーブデバイスの動作モードに基づいて、前記シリアルクロック信号の、チップセレクト信号が有効になった後の1番目のエッジの前又はその後に前記第1ビットデータを伝送することを特徴とする請求項6に記載のシリアル通信方法。
  10. クロック信号端子を介してシリアルクロック信号を受信し、データ入力端を介してデータを受信し、データ出力端を介して前記データを伝送するシリアル通信用のスレーブデバイスであって、
    前記データを記憶するための記憶モジュールと、
    記憶モジュールと結合され、システムクロック信号に基づいて前記シリアルクロック信号のエッジを検出して取得されるイネーブル信号のエッジに基づいて、前記データをシフトしてビットデータを生成するためのロジックモジュールと、
    ロジックモジュールと結合され、前記データの第1ビットデータをラッチするための第1ラッチモジュールと、
    ロジックモジュールと結合され、前記データの残りのビットデータをラッチするための第2ラッチモジュールと、
    前記シリアルクロック信号に同期した選択信号を取得するための選択信号生成モジュールと、
    第1ラッチモジュール、第2ラッチモジュール及び選択信号生成モジュールと結合され、選択信号に基づいて、前記第1ビットデータ及び前記残りのビットデータの一方を前記データ出力端に提供するための選択モジュールとを含み、
    前記シリアルクロック信号及び前記システムクロック信号はそれぞれ第1クロック周期及び第2クロック周期を有し、前記第1クロック周期が前記第2クロック周期よりも長いことを特徴とするスレーブデバイス。
  11. 前記シリアルクロック信号の連続した周期において、前記ロジックモジュール及び前記第2ラッチモジュールは、それぞれ前記データの残りのビットデータをシフトし、ラッチして伝送することを特徴とする請求項10に記載のスレーブデバイス。
  12. 前記シリアルクロック信号の第1クロック周期において、少なくとも1つの第2クロック周期を遅延することによって、前記システムクロック信号に同期したイネーブル信号を取得するためのエッジ検出モジュールをさらに含み、前記エッジ検出モジュールは、前記イネーブル信号に従ってデータをシフトするように構成されている前記ロジックモジュールに結合されていることを特徴とする請求項10に記載のスレーブデバイス。
  13. 前記シリアルクロック信号をゲーティング及び/又は位相変換して、クロック駆動信号を取得するためのクロックモジュールをさらに含み、
    前記選択信号生成モジュールは、前記クロック駆動信号のエッジ検出に基づいて前記選択信号を生成することを特徴とする請求項10に記載のスレーブデバイス。
  14. 前記第1ラッチモジュールは、第1ビットデータをラッチして出力するためのフリップフロップ及び制御ロジックを含むことを特徴とする請求項10に記載のスレーブデバイス。
  15. 前記第2ラッチモジュールはフリップフロップを含み、残りのビットデータをラッチして出力するために、前記クロック駆動信号がフリップフロップのクロック端子に印加されることを特徴とする請求項13に記載のスレーブデバイス。
  16. 前記選択信号生成モジュールは、選択信号を制御するためのフリップフロップ及び制御ロジックモジュールを含むことを特徴とする請求項10に記載のスレーブデバイス。
JP2019572645A 2018-12-10 2019-03-19 シリアル通信のためのスレーブデバイス及び方法 Active JP7212637B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201811501631.6A CN109710556B (zh) 2018-12-10 2018-12-10 用于串行通信的从设备及方法
CN201811501631.6 2018-12-10
PCT/CN2019/078699 WO2020118950A1 (zh) 2018-12-10 2019-03-19 用于串行通信的从设备及方法

Publications (2)

Publication Number Publication Date
JP2021536043A JP2021536043A (ja) 2021-12-23
JP7212637B2 true JP7212637B2 (ja) 2023-01-25

Family

ID=66255539

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019572645A Active JP7212637B2 (ja) 2018-12-10 2019-03-19 シリアル通信のためのスレーブデバイス及び方法

Country Status (4)

Country Link
JP (1) JP7212637B2 (ja)
KR (1) KR102289930B1 (ja)
CN (1) CN109710556B (ja)
WO (1) WO2020118950A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112445740B (zh) * 2019-09-02 2024-07-02 珠海零边界集成电路有限公司 一种数据异步采集方法、系统和设备
CN111061337A (zh) * 2019-12-10 2020-04-24 北京智联安科技有限公司 一种主机收发接口设计方法
CN113626355B (zh) * 2020-05-06 2023-11-14 华润微集成电路(无锡)有限公司 实现串行接口全双工通信的从机芯片的电路结构
CN111785309B (zh) * 2020-07-01 2021-03-19 深圳市芯天下技术有限公司 非型闪存接口电路的实现方法、电路、存储介质和终端
CN112559426A (zh) * 2020-12-15 2021-03-26 广州智慧城市发展研究院 数据传输方法、接口电路以及装置
CN112860613B (zh) * 2021-04-06 2024-04-19 北京集创北方科技股份有限公司 通信系统
CN113407476B (zh) * 2021-06-17 2024-02-23 芯天下技术股份有限公司 一种提升数据通道速度的方法、装置、存储介质和终端
CN113656340B (zh) * 2021-08-20 2024-10-11 西安易朴通讯技术有限公司 I2c总线的通信控制方法、系统和装置
CN115328845B (zh) * 2022-08-26 2023-05-12 润芯微科技(江苏)有限公司 一种四线串行外设接口通信协议设计的方法
CN115766332B (zh) * 2023-01-03 2023-05-12 杭州视芯科技股份有限公司 串行通信装置、串行通信系统及串行通信方法
CN116841939B (zh) * 2023-06-30 2024-07-19 珠海市凌珑宇芯科技有限公司 Spi从机接口电路和芯片
CN117251403B (zh) * 2023-11-08 2024-05-14 北京紫光芯能科技有限公司 一种spi协议主从设备的通讯模式配置方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080133800A1 (en) 2005-10-04 2008-06-05 Tilman Gloekler High Speed On-Chip Serial Link Apparatus
JP2012150656A (ja) 2011-01-19 2012-08-09 Renesas Electronics Corp 半導体装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01118951A (ja) * 1987-10-31 1989-05-11 Nec Ic Microcomput Syst Ltd シリアルインターフェイス回路
JP2636534B2 (ja) * 1991-03-22 1997-07-30 三菱電機株式会社 通信システム
JPH10126396A (ja) * 1996-10-17 1998-05-15 Sony Corp 集積回路
US7082481B2 (en) * 2003-11-25 2006-07-25 Atmel Corporation Serial peripheral interface (SPI) apparatus with write buffer for improving data throughput
CN102207922B (zh) * 2010-03-30 2014-07-30 新唐科技股份有限公司 总线接口以及总线接口的时钟频率控制方法
US9274997B2 (en) * 2012-05-02 2016-03-01 Smsc Holdings S.A.R.L. Point-to-point serial peripheral interface for data communication between devices configured in a daisy-chain
CN103678209B (zh) * 2012-09-18 2017-03-15 格科微电子(上海)有限公司 基于串行外围设备接口总线的数据传输方法和系统
US9582441B2 (en) * 2014-02-27 2017-02-28 Infineon Technologies Ag Clockless serial slave device
CN105550151B (zh) * 2015-12-02 2018-07-24 中国电子科技集团公司第四十一研究所 一种高效串行总线控制电路
CN105512070B (zh) * 2015-12-02 2018-07-06 中国电子科技集团公司第四十一研究所 一种基于串行总线的控制系统
CN107703815B (zh) * 2017-10-29 2020-04-24 北京联合大学 循环地址式三线spi通讯系统
CN108768450A (zh) * 2018-06-01 2018-11-06 威创集团股份有限公司 通信方法和系统、计算机存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080133800A1 (en) 2005-10-04 2008-06-05 Tilman Gloekler High Speed On-Chip Serial Link Apparatus
JP2012150656A (ja) 2011-01-19 2012-08-09 Renesas Electronics Corp 半導体装置

Also Published As

Publication number Publication date
CN109710556A (zh) 2019-05-03
KR20200074917A (ko) 2020-06-25
CN109710556B (zh) 2020-08-11
KR102289930B1 (ko) 2021-08-17
JP2021536043A (ja) 2021-12-23
WO2020118950A1 (zh) 2020-06-18

Similar Documents

Publication Publication Date Title
JP7212637B2 (ja) シリアル通信のためのスレーブデバイス及び方法
JP3856696B2 (ja) 2倍データ速度同期式動的ランダムアクセスメモリのための構成可能同期装置
US8301932B2 (en) Synchronising between clock domains
KR100434833B1 (ko) 직렬/병렬 변환 회로, 데이터 전송 제어 장치 및 전자 기기
EP0522763B1 (en) High performance asynchronous bus interface
WO1993018463A1 (en) Method and circuitry for minimizing clock-data skew in a bus system
JP7471447B2 (ja) マルチチャネル信号同期システム、回路及び方法
KR20090061515A (ko) Gals 시스템용 접속회로 및 그의 동작방법
US20110026355A1 (en) Interface circuit and semiconductor device incorporating same
US6943595B2 (en) Synchronization circuit
WO2023142444A1 (zh) 确定性现场总线网络数据转发二分频锁存缓冲电路及应用
CN112052203A (zh) 半导体装置、半导体系统和操作半导体装置的方法
Ono et al. A modular synchronizing FIFO for NoCs
JP3194473B2 (ja) データ転送同期装置及び方法
JP3560793B2 (ja) データ転送方法
US7333516B1 (en) Interface for synchronous data transfer between domains clocked at different frequencies
JP2011066621A (ja) データ転送装置
US7558151B1 (en) Methods and circuits for DDR-2 memory device read data resynchronization
US6760803B1 (en) Aligning and offsetting bus signals
TWI687815B (zh) 資料發送方法、具有序列周邊介面之從屬裝置及資訊處理裝置
JP3463212B2 (ja) データ伝達装置
US12101088B2 (en) Frequency-halving latch buffer circuit for deterministic field bus network data forwarding and application thereof
JP4190217B2 (ja) クロック生成装置及びオーディオデータ処理装置
US7526017B2 (en) Transmitting device, receiving device, transmission system, and transmission method
JP2001043697A (ja) 半導体メモリ試験装置のデータ転送回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220524

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20220601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221212

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230113

R150 Certificate of patent or registration of utility model

Ref document number: 7212637

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150