SSブログ

CY8CKIT-042 でロジアナを作った ~I2C編~ [PSoC]このエントリーを含むはてなブックマーク#

波形の表示 PSoC 4 では、 UDB を使ったカスタムロジックの設計ができます。 でも、出来上がった回路の動作を観測するためには、ロジックアナライザだのオシロスコープが必要になります。 「無ければ作ったらいいじゃない。」

ロジアナって何?

ロジックアナライザ(ロジアナ)は、論理信号を観測するための装置です。 本格的な物は、トリガをかける条件などを設定できるのですが、ここでは値を観測して表示できるところまで考えます。

ロジアナに必要なのは、論理信号を取りこむ機能とそれを記録して表示する機能です。 このうち、 PSoC に出来そうなのは論理信号を取りこむ事です。 取りこんだデータは、通信機能によって PC に送出し、記録と表示は PC に任せてしまいます。

回路図は、こうなった

ロジアナ回路

PSoC 4 PIONEER Kit (CY8CKIT-042) の中にロジアナと観測対象 (DUT) の回路の両方を入れてしまいました。 左側の回路は、4ビットの同期カウンタです。 ロジアナ部分のサンプリング速度がそれほど上げられないだろうと考えて、クロック周波数は 1Hz としています。

右側の回路が、ロジアナ部分です。 論理信号を Status Register で受けて、 EZI2C コンポーネントを介して PC に送り出します。 EZI2C は、スレーブ I2C インターフェイスなので、取りこむタイミングは PC に依存します。

これらの回路の間をつなぐのがディジタル入出力端子です。 DUT で作られた論理信号は、一旦、この端子に出力されます。 そして、端子の入力機能でロジアナに取り込まれます。

ファームウェアは、こうなった

ロジアナのファームウェア

この回路の DUT 部分は、ファームウェアの関与を必要としません。 クロックもカウンタも、勝手に自走します。 一方、ロジアナ部分は、 EZI2C の初期化とそのバッファにデータを配置するため、ファームウェアが必要です。 逆に言うと、ファームウェアに書く内容は、それだけです。

EZI2C コンポーネントの初期化の大部分は、 Componenet Configuration で行っていますので、ファームウェアでの記述はほとんどありません。

データの受信と表示

Bridge Control Panel でデータの受信

データを I2C で送り出す仕掛けは出来ましたが、このデータを受信して表示する仕掛けが必要です。 独自アプリケーションを作る気はないので、何か考えなくてはなりません。 ここでは、 PSoC Programmer と共にインストールされるユーティリティアプリケーション Bridge Control Panel (BCP) を使用します。


I2C データ受信構文

BCPEZI2C のデータを引き出すには、このような構文を使用します。 まず、 "w 36 00 p" で、取り出そうとしているデータのアドレスを指定します。 次に "r 36 @0Probe p" で、データを取り出して変数 "Probe" に格納します。 変数名 "Probe" の前についている "0" は、データの格納位置を表します。 "0" は、最下位の8ビット部分に受信したデータを格納する事を示しています。


変数の設定

変数は、メニューの "Chart" → "Variable Settings" からダイアログを開いて、この図のように "long int" で設定します。 "long int" は、32ビットの変数を意味しています。


フラグの設定

変数 "Probe" には、各ビットに複数の論理信号が割り当てられます。 これを論理信号に分解するのが、フラグという概念です。 "Flags" のタブで、5個の論理信号を定義して、論理信号を取り出すべき変数 "Probe" 内でのビット位置を "Bit Mask" で指定します。


波形の表示

最後に "Chart" → "Flags Chart Settings" でフラグを "Chart" に表示する際のパラメータを指定します。 ここでは、表示するY軸方向の位置を指定して、波形が見やすいようにしています。 準備が出来たら、 "Repeat" ボタンを使ってデータを表示させます。 すると、論理信号の動きが次々と表示されます。

私の実験では、毎秒 390 サンプルほど表示されていました。 クロック周波数を 100Hz ぐらいに上げても波形が観測できる計算です。 ただ、この性能は、データを受信する側の PC の性能に依存してしまうので、実際のサンプル速度については、一概には言えません。

プロジェクトアーカイブ

この記事を書くために作成したプロジェクトは、このファイルの拡張子を ZIP に変更して展開すると再現できます。

関連商品

Cypress PSoC4-PIONEER KIT CY8CKIT-042

Cypress PSoC4-PIONEER KIT CY8CKIT-042

  • 出版社/メーカー: Cypress
  • メディア: その他

関連文献

シリーズ最強!PSoC3ボード+デバッグ・ボード (トライアルシリーズ)

シリーズ最強!PSoC3ボード+デバッグ・ボード (トライアルシリーズ)

  • 作者: 古平 晃洋
  • 出版社/メーカー: CQ出版
  • 発売日: 2012/05
  • メディア: 単行本

nice!(0)  コメント(0)  トラックバック(0)  このエントリーを含むはてなブックマーク#

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

トラックバックの受付は締め切りました