進化を続けるSTのSTM32ファミリ。注目を集めるメディカル分野でも実力を発揮

「エレクトロニクスで病魔に挑戦」をモットーに数多くの医療用電子機器を展開する日本光電工業。街角や施設などで目にすることの多いオレンジ色のAED(自動体外式除細動器)でも有名だ。今回APSでは、数ある同社製品の中から、睡眠中に一時的に呼吸が止まる「睡眠時無呼吸症候群」の簡易検査装置「SAS-3200」を取り上げる。単三電池2本で24時間以上の動作を実現するためと、生体信号を高精度で処理するために、ARM Cortex-M3プロセッサを搭載したSTマイクロエレクトロニクスの「STM32F103」を採用した。

メインイメージ

さまざまな生体センサーを駆使して睡眠時の無呼吸を検出

今日は日本光電工業(以下、日本光電)の携帯用無呼吸検査装置「SAS-3200」を持ってきていただきましたが、これは何をする装置ですか?

根木:眠っている間に、10秒以上の呼吸停止を繰り返す病態を「睡眠時無呼吸症候群(SAS)」と呼び、日本人の2%程度がこういった症状を持っているといわれています。単に一時的に呼吸が止まるだけならいいのですが、高血圧や動脈硬化を引き起こすといわれているほか、慢性的な睡眠不足から居眠り運転につながる恐れもあると指摘されています。たとえば2003年に新幹線の運転士が居眠り運転を起こしニュースでも取り上げられましたが、この運転士はその後の検査で睡眠時無呼吸症候群の持ち主であることが判りました。それ以後、旅客や運送の関係者にとって大きな問題のひとつに挙げられています。この「SAS-3200」は、センサーを体に装着した状態で被験者に一晩寝てもらい、睡眠中に無呼吸症状が発生したかどうかを調べる装置です。

日本人の2%程度と聞くと自分も睡眠時無呼吸症候群ではないだろうかと心配になってしまいますが、さて「SAS-3200」はどのように使うのでしょうか?

田口:睡眠時無呼吸症候群の検査装置には、無呼吸や低呼吸を検出するための圧力や熱を感知するセンサーを鼻腔付近、血液中に酸素がどのくらい含まれているかを計測するためのセンサーを指先、呼吸の努力の有無を検出するセンサーを胸や腹に装着して睡眠中のセンサーのデータを「SAS-3200」で記録します。記録されたデータから1時間当たりの無呼吸や低呼吸の回数を計測し、その値を参考にして被験者のその後のより精密な検査や治療の必要性を医師が判断することになります。

なかなか装着が大変そうですね。

田口:基本的には専門の病院で検査技師または看護師が扱うことを前提としています。

根木:弊社では、より簡便に睡眠時無呼吸検査ができる「SAS-2100」という機種も販売しています。睡眠時無呼吸は循環器疾患との関連があるということから、「SAS-3200」はホルター心電図検査や呼吸努力の検出ができるようになっているため、センサーが増えています。

ローパワーかつ32ビット演算対応を理由にCortex-M3プロセッサを選択

「SAS-3200」の内部の作りについて教えてください。

田嶋:それでは私からハードウェアについて説明します。「SAS-3200」には先ほど田口からあったようにさまざまな生体センサーが接続されています。まず、それらセンサーの出力信号を増幅するアンプや余分な信号成分を取り除くフィルタ回路で構成されるアナログ段があり、次にアナログデジタル変換器(A/Dコンバータ)を経由して、マイコンにデータを取り込んで処理します。処理したデータは後処理ができるようにSDカードに記録します。単三電池2本で24時間以上の動作を目標にしたため、消費電力をいかに抑えるかが課題でした。生体信号は連続的にモニタしなければなりませんのでアナログ段は常に電源オンの状態にし、その代わりマイコンは必要な処理をしたのちは速やかにスリープモードに移行させるなどの工夫を行っています。マイコンにはARM Cortex-M3プロセッサを搭載したSTマイクロエレクトロニクス(以下、ST)の「STM32F103」を採用しています。

マイコンはどのように選定したのですか?

田嶋:ひとつはスリープ状態から通常状態に切り替わるときの起動時間ですね。マイコンのクロック源として水晶発振回路のみを内蔵するタイプのマイコンでは、スリープからの水晶発振安定に十数msもかかるのですが、STM32シリーズは、RC発振器を内蔵しており、1msを大幅に下回る起動時間であるため、無駄な電力消費を抑えることができました。もちろん「STM32F103」は通常動作でも消費電力が少ない点も評価しました。

根木:ARM Cortex-M3プロセッサであれば32ビット演算ができるという点も採用理由のひとつです。低消費電力を謳う他社のマイコンも検討したのですが、レジスタが16ビットしかありません。生体信号はダイナミックレンジがとても広いので、フィルタ処理のような積和演算を行おうとすると、16ビットでは演算時間がかかり、消費電力が増えてしまいます。

野田:この「SAS-3200」で日本光電様は当社のマイコンを初めて採用されたのですが、海外ベンダーに対するアレルギーはなかったのですか?

根木:私は、もともと国産・海外ベンダーも含めて数種類のマイコンを使用してきたのですが、国産マイコンベンダーの場合は、リスクの高くない医療機器であることを理解していただくための手続きにかなり時間が必要だったと記憶しています。日本光電はAED(自動体外式除細動器)を日本で作っている唯一のメーカーでもあるのですが、AEDとなると国産ベンダーは、より慎重な対応をしているようです。その点は海外ベンダーのほうが融通が利くというか。

野田:そういったところは我々はフレキシブルかもしれませんね。当社の場合も使用できないアプリケーションがないとは言えませんが、個別にしっかりとお話をお聞きした上で、お使い頂けるか判断しています。今回の「SAS-3200」は弊社内のルールに照らして問題ないと判断しています。

根木:それとSTの技術サポートですね。たとえば大学でプログラミングの勉強をしたからといって、入社してすぐにマイコンを使えるかというと、そういう話にはなりません。やはり開発環境の使い方を含めた習熟が必要です。新人たちのトレーニングを含めて野田さんにはずいぶん助けてもらいました。

先ほど単三電池2本で24時間動作が要件とありましたが、消費電力はどのように見積もったのですか?

田嶋:基本的な回路を設計し、基板を試作して、電池がどれぐらい持ちそうかというところをハードウェアチームで評価しました。その結果、STの「STM32F103」を間欠動作させることで問題ないという結論を得ました。

事前のトレーニングを通じてスムーズな開発立ち上げを実現

ソフトウェアの開発はどのように進めたのですか?

田口:STのトレーニングでサンプルプログラムの使い方などを学んでから開発に着手しました。私自身はARMアーキテクチャを扱うのは初めてだったのですが、開発環境に利用したIARシステムズの「IAR Embedded Workbench」の使い方を覚えるのに少し時間がかかったぐらいで、とくに難しいという印象はなく、スムーズに取り組めたと思います。ソフトウェアとしては、OSにイー・フォースのμC3(マイクロ・シー・キューブ)を使用しています。生体情報の計測アルゴリズムなどは他の機器から移植していますが、ほとんどの部分はゼロベースで開発しました。

マイコンをスリープモードと通常モードで切り替えながら使用するということで、決められた時間内に処理を終えなければならない、といった課題にはどのように対応したのでしょうか?

田口:生体データのフィルタリング処理がもっとも重いのですが、「STM32F103」は性能的にまったく問題なく、規定の時間内に処理を完了しています。最終データをSDカードに書き込むところは、消費電力をできるだけ抑えるために、書き込むデータサイズを大きくするなどのチューニングをしています。

野田:STでは浮動小数点演算が可能なARM Cortex-M4プロセッサを搭載した「STM32 F4」シリーズも提供しているのですが、先ほどのアルゴリズム処理などは浮動小数点演算器があればさらに高速化できますか?

田口:今回の「SAS-3200」の場合はそこまでの性能は要りませんが、別の製品では期待したいところです。

根木:一部の医療機器には、たとえばDSPを積んでフィルタリング処理をする場合もあるので、そういったアプリケーションには浮動小数点がメリットになるかもしれませんね。

そのほか、開発で苦労した点はありますか?

田口:液晶ディスプレイの画面デザインには少し苦労しました。「SAS-3200」を使い慣れていない医師や検査技師が見たときでも、一目で状況が把握できなければならないからです。測定データを適切に表示しつつ、センサーの装着不具合が検出された場合はその箇所とエラーメッセージを表示するように、社内のデザイン専門部署とやりとりをしながら画面設計を進めていきました。

根木:たとえば夜間に看護師が巡回してセンサーの外れが起きていないか確認できるように、バックライトが消えている状態でも懐中電灯を当てて見えるような特殊なカラー液晶パネルを使っています。医療従事者が使う製品ではそういった工夫が結構重要なんです。

アナログ回路も取り込んで進化するSTのSTM32ファミリ

ところでメディカル市場およびヘルスケア市場は、エレクトロニクス業界をはじめとして多くの業界から注目されていますね。

根木:厚生労働省は「セルフ・メディケーション」(健康の自己管理)を推進していますし、人口分布の高齢化もありますから、医療機器に求められる要件もこれから変わっていくことが予想されます。また、参入障壁の低いヘルスケア市場には、さまざまなメーカーが製品を投入してくるでしょうね。

田嶋:そうした機器のハードウェアとしては、バッテリで長時間動作するハンディタイプがひとつの流れとしてあるので、アナログ部分もデジタル部分も、性能を維持しながら、消費電力をいかに抑えていくかが課題になると思っています。

田嶋さんから低消費電力の話が出ましたが、STのローパワーに対する取り組みを聞かせてください。

野田:日本光電様の「SAS-3200」の開発スケジュールには間に合わなかったのですが、STではARM Cortex-M3プロセッサを搭載しながらも消費電力を徹底的に抑えた「STM32 L1」シリーズを展開しています。今後はARM Cortex-M4プロセッサやARM Cortex-M0プロセッサを搭載したマイコンでも同様のローパワー品を提供していく予定ですので、ぜひご検討いただければと。

田嶋:消費電力が鍵となる製品に対して「STM32 L1」シリーズが効果的かどうかをすでに検討しています。

ところでSTから新しい製品が出たそうですね。

野田:はい。これまでSTM32ファミリは、ARM Cortex-M0プロセッサを搭載した「STM32 F0」シリーズ、「SAS-3200」にも採用していただいたARM Cortex-M3プロセッサの「STM32 F1」シリーズ、同じくARM Cortex-M3プロセッサを搭載して動作周波数を高めた「STM32 F2」シリーズ、ローパワーを志向した「STM32 L1」シリーズ、ZigBeeを内蔵した「STM32 W」シリーズ、ARM Cortex-M4プロセッサを搭載したハイエンドの「STM32 F4」シリーズを展開してきました。これらに加えて、2012年7月に、ΔΣ型16ビットA/Dコンバータや5MSPSのSAR型12ビットA/Dコンバータなどのアナログ機能を充実させた「STM32 F3」シリーズを発表しました。これにはコンパレータやオペアンプも搭載されています。プロセッサはARM Cortex-M4ベースで浮動小数点演算も使えるため、デジタル信号処理に最適と考えています。

田嶋:それは面白そうですね。A/Dコンバータのチャネル数など、詳しいスペックをあとで教えてください。

マスではない組み込み用途にこそベンダーの柔軟な対応力が不可欠

いい機会なので、STになにかリクエストがあればお願いします。

田嶋:細かい話になってしまいますが、「SAS-3200」の場合ではSDIOが2チャネル欲しかったというのはあります。もっとも当社製品は数量が出ないので、そういう要望を反映していただくのは難しいでしょうけれど。

野田:SDIOの2チャネル化は珍しいケースとは思いますが、全世界にいらっしゃる弊社のお客様の中にも同じニーズを持っておられる可能性があるので、どんなご要望であってもおっしゃっていただければと思います。偶然、別のお客様からも同じようなご要望をいただいていますので、田嶋さんのご意見も社内で共有しておきます。

田口:STM32シリーズにはペリフェラルのいろいろなバリエーションはありますが、自分たちが本当に欲しい組み合わせが選べるといいかなと思います。数が少ない私たちのような業界のニーズにも対応してもらえると嬉しいなと。究極は、ウェブ画面でペリフェラルをセレクトして注文ボタンをクリックすると、一週間後ぐらいに特注マイコンが手元に届く、みたいな感じでしょうか。

田口:それはすばらしい(笑)。

野田:めちゃくちゃ値段が高くなりますよ(笑)。

今回はARM Cortex-M3プロセッサを使って携帯用無呼吸検査装置「SAS-3200」を開発されたわけですが、今後の展望をお聞かせください。

根木:ARMマイコンって使う側からすると選択肢がものすごく広がるんですよ。こう言ってしまうと野田さんには申し訳ないんですが、自分たちの製品に最適なマイコンをST以外のベンダーも含めて選べるようになったと。その意味ではSTには常にいちばんいい製品を出し続けてもらいたいなと思っています。あと、たとえばプログラム実行と消費電力との関係がわかるように、マイコンベンダーには開発ツールベンダーとの連携を深めて欲しいですね。そうしたデバイスや環境を利用しながら、これからも優れた医療機器を提供していきたいと考えています。

野田:そのときどきのマーケットでベストなデバイスを的確に選択しているところに、日本光電様が医療機器業界をリードしている理由のひとつがあるのではないかと感じます。今後も私たちSTの製品をベストとして採用していただけるように、製品開発やサポートに努めていきたいと思っています。

本日はどうもありがとうございました。