折角なので,ここに掲載しておきます.
ネコ・パブリッシング
売り上げランキング: 408524
電子工作や鉄道模型など,趣味に関する雑記
前回の記事では,Terasic DE0上のRS-232 Serial Portと自作シリアルケーブルによってシリアル通信を実現しました. しかし,RS-232準拠のシリアル通信に使用するD-sub9端子(COMポート)は既にレガシーインタフェースであり,PCに標準搭載されることも稀となっています.
この代替として使用されるのがUSB-シリアル変換ケーブルやUSB-シリアル変換モジュールです. これらのデバイスはPCに仮想的なCOMポートとして認識され,アプリケーションからは従来のシリアル通信と同様に制御することができます. 前者のUSB-シリアル変換ケーブルを使えば,シリアルケーブルやデバイスのD-sub9端子をPCのUSB端子に接続できます. USB-シリアル変換ケーブルは家電量販店でも販売されており,入手は簡単です. 後者のUSB-シリアル変換モジュールはマイコンなどから直接入出力可能な5.0Vや3.3Vなどの信号電圧に対応しているものが多く,自作電子回路などで仮想COMポートを使用したシリアル通信を実装したいときに便利です. 各社からさまざまな製品が発売されており,電子部品店などで入手できます.
DE0のGPIOの電源電圧(VCCIO)は3.3Vです. 今回はUSB-シリアル変換モジュールを用いてシリアル通信を実装してみました.
USB-シリアル変換モジュールに採用されているICは2種類に大別できると思います. 1つはFTDI社のFT232シリーズで,もう1つはSilicon Laboratories社のCP210Xシリーズです. どちらも基本的な機能は同様ですので,細かな仕様の違いのほか,モジュールの寸法,各コネクタ形状や価格などを総合的に比較して製品を選択すると良いでしょう. DE0と接続する場合,3.3Vの信号電圧に対応している必要があります.
私は,Strawberry Linux社から発売されているUSB-シリアル変換モジュール FT232RXを採用しました. このモジュールにはFTDI社のFT232RLが搭載されています.
下の写真は,モジュールのキットを組み立てた状態です. キットにはICと周辺部品が実装済みのプリント基板,USB Type-B端子および2x10ピンヘッダが付属しています. これらをはんだ付けすることで,モジュールが完成します. ここでは,VCCIOの電圧を簡単に切り替えできるように1x3ピンヘッダとジャンパを別途取り付けています. これらの部品がなくても動作しますが,後々他の回路で使いまわす可能性があるなら実装しておいて損はないと思います.
これで,PCがD-sub9端子を搭載していない場合でも,UARTによるシリアル通信を仮想COMポートを使用して実現することができます.
FPGAとPC間の通信インタフェースを考えたとき,比較的簡単に実装できそうなものとして,UARTによるシリアル通信が挙げられると思います. FPGAボードにD-sub9端子(COMポート)が実装されていれば,この端子とPC側のD-sub9端子をシリアルケーブル(クロスケーブル)で接続することで,RS-232準拠のシリアル通信が可能なはずです. しかし残念ながら,Terasic DE0にはD-sub9端子が実装されておらず,シリアル通信を行うためには一手間必要となります.
DE0はD-sub9端子を備えていないものの,RS-232準拠のシリアル通信を行うために必要なICが実装されており,このICを経由してFPGAに接続されている各信号線を引き出すためのテストポイントが用意されています. ICはADM3202で,これはFPGAの入出力電圧とRS-232準拠の伝送信号電圧の相互変換を行う機能を持っています.
私は,ここにピンヘッダをはんだ付けしました.下の写真はピンヘッダ実装後のものです.
次に,ピンヘッダに接続するシリアルケーブルを作りました. フラットケーブルのFPGAボード側はQIコネクタ,PC側はD-sub9ピンコネクタ(メス)になっています. ほとんど考慮する必要はないかと思いますが,ノイズの影響を抑えるためにケーブルは短めとしました. このためケーブル長が足りない場合は,ストレートのシリアルケーブルもしくはUSB-シリアル変換ケーブルを接続する必要があります.
完成したシリアルケーブルをテストポイントに接続した様子です. VHDLでUARTを記述してシリアル通信が行えるかテストしてみましたが,正常に動作しました.
青春18きっぷ有効期間の最後の2日間を使って,四日市・名古屋旅行に行ってきました. 1日目は近々廃線が決定される可能性のある近鉄の内部線・八王子線,2日目は名古屋臨海鉄道を訪問しました. 本記事に掲載されていない写真もありますので,よろしければ下記リンク先のアルバムをご覧ください.
![]() |
| 四日市・名古屋旅行 |
自宅からは関西本線経由でJRの四日市駅まで行き,近鉄四日市駅までは三重交通の路線バスを利用しました. 残念ながら,当日午前中は豪雨に見舞われ,あまり写真を撮影できませんでした.午後になってから雨が止み,なんとか屋外で行動できるようになりました.
内部線と八王子線の分岐駅である日永駅で撮影した写真です.軌間762mmの特殊狭軌を走る小型車両で,カラフルな塗装も目を引きます.
こちらは西日野駅から日永駅に到着する,八王子線の車両です.
日永駅から南日永駅まで歩く間に撮影しました.大きなパンタグラフが特徴的です.
こちらは南日永-泊間で撮影した写真です.
写真撮影と同時にコンデジで撮影した動画です.
ふたたびJRの四日市駅です.ちょうど,DD51牽引の太平洋セメントのセメント貨物列車が停車していました.