(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-22
(45)【発行日】2024-04-01
(54)【発明の名称】シリアル・ペリフェラル・インターフェース集積回路およびその動作方法
(51)【国際特許分類】
G06F 13/42 20060101AFI20240325BHJP
G06F 11/14 20060101ALI20240325BHJP
【FI】
G06F13/42 310
G06F13/42 320A
G06F11/14 602Z
【外国語出願】
(21)【出願番号】P 2022133815
(22)【出願日】2022-08-25
【審査請求日】2022-08-25
(32)【優先日】2021-12-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】506084058
【氏名又は名称】奇景光電股▲ふん▼有限公司
(74)【代理人】
【識別番号】100107423
【氏名又は名称】城村 邦彦
(74)【代理人】
【識別番号】100120949
【氏名又は名称】熊野 剛
(74)【代理人】
【識別番号】100093997
【氏名又は名称】田中 秀佳
(72)【発明者】
【氏名】温 上杰
(72)【発明者】
【氏名】翁 明輝
(72)【発明者】
【氏名】林 桂蘭
(72)【発明者】
【氏名】江 哲豪
(72)【発明者】
【氏名】林 ▲ケイ▼政
【審査官】北村 学
(56)【参考文献】
【文献】特開2021-170714(JP,A)
【文献】特開2016-042355(JP,A)
【文献】国際公開第2018/225534(WO,A1)
【文献】米国特許第09529686(US,B1)
【文献】米国特許第09632869(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/42
G06F 11/14
(57)【特許請求の範囲】
【請求項1】
シリアル・ペリフェラル・インターフェース(SPI)集積回路(IC)であって、
コア回路と、
前記コア回路に結合されたデバッグ回路と、
を備え、
前記SPI ICがSPIアーキテクチャのマスタICである場合、前記コア回路が前記SPIアーキテクチャのスレーブICに対する第1のコマンド情報を生成し、前記デバッグ回路が前記第1のコマンド情報に対応する第1のデバッグ情報を生成し、前記第1のコマンド情報および前記第1のデバッグ情報がSPIチャネルを介して前記SPIアーキテクチャの前記スレーブICに送信され、
前記SPI ICが前記SPIアーキテクチャの前記スレーブICである場合、前記デバッグ回路が前記SPIチャネルを介して前記マスタICによって送信された第2のコマンド情報および第2のデバッグ情報を受信し、前記デバッグ回路が前記第2のデバッグ情報を使用することによって前記第2のコマンド情報をチェックし、
前記SPI ICが前記SPIアーキテクチャの前記スレーブICであり、前記SPI ICが前記SPIアーキテクチャの前記マスタICによって選択されたターゲットスレーブ回路である場合、前記コア回路が、前記マスタICによって送信された前記第2のコマンド情報が前記デバッグ回路によってチェックされ正しいという条件の下で、前記第2のコマンド情報を実
行し、
前記SPI ICが前記SPIアーキテクチャの前記マスタICである場合、前記コア回路が前記第1のコマンド情報に対応する第1のデータ情報を生成し、前記デバッグ回路が前記第1のデータ情報に対応する第3のデバッグ情報を生成し、前記第1のデータ情報および前記第3のデバッグ情報が前記SPIチャネルを介して前記SPIアーキテクチャの前記スレーブICに送信され、
前記SPI ICが前記SPIアーキテクチャの前記スレーブICであり、前記SPI ICが前記SPIアーキテクチャの前記マスタICによって選択された前記ターゲットスレーブ回路である場合、前記デバッグ回路が、前記マスタICによって送信された前記第2のコマンド情報に対応する第2のデータ情報と、前記第2のデータ情報に対応する第4のデバッグ情報とを受信し、前記デバッグ回路が前記第4のデバッグ情報を使用することによって前記第2のデータ情報をチェックし、前記コア回路が、前記第2のデータ情報が前記デバッグ回路によってチェックされ正しいという条件の下で、前記マスタICによって送信された前記第2のデータ情報を処理し、
前記第1のコマンド情報が第1のデータエラー訂正フラグを含み、
前記SPI ICが前記SPIアーキテクチャの前記マスタICである場合、前記コア回路が前記第1のデータエラー訂正フラグをセットして、前記第1のデータ情報に対するエラー訂正動作を有効にするように前記SPIアーキテクチャの前記スレーブICに通知し、または前記コア回路が前記第1のデータエラー訂正フラグをリセットして、前記第1のデータ情報に対する前記エラー訂正動作を無効にするように前記SPIアーキテクチャの前記スレーブICに通知し、
前記第2のコマンド情報が第2のデータエラー訂正フラグを含み、
前記SPI ICが前記SPIアーキテクチャの前記スレーブICであり、前記SPI ICが前記SPIアーキテクチャの前記マスタICによって選択された前記ターゲットスレーブ回路であり、前記第2のデータエラー訂正フラグが有効である場合、前記デバッグ回路が前記第4のデバッグ情報を使用することによって前記第2のデータ情報をチェックし、
前記SPI ICが前記SPIアーキテクチャの前記スレーブICであり、前記SPI ICが前記SPIアーキテクチャの前記マスタICによって選択された前記ターゲットスレーブ回路であり、前記第2のデータエラー訂正フラグが無効である場合、前記デバッグ回路が前記第2のデータ情報をチェックしない、
シリアル・ペリフェラル・インターフェース(SPI)集積回路(IC)。
【請求項2】
前記SPI ICが前記SPIアーキテクチャの前記マスタICであり、前記SPIアーキテクチャの前記スレーブICが前記第1のコマンド情報が誤っていることを通知した場合、前記コア回路が前記SPIチャネルを介して前記第1のコマンド情報を前記スレーブICに再送信する、請求項1に記載のSPI IC。
【請求項3】
前記SPI ICが前記SPIアーキテクチャの前記スレーブICであり、前記デバッグ回路によって前記第2のコマンド情報がチェックされ誤っていた場合、前記デバッグ回路が前記SPIチャネルを介して前記SPIアーキテクチャの前記マスタICに前記第2のコマンド情報を再送信するように通知する、請求項1に記載のSPI IC。
【請求項4】
前記第1のデバッグ情報が第1のエラー訂正コードを含み、前記第2のデバッグ情報が第2のエラー訂正コードを含む、請求項1に記載のSPI IC。
【請求項5】
前記第1のコマンド情報が第1のチップ識別コードおよび第1のコマンドコードを含み、前記第2のコマンド情報が第2のチップ識別コードおよび第2のコマンドコードを含む 、請求項1に記載のSPI IC。
【請求項6】
前記SPI ICが前記SPIアーキテクチャの前記マスタICであり、前記SPIアーキテクチャの前記スレーブICが前記第1のデータ情報が誤っていることを通知した場合、前記コア回路が前記SPIチャネルを介して前記第1のデータ情報を前記スレーブICに再送信する、請求項
1に記載のSPI IC。
【請求項7】
前記SPI ICが前記SPIアーキテクチャの前記スレーブICであり、前記デバッグ回路が、前記第2のデータ情報の1ビットが誤っているとチェックした場合、前記デバッグ回路が前記第4のデバッグ情報を使用することによって前記第2のデータ情報を修復する、請求項
1に記載のSPI IC。
【請求項8】
前記SPI ICが前記SPIアーキテクチャの前記スレーブICであり、前記デバッグ回路が、前記第4のデバッグ情報の前記使用が、エラーを有する前記第2のデータ情報を修復するのに十分でないと判断した場合、前記デバッグ回路が前記SPIチャネルを介して前記第2のデータ情報を再送信するように前記SPIアーキテクチャの前記マスタICに通知する、請求項
7に記載のSPI IC。
【請求項9】
前記第3のデバッグ情報が第1の巡回冗長検査コードを含み、前記第4のデバッグ情報が第2の巡回冗長検査コードを含む、請求項
1に記載のSPI IC。
【請求項10】
前記第1のデータ情報が第1のアドレスフィールドおよび第1のデータフィールドを含み、前記第2のデータ情報が第2のアドレスフィールドおよび第2のデータフィールドを含む、請求項
1に記載のSPI IC。
【請求項11】
シリアル・ペリフェラル・インターフェース(SPI)集積回路(IC)の動作方法であって、
前記SPI ICがSPIアーキテクチャのマスタICである場合、前記SPIアーキテクチャのスレーブICに対する第1のコマンド情報を生成し、前記第1のコマンド情報に対応する第1のデバッグ情報を生成し、SPIチャネルを介して前記第1のコマンド情報および前記第1のデバッグ情報を前記SPIアーキテクチャの前記スレーブICに送信するステップと、
前記SPI ICが前記SPIアーキテクチャの前記スレーブICである場合、前記SPIチャネルを介して前記マスタICによって送信された第2のコマンド情報および第2のデバッグ情報を受信し、前記第2のデバッグ情報を使用することによって前記第2のコマンド情報をチェックするステップと、
前記SPI ICが前記SPIアーキテクチャの前記スレーブICであり、前記SPI ICが前記SPIアーキテクチャの前記マスタICによって選択されたターゲットスレーブ回路である場合、前記第2のコマンド情報がチェックされ正しいという条件の下で、前記マスタICによって送信された前記第2のコマンド情報を実行するステップと、
前記SPI ICが前記SPIアーキテクチャの前記マスタICである場合、前記第1のコマンド情報に対応する第1のデータ情報を生成し、前記第1のデータ情報に対応する第3のデバッグ情報を生成し、前記SPIチャネルを介して前記SPIアーキテクチャの前記スレーブICに前記第1のデータ情報および前記第3のデバッグ情報を送信するステップと、
前記SPI ICが前記SPIアーキテクチャの前記スレーブICであり、前記SPI ICが前記SPIアーキテクチャの前記マスタICによって選択された前記ターゲットスレーブ回路である場合、前記マスタICによって送信された前記第2のコマンド情報に対応する第2のデータ情報と、前記第2のデータ情報に対応する第4のデバッグ情報とを受信し、前記第4のデバッグ情報を使用することによって前記第2のデータ情報をチェックし、前記第2のデータ情報がチェックされ正しいという条件の下で、前記マスタICによって送信された前記第2のデータ情報を処理するステップと、
前記第1のコマンド情報が第1のデータエラー訂正フラグを含み、前記第2のコマンド情報が第2のデータエラー訂正フラグを含み、前記動作方法が、
前記SPI ICが前記SPIアーキテクチャの前記マスタICである場合、前記第1のデータエラー訂正フラグをセットして、前記SPIアーキテクチャの前記スレーブICに前記第1のデータ情報に対するエラー訂正動作を有効にするように通知し、または前記第1のデータエラー訂正フラグをリセットして、前記SPIアーキテクチャの前記スレーブICに前記第1のデータ情報に対するエラー訂正動作を無効にするように通知するステップと、 前記SPI ICが前記SPIアーキテクチャの前記スレーブICであり、前記SPI ICが前記SPIアーキテクチャの前記マスタICによって選択された前記ターゲット スレーブ回路であり、前記第2のデータエラー訂正フラグが有効である場合、前記第4のデバッグ情報を使用することによって前記第2のデータ情報をチェックするステップと、前記SPI ICが前記SPIアーキテクチャの前記スレーブICであり、前記SPI ICが前記SPIアーキテクチャの前記マスタICによって選択された前記ターゲット スレーブ回路であり、前記第2のデータエラー訂正フラグが無効である場合、前記第2のデータ情報をチェックしないステップと、
を含む、動作方法。
【請求項12】
前記SPI ICが前記SPIアーキテクチャの前記マスタICであり、前記SPIアーキテクチャの前記スレーブICが前記第1のコマンド情報が誤っていることを通知した場合、前記SPIチャネルを介して前記第1のコマンド情報を前記スレーブICに再送信するステップ、
をさらに含む、請求項
11に記載の動作方法。
【請求項13】
前記SPI ICが前記SPIアーキテクチャの前記スレーブICであり、前記第2のコマンド情報がチェックされ誤っていた場合、前記SPIチャネルを介して前記第2のコマンド情報を再送信するように前記SPIアーキテクチャの前記マスタICに通知するステップ、
をさらに含む、請求項
11に記載の動作方法。
【請求項14】
前記第1のデバッグ情報が第1のエラー訂正コードを含み、前記第2のデバッグ情報が第2のエラー訂正コードを含む、請求項
11に記載の動作方法。
【請求項15】
前記第1のコマンド情報が第1のチップ識別コードおよび第1のコマンドコードを含み、前記第2のコマンド情報が第2のチップ識別コードおよび第2のコマンドコードを含む、請求項
11に記載の動作方法。
【請求項16】
前記SPI ICが前記SPIアーキテクチャの前記マスタICであり、前記SPIアーキテクチャの前記スレーブICが、前記第1のデータ情報が誤っていることを通知した場合、前記SPIチャネルを介して前記第1のデータ情報を前記スレーブICに再送信するステップ、
をさらに含む、請求項
11に記載の動作方法。
【請求項17】
前記SPI ICが前記SPIアーキテクチャの前記スレーブICであり、前記第2のデータ情報の1ビットが誤っている場合、前記第4のデバッグ情報を使用することによって前記第2のデータ情報を修復するステップ、
をさらに含む、請求項
11に記載の動作方法。
【請求項18】
前記SPI ICが前記SPIアーキテクチャの前記スレーブICであり、前記第4のデバッグ情報が、エラーを有する前記第2のデータ情報を修復するのに十分でない場合、前記SPIチャネルを介して前記第2のデータ情報を再送信するように前記SPIアーキテクチャの前記マスタICに通知するステップ、
をさらに含む、請求項
17に記載の動作方法。
【請求項19】
前記第3のデバッグ情報が第1の巡回冗長検査コードを含み、前記第4のデバッグ情報が第2の巡回冗長検査コードを含む、請求項
11に記載の動作方法。
【請求項20】
前記第1のデータ情報が第1のアドレスフィールドおよび第1のデータフィールドを含み、前記第2のデータ情報が第2のアドレスフィールドおよび第2のデータフィールドを含む、請求項
11に記載の動作方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、集積回路に関し、特に、シリアル・ペリフェラル・インターフェース集積回路およびその動作方法に関する。
【背景技術】
【0002】
製品の用途によっては、複数の集積回路(IC)を一緒に動作させることが必要な場合がある。例えば、大型タッチディスプレイIC(LTDI)の用途では、複数(例えば、30個)の駆動ICが協働して同じ大型タッチディスプレイパネルを駆動する。シリアル・ペリフェラル・インターフェース(SPI)アーキテクチャは、マルチドロップ駆動アーキテクチャを提供することができる。SPIマルチドロップ駆動アーキテクチャでは、マスタICは、複数のスレーブICを同一のワイヤ(チャネル)を介して接続/駆動することができる。異なるICがSPIチャネルを通過するとき、外部の影響により、SPIチャネルの伝送信号が歪むことがある。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本開示は、SPIチャネルを介して伝達されるデータを保護し、および/またはSPIチャネルを介して受信されるデータの正確性を保証することができるシリアル・ペリフェラル・インターフェース(SPI)集積回路(IC)およびその動作方法を提供する。
【課題を解決するための手段】
【0004】
本開示の一実施形態では、SPI ICは、コア回路およびデバッグ回路を含む。デバッグ回路は、コア回路に結合されている。SPI ICがSPIアーキテクチャのマスタICである場合、コア回路は、SPIアーキテクチャのスレーブICに対する第1のコマンド情報を生成し、デバッグ回路は、第1のコマンド情報に対応する第1のデバッグ情報を生成し、SPI ICは、SPIチャネルを介して第1のコマンド情報および第1のデバッグ情報をSPIアーキテクチャのスレーブICに送信する。SPI ICがSPIアーキテクチャのスレーブICである場合、デバッグ回路は、SPIチャネルを介してマスタICによって送信された第2のコマンド情報および第2のデバッグ情報を受信し、デバッグ回路は、第2のデバッグ情報を使用することによって第2のコマンド情報をチェックする。SPI ICがSPIアーキテクチャのスレーブICであり、SPI ICがSPIアーキテクチャのマスタICによって選択されたターゲットスレーブ回路である場合、コア回路は、マスタICによって送信された第2のコマンド情報がデバッグ回路によってチェックされ正しいという条件の下で、第2のコマンド情報を実行する。
【0005】
本開示の一実施形態において、前記動作方法は、以下のステップを含む。SPI ICがSPIアーキテクチャのマスタICである場合、SPIアーキテクチャのスレーブICに対する第1のコマンド情報が生成され、第1のコマンド情報に対応する第1のデバッグ情報が生成され、第1のコマンド情報および第1のデバッグ情報は、SPIチャネルを介してSPIアーキテクチャのスレーブICに送信される。SPI ICがSPIアーキテクチャのスレーブICである場合、マスタICによって送信された第2のコマンド情報および第2のデバッグ情報は、SPIチャネルを介して受信され、第2のコマンド情報は、第2のデバッグ情報を使用することによってチェックされる。さらに、SPI ICがSPIアーキテクチャのスレーブICであり、SPI ICがSPIアーキテクチャのマスタICによって選択されたターゲットスレーブ回路である場合、マスタICによって送信された第2のコマンド情報がチェックされ正しいという条件の下で、第2のコマンド情報が実行される。
【発明の効果】
【0006】
要約すると、実際の適用シナリオによると、本開示の実施形態によって提供されるSPI ICは、SPIアーキテクチャのマスタICまたはスレーブICとして動作することができる。SPI ICがマスタICである場合、SPI ICは、コマンド情報に対応するデバッグ情報を生成し、SPIチャネルを介してコマンド情報およびデバッグ情報をスレーブICに送信してもよい。SPI ICがスレーブICである場合、SPI ICがSPIアーキテクチャのマスタICによって選択されたターゲットスレーブ回路である場合、SPI ICは、SPIチャネルを介してマスタICによって送信されたコマンド情報およびデバッグ情報を受信してもよく、SPI ICは、デバッグ情報を使用することによってコマンド情報をチェックしてもよい。コマンド情報がチェックされ正しい場合、SPI ICは、マスタICによって送信されたコマンド情報を実行することができる。したがって、SPI ICは、SPIチャネルを介して送信されるデータを保護し、および/またはSPIチャネルを介して受信されるデータの正確さを保証することができる。
【0007】
前述の内容をより理解しやすくするために、図面を伴う一部の実施形態を以下に詳細に説明する。
【図面の簡単な説明】
【0008】
添付の図面は、本開示のさらなる理解を提供するために含まれ、本明細書に組み込まれ、本明細書の一部を構成する。図面は、本開示の例示的な実施形態を示し、説明と共に、本開示の原理を説明する役割を果たす。
【0009】
【
図1】本開示の一実施形態によるシリアル・ペリフェラル・インターフェース(SPI)アーキテクチャの回路ブロックの概略図である。
【0010】
【
図2】本開示の別の実施形態によるSPIアーキテクチャの回路ブロックの概略図である。
【0011】
【
図3】本開示の一実施形態によるSPI集積回路の回路ブロックの概略図である。
【0012】
【
図4】本開示の一実施形態によるSPI集積回路の動作方法の概略流れ図である。
【0013】
【
図5】本開示の別の実施形態によるSPI集積回路の動作方法の概略流れ図である。
【発明を実施するための形態】
【0014】
本開示全体(特許請求の範囲を含む)において使用される「結合される(または接続される)」という用語は、任意の直接的または間接的な接続手段を指す。例えば、本開示が、第1の装置が第2の装置に結合される(または接続される)と説明する場合、その説明は、第1の装置が第2の装置に直接接続されるか、または第1の装置が、他の装置に接続することによって、もしくはある接続手段を使用して、第2の装置に間接的に接続されるものとして説明されるべきである。加えて、本明細書全体(特許請求の範囲を含む)において、「第1」、「第2」などの用語は、要素に名前を付けるため、または異なる実施形態もしくは範囲を区別するためにのみ使用され、いかなる要素の数の上限または下限として解釈されるべきではなく、要素の順序を限定するものとして解釈されるべきではない。さらに、同じ参照番号を有する要素/構成要素/ステップは、適切な場合、図および実施形態において同じまたは同様の部分を表す。異なる実施形態における同じ参照番号または用語を有する要素/構成要素/ステップの説明は、互いに参照されてもよい。
【0015】
図1は、本開示の一実施形態によるシリアル・ペリフェラル・インターフェース(SPI)アーキテクチャ100の回路ブロックの概略図である。
図1に示す実施形態では、SPIアーキテクチャ100は、マルチドロップ駆動アーキテクチャであってもよい。SPIアーキテクチャ100は、例えば、マスタIC M11およびスレーブIC S11、...、およびS1nなどの複数の集積回路(IC)を含む。スレーブIC S11~S1nの個数nは、実際の設計によって決定されてもよい。SPIアーキテクチャ100において、スレーブIC S11~S1nは、共にマスタIC M11に接続されている。マスタIC M11とスレーブIC S11~S1nには、異なる排他的識別コードが付与/定義されている。
【0016】
マスタIC M11は、SPIチャネル/インターフェースを介してスレーブIC S11~S1nにSPI仕様に準拠したに命令(またはデータ)およびクロック信号を送信することができる。マスタIC M11は、SPIチャネル/インターフェースを介してスレーブIC S11~S1nのうちいずれか1つをターゲットスレーブ回路として選択することができ、ターゲットスレーブ回路は、マスタIC M11によって送信されたコマンド(またはデータ)を実行(処理)することができる。スレーブIC S11~S1nのうちのいずれか1つは、自身がマスタIC M11によって選択されたターゲットスレーブ回路ではないと判断した場合、選択されてないスレーブICは、マスタIC M11のコマンド(データ)を無視しても(処理しなくても)よい。
【0017】
図2は、本開示の別の実施形態によるSPIアーキテクチャ200の回路ブロックの概略図である。
図2に示す実施形態では、SPIアーキテクチャ200は、デイジーチェーンアーキテクチャであってもよい。SPIアーキテクチャ200は、例えば、マスタIC M21およびスレーブIC S21、...、およびS2nなどの、直列に接続された複数のICを含む。スレーブIC S21~S1nの個数nは、実際の設計によって決定されてもよい。デイジーチェーンSPIアーキテクチャ200において、スレーブIC S21~S2nは、デイジーチェーンを形成するように直列に接続され、マスタIC M21は。デイジーチェーンにおいて第1のスレーブIC S21に接続されている。マスタIC M21とスレーブIC S21~S2nには、異なる排他的識別コードが付与/定義されている。マスタIC M21は、SPIチャネル/インターフェースを介してデイジーチェーンにSPI仕様に準拠したコマンド(またはデータ)およびクロック信号を送信し、デイジーチェーンの任意のスレーブIC S21~S2nは、前のICから後続のICにコマンド(またはデータ)およびクロック信号を伝達することができる。
【0018】
マスタIC M21は、SPIチャネル/インターフェースを介してスレーブIC S21~S2nのうちいずれか1つをターゲットスレーブ回路として選択することができる。すなわち、スレーブIC S21~S2nのそれぞれは、前のICからのコマンド(またはデータ)をデコードして、それがマスタIC M21によって選択されたターゲットスレーブ回路であるかどうかを判定することができる。ターゲットスレーブ回路は、マスタIC M21によって送信されたコマンド(データ)をさらに実行(処理)することができる。スレーブIC S21~S2nのうちのいずれか1つは、自身がマスタIC M21によって選択されたターゲットスレーブ回路ではないと判断した場合、選択されてないスレーブICは、マスタIC M21のコマンド(データ)を無視しても(処理しなくても)よい。
【0019】
図3は、本開示の一実施形態によるSPI ICの回路ブロックの概略図である。
図3は、SPI IC310およびSPI IC320を示す。ここで、SPI IC310は、SPIアーキテクチャのマスタIC(例えば、
図1に示すマスタIC M11または
図2に示すマスタIC M21)として動作することができ、SPI IC320は、SPIアーキテクチャのスレーブIC(例えば、
図1に示すスレーブIC S11~S1nのうちの1つまたは
図2に示すスレーブIC S21~S2nのうちの1つ)として動作することができる。SPI IC310は、SPIチャネル(SPIインターフェース)を介してSPI IC320に結合されてもよい。SPI IC310は、SPI仕様に準拠したコマンド(またはデータ)およびクロック信号を、SPIチャネルを介してスレーブSPI IC320に送信することができる。コマンドの実行結果および/またはデータの処理結果に基づいて、SPI IC320は、SPIチャネルを介してSPI IC310にデータを返すことができる。
【0020】
図4は、本発明の一実施形態によるSPI ICの動作方法の概略流れ図である。
図3および
図4を参照すると、マスタICとして動作するSPI IC310は、コア回路311およびデバッグ回路312を含む。デバッグ回路312は、コア回路311に結合されている。ステップS410において、コア回路311は、SPI IC320(SPIアーキテクチャのスレーブIC、すなわち、ターゲットスレーブ回路)に対するコマンド情報を生成し、このコマンド情報(第1のコマンド情報)は、SPI仕様に準拠したコマンド(データ)を含むことができる。一部の実際の設計では、このコマンド情報は、ターゲットスレーブ回路の排他的識別コード(チップ識別コード)を含むことができる。一部の他の実際の設計では、このコマンド情報は、チップ識別コードと、SPI仕様に準拠したコマンドコードとを含むことができる。
【0021】
さらに一部の他の実際の設計では、このコマンド情報は、データエラー訂正フラグ、チップ識別コード、およびSPI仕様に準拠したコマンドコードを含むことができる。データエラー訂正フラグは、SPI IC310によって提供されたデータ情報に対するエラー訂正動作を有効にするかどうかをSPI IC320に通知するために使用される(詳細な説明は以下の段落で提供される)。例えば、コア回路311は、データエラー訂正フラグをセットして、データ情報に対するエラー訂正動作を有効にするようにSPI IC320(スレーブIC)に通知することができる。あるいは、コア回路311は、データエラー訂正フラグをリセットして、データ情報に対するエラー訂正動作を無効にするようにSPI IC320に通知することができる。
【0022】
ステップS420において、デバッグ回路312は、コマンド情報に対応するデバッグ情報(第1のデバッグ情報)を生成することができる。デバッグ回路312によるデバッグ情報の生成の具体的な実施態様は、本実施形態では限定されない。例えば、一部の実際の設計では、デバッグ情報は、エラー訂正コード(ECC)を含んでもよく、すなわち、デバッグ回路312は、コマンド情報に対してECCアルゴリズムを実行して、デバッグ情報を生成してもよい。一部の他の実際の設計では、デバッグ回路312は、コマンド情報に対してチェックサムアルゴリズムまたは他のデバッギングアルゴリズムを実行して、デバッグ情報を生成することができる。
【0023】
ステップS430において、デバッグ回路312(またはコア回路311)は、SPIチャネルを介してコマンド情報およびデバッグ情報をSPI IC320に伝達することができる。コマンド情報およびデバッグ情報の伝達が完了した後、コア回路311は、コマンド情報(第1のコマンド情報)に対応するデータ情報(第1のデータ情報)をさらに生成し、SPIチャネルを介してデータ情報をSPI IC320に伝達することができる。実際の設計によると、データ情報は、アドレスフィールド、データフィールド、および/またはSPI仕様に準拠した他のフィールドを含むことができる。
【0024】
実際の設計によると、一部の実施形態では、デバッグ回路312は、データ情報に対応するデバッグ情報(第3のデバッグ情報)をさらに生成することができる。デバッグ回路312(またはコア回路311)は、SPIチャネルを介してデータ情報および第3のデバッグ情報をSPI IC320に送信することができる。デバッグ回路312による第3のデバッグ情報の生成の具体的な実施態様は、本実施形態では限定されない。例えば、一部の実際の設計では、第3のデバッグ情報は、巡回冗長検査(CRC)コードを含んでもよく、すなわち、デバッグ回路312は、データ情報に対してCRCアルゴリズムを実行して、第3のデバッグ情報を生成してもよい。一部の他の実際の設計では、デバッグ回路312は、データ情報に対してチェックサムアルゴリズムまたは他のデバッギングアルゴリズムを実行して、第3のデバッグ情報を生成することができる。
【0025】
図5は、本発明の別の実施形態によるSPI ICの動作方法の概略流れ図である。
図3および
図5を参照すると、SPIアーキテクチャにおいてスレーブICとして動作するSPI IC320は、コア回路321およびデバッグ回路322を含むことができる。デバッグ回路322は、コア回路321に結合されている。ステップS510において、デバッグ回路322は、SPIチャネルを介してSPI IC310(マスタIC)によって送信されたコマンド情報(第2のコマンド情報)およびデバッグ情報(第2のデバッグ情報)を受信することができる。一部の実際の設計では、このコマンド情報は、チップ識別コード(排他的識別コード)、データエラー訂正フラグ、SPIコマンドコード、および/または他のデータを含むことができる。一部の実際の設計では、デバッグ情報は、エラー訂正コード(ECC)、チェックサムコード、または他のデバッグ情報を含む。ステップS520において、デバッグ回路322は、デバッグ情報を使用することによってコマンド情報をチェックすることができる。
【0026】
SPI IC320(スレーブIC)は、SPI IC310(マスタIC)からのコマンド情報をデコードして、SPI IC320自身がSPI IC310によって選択されたターゲットスレーブ回路であるか否かを判断することができる。SPI IC320が、SPI IC310によって選択されたターゲットスレーブ回路でない場合(ステップS530において「いいえ」と判定された場合)、コア回路321は、ステップS540を実行することができる。すなわち、コア回路321は、SPI IC310からのコマンド情報を無視しても(処理しなくても)よい。SPI IC320が、SPI IC310によって選択されたターゲットスレーブ回路である場合(ステップS530において「はい」と判定された場合)、コア回路321は、ステップS550を実行して、SPI IC310からのコマンド情報をチェックして、正しいかどうかを判定することができる。
【0027】
ステップS520で行われたチェックに基づいて、デバッグ回路322が、コマンド情報が誤っているとチェックした場合(ステップS550で「いいえ」と判定された場合)、ステップS560を実行することができる。ステップS560において、デバッグ回路322は、エラー情報(例えば、エラーフラグ)をSPI IC310に返して、SPIチャネルを介してコマンド情報を再送信するようにSPI IC310に通知/要求することができる。SPI IC320がコマンド情報が誤っていることを通知した場合、SPI IC320のコア回路311は、SPIチャネルを介してSPI IC310にコマンド情報を再送信することができる。
【0028】
デバッグ回路322が、コマンド情報が正しいとチェックした場合(ステップS550において「はい」と判定された場合)、コア回路321は、ステップS570を実行して、SPI IC310(マスタIC)によって送信されたコマンド情報を実行することができる。コマンド情報を実行するプロセスにおいて、デバッグ回路322は、SPIチャネルを介してSPI IC310によって送信されたコマンド情報に対応するデータ情報(第2のデータ情報)を受信することができる。
【0029】
データエラー訂正フラグがセットされた場合、デバッグ回路322は、SPIチャネルを介してデータ情報に対応するデバッグ情報(第4のデバッグ情報)をさらに受信することができる。一部の実際の設計では、第4のデバッグ情報は、CRCコード、チェックサムアルゴリズム、または他のデバッグ情報を含むことができる。デバッグ回路322は、第4のデバッグ情報を使用することによってコマンド情報をチェックすることができる。デバッグ回路322が、データ情報が正しいとチェックした場合、コア回路321は、SPI IC310(マスタIC)によって送信されたデータ情報を処理することができる。デバッグ回路322がデータ情報の1ビット(または複数ビット)が誤っているとチェックした場合、デバッグ回路322は、第4のデバッグ情報を使用することによってデータ情報を修復することができる。
【0030】
デバッグ回路322が、第4のデバッグ情報の使用が、エラーを有するデータ情報を修復するのに十分でないと判断した場合、デバッグ回路322は、エラー情報(例えば、エラーフラグ)をSPI IC310(マスタIC)に返し、SPIチャネルを介してデータ情報を再送信するようにSPI IC310に通知/要求することができる。SPI IC320が、データ情報が誤っていることを通知した場合、SPI IC320のコア回路311は、SPIチャネルを介してデータ情報をSPI IC310に再送信することができる。
【0031】
さらに一部の他の実際の設計では、SPI IC310からのコマンド情報は、データエラー訂正フラグを含むことができる。SPI IC320は、SPI IC310からのデータエラー訂正フラグに従って、SPI IC310によって提供されたデータ情報に対するエラー訂正動作を有効にするかどうかを決定することができる。例えば、データエラー訂正フラグが有効である場合、デバッグ回路322は、第4のデバッグ情報を使用することによってSPI IC310からのデータ情報をチェックすることができる。データエラー訂正フラグが無効の場合、デバッグ回路322は、データ情報をチェックしない。
【0032】
以上のことから、複数のチップが直列に接続されたシステムにおいて、マスタICは、チップ識別コードを使用することによって1つのチップ(スレーブIC)を選択し、選択したチップに対してリード/ライトのコマンドを発行することができる。一部の実施形態では、マスタICおよびスレーブICは、ECCを使用することによってチップ識別コードおよびコマンドを保護することができる。チップ識別コードおよびコマンドの送信にエラーが発生した場合、スレーブICは、チップ識別コードおよびコマンドを修復するためにマスタICに再送信するように要求することができる。したがって、マスタICおよびスレーブICは、チップ識別コードおよびコマンドの正確性を保証することができる。チップ識別コードおよびコマンドの送信が成功したことが保証された後、マスタICは、アドレスおよびデータをスレーブICに送信することができる。マスタICおよびスレーブICは、CRCを使用することによってアドレスおよびデータの正確性を確認することができる。アドレスおよびデータの送信においてエラーが発生した場合、スレーブICは、アドレスおよびデータを適時に修復するか、またはエラー信号をマスタICに返してアドレスおよびデータを再送信させるようにしてもよい。
【0033】
異なる設計ニーズに従って、コア回路311、デバッグ回路312、コア回路321、および/またはデバッグ回路322は、ハードウェア、ファームウェア、ソフトウェア(すなわち、プログラム)、または前述の3つのうちの大多数の組合せの形態で実施されてもよい。ハードウェアの形態では、コア回路311、デバッグ回路312、コア回路321、および/またはデバッグ回路322は、IC上の論理回路の形態で実施されてもよい。コア回路311、デバッグ回路312、コア回路321、および/またはデバッグ回路322の関連機能は、ハードウェア記述言語(例えば、Verilog HDLまたはVHDL)または他の適切なプログラミング言語を使用することによって、ハードウェアとして実施されてもよい。例えば、コア回路311、デバッグ回路312、コア回路321、および/またはデバッグ回路322の関連機能は、1つもしくは複数のコントローラ、マイクロコントローラ、マイクロプロセッサ、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、および/または他の処理ユニットにおける様々な論理ブロック、モジュール、および回路において実施されてもよい。
【0034】
ソフトウェアおよび/またはファームウェアの形態では、コア回路311、デバッグ回路312、コア回路321、および/またはデバッグ回路322の関連機能は、プログラミングコードとして実施されてもよい。例えば、コア回路311、デバッグ回路312、コア回路321、および/またはデバッグ回路322は、汎用プログラミング言語(例えば、C、C++、またはアセンブリ言語)または他の適切なプログラミング言語を使用することによって実施されてもよい。プログラミングコードは、「非一過性コンピュータ可読媒体」に記録/記憶されてもよい。一部の実施形態において、非一過性コンピュータ可読媒体は、例えば、リードオンリーメモリ(ROM)、半導体メモリ、プログラマブル論理回路、および/または記憶装置を含む。記憶装置は、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、または他の記憶装置を含む。中央処理装置(CPU)、コントローラ、マイクロコントローラ、またはマイクロプロセッサは、非一過性ンピュータ可読媒体からプログラミングコードを読み取り、実行し、コア回路311、デバッグ回路312、コア回路321、および/またはデバッグ回路322の関連機能を達成することができる。
【0035】
本開示の範囲または趣旨から逸脱することなく、開示された実施形態に対して様々な修正および変形を行うことができることは、当業者には明らかであろう。上記を考慮して、本開示は、以下の特許請求の範囲およびそれらの均等物の範囲内に入るという条件で、修正および変形を包含することが意図されている。
【産業上の利用可能性】
【0036】
本発明のSPI ICおよびその動作方法は、大型タッチディスプレイIC(LTDI)用途に適用することができる。
【符号の説明】
【0037】
100、200 SPIアーキテクチャ
310、320 SPI IC
311、321 コア回路
312、322 デバッグ回路
M11、M21 マスタIC
S11、S1n、S21、S2n スレーブIC
S410~S430、S510~S70 ステップ