南無ちゃんのブログ    https://namva.net

天下御免の夢中人=南無ちゃんは、今日も元気で明るく楽しく逞しく生きてゆく。

FPGA開発ツールのお勉強

2020-03-26 17:06:56 | 電子工作
 昨日紹介したネットの記事では、USB Blasterを使って、JTAGでデータをダウンロードして実行する手順が説明されていました。しかし、電源をOFFにすると、もう一度ダウンロードし直す必要があります。デバッグやお勉強だけならそういう方法で良いのですが、実際に機器に組み込んで使うとなるとEEPROMにデータを書き込んでおいて、FPGAボードに電源が投入されると同時にEEPROMのデータによりコンフィグレーションされなければなりません。そもそもFPGAとはそういうものです。
 WINGONEERのCyclonIIボードの回路図を見ると、EEPROMとしてEPCS4SI8が実装されており、JTAGコネクタの他にActiveSerialProgramming用コネクタもあります。これらの使い方について調べて実験しました。

 IntelのEPCS4の資料を読むと、USB-BlasterでEEPROMに書き込みできることが分かりました。
 Youtubeの"How to program your Quartus II design into the EEPROM of your DE1 Board"を見てEEPROMへの書き込み方法が理解できました。
 要点をまとめると、次のような手順です。FPGA開発ツールであるQuartusIIで全ての操作が可能です。
1)ProjectNavigaterの黄色い三角印CycloneII:EP2C5T144C8を右クリックし、Device画面を表示
2)Device画面ほぼ中央部のDeviceandPinOptionsをクリック
3)DeviceandPinOptionsのConfigurationを選択し、UseConfigurationDeviceにチェックを入れて、EPCS4を選択
4)再コンパイルする
5)USB-BlasterのケーブルをAS側に挿す
6)USB-BlasterとFPGAボードに電源を入れる
7)ToolメニューからProgrammerを選択しProgrammer画面を開く
8)HardwareSetupでUSB-Blasterを選択する
9)ModeをActiveSerialProgrammingにする
10)AddFileで書き込みたいpofファイルを選択する
11)Program/ConfigureとVerifyにチェックを入れる
12)Startボタンを押す

 以上で書き込み完了です。FPGAボードの電源をOFFし、USB-Blasterのケーブルを外し、FPGAボードの電源だけを再投入すると、プログラムした通りにFPGAが動作していることが確認できました。




コメント

FPGAで遊ぶ

2020-03-25 20:12:22 | 電子工作
 GPSDOを作ろうと思い立って、FPGAを勉強中です。タイトルには「遊ぶ」と書いてしまいましたが、遊ばれているのかもしれません。彼と遊んでもコロナに感染する心配はないので大丈夫です。
 2008年頃発売されたCycloneIIというFPGAのボードが1,999円、プログラミングツールが998円という安さだったので、購入しました。


 開発ツールであるQurtusIIをIntel(旧ALTERA)からダウンロードして、PCにインストールしました。最新版はver19.4なのに、ver13.0をインストールするというのが味噌です。
 ネットの記事(https://misoji-engineer.com/archives/fpga-board.html )に従って、スイッチを押すとLEDが点灯するというサンプルをコンパイルして、USBブラスターでダウンロード・実行してみました。
 途中、ちょっとしたトラブルがありましたが、何とか「Lチカ」はクリアできました。

コメント

OCXOで遊ぶ

2020-03-24 20:12:03 | 電子工作
 先日実験したOCXOの周波数をHz代まで正確に測定したいと思いましたが、我が家には周波数カウンターがありません。ちょっと工作すれば、正確に測定できそうに思います。
 1PPS出力機能付きのGPSとFPGA(またはCPLD)を利用すれば良いのです。1PPSとは1pulse per secondの略で、1秒に1パルス出力する機能です。GPS受信機から取り出された1PPS信号は正確なので、これを2分周して、1秒毎にHigh/Lowが反転する信号を作ります。これをゲート信号にして、OCXOの信号を24ビットのバイナリーカウンターでカウントすれば、Hz単位で正確に測定できます。更に、1PPS信号を使って10秒のゲート信号によりOCXOの信号を27ビットのバイナリカウンターでカウントすれば、0.1Hzのオーダーまで正確に測定できるようになります。
 これを実現するために、ALTERA(現在Intel)のCyclonIIのボードとライターを注文しました。GPSは秋月電子などで販売しているようなので、後日注文することにして、先ずFPGAの方から手を着けたいと思います。これが上手く行けば、マイコンとDAコンバータを追加して、GPSDOを作ろうという企てです。
 OCXOの出力信号をFPGAに加えるためには、レベル変換が必要です。ネットで周波数カウンターの回路を検索したところ、カウンター前段のプリアンプには2SK241を使った回路がアマチュアの定番のようです。しかし2SK241はとっくに廃品(ディスコン)になっていて、入手するのは困難なようです。私がやりたいことは、10MHz 0.5V(V-peak)の正弦波信号をC-MOS 3.3Vレベルの信号に変換することなので、2SC1815をエミッターフォロアとして使って、2SK241の代わりにできないかと思い、実験してみました。回路は次のようなもので、2SC1815を2個使います。初段はエミッターフォロワとして働き、次段はエミッター接地増幅器として働きます。

 いい加減にバイアスしているので出力波形(水色)は歪んでいますが、このレベルならFPGAに入力させても良いでしょう。(その時には、コレクタの電圧を3.3Vにします。)
 なお、次段だけでも信号は増幅されるのですが、オシロスコープの黄色の波形(-10dBm出力信号)まで歪んでしまいます。これを避けるために、2SC1815によるボルテージフォロワを入れてバッファー(緩衝増幅器)としました。

コメント

安芸クイーンブドウ棚の修繕

2020-03-23 20:02:26 | 農業日誌
 今日は朝から晴れて良い天気の一日でした。昨年倒壊した安芸クイーンのブドウ棚の修繕のファイナルステージです。いよいよトンネルメッシュを取付です。ここまで来ればサクセス!やっと復旧できました。でも、今日の作業ではトンネルメッシュの載せただけで、針金で固定する作業が残っています。

コメント

ブドウのブリージング始まる

2020-03-22 19:07:28 | 農業日誌
 彼岸も過ぎて、草木の花が咲き始めました。今日もブドウ園に行って野良仕事をしました。その時に気付いたのですが、やっとブドウのブリージングが始まりました。
 ブリージングとは、剪定した切り口から滴がポタポタと落ちる現象で、一見血や涙を流しているように見えますが、ブドウの樹が活動し始めたサインです。
 シャインマスカットと安芸クイーンの樹の一部で確認しましたが、ピオーネは未だのようです。

コメント