本発明のいずれかの実施形態を詳しく説明する前に、本発明は、その適用において、下記の説明に明記されるまたは下記の図面に例示される構造の詳細及び構成要素の配置に、限定されないことを理解されたい。本発明は、他の実施形態も可能であり、様々な方法で実践されること、または実行されることが可能である。フローチャート及びプロセスで提供される番号は、ステップ及び動作の例示を明確にするために提供されており、特定の順序または連続を必ずしも示すものではない。別段の定義がない限り、用語「または」は、選択肢の選択(例えば選言演算子、または排他的OR)、または選択肢の組み合わせ(例えば結合演算子、及び/または論理OR、またはブール演算OR)を指し得る。本明細書で使用される「バス」は、任意の通信チャネル(例えばオープンシステム相互接続[OSI]モデルの通信チャネル)を指し、「通信プロトコル」または「プロトコル」は、電気通信またはコンピュータネットワークにおけるデータの送信方法を特定する定義された規則集合を指す。
図面が参照されるが、特定の言語を使用して、本開示の様々な態様が説明される。このように図面及び説明を使用することは、その範囲を限定することと解釈されるべきではない。さらなる態様が、特許請求の範囲を含む本開示に照らして明らかになり得る、または実線により習得され得る。
X線撮像システムは、X線管、検出器、管制御ユニット(TCU)、熱交換器、認証ボードまたは認証ドータボード(ADB)、管補助ユニット(TAU)、高電圧ジェネレータ、システム制御ユニット(例えばホストシステム)、及びガントリなどの支持構造のうちの1つ以上など、様々な構成要素を含み得る。
いくつかの実施形態では、X線撮像システム構成要素には、一次製造業者(PM)の撮像製造会社により使用され、かつPM撮像構成要素(PMIC)と称される1つ以上の撮像構成要素と、二次製造業者(SM)の製造会社により供給され、かつSM撮像構成要素(SMIC)と称される1つ以上の撮像構成要素とが含まれ得る。例えば、X線管、検出器、TCU、認証ボード(複数可)またはADB、及びTAUは、PMIC(例えば一次製造業者の撮像構成要素)に分類され、ジェネレータ、システム制御ユニット、及びガントリは、SMIC(例えば二次製造業者及び/または異なる製造業者の撮像構成要素)に分類され得る。例では、例示目的でPMIC及びSMICに言及するが、3社以上の製造業者の撮像構成要素(例えば、SMICに分類される三次製造業者の撮像構成要素及び/または四次製造業者の撮像構成要素)も、X線撮像システムに使用されてもよい。
本明細書では用語「一次製造業者」/「一次製造業者撮像構成要素」及び「二次製造業者」/「二次製造業者撮像構成要素」が使用されるが、撮像構成要素は同一の製造業者により製造されてもよいことを、理解されたい。一次製造業者撮像構成要素または二次製造業者撮像構成要素である撮像構成要素への言及は、撮像構成要素の出所ではなく、それぞれの撮像構成要素の異なる技術特性及び/または能力を示すと、理解することができる。一次製造業者撮像構成要素は、第1の集合の技術特性及び/または能力を有し得、二次製造業者撮像構成要素は、第2の異なる集合の技術特性及び/または能力を有し得る。「一次」及び「二次」製造業者撮像構成要素は、何らかの非互換性があり得る(同一の製造業者から入手可能であったとしても)。
X線撮像システムの動作中、様々な撮像構成要素間で、ステータス及び/またはコマンドメッセージが送信され得る。例えば、TCUは、温度ステータス要求を、TAUに送信し得る。これに応じて、TAUは、TAUの温度を示すデータを含むステータスメッセージを送信し得る。
ADBは、X線撮像システムの撮像構成要素を認証するのに使用され得る。ADBは、撮像構成要素(例えばシステム制御ユニット及び/またはTAU)との暗号化通信を可能にする暗号化認証ハードウェア/ファームウェアを含み得る。「ADB」は、別個の構成要素として言及されるが、ADBの機能は、PMICの回路に統合されてもよく、あるいはADBは、SMICに接続される、またはSMICと共にインストールされる別個の構成要素であり得る。いくつかの例では、ADBは、PMにより製造され、SMICと共に使用するためにSMに提供され得る。例えば、TAU及び/またはシステム制御ユニットも、ADBとの暗号化通信を可能にする暗号化認証ハードウェア/ファームウェアを含み得る。いくつかの実施形態では、TAUがX線管に取り付けられ得、ADBは、X線管の検証を、TAUを介して要求することができる。例えば、交換X線管が設置され得、ADBは、TAUを介して交換X線管の検証を要求し得る。システム制御ユニットは、ガントリ、検出器、X線管、及びジェネレータなどの回転を制御し得る。システム制御ユニットはまた、ADBと通信して、1つ以上の撮像構成要素の認証を行うように、ADBに命令を提供し得る。
いくつかの実施形態では、X線撮像システムは、1つ以上の通信バスを使用して、様々な撮像構成要素を相互接続し、1つ以上の通信プロトコルを使用して、様々な撮像構成要素間の通信及び様々な撮像構成要素との通信を可能にし得る。異なる通信バス及び/または通信プロトコルを使用する通信は、様々な問題を生じ、これには、X線撮像システムの実施にかかる時間の増加、様々な撮像構成要素間の非互換性の問題、及びメッセージ変換競合が含まれるが、これに限定されない。さらに、異なるバス及び/または異なる通信プロトコルを使用する撮像構成要素間の通信は、異なるプロトコルに対応するのに必要な比較的複雑な変換ユニット及び/または変換ソフトウェアを要するため、X線撮像システム内の構成要素のコスト及びサイズの増大を生じ得る。
図1は、2つの通信プロトコル(プロトコル「1」及びプロトコル「2」)を使用して通信する4つの撮像構成要素107a〜dを含む例示的なX線撮像システム100を示す。2つの通信プロトコルを使用して通信する撮像構成要素107a〜dは、少なくとも1つの変換ユニット101を使用して、プロトコル1を使用して通信する第1の撮像構成要素107aと第2の撮像構成要素107bとの間の通信、及びプロトコル2を使用して通信する第3の撮像構成要素107cと第4の撮像構成要素107dとの間の通信を、可能にし得る。変換ユニット101は、プロトコル1をプロトコル2に変換し、その逆も同様に変換するために、追加ロジックを提供し得る。
図2は、4つの通信プロトコル(プロトコル「1」、プロトコル「2」、プロトコル「3」、及びプロトコル「4」)を使用して通信する4つの撮像構成要素207a〜207dを含む例示的なX線撮像システム200を示す。例えば、第1の撮像構成要素207aは、プロトコル1を使用して通信し得、第2の撮像構成要素207bは、プロトコル2を使用して通信し得、第3の撮像構成要素207cは、プロトコル3を使用して通信し得、第4の撮像構成要素207dは、プロトコル4を使用して通信し得る。X線撮像システム200はまた、第5の通信プロトコル(プロトコル「5」)を使用して通信する少なくとも2つの変換ユニット201a〜bを含み得る。
撮像構成要素207a〜dのうちのいずれかから他の撮像構成要素207a〜dのうちのいずれかへ送信されたメッセージは、少なくとも1回、可能であれば2回、変換され得る。例えば、第1の撮像構成要素207aにより、第4の撮像構成要素207dへ送信されたメッセージは、第1の変換ユニット201aにより、プロトコル1からプロトコル4に変換され得る。別の例としては、第2の撮像構成要素207bにより、第4の撮像構成要素207dへ送信されたメッセージは、第2の変換ユニット201bにより、プロトコル2からプロトコル5に変換され得る。さらに、第1の変換ユニット201aが、メッセージをプロトコル5からプロトコル4に変換し得る。
メッセージの変換は、処理遅延、変換エラー、応答時間、X線撮像システムの制御時間、及びその他の問題を増やし得る。同様に、X線撮像システムが収集するデータ量が増え続けると、これらのX線撮像システムは、収集した大量のデータに対処するのに十分な速さでメッセージを処理及び/または送信することができず、これにより、効率的な撮像動作及び処理においてボトルネックが生じ得る。
いくつかの実施形態では、X線撮像システム内の変換ユニットの数を減らす、またはなくしさえするために、様々な撮像構成要素が、フレキシブル通信プロトコル及び/またはフレキシブル通信バスを使用して通信し得る。フレキシブル通信プロトコル及び/またはフレキシブル通信バスの実施により、信頼性が向上し、通信の一貫性が向上し、X線撮像システムの複雑さが軽減され得る。同様に、フレキシブル通信プロトコル及び/またはフレキシブル通信バスの実施により、撮像構成要素が同じフレキシブル通信プロトコルを使用して通信し得るため、X線撮像システムの1つ以上の撮像構成要素を交換及び/またはアップグレードするのに要する時間量が削減され得る。さらに、フレキシブル通信プロトコル及び/またはフレキシブル通信バスの実施により、非暗号化(例えば非セキュア及び/またはオープン)メッセージが様々な撮像構成要素に送信される一方で、暗号化(例えばセキュア及び/またはクローズド)メッセージが異なる撮像構成要素に送信されることが、可能となる。
例示的な一実施形態では、パケットプロトコル(例えば二次製造業者特有プロトコル、オープンプロトコル、非セキュアプロトコル、または固定プロトコル)及びメッセージプロトコル(例えば一次製造業者特有プロトコル、またはセキュアプロトコル)を有するフレキシブル通信プロトコルが提供される。パケットプロトコルは、パケットプロトコルまたは特定のパケット形式を想定しているPMICとSMICとの間の通信に使用され得る。さらに、パケットプロトコルは、PMICとSMICとの間の非暗号化通信に使用され得る。さらに、パケットプロトコルは、SMIC間で行われるいずれの通信にも使用され得る。対照的に、PMIC間で行われる通信には、メッセージプロトコルが使用され得る。さらに、メッセージプロトコルは、PMIC間の暗号化通信に使用され得る。
いくつかの実施形態では、パケットプロトコルを実施することにより、PMICとSMICとの間及び/またはSMIC間で単一パケットを介した通信を行うことが可能となり得る。このようにして、パケットプロトコルは、SMICの標準通信プロトコルを使用して、PMICのうちの1つ以上及び/またはSMICのうちの1つ以上と、フレキシブル通信バスを介して通信する。同様に、メッセージプロトコルを実施することにより、ヘッダパケット(またはエンベロープ)及び複数のパケットでメッセージを形成する1つ以上のデータパケットを介して、PMIC間の通信が可能となり得る。
システム制御ユニットは、フレキシブル通信バスとは別個に作動し得るホストバスを介して、様々なホストデバイスに通信可能に接続され得る。いくつかの実施形態では、フレキシブル通信プロトコルを実施することにより、未認証のSMICは、認証が欠けているため電源を切られずにX線撮像システムの様々な制御要求を満たすように、X線撮像システム内で電源の入った状態で保たれることが可能となる。これら及び他の実施形態では、未認証SMICは、PMICが受信するが処理しなくてもよいメッセージを送信し得る。例えば、ADBを含む交換X線管が、X線撮像システム内に設置され得る。X線管は、認証に失敗し、電源投入状態を継続して、PMICがメッセージ処理を行う必要のないフレキシブル通信プロトコルを使用して、PMICにメッセージを送信し得る。
いくつかの実施形態では、フレキシブル通信プロトコルを実施することにより、パケットプロトコルに従って生成されたメッセージが送信される前及び送信された後に、メッセージプロトコルに従って生成されたメッセージの一部がPMICにより送信されることが可能となる(例えばメッセージプロトコルのパケットにはパケットプロトコルのパケットが散在し得る)。例えば、メッセージプロトコルに従って生成されたメッセージに、ヘッダパケット及び6つのデータパケットが含まれ得る。ヘッダパケット及びデータパケットのうちの2つは、PMICにより送信され得る。パケットプロトコルに従って生成されたメッセージは、PMICにより、ヘッダパケット及び2つのデータの後に送信され得る。続いて、パケットプロトコルに従って生成されたメッセージの後に、残りの4つのデータパケットが送信され得る。
例示的な一実施形態では、PMICとSMICとの間の通信は、CANバスを介して行われ得る(例えばフレキシブル通信バスにはCANバスが含まれ得る)。CANバスを介して通信されるメッセージは、特定のビットを占有する特定のフィールドを用いて生成され得、これは図3〜図5に関連して下記により詳しく論述される。例えば、CANフレームは128ビットを含み得、そのうちの93ビットは、本明細書に開示される実施形態に従って設定される。
いくつかの実施形態では、PMICとSMICとの間の通信は、オープンシステム相互接続(OSI)モデルのネットワーク、トランスポート、セッション、プレゼンテーション、及び/またはアプリケーション層で行われ得る。一方、CAN通信は、OSIモデルの物理層及びデータリンク層で行われ得る。例えば、OSIモデルのネットワーク層では、通信パケット(図3の300)内のソースフィールド(図3の334)及び/または宛先フィールド(図3の336)が使用され得る。別の例として、OSIモデル内のプレゼンテーション及び/またはアプリケーション層では、通信パケット(図3の300)内の1つ以上のコマンドフィールド(図3の344a〜344b)が使用され得る。さらに、OSIモデルのプレゼンテーション及び/またはアプリケーション層では、パケット番号フィールド(図3の340)が使用され得る。同様に、OSIモデル内のアプリケーション層及び/またはプレゼンテーション層では、通信パケット(図3の300)内のデータフィールド(342a〜342f)が使用され得る。さらに、OSIモデルのセッション層では、SMコマンドコードフィールド(図3の338)が使用され得る。
いくつかの実施形態では、OSIモデルのネットワーク層では、ヘッダパケット(図4の400)及び/またはデータパケット(図5の500)内のPMソースフィールド(図4及び/または図5の450)及び/またはPM宛先フィールド(図4及び/または図5の452)が使用され得る。別の例として、OSIモデルのセッション層では、ヘッダパケット(図4の400)及び/またはデータパケット(図5の500)内のPMコマンドコードフィールド(図4及び/または図5の454)が使用され得る。さらに別の例として、OSIモデルのトランスポート層では、CRC上位フィールド(図4の458a)及び/またはCRC下位フィールド(図4の458b)が使用され得る。さらに、OSIモデルのセッション層では、応答コードフィールド(図4の462)、確認フィールド(図4の464)、上位バイト合計メッセージデータバイトフィールド(図4の466)、下位バイト合計メッセージデータバイトフィールド(図4の468)、パケット番号フィールド(図4の340)、及び/またはデータパケット番号フィールド(図5の574)が使用され得る。同様に、OSIモデル内のアプリケーション層では、データパケット(図5の500)内のデータフィールド(図5の342a〜342f)が使用され得る。さらに、プレゼンテーション層では、暗号化フィールド(図4の460)が使用され得る。
図6は、本明細書に開示される1つ以上の実施形態による、画像データを取得し、画像データの処理、表示、及び/または分析を行うために使用され得るX線撮像システム600(本明細書ではシステム600)の一例の斜視図である。システム600は、例えばCTシステムであり得るX線撮像システムを指し得る。システム600は、本開示で説明される概念が実施され得る動作環境の一例であるが、動作環境を限定するものではない。説明される概念は、多数の異なるX線撮像システムの種類のうちのいずれでも実施することができる。
図6を参照すると、システム600は、X線源アセンブリ614を含むガントリ612などの支持機構を含み得、X線源アセンブリ614は、X線を生成して、コリメータ(図示せず)またはガントリ612の反対側に配置された検出器アセンブリ618に向けて、X線を投射するように構成される。システム600は、610で示される患者(または用途に応じてはスキャンされる別の物体)を受け取り配置する作動テーブル616を含み得る。例えば、作動テーブル616は、患者610をガントリ612の開口部606に少なくとも部分的に通して移動させ得、これにより、X線源アセンブリ614により生成されたX線が患者610を通過し、検出器アセンブリ618により受信されて、患者610に関する情報(例えばX線投影データ)が取得される。
X線源アセンブリ614は、周知の方法でX線を生成するX線管(図示せず)を含み得る。他の例では、X線源アセンブリは、線形加速器などの別の種類のX線源であり得る。検出器アセンブリ618は、やはり周知の方法で、患者610を通過するX線を検出するように構成された1つ以上の検出器608を含み得る。
X線源アセンブリ614は、604で示されるTCUに通信可能に接続され得る。TCU604は、602で示されるシステム制御ユニットに通信可能に接続され得る。一般に、システム制御ユニット602は、システム600の様々な構成要素とインターフェースし、それらを制御し得る。さらに、TCU604は、X線源アセンブリ614に例えば制御信号を提供するために、X線源アセンブリ614とインターフェースし得る。TCU604によりX線源アセンブリ614に提供される制御信号には、例えば、X線源アセンブリ614のX線管内の電子ステアリング磁気及び集束構成要素を制御する信号が含まれ得る。いくつかの構成では、ジェネレータ(この一例が図7の728に示され、ガントリ612上の構成要素であり得る)は、例えば、X線管及び結果的X線生成のさらなる制御のために、X線源アセンブリ614に電力及び/またはタイミング信号を提供し得る。システム制御ユニット602は、ジェネレータとインターフェースして、例えば制御信号をジェネレータに提供することで、オペレータ制御を可能にし得る。ジェネレータADBは、ジェネレータが他の撮像構成要素と通信するためのプラグインボードを含み得る。
図6の例示された構成では、TCU604は、X線源アセンブリ614とは物理的に分離した様式で、ガントリ612上に配置され、ガントリ612に接続されるように構成される。他の構成では、TCU604は、システム600の他の部分に配置され得る、またはX線源アセンブリ614と統合され得る。
X線投影データを取得するために患者610をスキャンする間、作動テーブル616は、分析対象である患者610の一部を、ガントリ612の開口部606に少なくとも部分的に通して配置し得る。スキャン中、ガントリ612及びこれに搭載された構成要素は、回転中心の周りを回転し得、X線源アセンブリ614は、患者610を通って検出器アセンブリ618まで進むX線を放出し得る。ガントリ612及び作動テーブル616は、システム制御ユニット602に通信可能に接続され得る。ガントリ612の回転及び作動テーブル616の作動は、システム制御ユニット602により、好適な制御信号の発行を介して少なくとも部分的に制御され得る。図6に示されるように、ガントリは、X線撮像システムで使用される。他の例では、心血管(CV)用途におけるCアームなど、他の機能または構造の構成要素が使用され得る。
システム制御ユニット602は、検出器アセンブリ618で受信された放射線を表すデジタル信号を受信し得、これはメモリにて処理または記憶され得る。システム制御ユニット602はまた、ディスプレイ、キーボード、マウス、または任意の他の好適なインターフェース構成要素などの好適なオペレータインターフェース(図示せず)を有するコンソール603を介して、オペレータからコマンド及びスキャンパラメータを受信し得る。対応付けられたディスプレイにより、オペレータは、システム制御ユニット602からの画像及び他のデータを観察することが可能となる。オペレータは、システム制御ユニット602を介して、X線源アセンブリ614の動作に調整を加え得る。いくつかの構成では、オペレータは、ジェネレータの動作に調整を加えて、例えばX線源アセンブリ614に電力及び/またはタイミング信号を提供し得る。
例示されるシステム600は、610で示されるように患者を分析するように構成されるが、代替的な構成では、システム600は、他の種類の試料または物体を分析するように構成され得る。このような状況で、作動テーブル616及び/またはガントリ612は、分析中の物体のサイズ及び形状に基づいて、適合され得る。
図6は、CTシステムとして構成されたシステム600を示す。他の例では、システム600は、放射線システム、マンモグラフィ、蛍光透視システム、Cアームシステム、セキュリティまたは検査システム、非破壊試験(NDT)システム、線形加速器、セキュリティ及び検査システムに使用されるX線システム、または他の種類のX線撮像システムとして、構成され得る。
図7は、本明細書に開示される1つ以上の実施形態による、764で示されるフレキシブル通信バスを介した通信を可能にし得るX線撮像システム700(本明細書ではシステム700)の一実施形態のブロック図を示す。
図7を参照すると、システム700は、二次部766及び一次部762を含み得る。一次部762は、例えば、ADB720と、1つ以上の熱交換器722と、X線源アセンブリ614と、検出器アセンブリ618と、TCU604、TAU726とを含み得る。二次部766は、例えば、システム制御ユニット602と、ジェネレータ728とを含み得る。X線源アセンブリ614、検出器アセンブリ618、及びシステム制御ユニット602は、図6に関連して上記に論述されたX線源アセンブリ614、検出器アセンブリ618、及びシステム制御ユニット602と同一または同様であり得る。例示では、一次部762内の撮像構成要素は、一次製造業者により製造され、二次部766内の撮像構成要素は、1つ以上の異なる製造業者(例えば二次製造業者、三次製造業者など)により製造され得る。例えば、システム制御ユニット602は、二次製造業者により製造され得、ジェネレータ728は、三次製造業者により製造され得る。別の例として、システム制御ユニット602及びジェネレータ728は、二次製造業者により製造され得る。
図7の例示的な実施態様に示されるように、一次部762内の撮像構成要素は、フレキシブル通信バス764を介して二次部766内の撮像構成要素に通信可能に接続され得る。システム700の様々な撮像構成要素(PMIC及びSMIC)は従って、フレキシブル通信プロトコルを使用して通信し得る。いくつかの実施形態では、フレキシブル通信バス764には、コントローラエリアネットワーク(CAN)バス、伝送制御プロトコル/インターネットプロトコル(TCP/IP)バス、集積回路間(I2C)バス、シリアルペリフェラルインターフェース(SPI)バス、またな任意の他の好適な通信バスが含まれ得る。CANバスは、本来車両用に設計された堅固なバス規格であり、これにより、マイクロコントローラ及びデバイスは、ホストコンピュータがなくてもアプリケーションで相互に通信することが可能となる。撮像システムにおいてノイズの多い通信が起こり得るノイズの多い通信チャネル(例えば物理層)で、CANバスは、信頼性の高い通信を提供し得る。
一実施形態では、フレキシブル通信プロトコルは、複数のサブプロトコルを含み得る。例えば、フレキシブル通信プロトコルは、フレキシブル通信バス764を介したシステム700の一次部762内の撮像構成要素と二次部766内の撮像構成要素との間の通信を可能にするパケットサブプロトコル(本明細書ではパケットプロトコルと称される)を含み得る。加えて、パケットプロトコルは、フレキシブル通信バスを介したシステム700の二次部766内の撮像構成要素間の通信を可能にする。別の例として、フレキシブル通信プロトコルは、フレキシブル通信バス764を介したシステム700の一次部762内の撮像構成要素間の通信を可能にするメッセージサブプロトコル(本明細書ではメッセージプロトコルと称される)を含み得る。
いくつかの実施形態では、システム制御ユニット602は、システム700の二次部766及び/または一次部762内の撮像構成要素を、間接的または直接的に制御及び/または監視するコマンドセンタとして使用され得る。これら及び他の実施形態では、システム制御ユニット602は、ユーザオペレータが、例えばシステム700のステータスを監視すること、システム700の様々な撮像構成要素にコマンドを送信すること、及び/またはシステム700により取り込まれたX線画像を処理することを可能にするソフトウェア、ハードウェア、コンソール、及びディスプレイ(図示せず)を含み得る。
加えて、システム制御ユニット602は、システム700の他の撮像構成要素と通信するホストADB(図示せず)を含み得る。ホストADBは、システム700の二次部766内の撮像構成要素を認証するために使用され得る。ホストADBとシステム700の二次部766内の撮像構成要素との間の通信は、システム700の一次部762内の撮像構成要素と二次部766内の撮像構成要素との間の通信と、並行して行われ得る。
さらに、システム制御ユニット602は、ホストバス(図示せず)を介して、追加の撮像構成要素に通信可能に接続され得る。システム制御ユニット602は、ホストバスを介して、システム700の二次部766及び/または一次部762内の撮像構成要素を制御及び/または監視するコマンドを受信し得る。ホストバスを介したシステム制御ユニット602との通信は、フレキシブル通信バス764を介した撮像構成要素間の通信とは、別個に行われ得る。
一実施形態では、制御信号及び/またはデータの交換を促進するために、TCU604は、フレキシブル通信バス764を介してX線源アセンブリ614に通信可能に接続され得る。例として、制御信号には、X線源アセンブリ614のX線管内の電子ステアリング磁気及び集束構成要素を制御する信号が含まれ得る。信号及び/またはデータの交換を促進するために、TAU726も、フレキシブル通信バス764を介してTCU604に通信可能に接続され得る。一実施形態では、TCU604はまた、フレキシブル通信バス764を介してシステム制御ユニット602に通信可能に接続され得る。従って、制御信号及び/またはデータは、TAU726と、TCU604と、システム制御ユニット602との間で送信され得る。例示的な一実施形態では、TAU726は、X線源アセンブリ614に対応付けられたX線管の特有データを、TCU604に提供し得る。このようなデータの非限定的な例として、管製造データ、管較正データ、制御データ、及び/または管作動データが挙げられ得る。
一実施形態では、1つ以上の熱交換器722も、フレキシブル通信バス764を介してシステム制御ユニット602に通信可能に接続され得る。このようにして、システム制御ユニット602は、熱交換器722(複数可)に制御信号を提供し得る、または熱交換器722(複数可)からデータを受信し得る。例示的な一実施形態では、熱交換器722は、システム700の動作中にX線源アセンブリ614により生成された熱を放散するように構成され得、熱放散の特有データをシステム制御ユニット602に提供し得る。このようなデータには、X線源アセンブリ614の現在の温度、熱放散の現在のレベル、及び/または熱交換器722に関する任意の他のステータスが含まれ得る。同様の方法で、構成に応じて、システム制御ユニット602は、このようなステータスデータに応答して、好適な制御信号を介して熱交換器722の動作を制御し得る。例えば、冷却材の流量及び/または作動温度の調整は、好適な制御信号に従って変化し得る。
一実施形態では、ジェネレータ728は、例えば、X線源アセンブリ614に電力及び/またはタイミング信号を提供し得る。電力及び/またはタイミング信号はまた、X線管及び結果的X線生成に使用され得る。
図8は、本明細書に開示される1つ以上の実施形態による、X線撮像システムの撮像構成要素間の通信の例示的な方法800を示すフローチャートである。方法800は、任意の好適なシステム、装置、または撮像構成要素により実行され得る。例えば、図6のシステム600及び図7のシステム700は、方法800に対応付けられた動作のうちの1つ以上の実行を指示し得る。別個のブロックで示されるが、方法800のブロックのうちの1つ以上に対応付けられたステップ及び動作は、特定の実施態様に応じて、追加のブロックに分割されてもよく、より少ないブロックに合併されてもよく、または完全に削除されてもよい。
方法800は、対象撮像構成要素が一次製造業者撮像構成要素であるか否かが判定されるブロック802から始まり得る。イニシエータ撮像構成要素は、対象撮像構成要素が一次製造業者撮像構成要素であるか否かを判定し得る。いくつかの実施形態では、イニシエータ撮像構成要素は、受信構成要素のアドレスが、PMICに対応付けられているか、SMICに対応付けられているかを判定し得る。例えば、対象撮像構成要素の構成要素IDは、既知の構成要素IDと比較され得る。構成要素IDは、表Iに関連して下記に論述される構成要素値のうちの1つに対応し得る。
対象撮像構成要素が一次製造業者撮像構成要素である場合、方法800は、ブロック804に進み得る。ブロック804では、ヘッダパケット及び1つ以上のデータパケットを含む要求メッセージが生成され得る。ヘッダパケット及び1つ以上のデータパケットは、メッセージプロトコルに従って生成され得る。一実施形態では、ヘッダパケットは、図4に関連して下記に論述される例示的なヘッダパケット400と同一または同様であり得る。いくつかの実施形態では、1つ以上のデータパケットは、図5に関連して下記に論述される例示的なデータパケット500と同一または同様であり得る。
方法800は、要求メッセージが対象撮像構成要素に送信され得るブロック806に続く。対象撮像構成要素は、一次製造業者撮像構成要素であり得る。
ブロック802で、対象撮像構成要素が一次製造業者撮像構成要素ではないと判定された場合、方法800は、代わりにブロック808に進み得る。ブロック808では、通信パケットを含む通信メッセージが生成され得る。通信パケットは、パケットプロトコルに従って生成され得る。一実施形態では、通信パケットは、図3に関連して下記に論述される例示的な通信パケット300と同一または同様であり得る。
方法800は、通信メッセージが対象撮像構成要素に送信され得るブロック810に続く。対象撮像構成要素は、二次製造業者撮像構成要素であり得る。
図3は、本明細書に開示される1つ以上の実施形態による、パケットプロトコルを使用して送信される例示的な通信パケット300を示す。通信パケット300は、通信パケット識別子部分330と、通信パケットデータ部分332とを含み得る。いくつかの実施形態では、通信パケット300は、通信メッセージに含まれ得る。例示では、通信パケット識別子部分330は、29ビットを有し得、予備フィールド335と、ソースフィールド334と、宛先フィールド336と、SMコマンドコードフィールド338と、パケット番号フィールド340とを含む。例示的な一実施形態では、予備フィールド335は、ゼロに設定され得る単一ビットを有し得る。付加的または代替的に、予備フィールド335は、1に設定されてもよい。
ソースフィールド334は、6ビットを有し得、通信パケット300を生成した撮像構成要素に対応付けられた構成要素識別(ID)値を含み得る。非限定的な一例では、X線撮像システムは、6つ以下の撮像構成要素を含み得、ソースフィールド334内の各ビットは、X線撮像システムの単一の撮像構成要素に対応し得る(例えばビット単位の復号化)。付加的または代替的に、X線撮像システムは、7つ以上の撮像構成要素を含んでもよく、この中のどの撮像構成要素が通信パケット300を生成したかは、ソースフィールド334内の値の2進値復号化を使用して、特定され得る。
例示では、宛先フィールド336は、6ビットを有し得、通信パケット300を受信する予定の撮像構成要素に対応付けられた構成要素ID値を含み得る。いくつかの実施形態では、X線撮像システムは、6つ以下の撮像構成要素を含み得、宛先フィールド336内の各ビットは、X線撮像システムの単一の撮像構成要素に対応し得る。付加的または代替的に、X線撮像システムは、7つ以上の撮像構成要素を含んでもよく、この中のどの撮像構成要素が通信パケット300を受信するかは、宛先フィールド336内の値の2進値復号化を使用して、特定され得る。
表Iは、パケットプロトコルを使用して送信するメッセージに含まれる通信パケット300の通信パケット識別子部分330(例えばソースフィールド334または宛先フィールド336)に含まれ得る様々な撮像構成要素の例示的な構成要素ID値を示す。
例示では、SMコマンドコードフィールド338は、8ビットを有し得、通信パケット300を受信するSMICに対する様々なコマンドに対応付けられたSMコマンドコード値を含み得る。一例では、SMコマンドコード値は、ゼロ値(例えば0x00)または単一の値を有し得る。表IIは、通信パケット300のSMコマンドコードフィールド338に含まれ得る例示的なSMコマンドコード値を示す。
SMコマンドコード値は、SMICの製造業者特有の形式(例えばコマンドコード0x00)を含み得る。例えば、PMICは、温度要求などのステータス要求をSMICに送信し得、これは、SMコマンドコードフィールド338に0x00の値と、SMICの温度を送信することを指示するサブコマンドとを含み得る。別の例では、SMコマンドコード値は、複数の値を有し得る。例えば、各SMコマンドコード値は、異なる二次製造業者特有プロトコルを表し得る。
例示では、パケット番号フィールド340は、8ビットを有し得、一連のパケット内での通信パケット300の位置を識別し得る。いくつかの実施形態では、パケットプロトコルは単一のパケット通信を使用して実施され得るため、パケット番号フィールド340に含まれる値は、ゼロの値を含み得る。
例示では、一例の製造業者特有の通信パケットデータ部分332は、64ビットを有し得、これには、図3に示されるように、1つ以上のコマンドフィールド344a〜344bと、1つ以上のデータフィールド342a〜fとが含まれ得る。コマンドフィールド344a〜344bは、例えば、16ビットを有し得、第1のコマンドフィールド344aと第2のコマンドフィールド344bとに分割され得る。コマンドフィールド344a〜344bは、SMICに対するコマンドコード値を含み得る。いくつかの実施形態では、コマンドフィールド344a〜344bは、ASCIIコマンド値を含み得る。データフィールド342a〜fは、例えば、6バイトを有し得、通信パケット300で送信するデータ及び/または情報を含み得る。いくつかの実施形態では、通信パケット300で送信するデータ及び/または情報は、データフィールド342a〜fのうちの1つのフィールドの1ビットを有し得る。付加的または代替的に、通信パケット300で送信するデータ及び/または情報は、データフィールド342a〜fの2ビット以上を有してもよい。
例示として、通信パケット識別子部分330及び通信パケットデータ部分332内の様々なフィールドは、一例の製造業者特有プロトコルのために、特定のバイト及び/またはビット数を含むと、本明細書では説明される。しかしながら、様々なフィールドは、本明細書に例示または説明されるものよりも多いまたは少ないバイト及び/またはビットを含んでもよいことが、理解されよう。異なる製造業者特有プロトコルは、異なるバイト及び/またはビット構成並びに/あるいはバイト及び/またはビット数を有し得る。
図4は、本明細書に開示される1つ以上の実施形態による、メッセージプロトコルを使用して送信される例示的なヘッダパケット400を示す。ヘッダパケット400は、要求メッセージ(例えば要求ヘッダパケットとして)または応答メッセージ(例えば応答ヘッダパケットとして)に含まれ得る。ヘッダパケット400は、ヘッダパケット識別子部分446と、ヘッダパケットデータ部分448とを含み得る。ヘッダパケット識別子部分446は、29ビットを有し得る。ヘッダパケット識別子部分446は、予備フィールド335と、PMソースフィールド450と、PM宛先フィールド452と、PMコマンドコードフィールド454と、パケット番号フィールド340とを含み得る。一実施形態では、予備フィールド335及びパケット番号フィールド340は、図3に関連して上記に論述された例示的な予備フィールド335及びパケット番号フィールド340と同一または同様であり得る。ヘッダパケット識別子部分446(及び図5に示されるデータパケット識別子部分570)のPMソースフィールド450、PM宛先フィールド452、及びPMコマンドコードフィールド454は、図3に示される通信パケット識別子部分330のソースフィールド334、宛先フィールド336、及びSMコマンドコードフィールド338と、パケットの同じ場所にあり得る。
いくつかの実施形態では、予備フィールド335は、ゼロに設定され得る単一ビットを有し得る。付加的または代替的に、予備フィールド335は、1に設定されてもよい。いくつかの実施形態では、メッセージプロトコルを介してメッセージを送信するPMICは、メッセージごとに8バイトを超えるデータ(例えば複数のパケット)を送信することが可能である。
メッセージプロトコルを使用して送信されるメッセージは、ヘッダパケット400と、図5に関連して下記にさらに詳しく論述される1つ以上のデータパケットとを含み得る。あるいは、メッセージプロトコルを使用して送信されるメッセージは、ヘッダパケット400のみを含み得る。ヘッダパケット400は、メッセージに関する情報、及び/またはメッセージに含まれるデータ及び/または情報を含み得る。例えば、ヘッダパケット400は、データ及び/または情報に関する情報を含み、これにより、メッセージを受信するPMICは、データ及び/または情報を正しく再構築することが可能となる。同様に、ヘッダパケット400は、ソース、使用される暗号化技術、及び/またはメッセージのコマンド構造を示すデータ及び/または情報を含み得、これについては下記でさらに詳しく論述される。
ヘッダパケット400の構造は、X線撮像システムのPMICを認証する手続きを支援し得る。例えば、ヘッダパケット400の実施により、X線管の支援、スマート管機能、及び/または予測障害補償が提供され得る。いくつかの実施形態では、スマート管機能には、撮影されたX線ショットの種類の履歴、及び/または管の障害をリアルタイムで予測するソフトウェアルゴリズムが含まれ得る。
PMソースフィールド450は、ヘッダパケット400を生成したPMICに対応付けられた構成要素ID値を含み得る。PMソースフィールド450は、6ビットを有し得、ヘッダパケット400を送信したPMICに対応付けられた構成要素ID値を含み得る。PMソースフィールド450に含まれる構成要素ID値は、表Iに関連して上記に論述された構成要素ID値と同一または同様であり得る。いくつかの実施形態では、X線撮像システムは、6つ以下のPMICを含み得、PMソースフィールド450内の各ビットは、単一のPMICに対応し得る(例えばビット単位の復号化)。付加的または代替的に、X線撮像システムは、7つ以上のPMICを含んでもよく、この中のどのPMICがヘッダパケット400を生成したかは、PMソースフィールド450内の構成要素ID値の2進値復号化を使用して、特定され得る。
PM宛先フィールド452は、ヘッダパケット400を受信する予定のPMICに対応付けられた構成要素ID値を含み得る。PM宛先フィールド452は、例えば、6ビットを有し得、ヘッダパケット400を受信する予定のPMICに対応付けられた構成要素ID値を含み得る。PM宛先フィールド452に含まれる構成要素ID値は、表Iに関連して上記に論述された構成要素ID値と同一または同様であり得る。いくつかの実施形態では、X線撮像システムは、6つ以下のPMICを含み得、PM宛先フィールド452内の各ビットは、単一のPMICに対応し得る(例えばビット単位の復号化)。付加的または代替的に、X線撮像システムは、7つ以上のPMICを含んでもよく、この中のどのPMICがヘッダパケット400を受信する予定であるかは、PM宛先フィールド452内の値の2進値復号化を使用して、特定され得る。
PMコマンドコードフィールド454は、ヘッダパケット400を受信する予定のPMICに対するコマンドに対応付けられたPMコマンドコード値を含み得る。PMコマンドコードフィールド454は、例示では、8ビットを有し得る。一例では、PMコマンドコード値は、非ゼロ値(例えば0x01〜0xFF)または複数の値を有し得る。表IIIは、ヘッダパケット400のPMコマンドコードフィールド454に含まれ得る例示的なPMコマンドコード値を示す。
PMコマンドコード値は、PMICの一次コマンド形式(例えばコマンドコード0x01〜0xFF)を含み得る。例えば、PMICは交換され得、交換PMICは、作動する前、またはX線撮像システム内の他のPMICと通信する前に、認証され得る。交換PMICは、図7のADB720などのADBから要求メッセージを受信し得、要求メッセージには、例えば、ヘッダパケット400のヘッダパケット識別子部分446のPMコマンドコードフィールド454に、認証要求PMコマンドコード値(例えばPMコマンドコード0x10C)が含まれる。交換PMICは、応答メッセージのヘッダパケット400のPMコマンドコードフィールド454に認証要求PMコマンドコード値(例えばPMコマンドコード0x10C)を含む応答メッセージを、ADBへ送信し得る。これら及び他の実施形態では、交換PMICが正しく認証された場合、ADBは、X線撮像システム内の全てのPMICに対し、要求メッセージのヘッダパケット400のヘッダパケット識別子部分446のPMコマンドコードフィールド454に認証成功PMコマンドコード値(例えばPMコマンドコード0x12)を含む要求メッセージを送信し得る。交換PMICが正しく認証されなかった場合、ADBは、全てのPMICに対し、要求メッセージのヘッダパケット400のヘッダパケット識別子部分446のPMコマンドコードフィールド454に認証失敗PMコマンドコード値(例えばPMコマンドコード0x13)を含む要求メッセージを送信し得る。従って、X線撮像システムのPMICは、プラグアンドプレイ方式で交換され得る。
ADBまたは他のPMICによる認証の例示的な技術は、米国特許出願第15/292,435号においてさらに説明されており、その全体が参照により本開示に組み込まれるものとする。
パケット番号フィールド340は、一連のパケット内でのヘッダパケット400の位置を識別し得る。例えば、ヘッダパケット400は一連の最初の位置にあるため、ヘッダパケット400内のパケット番号フィールド340は、ゼロ(例えば0x00)であり得る。
例示では、ヘッダパケットデータ部分448は、64ビットを有し得、予備フィールド453と、1つ以上の巡回冗長検査(CRC)フィールド458a〜b(他のエラー検出コード)と、暗号化フィールド460と、応答コードフィールド462と、確認フィールド464と、上位バイト合計メッセージデータバイトフィールド466と、下位バイト合計メッセージデータバイトフィールド468とを含む。予備フィールド453は、例えば、8ビットを有し得る。予備フィールド453の8ビットは、PMソースフィールド450、PM宛先フィールド452、PMコマンドコードフィールド454、及び/またはパケット番号フィールド340におけるビット数を増やすために使用され得る。CRCフィールド458a〜bは、例えば、16ビットを有し得、これは、CRC上位フィールド458aとCRC下位フィールド458bとに分割され得る。CRCフィールド458a〜bは、データパケットに含めるデータ及び/または情報内のエラーを検出するために使用され得る。CRCフィールド458a〜bは、データパケットに含めるデータ及び/または情報のCRC値を含み得る。例えば、第1のPMICは、要求メッセージを送信し得、送信したデータ及び/または情報のCRC値を特定し得、要求メッセージを受信する第2のPMICは、受信したデータ及び/または情報のCRC値を特定し得、第2のPMICは、CRC値を比較して、CRC値が同一もしくは同様であるか否かを判定し得る。応答コードフィールド462は、例えば、8ビットを有し得、ヘッダパケット400が要求メッセージ(例えば最初のメッセージ)または応答メッセージに対応付けられているか否かを識別し得る。表IVは、応答メッセージ内のヘッダパケットのヘッダパケットデータ部分の応答コードフィールドに含まれ得る例示的なエラーコードを示す。
同様に、確認フィールド464は、例えば、8ビットを有し得、バス確認コード値を含み得る。例えば、確認フィールド464は、エラーが発生していないことを識別するNO_CODEを表すCANバス理由コード値を含み得る。例えば、上位バイト合計メッセージデータバイトフィールド466は、8ビットを有し得、下位バイト合計メッセージデータバイトフィールド468は、8ビットを有し得る。上位バイト合計メッセージデータバイトフィールド466及び下位バイト合計メッセージデータバイトフィールド468は、データパケットのデータ及び/または情報に含まれるバイト数を示し得る。
再び、論述及び例示を容易にするために、ヘッダパケット識別子部分446及びヘッダパケットデータ部分448内の様々なフィールドは、特定のバイト及び/またはビット数を含むと、本明細書では説明される。様々なフィールドは、本明細書に例示または説明されるものよりも多いまたは少ないバイト及び/またはビットを含んでもよいことが、理解されよう。
図5は、本明細書に開示される1つ以上の実施形態による、メッセージプロトコルを使用して送信される例示的なデータパケット500を示す。データパケット500は、データパケット識別子部分570と、データパケットデータ部分572とを含み得る。データパケット識別子部分570は、29ビットを有し得る。
メッセージが1つ以上のデータパケット500を含む実施形態では、図4のヘッダパケット400などのヘッダパケットは、データパケット500の前に送信され得る。これら及び他の実施形態では、メッセージに含まれるデータパケット500の数は、コマンドコードに基づき得、コマンドコードによって異なり得る。
一例では、データパケット識別子部分570は、予備フィールド335と、PMソースフィールド450と、PM宛先フィールド452と、PMコマンドコードフィールド454と、データパケット番号フィールド574とを含み得る。データパケット識別子部分570の予備フィールド335、PMソースフィールド450、PM宛先フィールド452、及びPMコマンドコードフィールド454は、図4に関連して上記に論述されたヘッダパケット識別子部分446の予備フィールド335、PMソースフィールド450、PM宛先フィールド452、及びPMコマンドコードフィールド454と同一または同様であり得る。データパケット番号フィールド574は、一連のパケット内でのデータパケット500の位置を識別し得る。いくつかの実施形態では、データパケット番号フィールド574は、ヘッダパケット400と、データパケット500内のデータ及び/または情報とを送信するために必要な1からデータパケット500の数までの値を含み得、データパケット500内のデータ及び/または情報は、ヘッダパケット400に示されるデータのサイズに対応し得る。データパケットデータ部分572は、送信対象の実際のデータ及び/または情報を含み得る。各データパケット500は、1〜8バイトのデータ及び/または情報を含み得る。いくつかの実施形態では、メッセージプロトコルを介して送信されるメッセージは、1〜256個のパケットを含み得る。
例示では、データパケットデータ部分572は、64ビットを有し得、これには、図5に示されるように、1つ以上のデータフィールド342a〜hが含まれ得る。データフィールド342a〜hは、図3に関連して上記に論述されたデータフィールドと同一または同様であり得る。データフィールド342a〜hは、例えば、8バイトを有し得、データパケット500で送信するデータ及び/または情報を含み得る。いくつかの実施形態では、データパケット500で送信するデータ及び/または情報は、データフィールド342a〜hのうちの1つのフィールドの1ビットを有し得る。付加的または代替的に、データパケット500で送信するデータ及び/または情報は、データフィールド342a〜hの2ビット以上を有してもよい。
上記のように、データパケット識別子部分570及びデータパケットデータ部分572内の様々なフィールドは、特定のバイト及び/またはビット数を含むと説明される。様々なフィールドは、本明細書に例示または説明されるものよりも多いまたは少ないバイト及び/またはビットを含んでもよいことが、理解されよう。
図9は、本明細書に開示される1つ以上の実施形態による、メッセージプロトコルを実施して、イニシエータ撮像構成要素910と対象撮像構成要素920との間のメッセージセッションを実行する例示的な方法900を示すフローチャートである。方法900は、任意の好適なシステム、装置、または撮像構成要素により実行され得る。例えば、図6のシステム600及び図7のシステム700は、方法900に対応付けられた動作のうちの1つ以上の実行を指示し得る。別個のブロックで示されるが、方法900のブロックのうちの1つ以上に対応付けられたステップ及び動作は、特定の実施態様に応じて、追加のブロックに分割されてもよく、より少ないブロックに合併されてもよく、または削除されてもよい。メッセージセッションには、要求メッセージ(例えば最初のメッセージ)の送信、及び応答メッセージの送信が含まれ得る。
方法900は、イニシエータ撮像構成要素910によりコマンドメッセージが送信され得るブロック902から始まり得る。コマンドメッセージは、メッセージプロトコルに従って生成され得る。コマンドメッセージは、ヘッダパケットと、1つ以上のデータパケットとを含み得る。コマンドメッセージは、対象撮像構成要素920が実行するためのコマンドを含み得る。付加的または代替的に、コマンドメッセージは、対象撮像構成要素920に送信するデータを含んでもよい。
いくつかの実施形態では、ヘッダパケットは、図4に関連して上記に論述されたヘッダパケット400と同一または同様であり得る。これらまたは他の実施形態では、データパケットは、図5に関連して上記に論述されたデータパケット500と同一または同様であり得る。ブロック902に続いて、方法900は、ブロック922に進み得る。
ブロック922では、対象撮像構成要素920によりコマンドメッセージが受信され得る。ブロック922に続いて、方法は、ブロック924に進み得る。ブロック924では、対象撮像構成要素920により、コマンドメッセージが有効であるか否かが判定され得る。いくつかの実施形態では、対象撮像構成要素920は、コマンドメッセージのCRC値を計算し得る。対象撮像構成要素920は、計算したCRC値を、ヘッダパケットに含まれるCRC値と比較し得る。これら及び他の実施形態では、計算されたCRC値と、ヘッダパケットに含まれるCRC値とが同一または同様である場合、コマンドメッセージは有効であり得る。例えば、対象撮像構成要素920は、計算したCRC値を、ヘッダパケット内のCRC上位フィールド及び/またはCRC下位フィールドに含まれるCRC値と比較し得る。CRC上位フィールド及びCRC下位フィールドは、図4に関連して上記に論述されたCRC上位フィールド458a及びCRC下位フィールド458bと同一または同様であり得る。コマンドメッセージが有効であることに応じて、方法900は、ブロック926に進み得る。
ブロック926では、コマンドハンドラが呼び出され得る。いくつかの実施形態では、コマンドハンドラは、ヘッダパケット内のPMコマンドコードフィールドに含まれるコマンド値に基づいて、対象撮像構成要素920が実行するコマンドを特定し得る。PMコマンドコードフィールドは、図4及び/または図5に関連して上記に論述されたPMコマンドコードフィールド454と同一または同様であり得る。これら及び他の実施形態では、対象撮像構成要素920が、コマンドを実行し得る。ブロック926に続いて、方法900は、ブロック928に進み得る。
ブロック928では、対象撮像構成要素920により応答メッセージが送信され得る。いくつかの実施形態では、応答メッセージは、メッセージプロトコルに従って生成され得る。さらに、応答メッセージは、ヘッダパケットと、1つ以上のデータパケットとを含み得る。あるいは、応答メッセージは、ヘッダパケットのみを含み得る。
いくつかの実施形態では、応答メッセージは、対象撮像構成要素920が、PMコマンドコードフィールドに示されるコマンドを実行したことを示し得る。別の実施形態では、応答メッセージは、イニシエータ撮像構成要素910に送信するデータを含み得る。
いくつかの実施形態では、ヘッダパケット内の1つ以上のフィールドは、コマンドメッセージの送信及び/または受信中にエラーが生じなかったことを示すように、設定され得る。例えば、確認フィールドは、コードNO_CODEを表す値に設定され得る(エラーなしでコマンドメッセージを受信したことを示す)。確認フィールドは、図4に関連して上記に論述された確認フィールド464と同一または同様であり得る。ブロック928に続いて、方法900は、ブロック904に進み得る。
コマンドメッセージが有効でないことに応じて、方法900は、ブロック929に進み得る。ブロック929では、対象撮像構成要素920により失敗応答メッセージが送信され得る。いくつかの実施形態では、失敗応答メッセージは、メッセージプロトコルに従って生成され得る。さらに、失敗応答メッセージは、ヘッダパケットと、1つ以上のデータパケットとを含み得る。あるいは、失敗応答メッセージは、ヘッダパケットのみを含み得る。
いくつかの実施形態では、ヘッダパケット内の1つ以上のフィールドは、コマンドメッセージの送信及び/または受信中にエラーが生じたことを示すように、設定され得る。例えば、確認フィールドは、コードACK_ERRORを表す値に設定され得る(エラーのある要求メッセージを確認したことを示す)。ブロック929に続いて、方法900は、ブロック904に進み得る。
ブロック904では、イニシエータ撮像構成要素910により失敗応答メッセージまたは応答メッセージが受信され得る。ブロック904に続いて、方法は、ブロック906に進み得る。
ブロック906では、イニシエータ撮像構成要素910により、通信が成功したか否かが判定され得る。いくつかの実施形態では、イニシエータは、応答メッセージまたは失敗応答メッセージのCRC値を計算し得る。応答メッセージまたは失敗応答メッセージの計算したCRC値が、応答メッセージまたは失敗応答メッセージのヘッダパケットに含まれるCRC値と同一または同様である場合、イニシエータ撮像構成要素910は、応答メッセージまたは失敗応答メッセージの送信及び/または受信中にエラーは生じなかったと判定し得る。
さらに、イニシエータ撮像構成要素は、応答メッセージまたは失敗応答メッセージのヘッダパケット内の1つ以上のフィールドが、コマンドメッセージの送信及び/または受信中にエラーが生じたことを示すように設定されているかを判定し得る。通信が成功したことに応じて、方法900は、ブロック908に進み得る。ブロック908では、イニシエータ撮像構成要素910により、成功処理が行われ得る。例えば、イニシエータ撮像構成要素910は、対象撮像構成要素920のステータスを、コマンドメッセージ内のコマンドを実行したと、データベースに更新し得る、またはイニシエータ撮像構成要素910は、通信が成功したことに基づいて、ある他の機能を実行し得る。
通信が失敗したことに応じて、方法900は、ブロック909に進み得る。ブロック909では、失敗処理が行われ得る。例えば、イニシエータ撮像構成要素910は、同一または同様のヘッダパケット及び/または1つ以上のデータパケットを含む別のコマンドメッセージを送信することにより、新たなメッセージセッションを開始し得る、またはイニシエータ撮像構成要素910は、通信が失敗したことに基づいて、ある他の機能を実行し得る。
図10は、本明細書に開示される1つ以上の実施形態による、フレキシブル通信プロトコルを使用してメッセージを生成し送信する例示的な方法1000を示すフローチャートである。方法1000は、任意の好適なシステム、装置、または撮像構成要素により実行され得る。例えば、図6のシステム600及び図7のシステム700は、方法1000に対応付けられた動作のうちの1つ以上の実行を指示し得る。別個のブロックで示されるが、方法1000のブロックのうちの1つ以上に対応付けられたステップ及び動作は、特定の実施態様に応じて、追加のブロックに分割されてもよく、より少ないブロックに合併されてもよく、または削除されてもよい。フレキシブル通信プロトコルを使用して通信することは、メッセージプロトコル1030及び/またはパケットプロトコル1010に従ってメッセージを生成することを含み得る。
方法1000は、対象撮像構成要素に送信するメッセージが特定され得るブロック1002から始まり得る。いくつかの実施形態では、送信するメッセージは、SMICに送信する通信メッセージであり得る。あるいは、送信するメッセージは、PMICに送信する要求メッセージまたは応答メッセージであり得る。ブロック1002に続いて、方法1000は、ブロック1004に進み得る。ブロック1004では、対象撮像構成要素の宛先アドレスが取得され得る。ブロック1004に続いて、方法1000は、ブロック1006に進み得る。
ブロック1006では、対象撮像構成要素がPMICであるか否かが判定され得る。例えば、宛先アドレスが、PMICアドレスリストに含まれるか、SMICアドレスリストに含まれるかが、判定され得る。例えば、宛先アドレスは、表Iに関連して上記に論述された構成要素値のうちの1つに対応し得る。
対象撮像構成要素がPMICでないという判定に応じて、方法1000は、ブロック1012に進み得る。いくつかの実施形態では、ブロック1012、1014、1016、1018、及び1020の動作は、パケットプロトコル1010に従って実行され得る。パケットプロトコル1010は、本開示の他の箇所で論述されるパケットプロトコルと同一または同様であり得る。
ブロック1012では、SMコマンドコードフィールドの値が、対象撮像構成要素へのコマンドに対応付けられた値に設定され得る。SMコマンドコードフィールドに設定される値は、対象撮像構成要素が実行するコマンドを表し得る。さらに、SMコマンドコードフィールドに設定される値は、SMコマンドコード値であり得る。SMコマンドコード値は、表IIに関連して上記に論述されたSMコマンドコード値のうちの1つを含み得る。
いくつかの実施形態では、SMコマンドコードフィールドは、図3に関連して上記に論述されたSMコマンドコードフィールド338と同一または同様であり得る。ブロック1012に続いて、方法1000は、ブロック1014に進み得る。
ブロック1014では、メッセージに含める通信パケット内のソースフィールド、宛先フィールド、及びパケット番号フィールドの値が、設定され得る。ソースフィールドに設定される値は、イニシエータ撮像構成要素(例えば通信パケットを生成している撮像構成要素)のアドレスを表し得る。宛先フィールドに設定される値は、対象撮像構成要素のアドレスを表し得る。さらに、パケット番号フィールドに設定される値は、一連のパケット内での通信パケットの位置を表し得る。例えば、いくつかの実施形態では、通信パケットは、単一のパケット通信を使用して実施され得る。これら及び他の実施形態では、パケット番号フィールド内の値は、ゼロの値を含み得る。
いくつかの実施形態では、ソースフィールド、宛先フィールド、及びパケット番号フィールドは、図3に関連して上記に論述されたソースフィールド334、宛先フィールド336、及びパケット番号フィールド340と、それぞれ同一であり得る。ブロック1014に続いて、方法1000は、ブロック1016に進み得る。
ブロック1016では、通信パケット内の1つ以上のコマンドフィールド及び1つ以上のデータフィールドの値が、設定され得る。データフィールド内の値は、対象(または受信)撮像構成要素に送信するデータを表し得る。コマンドフィールド内の値は、SMICに対するコマンドコード値を含み得る。
いくつかの実施形態では、コマンドフィールド及びデータフィールドは、図3に関連して上記に論述されたコマンドフィールド344a〜344b及びデータフィールド342a〜342fと、それぞれ同一または同様であり得る。ブロック1016に続いて、方法1000は、ブロック1018に進み得る。
ブロック1018では、メッセージが、発信パケットバスキューに送信され得る。ブロック1018に続いて、方法1000は、ブロック1020に進み得る。ブロック1020では、通信パケットが、CANフレームにマッピングされ得る。CANフレームは、128ビットを有し得る。通信パケットは、93ビットを有し得る。通信パケット内の各ビットは、CANフレーム内のビットにマッピングされ得る。ブロック1020に続いて、方法1000は、ブロック1048に進み得る。
対象撮像構成要素がPMICであるという判定に応じて、方法1000は、ブロック1032に進み得る。いくつかの実施形態では、ブロック1032、1034、1036、1038、1040、1042、1044、1046、1052、1054、1056、及び1058の動作は、メッセージプロトコル1030に従って実行され得る。メッセージプロトコル1030は、本開示の他の箇所で論述されるメッセージプロトコルと同一または同様であり得る。
ブロック1032では、対象撮像構成要素へのコマンドに対応付けられたPMコマンド値が特定され得る。例えば、PMコマンド値は、表IIIに関連して上記に論述されたPMコマンドコード値のうちの1つ以上を含み得る。ブロック1032に続いて、方法1000は、ブロック1034に進み得る。
ブロック1034では、メッセージに含める様々な値及びデータが取得され得る。例えば、PMソースアドレス、PM宛先アドレス、及びパケット番号に対応する値が取得され得る。別の例として、応答コード、確認コード、上位バイト合計メッセージデータバイト値、及び/または下位バイト合計メッセージデータバイト値に対応する値が取得され得る。さらに、メッセージに含めるデータが取得され得る。ブロック1034に続いて、方法1000は、ブロック1036に進み得る。
ブロック1036では、PMコマンドコード値、様々な値、及びデータが、発信メッセージバスキューへ送信され得る。ブロック1036に続いて、方法1000は、ブロック1038に進み得る。
ブロック1038では、通信セッションが開始され得る。いくつかの実施形態では、通信セッションには、1つ以上のPMIC間で送信される1つ以上の要求メッセージ及び1つ以上の応答メッセージが含まれ得る。いくつかの実施形態では、データを暗号化する場合、方法1000はブロック1040に進み得る。別の実施形態では、データを暗号化しない場合、方法1000はブロック1042に進み得る。
ブロック1040では、データが暗号化され得る。いくつかの実施形態では、任意の好適な暗号化方法を使用して、データは暗号化され得る。これら及び他の実施形態では、暗号化値が特定され得る。暗号化値は、メッセージ及び/またはデータが暗号化されたか否かを示し得る。さらに、暗号化値は、使用された暗号化方法を示し得る。ブロック1040に続いて、方法1000は、ブロック1042に進み得る。
ブロック1042では、メッセージのCRC値が計算され得る。いくつかの実施形態では、CRC値は、メッセージ全体のサイズを表し得る。別の実施形態では、CRC値はデータのみのサイズを表し得る。CANフレームも、CRCフィールドを使用し得、CRCフィールドはフレームだけのサイズに使用される。ブロック1042に続いて、方法1000は、ブロック1044に進み得る。
ブロック1044では、PMコマンドコード値、様々な値、CRC値、暗号化値、及びデータが、メッセージに含めるヘッダパケット及び/または1つ以上のデータパケット内の様々なフィールドにマッピングされ得る。ヘッダパケットは、図4に関連して上記に論述されたヘッダパケット400と同一または同様であり得る。さらに、1つ以上のデータパケットは、図5に関連して上記に論述されたデータパケット500と同一または同様であり得る。
さらに、ヘッダパケット及び/または1つ以上のデータパケット内の様々なフィールドは、ヘッダパケット識別子部分、ヘッダパケットデータ部分、データパケット識別子部分、及び/またはデータパケットデータ部分に含まれ得る。いくつかの実施形態では、ヘッダパケット識別子部分、ヘッダパケットデータ部分、データパケット識別子部分、及びデータパケットデータ部分は、図4及び/または図5に関連して上記に論述されたヘッダパケット識別子部分446、ヘッダパケットデータ部分448、データパケット識別子部分570、及びデータパケットデータ部分572とそれぞれ同一または同様であり得る。
いくつかの実施形態では、PMソースアドレスに対応する値は、PMソースフィールドにマッピングされ得、PM宛先アドレスは、PM宛先フィールドにマッピングされ得、パケット番号は、パケット番号フィールドまたはデータパケット番号フィールドにマッピングされ得る。
PMソースフィールドに設定される値は、イニシエータ撮像構成要素(例えばヘッダパケット及び1つ以上のデータパケットを生成している撮像構成要素)のアドレスを表し得る。PM宛先フィールドに設定される値は、対象撮像構成要素のアドレスを表し得る。さらに、パケット番号フィールド及び/またはデータパケット番号フィールドに設定される値は、一連のパケット内でのヘッダパケット及び1つ以上のデータパケットの位置を表し得る。
これら及び他の実施形態では、PMソースフィールド、PM宛先フィールド、パケット番号フィールド、及びデータパケット番号フィールドは、図4及び/または図5に関連して上記に論述されたPMソースフィールド450、PM宛先フィールド452、パケット番号フィールド340、及びデータパケット番号フィールド574と、それぞれ同一または同様であり得る。
さらに、PMコマンドコード値はPMコマンドコードフィールドにマッピングされ得、CRC値はCRC上位フィールド及び/またはCRC下位フィールドにマッピングされ得、暗号化値は暗号化フィールドにマッピングされ得、応答コードは応答コードフィールドにマッピングされ得、確認コードは確認フィールドにマッピングされ得、上位バイト合計メッセージデータバイト値は上位バイト合計メッセージデータバイトフィールドにマッピングされ得、及び/または下位バイト合計メッセージデータバイト値は下位バイト合計メッセージデータバイトフィールドにマッピングされ得る。
応答コードフィールドに設定される値は、メッセージが応答メッセージであるか、要求メッセージであるかを示し得る。例えば、応答コードフィールドは、コードACKまたはNOT_A_RESPONSEを表す値に設定され得る。あるいは、応答コードフィールドがNOT_A_RESPONSEを表す値に設定されている場合、メッセージは要求メッセージであり得る。いくつかの実施形態では、確認フィールドに設定される値は、メッセージが応答メッセージであるか否か、及びいずれのエラーも生じていないかを示し得る。例えば、確認フィールドは、コードNO_CODEを表す値に設定され得、これは、メッセージが応答メッセージであり、エラーが生じていないことを示し得る。さらに、上位バイト合計メッセージデータバイトフィールド及び/または下位バイト合計メッセージデータバイトフィールドに設定される値は、データパケットのデータ及び/または情報に含まれるバイト数を示し得る。さらに、データは、1つ以上のデータフィールドにマッピングされ得る。いくつかの実施形態では、1つ以上のデータフィールドは、図5に関連して上記に論述されたデータフィールド342a〜342hと同一または同様であり得る。
いくつかの実施形態では、PMコマンドコードフィールド、CRC上位フィールド、CRC下位フィールド、及び暗号化フィールドは、図4及び/または図5に関連して上記に論述されたPMコマンドコードフィールド454、CRC上位フィールド458a、CRC下位フィールド458b、及び暗号化フィールド460と、それぞれ同一または同様であり得る。さらに、応答コードフィールド、確認フィールド、上位バイト合計メッセージデータバイトフィールド、及び下位バイト合計メッセージデータバイトフィールドは、図4に関連して上記に論述された応答コードフィールド462、確認フィールド464、上位バイト合計メッセージデータバイトフィールド466、及び下位バイト合計メッセージデータバイトフィールド468と、それぞれ同一または同様であり得る。ブロック1044に続いて、方法1000は、ブロック1046に進み得る。
ブロック1046では、ヘッダパケット及び1つ以上のデータパケットが、1つ以上のCANフレームにマッピングされ得る。各CANフレームは、128ビットを有し得る。ヘッダパケット及び各データパケットは、93ビットを有し得る。ヘッダパケット及び/または1つ以上のデータパケット内の各ビットは、CANフレーム内のビットにマッピングされ得る。ブロック1046に続いて、方法1000は、ブロック1048及びブロック1052に進み得る。
ブロック1048では、メッセージのパケットが、フレキシブル通信バスで送信され得る。いくつかの実施形態では、メッセージは通信パケットを含み得、メッセージはSMICへ送信される通信メッセージであり得る。別の実施形態では、メッセージは、ヘッダパケットと、1つ以上のデータパケットとを含み得る。あるいは、メッセージは、ヘッダパケットのみを含み得る。あるいは、メッセージは、PMICに送信する要求メッセージまたは応答メッセージであり得る。いくつかの実施形態では、フレキシブル通信バスは、図7に関連して上記に論述されたフレキシブル通信バス764と同一または同様であり得る。
ブロック1052では、メッセージ全体が送信されたか否かが判定され得る。いくつかの実施形態では、パケット番号フィールド内のパケット番号値を使用して、メッセージ全体が送信されたか否かが判定され得る。例えば、メッセージは3つのデータパケットを含み得、一番最近送信されたデータパケットは、送信中の3つのデータパケット及び1つのヘッダパケットを表すパケット番号値をパケット番号フィールドに含み得る。
メッセージ全体が送信されていないという判定に応じて、方法1000は、ブロック1046に進み得る。方法1000は、メッセージ全体が送信されるまで、ブロック1046及びブロック1052の動作を繰り返し得る。メッセージ全体が送信されたという判定に応じて、方法1000は、ブロック1054に進み得る。
ブロック1054では、対象撮像構成要素から応答メッセージが受信されたか否かが判定され得る。応答メッセージが受信されたことに応じて、方法は、ブロック1058に進み得る。ブロック1058では、通信セッションが終了され得る。応答メッセージが受信されていないことに応じて、方法は、ブロック1056に進み得る。ブロック1056では、機能が実行され得る。例えば、機能は、エラーハンドラの呼び出しであり得る。エラーハンドラは、メッセージを再送信し得る、あるいはホストデバイスまたはホストADBなどの別の撮像構成要素にメッセージを送信し得る。
図11は、本明細書に開示される1つ以上の実施形態による、フレキシブル通信プロトコルに従ってメッセージを受信する例示的な方法1100を示すフローチャートである。方法1100は、任意の好適なシステム、装置、または撮像構成要素により実行され得る。例えば、図6のシステム600及び図7のシステム700は、方法1100に対応付けられた動作のうちの1つ以上の実行を指示し得る。別個のブロックで示されるが、方法1100のブロックのうちの1つ以上に対応付けられたステップ及び動作は、特定の実施態様に応じて、追加のブロックに分割されてもよく、より少ないブロックに合併されてもよく、または削除されてもよい。フレキシブル通信プロトコルを使用して通信することは、メッセージが、メッセージプロトコル1130に従って生成されたか、パケットプロトコル1110に従って生成されたかを、判定することを含み得る。
方法1100は、フレキシブル通信バスを介してメッセージが受信され得るブロック1102から始まり得る。いくつかの実施形態では、メッセージは通信パケットを含み得、対象撮像構成要素にはSMICが含まれ得る。別の実施形態では、メッセージはヘッダパケットと1つ以上のデータパケットとを含み得、対象撮像構成要素にはPMICが含まれ得る。あるいは、メッセージは、ヘッダパケットのみを含み得る。一実施形態では、フレキシブル通信バスは、図7に関連して上記に論述されたフレキシブル通信バス764と同一または同様であり得る。ブロック1102に続いて、方法1100は、ブロック1104に進み得る。
ブロック1104では、メッセージからコマンドコード値が取得され得る。いくつかの実施形態では、コマンドコード値は、通信パケット内のSMコマンドコードフィールドに含まれるSMコマンドコード値であり得る。これら及び他の実施形態では、SMコマンドコードフィールドは、図3に関連して上記に論述されたSMコマンドコードフィールド338と同一または同様であり得る。別の実施形態では、コマンドコード値は、ヘッダパケットまたはデータパケット内のPMコマンドコードフィールドに含まれるPMコマンドコード値であり得る。これら及び他の実施形態では、PMコマンドコードフィールドは、図4及び/または図5に関連して上記に論述されたPMコマンドコードフィールド454と同一または同様であり得る。ブロック1104に続いて、方法1100は、ブロック1106に進み得る。
ブロック1106では、コマンドコード値がSMICに対応付けられているか否かが判定され得る。例えば、メッセージ内のコマンドコード値は、表II及び表IIIに関連して上記に論述されたPMコマンドコード値及びSMコマンドコード値と比較され得る。メッセージ内のコマンドコード値が、表III内のPMコマンドコード値のうちの1つと同一または同様である場合、コマンドコード値は、SMICに対応付けられ得ない。メッセージ内のコマンドコード値が、表II内のSMコマンドコード値と同一または同様である場合、コマンドコード値は、SMICに対応付けられ得る。
コマンドコード値がSMICに対応付けられているという判定に応じて、方法1100は、ブロック1112に進み得る。いくつかの実施形態では、ブロック1112の動作は、パケットプロトコル1110に従って実行され得る。パケットプロトコル1010は、本開示の他の箇所で論述されるパケットプロトコルと同一または同様であり得る。ブロック1112では、メッセージのコマンドコード値及びデータが、着信パケットキューに送信され得る。
コマンドコード値がSMICに対応付けられていないという判定に応じて、方法1100は、ブロック1132に進み得る。いくつかの実施形態では、ブロック1132、1134、1136、1138、1140、1142、1144、1146、1148、1150、及び1152の動作は、メッセージプロトコル1130に従って実行され得る。メッセージプロトコル1130は、本開示の他の箇所で論述されるメッセージプロトコルと同一または同様であり得る。
ブロック1132では、メッセージの現在のパケットのCANフレームが特定され得る。CANフレームは128ビットを有し得、各パケットは93ビットを有し得る。いくつかの実施形態では、CANフレームごとに1パケットが収まり得る。ブロック1132に続いて、方法1100は、ブロック1134に進み得る。
ブロック1134では、CANフレームはヘッダフレームか否かが判定され得る。例えば、CANフレームが、メッセージのヘッダパケットに対応するか、メッセージのデータパケットに対応するかが、判定され得る。CANフレームがメッセージのヘッダパケットに対応する場合、CANフレームはヘッダフレームであり得る。CANフレームがメッセージのデータパケットに対応する場合、CANフレームはヘッダフレームではあり得ない。いくつかの実施形態では、ヘッダパケット及びデータパケットは、図4及び図5に関連して上記に論述されたヘッダパケット400及びデータパケット500と、それぞれ同一または同様であり得る。
CANフレームはヘッダフレームであるという判定に応じて、方法1100は、ブロック1136に進み得る。ブロック1136では、メッセージに含まれるヘッダパケットから、様々な値が取得され得る。いくつかの実施形態では、様々な値には、暗号化値、CRC値、及び/またはPMコマンドコード値が含まれ得る。いくつかの実施形態では、暗号化値は暗号化フィールドに含まれ得、CRC値はCRC上位フィールド及び/またはCRC下位フィールドに含まれ得、PMコマンドコード値はPMコマンドコードフィールドに含まれ得る。いくつかの実施形態では、PMコマンドコードフィールド、CRC上位フィールド、CRC下位フィールド、及び暗号化フィールドは、図4及び/または図5に関連して上記に論述されたPMコマンドコードフィールド454、CRC上位フィールド458a、CRC下位フィールド458b、及び暗号化フィールド460と、それぞれ同一または同様であり得る。
いくつかの実施形態では、メッセージに含まれるヘッダパケットから取得された様々な値を使用して、メッセージの送信及び/または受信中にエラーが生じたか否かが判定され得る、またはメッセージが復号化され得る。例えば、暗号化値は、下記に論述されるように、ブロック1142の動作で使用され得る。別の例として、CRC値は、下記に論述されるように、ブロック1144の動作で使用され得る。さらに別の例として、PMコマンドコード値は、下記に論述されるように、ブロック1146の動作で使用され得る。ブロック1136に続いて、方法1100は、ブロック1132に戻り得る。ブロック1132及びブロック1134の動作は、メッセージの現在のパケットのCANフレームがヘッダフレームでなくなるまで、繰り返され得る。
メッセージの現在のパケットのCANフレームはヘッダフレームではないという判定に応じて、方法1100は、ブロック1138に進み得る。ブロック1138では、メッセージ全体が受信されたか否かが判定され得る。例えば、メッセージはヘッダパケットと2つのデータパケットとを含み得、一番最近受信されたデータパケットは、受信中の2つのデータパケット及び1つのヘッダパケットを表すパケット番号値をパケット番号フィールドに含み得る。
メッセージ全体が受信されていないという判定に応じて、方法1100は、ブロック1132に戻り得る。方法1100は、メッセージ全体が受信されるまで、ブロック1132、1134、1136、及び1138の動作を繰り返し得る。メッセージ全体が受信されたという判定に応じて、方法1100は、ブロック1140に進み得る。
ブロック1140では、メッセージのCRC値が計算され得る。CRC値は、メッセージのサイズを表し得る。いくつかの実施形態では、CRC値は、メッセージ全体のサイズを表し得る。別の実施形態では、CRC値はデータのみのサイズを表し得る。
いくつかの実施形態では、メッセージに含まれるデータが暗号化されている場合(例えばブロック1136の動作中に取得された暗号化フィールド内の暗号化値が、データは暗号化されていることと、使用された暗号化技術を示す)、方法1100は、ブロック1142に進み得る。別の実施形態では、メッセージ含まれるデータが暗号化されていない場合(例えばブロック1136の動作中に取得された暗号化フィールド内の暗号化値が、データは暗号化されていないことを示す)、方法1100は、ブロック1144に進み得る。
ブロック1142では、データが復号化され得る。任意の好適な復号化技術を使用して、データは復号化され得る。ブロック1142に続いて、方法1100は、ブロック1144に進み得る。
ブロック1144では、メッセージの計算されたCRC値が正しいか否かが判定され得る。いくつかの実施形態では、計算されたCRC値は、ブロック1136の動作中に取得されたCRC値と比較され得る。計算されたCRC値が、ブロック1136の動作中に取得されたCRC値と同一または同様である場合、メッセージの送信及び/または受信中にエラーは生じ得なかった。あるいは、計算されたCRC値が、ブロック1136の動作中に取得されたCRC値と同一または同様ではない場合、メッセージの送信及び/または受信中にエラーが生じ得た。
計算されたCRC値が正しいことに応じて、方法1100は、ブロック1146に進み得る。ブロック1146では、PMコマンドコードフィールドが応答値に設定されているか否かが判定され得る。例えば、PMコマンドコードフィールド内のPMコマンド値は、表IIIに関連して上記に論述されたPMコマンドコード値のうちの1つ以上を含み得る。
PMコマンドコードフィールドが応答値に設定されていないことに応じて、方法1100は、ブロック1148に進み得る。ブロック1148では、コマンドが実行され得る。コマンドは、メッセージに含まれるコマンドに対応し得る。ブロック1148に続いて、方法1100は、ブロック1150に進み得る。さらに、計算されたCRC値が正しくないことに応じて、方法1100は、ブロック1150に進み得る。
ブロック1150では、応答メッセージが送信され得る。応答メッセージは、メッセージプロトコル1130に従って生成され得る。さらに、応答メッセージは、図10に関連して上記に論述された方法1000に従って生成され得る。
PMコマンドコードフィールドが応答値に設定されていることに応じて、方法1100は、ブロック1152に進み得る。ブロック1152では、機能が実行され得る。
図12は、本明細書に開示される1つ以上の実施形態による、パケットプロトコル1210を使用してメッセージを送信し、認証プロトコル1230に従ってSMICを認証する例示的な方法1200を示すフローチャートである。いくつかの実施例では、認証プロトコルは、上記に説明されたメッセージプロトコルを使用することができる。方法1200は、任意の好適なシステム、装置、または撮像構成要素により実行され得る。例えば、図6のシステム600及び図7のシステム700は、方法1200に対応付けられた動作のうちの1つ以上の実行を指示し得る。別個のブロックで示されるが、方法1200のブロックのうちの1つ以上に対応付けられたステップ及び動作は、特定の実施態様に応じて、追加のブロックに分割されてもよく、より少ないブロックに合併されてもよく、または削除されてもよい。パケットプロトコルを使用して通信することは、パケットプロトコルに従ってメッセージを生成することを含み得る。
方法1200は、対象撮像構成要素に送信するメッセージが特定され得るブロック1202から始まり得る。いくつかの実施形態では、送信するメッセージは、SMICへ送信される、またはSMICにより送信される、通信メッセージであり得る。ブロック1202に続いて、方法1200は、ブロック1204に進み得る。
ブロック1204では、対象撮像構成要素の宛先アドレスが取得され得る。いくつかの実施形態では、対象撮像構成要素が認証され得、対象撮像構成要素が認証される場合、方法1200は、ブロック1232に進み得る。いくつかの実施形態では、ブロック1232、1234、及び1236の動作は、認証プロトコル1230に従って実行され得る。認証プロトコル1230は、本開示の他の箇所で論述されるメッセージプロトコルと同一または同様であり得る。
別の実施形態では、対象撮像構成要素を認証しない場合、方法1200はブロック1212に進み得る。いくつかの実施形態では、ブロック1212、1214、1216、1218、及び1220の動作は、パケットプロトコル1210に従って実行され得る。パケットプロトコル1210は、本開示の他の箇所で論述されるパケットプロトコルと同一または同様であり得る。
ブロック1212では、SMコマンドコードフィールドの値が、対象撮像構成要素へのコマンドに対応付けられた値に設定され得る。SMコマンドコードフィールドに設定される値は、対象撮像構成要素が実行するコマンドを表し得る。さらに、SMコマンドコードフィールドに設定される値は、SMコマンドコード値であり得る。SMコマンドコード値は、表IIに関連して上記に論述されたSMコマンドコード値のうちの1つを含み得る。
いくつかの実施形態では、SMコマンドコードフィールドは、図3に関連して上記に論述されたSMコマンドコードフィールド338と同一または同様であり得る。ブロック1212に続いて、方法1200は、ブロック1214に進み得る。
ブロック1214では、メッセージに含める通信パケット内のソースフィールド、宛先フィールド、及びパケット番号フィールドの値が、設定され得る。ソースフィールドに設定される値は、イニシエータ撮像構成要素(例えば通信パケットを生成している撮像構成要素)のアドレスを表し得る。宛先フィールドに設定される値は、対象撮像構成要素のアドレスを表し得る。さらに、パケット番号フィールドに設定される値は、一連のパケット内での通信パケットの位置を表し得る。例えば、いくつかの実施形態では、通信パケットは、単一のパケット通信を使用して実施され得る。これら及び他の実施形態では、パケット番号フィールド内の値は、ゼロの値を含み得る。
いくつかの実施形態では、ソースフィールド、宛先フィールド、及びパケット番号フィールドは、図3に関連して上記に論述されたソースフィールド334、宛先フィールド336、及びパケット番号フィールド340と、それぞれ同一であり得る。ブロック1214に続いて、方法1200は、ブロック1216に進み得る。
ブロック1216では、通信パケット内の1つ以上のコマンドフィールド及び1つ以上のデータフィールドの値が、設定され得る。データフィールド内の値は、対象撮像構成要素に送信するデータを表し得る。コマンドフィールド内の値は、SMICに対するコマンドコード値を含み得る。
いくつかの実施形態では、コマンドフィールド及びデータフィールドは、図3に関連して上記に論述されたコマンドフィールド344a〜344b及びデータフィールド342a〜342fと、それぞれ同一または同様であり得る。ブロック1216に続いて、方法1200は、ブロック1218に進み得る。
ブロック1218では、メッセージが、発信パケットバスキューに送信され得る。ブロック1218に続いて、方法1200は、ブロック1220に進み得る。ブロック1220では、通信パケットが、CANフレームにマッピングされ得る。CANフレームは、128ビットを有し得る。通信パケットは、93ビットを有し得る。通信パケット内の各ビットは、CANフレーム内のビットにマッピングされ得る。ブロック1220に続いて、方法1200は、ブロック1222に進み得る。
ブロック1222では、メッセージがフレキシブル通信バスで送信され得る。いくつかの実施形態では、メッセージは通信パケットを含み得、メッセージはSMICへ送信され得る。一実施形態では、フレキシブル通信バスは、図7に関連して上記に論述されたフレキシブル通信バス764と同一または同様であり得る。
ブロック1232では、認証チャレンジが受信(または対象)撮像構成要素ADBに送信され得る。認証チャレンジは、メッセージプロトコル1230に従って生成され得る。いくつかの実施形態では、イニシエータ撮像構成要素は、PMICであり得、受信(または対象)撮像構成要素ADBもPMICであり得る。対象撮像構成要素及びイニシエータ撮像構成要素ADBは、認証プロトコル/メッセージプロトコルを介して通信し得る。さらに、認証チャレンジは、SMICの認証に対応付けられたPMコマンドコード値(例えばPMコマンドコード0x10C)を、要求メッセージに含まれるヘッダパケットのPMコマンドコードフィールド内に含む要求メッセージに含まれ得る。
いくつかの実施形態では、ヘッダパケットは、図4に関連して上記に論述されたヘッダパケット400と同一または同様であり得る。さらに、PMコマンドコードフィールドは、図4に関連して上記に論述されたPMコマンドコードフィールド454と同一または同様であり得る。別の実施形態では、対象撮像構成要素ADBには、図7に関連して上記に論述されたADB720が含まれ得る。ブロック1232に続いて、方法1200は、ブロック1234に進み得る。
ブロック1234では、対象撮像構成要素ADBからの認証応答が受信され得る。認証応答は、メッセージプロトコル1230に従って生成され得る。対象撮像構成要素ADBは、SMICの認証に対応付けられたPMコマンドコード値を応答メッセージのヘッダパケットのPMコマンドコードフィールドに含む応答メッセージを、受信撮像構成要素に送信し得る。
ブロック1234に続いて、方法1200は、ブロック1236に進み得る。ブロック1236では、対象撮像構成要素が認証されたか否かが判定され得る。例えば、応答メッセージに含まれるPMコマンドコード値が対象撮像構成要素の認証に対応付けられているか否かが判定され得る。
対象撮像構成要素が認証されたことに応じて、方法1200は、ブロック1212に進み得る。対象撮像構成要素が認証されていないことに応じて、方法1200は、ブロック1238に進み得る。ブロック1238では、機能が実行され得る。
図13は、本明細書に開示される1つ以上の実施形態による、パケットプロトコル1310を使用してメッセージを受信し、認証プロトコル1330に従ってSMICを認証する例示的な方法1300を示すフローチャートである。方法1300は、任意の好適なシステム、装置、または撮像構成要素により実行され得る。例えば、図6のシステム600及び図7のシステム700は、方法1300に対応付けられた動作のうちの1つ以上の実行を指示し得る。別個のブロックで示されるが、方法1300のブロックのうちの1つ以上に対応付けられたステップ及び動作は、特定の実施態様に応じて、追加のブロックに分割されてもよく、より少ないブロックに合併されてもよく、または削除されてもよい。パケットプロトコルを使用して通信することは、パケットプロトコルに従ってメッセージを生成することを含み得る。
方法1300は、フレキシブル通信バスを介してメッセージが受信され得るブロック1302から始まり得る。いくつかの実施形態では、メッセージは通信パケットを含み得、イニシエータ撮像構成要素にはSMICが含まれ得る。一実施形態では、フレキシブル通信バスは、図7に関連して上記に論述されたフレキシブル通信バス764と同一または同様であり得る。ブロック1302に続いて、方法1300は、ブロック1304に進み得る。
ブロック1304では、コマンドコード値及びイニシエータ撮像構成要素のソースアドレスが、CANフレームから取得され得る。CANフレームは、メッセージに対応し得る。いくつかの実施形態では、コマンドコード値は、通信パケット内のSMコマンドコードフィールドに含まれ得る。これら及び他の実施形態では、SMコマンドコードフィールドは、図3に関連して上記に論述されたSMコマンドコードフィールド338と同一または同様であり得る。別の実施形態では、コマンドコード値は、ヘッダパケットまたはデータパケット内のPMコマンドコードフィールドに含まれ得る。これら及び他の実施形態では、PMコマンドコードフィールドは、図4及び/または図5に関連して上記に論述されたPMコマンドコードフィールド454と同一または同様であり得る。ブロック1304に続いて、方法1300は、ブロック1306に進み得る。
ブロック1306では、メッセージ内のコマンドコード値がSMICに対応付けられているか否かが判定され得る。例えば、メッセージ内のコマンドコード値は、表II及び表IIIに関連して上記に論述されたPMコマンドコード値及びSMコマンドコード値と比較され得る。メッセージ内のコマンドコード値が、表III内のPMコマンドコード値のうちの1つと同一または同様である場合、コマンドコード値は、SMICに対応付けられ得ない。メッセージ内のコマンドコード値が、表II内のSMコマンドコード値と同一または同様である場合、コマンドコード値は、SMICに対応付けられ得る。
コマンドコード値がSMICに対応付けられていないという判定に応じて、方法1300は、終了し得る。コマンドコード値がSMICに対応付けられているという判定に応じて、いくつかの実施形態では、イニシエータ撮像構成要素が認証され得、イニシエータ撮像構成要素が認証される場合、方法1300は、ブロック1332に進み得る。いくつかの実施形態では、ブロック1332、1334、及び1336の動作は、認証プロトコル1330に従って実行され得る。認証プロトコル1330は、本開示の他の箇所で論述されるメッセージプロトコルと同一または同様であり得る。
コマンドコード値がSMICに対応付けられているという判定に応じて、別の実施形態では、イニシエータ撮像構成要素が認証されない場合、方法1300は、ブロック1312に進み得る。いくつかの実施形態では、ブロック1312の動作は、パケットプロトコル1310に従って実行され得る。パケットプロトコル1310は、本開示の他の箇所で論述されるパケットプロトコルと同一または同様であり得る。ブロック1312では、メッセージのコマンドコード値及びデータが、着信パケットキューに送信され得る。
ブロック1332では、認証チャレンジがイニシエータ撮像構成要素ADBに送信され得る。ブロック1332は、方法1200のブロック1232と同様または同等であり得る。ブロック1332に続いて、方法1300は、ブロック1334に進み得る。
ブロック1334では、対象撮像構成要素ADBからの認証応答が受信され得る。ブロック1334は、方法1200のブロック1234と同様または同等であり得る。ブロック1334に続いて、方法1300は、ブロック1336に進み得る。
ブロック1336では、対象撮像構成要素が認証されたか否かが判定され得る。ブロック1336は、方法1200のブロック1236と同様または同等であり得る。
対象撮像構成要素が認証されたことに応じて、方法1300は、ブロック1312に進み得る。対象撮像構成要素が認証されていないことに応じて、方法1300は、ブロック1338に進み得る。ブロック1338では、機能が実行され得る。
いくつかの構成では、X線撮像システム(600、700)は、TCU(604)を含み得る。TCU(604)は、パケットプロトコル及びメッセージプロトコルを介して通信するように構成され得る。X線撮像システム(600、700)はまた、SMIC(766)を含み得る。SMIC(766)は、パケットプロトコルを介して通信するように構成され得る。X線撮像システム(600、700)はさらに、PMIC(762)を含み得る。PMIC(762)は、メッセージプロトコル及びパケットプロトコルのうちの少なくとも1つを介して通信するように構成され得る。X線撮像システム(600、700)は、フレキシブル通信バス(764)を含み得る。フレキシブル通信バス(764)は、TCU(604)、SMIC(766)、及びPMIC(762)を通信可能に接続し得る。TCU(604)は、フレキシブル通信バス(764)を介してパケットプロトコルにより、SMIC(766)と通信するように構成され得る。TCU(604)はまた、フレキシブル通信バス(764)を介してメッセージプロトコルにより、PMIC(762)と通信するように構成され得る。PMIC(762)は、フレキシブル通信バス(764)を介してパケットプロトコルにより、SMIC(766)と通信するように構成され得る。
いくつかの構成では、パケットプロトコルは、通信パケット識別子部分(330)と通信パケットデータ部分(332)とを含む通信パケット(300)を含み得る。通信パケット識別子部分(330)は、ソースフィールド(334)と、宛先フィールド(336)と、SMコマンドコードフィールド(338)と、パケット番号フィールド(340)とを含み得る。通信パケットデータ部分(332)は、1つ以上のデータフィールド(342a〜342f)と、1つ以上のコマンドフィールド(344a〜344b)とを含み得る。
いくつかの構成では、メッセージプロトコルは、ヘッダパケット(400)と、1つ以上のデータパケット(500)とを含み得る。ヘッダパケット(400)は、ヘッダパケット識別子部分(446)と、ヘッダパケットデータ部分(448)とを含み得る。ヘッダパケットデータ部分(448)は、1つ以上のCRCフィールド(458a、458b)と、暗号化フィールド(460)と、応答コードフィールド(462)と、確認フィールド(464)と、合計メッセージデータバイトフィールド(466、468)とを含み得る。
いくつかの構成では、1つ以上のデータパケット(500)は、データパケット識別子部分(570)と、データパケットデータ部分(572)とを含み得る。データパケット識別子部分(570)は、PMソースフィールド(450)と、PM宛先フィールド(452)と、PMコマンドコードフィールド(454)と、データパケット番号フィールド(574)とを含み得る。PMソースフィールド(450)は、TCU(604)、SMIC(766)、及びPMIC(762)のうちの少なくとも1つに対応付けられた構成要素IDを含み得る。
いくつかの構成では、TCU(604)及びPMIC(762)は、一次製造業者により製造され得、SMIC(766)は二次製造業者により製造され得る。フレキシブル通信バス(764)は、CANバス、TCP/IPバス、I2Cバス、またはSPIバスのうちの少なくとも1つであり得る。
いくつかの構成では、X線撮像システムはまた、SMIC(766)に対応付けられた対象撮像構成要素認証ドータボード(720)を含み得る。対象撮像構成要素認証ドータボード(720)は、メッセージプロトコルを介して通信するように構成され得る。フレキシブル通信バス(764)は、対象撮像構成要素認証ドータボード(720)とTCU(604)とを、通信可能に接続し得る。TCU(604)はまた、フレキシブル通信バス(764)を介してメッセージプロトコルにより、対象撮像構成要素認証ドータボード(720)と通信するように構成され得る。
上記の説明及び下記の請求項で使用される用語及び単語は、文献的意味に限定されず、本開示の明確かつ一貫した理解を可能にするために使用されるに過ぎない。単数形「a」、「an」、及び「the」は、文脈上明らかに別段の指示がない限り、複数の指示対象を含むことを理解されたい。従って、例えば、「構成要素表面(a component surface)」への言及は、そのような表面のうちの1つ以上への言及を含む。
本開示で説明される実施形態は、下記により詳細に論述されるように、様々なコンピュータハードウェアまたはソフトウェアモジュールを含む専用または汎用コンピュータの使用を含み得る。
本開示の範囲内の実施形態はまた、コンピュータ実行可能命令またはデータ構造を携帯するまたは自身に記憶するコンピュータ可読媒体を含む。このようなコンピュータ可読媒体は、汎用または専用コンピュータによりアクセスすることができる任意の利用可能な媒体であり得る。限定ではなく例として、このようなコンピュータ可読媒体には、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、コンパクトディスク読み出し専用メモリ(CD‐ROM)または他の光学ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶装置、あるいは所望のプログラムコード手段をコンピュータ実行可能命令またはデータ構造の形態で携帯または記憶するのに使用可能であり、汎用または専用コンピュータによりアクセス可能である任意の他の媒体が含まれ得る。ネットワークまたは別の通信接続(有線、無線、または有線と無線の組み合わせ)を介してコンピュータに情報が転送されるまたは提供される場合、コンピュータは、接続をコンピュータ可読媒体として適切にみなす。従って、いずれのこのような接続も、コンピュータ可読媒体と適切に称される。上記の組み合わせも、コンピュータ可読媒体の範囲内に含まれるべきである。
コンピュータ実行可能命令には、例えば、汎用コンピュータ、専用コンピュータ、または専用処理デバイスに、特定の機能または機能群を実行させる命令及びデータが含まれる。
本明細書で使用される用語「モジュール」または「構成要素」は、コンピューティングシステム上で実行されるソフトウェアオブジェクトまたはルーチンを指し得る。本明細書で説明される異なる構成要素及びモジュールは、コンピューティングシステム上で実行されるオブジェクトまたはプロセスとして(例えば別個のスレッドとして)実装され得る。本明細書で説明されるシステム及び方法は、ソフトウェアで実装されてもよいが、ハードウェア、またはソフトウェアとハードウェアの組み合わせでの実装も可能であり、考慮される。この説明では、「コンピュータ」または「コンピュータシステム」は、本明細書で前に定義された任意の好適なコンピューティングシステム、またはコンピューティングシステム上で作動する任意のモジュールまたはモジュールの組み合わせであり得る。
開示されるプロセス及び/または方法に関して、プロセス及び方法で実行される機能は、文脈により示され得る順序とは異なる順序で実施されてもよい。さらに、概要のステップ及び動作は、例としてのみ提供されており、ステップ及び動作のうちのいくつかは、任意であってよく、より少ないステップ及び動作に合併されてもよく、または追加のステップ及び動作に拡張されてもよい。
本開示は、異なる構成要素を例示する場合があり得、これは異なる他の構成要素に含まれる、または異なる他の構成要素と接続される。このような描かれたアーキテクチャは単なる例示であり、同一または同様の機能を達成する数多くの他のアーキテクチャを実装することができる。
本開示の態様は、その本質的な特徴から逸脱することなく、他の形態で具現化されてもよい。説明される態様は、あらゆる点で、限定ではなく例示としてみなされるべきである。特許請求される内容は、前述の説明ではなく、添付の特許請求の範囲により示される。特許請求の均等物の意味及び範囲に入る全ての変更は、特許請求の範囲内に含まれるものとする。