(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-21
(45)【発行日】2024-05-29
(54)【発明の名称】ARMアーキテクチャに基づく集束超音波治療機器の制御方法
(51)【国際特許分類】
G06F 9/48 20060101AFI20240522BHJP
G06F 9/54 20060101ALI20240522BHJP
A61B 17/00 20060101ALN20240522BHJP
【FI】
G06F9/48 200Z
G06F9/54 Z
A61B17/00 700
(21)【出願番号】P 2023515867
(86)(22)【出願日】2021-03-24
(86)【国際出願番号】 CN2021082585
(87)【国際公開番号】W WO2022052442
(87)【国際公開日】2022-03-17
【審査請求日】2023-03-08
(31)【優先権主張番号】202010941501.5
(32)【優先日】2020-09-09
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】523085739
【氏名又は名称】上海沈徳無創時代医療科技有限公司
【氏名又は名称原語表記】Shanghai Shende Green Medical Era Healthcare Technology Co., Ltd.
【住所又は居所原語表記】4/F, Building 8, No. 1001, Qinzhou North Road, Xuhui District Shanghai China
(73)【特許権者】
【識別番号】523085740
【氏名又は名称】沈徳(寧波)医療器械科技有限公司
【氏名又は名称原語表記】Shende (Ningbo) Medical Device Technology Co., Ltd
【住所又は居所原語表記】F1(Workshop 3), No.1 Building 4, No. 66 Meishan Gangcheng Road, Beilun District, Ningbo, Zhejiang, China
(73)【特許権者】
【識別番号】523085751
【氏名又は名称】南通沈徳医療器械科技有限公司
【氏名又は名称原語表記】Nantong Shende Medical Device Technology Co., Ltd
【住所又は居所原語表記】Room 102, Building 2, No.158 Xinsheng Road, Chongchuan District, Nantong, Jiangsu, China
(74)【代理人】
【識別番号】100160691
【氏名又は名称】田邊 淳也
(74)【代理人】
【識別番号】100205936
【氏名又は名称】崔 海龍
(74)【代理人】
【識別番号】100132805
【氏名又は名称】河合 貴之
(72)【発明者】
【氏名】楊 博
(72)【発明者】
【氏名】張 勝発
(72)【発明者】
【氏名】古 家▲い▼
(72)【発明者】
【氏名】温 家宝
(72)【発明者】
【氏名】郭 駿杰
(72)【発明者】
【氏名】魏 博
(72)【発明者】
【氏名】呉 昊
(72)【発明者】
【氏名】劉 自豪
(72)【発明者】
【氏名】蘇 志強
【審査官】漆原 孝治
(56)【参考文献】
【文献】特表2004-526476(JP,A)
【文献】特表2014-533155(JP,A)
【文献】山崎 郁太郎,ソフトウェアに要求されるリアルタイム性と信頼性とは,Interface,第33巻 ,第8号,CQ出版株式会社,2007年08月01日,pp.59-68
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/48
G06F 9/54
A61B 17/00
(57)【特許請求の範囲】
【請求項1】
ARMアーキテクチャに基づく集束超音波治療機器の制御方法であって、
前記集束超音波治療機器にはワークステーションとLinuxオペレーティングシステムが稼働するARM組み込みプロセッサとが接続され、前記ARM組み込みプロセッサには第1の制御プログラムが記憶され、前記ワークステーションには第2の制御プログラムが記憶されており、前記第1の制御プログラムと第2の制御プログラムとはTCP/IPプロトコルを介して通信し、前記方法は具体的には、
前記第1の制御プログラムは、タスクを実行することにより集束超音波治療機器を制御し、タスクの実行結果を第2の制御プログラムにフィードバックすることであり、
前記タスクは内部イベントとオペレーション指令とを含み、前記内部イベントは第1の制御プログラムのタイマイベントとLinuxカーネルの割り込みメッセージとを含み、前記第2の制御プログラムは、ワークステーションを介してオペレーション指令を受信して、前記第1の制御プログラムに送信し、
前記第1の制御プログラムはメインスレッドとワーカースレッドとを含み、前記メインスレッドはタスクに対して優先度設定を行い、前記割り込みメッセージ、オペレーション指令、およびタイマイベントの優先度は順に低くなり、前記ワーカースレッドは優先順位に従ってタスクを実行し、タスクの実行結果に応じてARM組み込みプロセッサのレジスタに対して読み書きし、集束超音波治療機器の制御を実現するとともに、メインスレッドはタスクの実行結果を第2の制御プログラムにフィードバックする
ことを特徴とするARMアーキテクチャに基づく集束超音波治療機器の制御方法。
【請求項2】
前記第1の制御プログラムはシグナルスレッドをさらに含み、前記タスクは終了メッセージをさらに含み、前記終了メッセージの優先度は割り込みメッセージとオペレーション指令との間にあり、前記シグナルスレッドはソケットを閉じることによりメインスレッドに終了メッセージを送信し、前記オペレーション指令は、制御指令と状態問合せ指令とを含む
ことを特徴とする請求項1に記載のARMアーキテクチャに基づく集束超音波治療機器の制御方法。
【請求項3】
前記シグナルスレッドは終了シグナルを受信したときにソケットを閉じ、前記終了メッセージはSIGNINTとSIGTERMとを含む
ことを特徴とする請求項2に記載のARMアーキテクチャに基づく集束超音波治療機器の制御方法。
【請求項4】
前記ソケットはUnix Socket Pairである
ことを特徴とする請求項2に記載のARMアーキテクチャに基づく集束超音波治療機器の制御方法。
【請求項5】
前記メインスレッドは、Linuxカーネルの割り込みメッセージを受信すると、ワーカースレッドにLinuxシグナルを送信し、前記ワーカースレッドは、Linuxシグナルを受信すると、現在のタスクを中断させ、割り込み応答処理関数を実行する
ことを特徴とする請求項1に記載のARMアーキテクチャに基づく集束超音波治療機器の制御方法。
【請求項6】
前記LinuxシグナルはSIGUSR1である
ことを特徴とする請求項5に記載のARMアーキテクチャに基づく集束超音波治療機器の制御方法。
【請求項7】
第1の制御プログラムと第2の制御プログラムとの間のプロトコルをGoogle Protocol Bufferを用いてカプセル化する
ことを特徴とする請求項1に記載のARMアーキテクチャに基づく集束超音波治療機器の制御方法。
【請求項8】
前記第1の制御プログラムは、Netlink方式でLinuxカーネルの割り込みメッセージを受信する
ことを特徴とする請求項1に記載のARMアーキテクチャに基づく集束超音波治療機器の制御方法。
【請求項9】
前記メインスレッドはlibeventライブラリを介してタスクを受信する
ことを特徴とする請求項1に記載のARMアーキテクチャに基づく集束超音波治療機器の制御方法。
【請求項10】
前記第1の制御プログラムはC++抽象化メカニズムを利用してタスクをカプセル化する
ことを特徴とする請求項1に記載のARMアーキテクチャに基づく集束超音波治療機器の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特にARMアーキテクチャに基づく集束超音波治療機器の制御方法に関する。
【背景技術】
【0002】
集束超音波治療システムは、非侵襲的な方法で集束超音波エネルギーを人体内に伝達する新しい非侵襲的治療技術である。約15秒~30秒以内に、超音波ビームの焦点にある組織は不可逆的な熱凝固状態に加熱されるが、周囲の組織は自然な状態を維持したままである。時間の経過とともに、焼灼された組織は人体に吸収されていく。集束超音波治療機器は通常、ワンチップコンピュータ或いはARM組み込みシステムを使用して治療用超音波プローブの移動を制御し、位相制御方式を採用して超音波集束を行い、パワーアンプシステムを制御してエネルギーを出力させるとともに、水冷システムや配電システムなどの複数のセンサの稼働状態を同時に監視し、機器の異常時にできるだけ早く対処して、エネルギー出力を停止できるようにする必要がある。従来の組み込みアプリケーション開発は機器指向の開発方式であり、すなわち、機器の機能とハードウェアの状況に応じてピンポイントでアプリケーションの開発を行う。しかしながら、ハードウェアやテクノロジーの発展に伴い、組み込みアプリケーションの規模が大きくなり、機能もますます複雑になり、このようなソフトウェアアーキテクチャの欠点もますます明らかになってきている。まず、このようなアプリケーションのアーキテクチャは再利用性が悪くて、非常に複雑なビジネスシーンに適応できず、特に需要が変化したとき、新しいビジネスロジックにできるだけ早く適応できるように、大量のコード修正が必要とされる。つぎに、従来の組み込みアプリケーションでは、要求メッセージと割り込みメッセージの優先順位を適切かつ一貫して処理することが不可能であるため、ビジネス処理の適時性と信頼性に影響を与える。したがって、従来の組み込みプログラムの制御アーキテクチャは、効率性、信頼性、拡張性が不足しているため、適用することが不可能である。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明の目的は、上述した従来技術の欠点を克服するために、迅速な応答性、高い信頼性、および優れた拡張性を有する、ARMアーキテクチャに基づく集束超音波治療機器の制御方法を提供することである。
【課題を解決するための手段】
【0004】
本発明の目的は、以下の技術案により達成できる。
ARMアーキテクチャに基づく集束超音波治療機器の制御方法であって、前記集束超音波治療機器にはワークステーションとLinuxオペレーティングシステムが稼働するARM組み込みプロセッサとが接続され、前記ARM組み込みプロセッサには第1の制御プログラムが記憶され、前記ワークステーションには第2の制御プログラムが記憶されており、前記第1の制御プログラムと第2の制御プログラムとはTCP/IPプロトコルを介して通信し、前記方法は具体的には、
前記第1の制御プログラムは、タスクを実行することにより集束超音波治療機器を制御し、タスクの実行結果を第2の制御プログラムにフィードバックすることであり、
前記タスクは内部イベントとオペレーション指令とを含み、前記オペレーション指令は制御指令と状態問合せ指令とを含み、前記内部イベントは第1の制御プログラムのタイマイベントとLinuxカーネルの割り込みメッセージとを含み、前記第2の制御プログラムは、ワークステーションを介してオペレーション指令を受信して、前記第1の制御プログラムに送信し、
前記第1の制御プログラムはメインスレッドとワーカースレッドとを含み、前記メインスレッドはタスクに対して優先度設定を行い、前記割り込みメッセージ、制御指令、状態問合せ指令、およびタイマイベントの優先度は順に低くなり、前記ワーカースレッドは優先順位の高い順にタスクを順に実行し、タスクの実行結果に応じてARM組み込みプロセッサのレジスタに対して読み書きし、集束超音波治療機器の制御を実現するとともに、メインスレッドはタスクの実行結果を第2の制御プログラムにフィードバックし、ワークステーションはユーザインターフェースを介してタスクの実行結果を表示する。
【0005】
さらに、前記第1の制御プログラムはシグナルスレッドをさらに含み、前記タスクは終了メッセージをさらに含み、前記終了メッセージの優先度は割り込みメッセージと制御指令との間にあり、前記シグナルスレッドはソケットを閉じることによりメインスレッドに終了メッセージを送信し、前記シグナルスレッドは終了シグナルを受信したときにソケットを閉じ、前記シグナルスレッドはソケットを閉じることによりメインスレッドに終了メッセージを送信し、前記終了メッセージはSIGNINTとSIGTERMとを含み、ARM組み込みプロセッサに接続された操作端末により発せられ、前記ソケットはUnix Socket Pairである。
【0006】
さらに、前記メインスレッドは、Linuxカーネルの割り込みメッセージを受信すると、ワーカースレッドにLinuxシグナルを送信し、前記ワーカースレッドは、Linuxシグナルを受信すると、現在のタスクを中断させ、割り込み応答処理関数を実行してから前のタスクのコンテキストに戻り、割り込みの実行結果に応じてタスクの継続または終了を選択し、前記LinuxシグナルはSIGUSR1である。
【0007】
さらに、前記ワーカースレッドは、終了メッセージを実行するときに集束超音波機器をシャットダウンし、システムリソースを解放し、安全に終了する。
【0008】
さらに、プロトコルの拡張と互換が容易になり、適用範囲が広くなるように、第1の制御プログラムと第2の制御プログラムとの間のプロトコルをGoogle Protocol Bufferを用いてカプセル化する。
【0009】
さらに、前記第1の制御プログラムは、Netlink方式でLinuxカーネルの割り込みメッセージを受信する。
【0010】
さらに、前記メインスレッドは、軽量で高性能なイベント駆動ライブラリであるlibeventライブラリを介してタスクを受信する。
【0011】
さらに、前記第1の制御プログラムはC++抽象化メカニズムを利用し、タスクをカプセル化し、第1の制御プログラムのアーキテクチャはビジネス処理ロジックとは無関係であり、カプセル化メカニズムを拡張することによりビジネスロジックを拡張するため、拡張性と汎用性に優れている。
【0012】
従来技術と比べて、本発明は以下の有益な効果を有する。
(1)本発明は、デーモンプロセスを用いてタスクを実行する。メインスレッドはタスクを受信し、タスクに対して優先度設定を行い、タスクは、第2の制御プログラムの制御指令と状態問合せ指令、および第1の制御プログラムのLinuxカーネルの割り込みメッセージとタイマイベントを含む。ワーカースレッドは、タスクを実行した後にタスクの実行結果をメインスレッドに送信する。メインスレッドは、タスクの実行結果をTCP/IPポートを介して第2の制御プログラムに送信する。メインスレッドはタスクを受信してキャッシュし、メッセージの輻輳を回避し、並行処理能力を向上させることができるとともに、タスクに対する優先度設定により、集束超音波治療機器の応答の適時性を向上させ、信頼性が高い。また、ワーカースレッドによりレジスタに対して読み書きすることで、複数のスレッドが同時に競合することによるロックの負担を回避し、タスクの処理速度をさらに向上させた。
【0013】
(2)本発明はシグナルスレッドを設け、シグナルスレッドはソケットを閉じることによりメインスレッドに終了メッセージを送信し、メインスレッドは終了メッセージを受信した後に安全に終了するため、バックグラウンドプロセスが突然終了させられた場合に生じる可能性のあるシステムリソースのリークおよびハードウェアの損傷を回避し、システムの安全性を高めた。
【0014】
(3)本発明は、第1の制御プログラムと第2の制御プログラムとの間のプロトコルをGoogle Protocol Bufferを用いてカプセル化するため、プロトコルの拡張と互換が容易になり、適用範囲が広くなる。
【0015】
(4)本発明は、Netlink方式で第1の制御プログラムとLinuxカーネルとの間の通信を実現する。Netlink方式は双方向通信をサポートして、Netlink方式は双方向通信をサポートして、Linuxカーネルから開始されることが可能で、ブロードキャストモードをサポートしているため、割り込みが発生した場合、LinuxカーネルがNetlink方式でメインスレッドに割り込みメッセージを送信して、割り込み通知メッセージの短い時間長とタイムリーな応答を確保し、集束超音波治療機器による処理の信頼性を高めた。
【0016】
(5)本発明はC++抽象化メカニズムを利用し、第1の制御プログラムのタスクをカプセル化し、第1の制御プログラムのアーキテクチャはビジネス処理ロジックとは無関係であり、カプセル化メカニズムを拡張することによりビジネスロジックを拡張するため、拡張性と汎用性に優れている。
【図面の簡単な説明】
【0017】
【
図2】本発明のプログラム制御アーキテクチャ図である。
【
図3】本発明のC++抽象化メカニズムを利用してタスクをカプセル化するクラス構造図である。
【発明を実施するための形態】
【0018】
以下では、図面と具体的な実施例を組み合わせて本発明を詳細に説明する。本実施例は、本発明の技術案を前提として実施され、詳細な実施形態及び具体的なオペレーションプロセスが示されているが、本発明の保護範囲は以下の実施例に限定されない。
【0019】
ARMアーキテクチャに基づく集束超音波治療機器の制御方法において、
図1、
図2および
図3に示すように、集束超音波治療機器にはワークステーションとLinuxオペレーティングシステムが稼働するARM組み込みプロセッサとが接続され、ARM組み込みプロセッサには第1の制御プログラムが記憶され、第1の制御プログラムはC++抽象化メカニズムを利用してタスクをカプセル化する集束超音波制御プログラムfusdであり、ワークステーションには第2の制御プログラムが記憶されており、第2の制御プログラムは上位コンピュータの治療制御プログラムmrgfusであり、fusdとmrgfusとはTCP/IPプロトコルを介して通信し、mrgfusとfusdとの間のプロトコルはGoogle Protocol Bufferを利用してカプセル化され、Linuxカーネル起動完了後にレジスタドライバregister driverと割り込みドライバが自動的にロードされる。
【0020】
制御方法は具体的には次のとおりである。
fusdはメインスレッドmain、ワーカースレッドworker、およびシグナルスレッドsignalを含み、メインスレッドはlibeventライブラリを介してタスクを受信するとともに、タスクに対して優先度設定を行う。ワーカースレッドはタスクの優先順位の高い順にregister driverを順に呼び出し、バスを通じてARM組み込みプロセッサのレジスタに対して読み書きオペレーションを実行して集束超音波治療設備の制御を実現するとともに、ワーカースレッドはパイプPIPEを通じてタスクの実行結果をメインスレッドに送信し、メインスレッドはタスクの実行結果をmrgfusにフィードバックし、ワークステーションはユーザインターフェースを通じてタスクの実行結果を表示する。
【0021】
タスクは内部イベントとオペレーション指令とを含み、内部イベントはfusdのタイマイベント、Linuxカーネルの割り込みメッセージ、およびシグナルスレッドからの終了メッセージを含み、割り込みメッセージ、終了メッセージ、制御指令、状態問合せ指令、およびタイマイベントの優先度は順に低くなる。
【0022】
irq driverは汎用割り込みコントローラGeneric Interrupt Controlerの割り込みメッセージを受信し、Netlink方式で割り込みメッセージをメインスレッドに送信する役割を果たし、メインスレッドは、Linuxカーネルの割り込みメッセージを受信すると、ワーカースレッドにLinuxシグナルを送信し、前記ワーカースレッドは、Linuxシグナルを受信すると、現在のタスクを中断させ、割り込み応答処理関数を実行し、LinuxシグナルはSIGUSR1であり、ワーカースレッドは割り込みハンドラからタスクのコンテキストに戻り、割り込みの実行結果に応じてタスクの実行の続行または終了を選択する。
【0023】
オペレーション指令は制御指令と状態問合せ指令とを含み、mrgfusは、ワークステーションのユーザインターフェースを介してオペレーション指令を受信してfusdに送信する。
【0024】
シグナルスレッドはソケットを閉じることによりメインスレッドに終了メッセージを送信し、メシグナルスレッドはブロックされて終了シグナルを待ち、終了シグナルはSIGNINTとSIGTERMとを含み、ARM組み込みプロセッサに接続された操作端末によりまたはLinuxオペレーティングシステムにより発せられ、シグナルスレッドは終了シグナルを受信したときにソケットを閉じ、ソケットはUnix Socket Pairであり、ワーカースレッドは、終了メッセージを実行するときに集束超音波治療機器をシャットダウンし、システムリソースを解放し、安全に終了する。
【0025】
図3に示すように、C++抽象化メカニズムを利用してIProto基底クラスを作成し、内部タイマイベントテンプレートクラスProtoTmplとGoogle Protocol Bufferがカプセル化されたタスクテンプレートクラスPbProtoTmplはすべてIProtoから継承し、ResetProtoクラスは機器をリセットするために、InvalidProtoクラスはシステム例外を処理するために、ProtoTmplから継承し、状態問合せクラスMonitorProto、設定実装クラスConfigureProto、パワーアンプ制御クラスAmplifierProto、およびプローブ制御クラスXdcrProtoはアプリケーションmrgfusとプロトコルインタラクションを行う必要があり、PbProtoTmplから継承する。後続の新しいタスク拡張は、他のコードを変更することなく、ProtoTmplまたはPbProtoTmplから継承するクラスを追加するが可能である。
【0026】
(実施例)
ユーザは、ワークステーションのユーザインターフェース上で治療パラメータ、すなわち制御指令を設定する。治療パラメータは、プローブ移動パラメータ、エネルギー設定パラメータ、およびエネルギー出力治療パラメータを含む。ARM組み込みプロセッサは集束超音波治療機器の動作を制御し、mrgfusはGoogle Protocol Bufferでカプセル化されたプロトコルを介して制御指令のカプセル化を行って、TCP/IPを介してARM組み込みプロセッサ上で動作するfusdに一度に送信し、fusdのメインスレッドはmrgfusの制御指令を受信し、キャッシュと優先度設定を行い、ワーカースレッドは優先度設定に従って制御指令を順に実行する。ワーカースレッドによる制御指令の実行中に集束超音波治療機器に異常が発生した場合、LinuxカーネルはNetlink方式でメインスレッドに割り込みメッセージを送信する。メインスレッドは、割り込みメッセージを受信すると、直ちにワーカースレッドにSIGUSR1を送信する。ワーカースレッドは直ちに現在のタスクを中止して割り込み応答関数を実行し、メインスレッドを通じて実行結果をmrgfusに送信し、そしてワークステーションのユーザインターフェースに表示させる。そして、ワーカースレッドは割り込み応答関数から戻り、他のタスクを実行しないようにし、割り込みによる集束超音波治療機器の異常発見を実現する。
【0027】
本実施例は、ARMアーキテクチャに基づく集束超音波治療機器の制御方法を提案し、デーモンプロセスを用いてタスクを実行する。mrgfusは、ワークステーションのユーザインターフェースを介してオペレーション指令を受信して、TCP/IPプロトコルを介してfusdのメインスレッドに送信する。メインスレッドは、タスクを受信してキャッシュして、メッセージ、特に中断メッセージがブロックされないように確保するとともに、タスクに対して優先度設定を行い、ワーカースレッドは、タスクの順番に従ってタスクを実行し、レジスタに対して読み書きすることにより集束超音波治療機器を制御し、メインスレッドとシグナルスレッドがワーカースレッドと競合することがなく、ロックの負担を回避した。同時に、メインスレッドはタスクの実行結果をmrgfusにフィードバックし、ワークステーションのユーザインターフェースによりタスクの実行結果を表示して、ユーザにフィードバックするため、集束超音波治療機器の制御プロセスは高い信頼性、および優れた拡張性を有する。シグナルスレッドがメインスレッドに終了メッセージを送信し、メインスレッドが終了メッセージを受信した後に安全に終了するため、安全性に優れている。mrgfusとfusdとの間のプロトコルをGoogle Protocol Bufferを利用してカプセル化するため、ビジネスシーンに応じたプロトコルの拡張と互換が容易になる。Netlink方式でfusdとLinuxカーネルとの間の通信を実現し、割り込み通知メッセージの短い時間長とタイムリーな応答を確保し、集束超音波治療機器による処理の信頼性を高めた。fusdはC++抽象化メカニズムを利用して、集束超音波治療に関する制御指令と状態問合せ指令などのタスクをカプセル化し、fusdのアーキテクチャはビジネス処理ロジックとは無関係であり、カプセル化メカニズムを拡張することによりビジネスロジックを拡張するため、拡張性と汎用性に優れている。以上のように、本実施例により提案される制御方法は、疎結合、高凝集の設計案を採用しており、高並行性、高信頼性、高拡張性の利点を有する。
【0028】
以上に、本発明の好適な具体実施例を詳細に説明した。当業者であれば、創造的労働を要することなく、本発明の構想に基づいて多くの修正及び変更を行うことができることを理解すべきである。したがって、当分野において、技術者が本発明の構想に従って従来技術に基づいて、論理的分析、推論又は有限な実験により得ることができる技術案は、すべて請求項により確定される保護範囲内に含まれるものとする。