2015年2月25日水曜日

デジタル温調ハンダゴテ

高級なハンダゴテを買ってしまった。

高価な買い物なので1ケ月位逡巡したのだが、1ケ月しても欲しいという気持ちは衰えなかったので思い切って買ってしまった。

コテ先は4種類を購入した。


右2つはQFPやチップ部品のハンダ付け用に、左2つは汎用にと考えている。

以前、Latticeの世界最小クラスのFPGAにリード線を手付けしようとしたが、その時の機材では1本がやっとだった。


右から2番めの小手先は先端がΦ0.2なので、その内これで再チャレンジしてみようと思う。
線材も0.15mmの物を入手済みだ。


でっきるかな、でっきるかな、さてさてほほー・・・ってな感じかな。





2015年2月22日日曜日

ZYBO 20 ( I2S コントローラの作成 11 )

割り込みの確認も出来た。

Zynqでスタンドアローン(ベアメタル)環境で割り込み使用法について情報が少なくて困った。(探し方が悪いのかも知れないが。) ドキュメントとして唯一見つけられたのは、Xcell Jurnal 87の p38 の How to Use Interrupts on the Zynq SoC という記事だけだった。 この他にXSDKのProject TemplateのPeripheral Testsの中に割り込みを使うプログラム例があるので、これらを参考にしてプログラムを作成した。


割り込み機能の確認は、jukebox プログラムを割り込みを使うように書き換えて行った。
音楽データ用バッファのサイズは2048バイトにした。

I2SコントローラのDAC_THRレジスタをwvの中間番地に、DAC_ENDレジスタをwvの最終番地に設定し、ポインタがそこに通過した時点で割り込みを発生させ、割り込みハンドラでバッファの内容を新しいデータで更新するようにした。

以下は割り込みのセットアップを行う部分である。


割り込みハンドラ(I2SIntrHandler)
各割り込み要因に応じて、それに対応する再生の終わったバッファ領域にSDカードからデータをリードして格納する。 ファイルの終端に達した場合(これはf_eof()で判定する)は、全ての割り込みをマスクし、Circulation modeをクリアする。 すると、DMACのポインタがENDに到達した時点でDMACは動作を完了する。

割り込みハンドラを抜けるところで、xil_DCacheFlush()をコールしてデータキャッシュの内容をDRAMに吐き出させている。 これをやらないとDRAM上のバッファの内容が不完全になりバッファの折り返しの部分で音が異常になった。

メインルーチン
while (1)のループでは、音量増減のボタンや曲ジャンプボタンの判定をしながらDMACが動作完了するのを待っている。 DMACが動作完了になるかあるいは曲ジャンプボタンが押されたらループを抜け、プレイリストの次の曲の再生準備をして再びこのループに入る。


ということで、割り込み及びDMACのCirculation modeの動作確認が出来た。 \(^_^)/


2015年2月8日日曜日

ZYBO 19 ( I2S コントローラの作成 10 )

なんやかんやで、ちょっと間が空いてしまった。


スペクトルの画像をデジカメの動画撮影機能を使って撮影していたのだが、どうしても旨く撮影できないのに業を煮やして、HDMIキャプチャボックスなるものを購入した。HDMIやコンポーネントYPbPr形式の動画をUSBメモリやUSB-HDDに録画できる。

購入したサイトでは対応画質について詳しい説明はなかったのだが、購入して動かしてみたらXGA(1024 x 768)も記録できた。  記録された動画はデジタルデータをキャプチャしているだけあって綺麗だ。

上の写真の通り本体にはLINE INとMIC INのジャックも備わっているがこれは画像がコンポーネントYPbPr形式の場合にのみ使用可能で、HDMI画像の場合はHDMIのチャネルのAudioしか記録できない。  私のdvi_encはdviエンコーダIPでHDMI-Audioのエンコード機能は無いため、現状ではAudioの記録はできない。

I2Sコントローラとしては再生系の動作は割り込みを除いて一応確認できたので、今度は録音系の確認を始めた。 今回は録音系のDMAと再生系のDMAをCIRCULATIONモードで同時に動作させ、LINE INから入力した信号を録音DMACでDRAM上に保存しそれを再生DMACで再生させた。

プログラム


SSM2603の初期設定部
ADC INPUT VOLUMEレジスタのMuteをDisableにしている。


動作の様子。
こういう場面はカメラで取らざるを得ない。


この曲の録音データのスペクトル
wavデータを再生した場合と変わらないので、録音系も問題無さそうである。

次は割り込みを確認しよう。


GTX1050Ti と Tesla m2050 No.2 (BNN-PYNQのtrainingをやってみた)

BNN-PYNQのtraining(学習)をやってみた。  手順は https://github.com/Xilinx/BNN-PYNQ/tree/master/bnn/src/training に記載されており、特に判りづらい点はなかった。 ・ mnist.py 実行...