2017年12月31日日曜日

2017年も終わるので総括

9月からすっかり更新が止まっておりましたが、特に大きな病などもなく元気にやっております。

2017年は仕事でもFPGAに触る機会があり、これからも増えていくことになりそうです。
趣味で始めたものが仕事になっていくのは楽しいですね。

趣味の開発の方ではAndroid端末を利用したロジアナを開発してます。
来年早々にはご披露できるんじゃないかと思ってます。

一年間ご覧いただきありがとうございました。
来年もよろしくお願いいたします。

では、よいお年を。

2017年9月10日日曜日

VPSとVPNで自宅のネットワークにアクセスできるようにした

ご無沙汰しています。

いろいろありましてバタバタしてブログを更新することができませんでした。

そんな中、インターネット回線完備の物件へ引っ越しました。これまではDDNSで自宅へアクセスできていたのですが、管理会社のルータを挟むことになったのでこれまでの方法では自宅へアクセスできなくなってしまいました。
また、引っ越しに伴い通勤で電車に乗っている時間が長くなりましたので通勤時間で自宅のPCにアクセスしていろいろ作業したいなと思っていました。(ノートパソコンではFPGAの開発はつらい...)

上記のような背景があり、VPSと自宅のサーバ(Raspberry Pi)を使って自宅のネットワークにアクセスできるようにしてみました。

■方法について考える
こちらの方を参考にさせていただきました。VPSでSoftEther VPNを使って自宅LANに外部から接続する
自宅のネットワークから外へは出ていけますので、自宅のサーバを使って外部のVPSへVPNを張ります。さらに外出先からVPSへVPN接続し、外出先から自宅へとアクセスします。

イメージとしては下記のとおりです。



VPNの仮想HUBと物理的なネットワークインターフェース(上図だとeth0)をブリッジすることで自宅ネットワークをVPNの仮想HUBに接続します。
VPNの仮想ハブは通常のスイッチングハブと同様に扱える(はず)なので、外部からこれにVPN接続することで自宅のセグメントへ組み込まれます。
自宅ネットワーク内にDHCPサーバがあるので、VPN Clientに自動的にIPが割り当てられます。(192.168.0.xx)

2017年4月17日月曜日

FPGAでΔΣ型DACを実装してみる

最近遊んでいるAlteraのFPGA MAX10にはADCが搭載されているモデルがありますが、DACは搭載されていません。
マイコンやFPGAで実装するDACとしてよく使われる方式としてPWM方式がありますが、今回は将来的なADCへの応用も考えΔΣ方式としてみました。


実装したΔΣ型DACの構成

構成としては非常に簡単です。
誤差フィードバック構造と呼ばれる構成で、MSB以外のデータを誤差として入力にフィードバックする形となっています。
図中の遅延素子(Z^-1)は単なるDFFとしています。
FPGA上に実装したΔΣ変調器の出力は高い周波数成分を含むものになるため、外部にLPFを接続してアナログ信号を取り出します。

2017年4月16日日曜日

超小型FPGAボード CERASITE C-02が届いた

MAX10が載った超小型ボードとしてトラ技で紹介されていてずっと気になっていた超小型FPGAボード CERASITE C-02を購入しました。


PERIDOT CRAFTさんで扱っています。

スペックとしては下記のとおりです。
FPGA:10M02DCV36C8G
OSC、LDO搭載

搭載されているFPGAはDual Supplyですが、電源回路が載っているので3.0Vまたは3.3Vの単電源をボードに供給すれば動かすことができます。
また、50MHzの発振器も搭載しているので非常に使いやすくなっています。

10M02DCV36C8GにはAD変換器が載っておらずLE数も2kと少ないので使いどころは限られるかもしれませんが、この小ささでFPGAが使用できるのは魅力です。
この小ささはFLASH内蔵で外付けコンフィグROMが必要ないMAX10ならではですね。

ひとまずADC/DACを接続して信号処理でも試してみようかなと思います。

2017年4月9日日曜日

FPGA(MAX10)でタッチセンサを実装してみる

ずっとFPGAには興味があったのですが、USB-blasterが高価だったり評価ボードが高価だったりしていたので、個人の学生ではなかなか手が出しづらいなぁと感じていました。

学生から社会人になり購買力が高まったところにCQ出版のMAX10の本を発見し、「これは!」と感じてFPGAに入門しました。
通勤電車でVerilogの入門書を読み、帰ってからはロジックを実装するという毎日を過ごすうち、ようやくある程度のものが実装できるようになってきました。

とりあえずFPGAで時計実装などの入門編は一通りやったので、ちょっと応用ということで静電容量型タッチスイッチを実装してみました。