4月, 2025 | ディー・クル―・テクノロジーズ

bookmark_borderフリップフロップ(FF)③|D-FF回路を安定して動作させるには?

今回は、DFFを安定して動作させるには、”前の状態をラッチした後、D1Xが変化する”ようにすれば良い事をもう少し詳しく説明したいと思います。

前回の記事はこちらです。

DFFに入れるCLKのTr/Tfを遅くした波形を図 1に示します。

図1

DFFの出力V(Q)の動作がおかしくなっています。クロックV(C)の立上がりだけではなく、立下りでも変化してしまっています。これは、スレーブラッチが正しく動作しなくなっているために起きている現象です。

スレーブがデータを取り込んで(図ではD1Xの“L”を取り込んで)、これをラッチする(32usecのちょっと前のCLKの立下り)事ができず、入力データD1Xの変化がそのまま出力Qに現れてしまっています。

問題の部分を拡大してみると・・・

図2

図 2の拡大図を見ると分かるように、ほんの僅かですがD1Xの立ち上がりのほうが早くなっています。

本来の動作は、CLKの立下りの後、D1Xが変化しないといけないのですが、CLK波形のTr/Tfが遅くなったため順番が逆になってしまったのです。

D1Xの立ち上がりを遅くするためにマスターラッチ用のクロックを遅くしてみました。

図3

これでうまくいくはずだったのですが・・・

図4

残念ながら直っていません(T_T)。何で?と拡大してみると。。。

図5

まだ、D1Xのほうが早く動いてしまっています。

単純なインバータで遅延を作ったのがまずかったようで、CLK2(遅らせたいCLK)の方が後ろにあるのですが、利得が高くなっているために先に動作してしまっています。

それならばという事で、更にインバータを追加してみます。

図6
図8

確かに、D1Xの方が遅くなっています。。。しかし、その差は500psec以下!!

実際の回路では寄生容量など回路図にはないデバイスの影響もあるので、このくらいの差はひっくり返ってしまうこともあります。

以上の様に入力CLKのTr/Tfが遅くなるとDFFは誤動作を起こしてしまうので、Tr/Tfに制限をつける必要があります。

次回は、入力データとクロックの位相関係について触れたいと思います。

bookmark_borderフリップフロップ(FF)②|D-FF回路の動作を詳しく説明

前回記事はこちら

今回は前回紹介したD-FF回路(図 1)の動作を説明したいと思います。

D-FF回路の動作

図1

ラッチ内のASW(四角いブロック)の中は下の様になっていて、SW端子が‘H’でSWX端子が‘L’のときは、左側の列のTrがONし右側の列のTrがOFFするので、COM端子はA端子とつながります。逆にSW端子が‘L’でSWX端子が‘H’のときは、COM端子はB端子につながります。

図2

ラッチ内のINV(三角のブロック)はインバータです。

図3

図 1と図 3を使ってマスターラッチの動作から説明します。結構複雑な動きをします(汗)。

マスターラッチの動作

(A)CLKが‘L’の時(つまり、CLKXが‘H’の時):

ASWの端子Aと端子COMが接続し、入力Dが回路内に取り込まれます

このときD1,D1X,D1XXの状態が変化し、ASWの端子COMからインバータを

2個経由した端子B(つまり、D1XX)は、端子A(つまり入力D)と同じ論理になっています。

(B)CLKが‘H’の時(つまり、CLKXが‘L’の時):

ASWの端子Bと端子COMが接続し、前の状態をラッチします。

つまりD1、D1X、D1XXの正帰還状態となります。

この間、ASWの端子A(つまり入力D)が変化しても、ラッチ回路内は影響を受けません。

図4

続いて図 1と図 4を使ってスレーブラッチの動作を説明します。

スレーブラッチの動作

(マスターラッチとはCLKの接続が逆になっている事に注意して下さい)

(C)CLKが‘H’の時(つまり、CLKXが‘L’の時):

ASWの端子Aと端子COMが接続し、入力D1Xが回路内に取り込まれます

このときD2X,D2XX,D2XXXの状態が変化し、ASWの端子COMからインバータを

2個経由した端子B(つまり、D2XXX)は、端子A(つまり入力D)と同じ論理になっています。

(D)CLKが‘L’の時(つまり、CLKXが‘H’の時):

ASWの端子Bと端子COMが接続し、前の状態をラッチします。

このときはD2X,D2XX,D2XXXの正帰還状態となります。

この間、ASWの端子A(つまり入力D)が変化しても、ラッチ回路内は影響を受けません。

実はこの(D)になる時が一番危険な時なのです。

なぜかというと、“前の状態をラッチする”と“D1Xの変化”がほぼ同時に行われているからです。

安全にするには“前の状態をラッチした後、D1Xが変化する”ようにすれば良いので、

CLKの順番で言うと、

“スレーブラッチのCLKの立下り(CLKXの立ち上がり)の後、マスターラッチのCLKが立下る(CLKXが立ち上がる)”

となります。つまり、スレーブラッチのCLKがいつも早くなるようにしておけば良い事になります。

しかし、実際にはそう単純にはいかない事情があります。

次回はこのあたりをもう少し詳しく紹介したいと思います。

bookmark_borderAIモデルを開発する(AI×IoTトイレ見守り⑥)

AIと低コストのTOFセンサーの組み合わせが、人の検出や転倒検知などに利用できる可能性をPoC(Proof of Concept)の結果が証明しました。さて、次のステップは何でしょうか?それは、システムをPoCから実用製品へと発展させることです。

前回の記事はこちらです。

POC から製品化へ

このフェーズでは、主に「簡略化によるシステムコスト削減」と「インフラ」の2つの領域に焦点を当てていきます。

簡略化によるシステムコスト削減

①デバイス上での処理

注目したいのは、デバイス上での処理です。実は、AIモデルは32ビットのM4 Cortex MCU上で直接処理することが可能。これにより、コストを抑えつつも性能を高めることができます。 具体的には、STM32ビットM4 Cortex上のAIモデルは約41KBのFlashと約12KBのRAMを使用しています。AIモデルは量子化されており、float32モデルからint8ベースに変換されています。このおかげでAIモデルのサイズが削減されるため、32ビットMCU上での高速処理が実現できるのです。 またAIモデルの推論時間は約4msですが、センサーデータの読み取り、前処理、後処理をすべて含めると、1フレームのToFデータ処理にかかる時間は10~15ms。ToFセンサーのフレームレートが8Hzであることから、最も長くて1秒あたり120msの処理時間になります。処理時間の約88%の時間をMCUはアイドル状態になるため、その間、理論上は低消費電力モードやスリープモードに移行可能です。

②インフラ

一方で、システムの中でもっとも課題となるのが「インフラ」です。これには次のような要素が含まれます:

  1. 接続性(Connectivity)
    • システム統合に不可欠なBluetooth、UART、WiFiなど。
  2. 筐体
    • センサー保護(防水、防塵 など)
  3. 電源(Power)
    • バッテリー駆動または有線電源の選択肢。

システムの改善に向けて

現状のシステムは低コストのTOFセンサーを使用していますが、コストを最小限に抑えながら性能の向上や機能の拡張を目指す必要があります。特に、家具や設備が固定されている環境では、無人時に取得したキャリブレーションデータをAIモデルが活用できます。しかし、患者の移動式ベッドが動いた場合や、大型の物体がセンサー範囲に入って来る場合など、シナリオによっては想定外の事態が生じることがあります。

このような状況への対策として、以下のような解決策が考えられます。

  1. 低コストの高解像度ToFセンサーを使用する
  2. 複数のセンサーを使用し、データ融合を行う

低コストの高解像度ToFセンサーを使用する

2025年末には、解像度52×42の新しいセンサーが登場予定。このセンサーはスマートフォン向けに開発されるため、低価格での提供が期待できます。これにより、キャリブレーションデータなしでも体の部位を検出できる可能性が広がります。

上の画像は、60×45の高解像度ToFセンサーからダウンサンプリングした画像の一部を示しています。人物は 立位、膝立ち、座位、または倒れた状態 になっています。プライバシーの観点から見ると、顔は判別できず、また体の画像も十分な詳細がないため、プライバシー上の問題は生じにくいと考えられます。

複数のセンサーを用いたデータ融合を行う

サーマルセンサーには検出範囲の制限があり、またToFセンサーよりもコストが高く(3~5倍)別の課題があります。しかし、低解像度のサーマルイメージセンサーと低解像度のTOFセンサーを組み合わせることで、物体の温度情報を活用し、人間と非人間の物体を区別できるようになるかもしれません。これにより、システム全体の精度の向上が期待されます。

さらなるユースケースの探求

顧客が関心を持つユースケースはさまざまです。例えば、

  1. 患者ベッドモニタリング
  2. 温泉
患者ベッドモニタリング
温泉

これらのユースケースは、転倒検知や危険な姿勢の早期発見に焦点を当てています。たとえば、ベッドからの転落や温泉での居眠りなど、安全面を考慮したシステムが求められています。 高解像度センサーやハイブリッドソリューションを活用することで、プライバシーを保護しつつ、より高度な検出システムを構築できる可能性があります。これにより、AIとIoT技術が目指す未来の実現に近づくことができるのです。