PSoC Express でUSB UART [PSoC]
鉄は熱いうちに打て、というよりも借り物があるうちにお試しということで、結構使いでのありそうなUSB-UARTを試してみました。
0-5Vを入力し、PCに送信、PCから0,1,2を書き込むとそれにあわせてLEDがON,OFF,点滅という動作をさせます。
まず完成したところ。
入力部はVoltageの0-5Vのやつです。
特に設定はないですね。
ついでInterfaceからUSB-UARTモジュールを置きます。
これはVID,PIDの設定のみです。
外部インターフェース関連の信号授受はわかりにくいのですが、、入力や出力モジュールと線で結ばれるのではなくて、表からは見えないレジスタ経由で行われる用になっています。
VALUATORでは、PCから送られた来た数値とコマンドの関連付けを行います。Interface Valuatorをチェックし、NEXTをクリックします。
ここでAdd Statesをクリックし
ここで状態を定義します。
今回はLEDなので、OFF,ON,BLINKに0,1,2を割り当てます。
終わったらOKをクリックします。
チェックボックスはまとめて削除する時に使います。
LEDのpropatyでは点滅速度を設定します。
とりあえず、0.5秒おき(2Hz)に設定。
Transfer functionを選択
ここで、PCからのコマンドとLEDの動作の関連付けを設定します。
ここでは、簡単なtable lookupを使用します。
ここでの設定はないので、NEXTをクリック。
左のUSB_VALがPCからのコマンド、右がLEDの動作です。
ドラッグして、上のように定義します。
これで一通り完成。
メニューバーのProject-Assign Register MapメニューでPCとの送受信に使われるレジスタが一覧できます。
Buildを選択すると、デバイスの指定画面になります。
ここで、ピン配置の設定を行います。青のレンガ上のものをドラッグして変更します。
未配置のピンがあれば、右上に表示されます。
buildが終わると上のような画面になります。
画面下のリンクをクリックすると、部品表、設計したデバイスのデータシート、回路図を見ることができます。
これがデータシート。
専用ICのイメージですね。
ここにドライバをどうするとか、データの構成、コマンドの発行の仕方が書いてあります。
基本的には市販のUSB-シリアル変換ケーブルのように振舞います。
ボーレートは自動認識です。
全部で4byte構成なので読み出しはRD 04とタイプします。
そうすると先ほどのassign register mapの順で4byte表示されます。
CRD 04で連続読み出しです。
書き込みレジスタのオフセットは0なので、WR 00 XX(XXは任意値)で書き込みます。
LEDに変化ありました?
これはなかなかお手軽です。
ログをexcelなどに取り込めば、グラフにしたりできますね。
休眠していた、電池放電モニタ復活させよう...。
コメント 0