2017年03月24日

RGBコンバータ(8)

  RGBコンバータ(8)

  ばくてんさんが基板配布を行うという事で、注意点を書いておきます。

1.今のバージョンでは、mk2/66/mk2SR/66SRの画像を、VGA(640x200)のモニタに出力するものですが、一部のモニタでは動作しません。というか動作するモニタの方が少ないかもしれません。

  動作するモニタを増やそうとは思っていますが...


2.配布基板以外に、FPGA基板、FPGA書き込み用のライタを入手する必要があります。


3.FPGA基板にユーザ自身でデータを書き込む必要があります。

  FPGAへの書き込み手順は、後ほどこのブログに掲載予定です。


posted by えすび at 23:15| Comment(0) | HW:その他 | このブログの読者になる | 更新情報をチェックする

RGBコンバータ(7)

  RGBコンバータ(7)

  怪しいCycloneIIバージョンに載せる基板を、ばくてんさんが作成して下さっていました。


  さっそく、配布前の物を入手して組み立ててみました。
  (チップ部品の半田付けが結構大変です)


  実際に組み立てた基板と、動作させた写真をアップします。

  組み立て後
170324_01_RGBCNV基板_C2_2.jpg
170324_01_RGBCNV基板_C2_1.jpg

  mk2動作写真(1)
170324_01_実行画面mk2_1.jpg

  mk2動作写真(2)色ずれなし
170324_01_実行画面mk2_4.jpg

  mk2動作写真(3)色ずれ赤/青
170324_01_実行画面mk2_2.jpg

  mk2動作写真(4)色ずれ桃/緑
170324_01_実行画面mk2_3.jpg

  mk2SR動作写真(1)
170324_01_実行画面mk2SR_1.jpg

  mk2SR動作写真(2)320x200x16色
170324_01_実行画面mk2SR_2.jpg

  mk2SR動作写真(3)320x200x16色
170324_01_実行画面mk2SR_3.jpg

  mk2SR動作写真(4)640x200x4色
170324_01_実行画面mk2SR_4.jpg

  mk2SR動作写真(5)640x200x4色
170324_01_実行画面mk2SR_5.jpg


  ついでに、CycloneI版(DesignWare 2003年10月号付録)の基板写真をアップします。

170324_01_RGBCNV基板_C1_1.jpg
170324_01_RGBCNV基板_C1_2.jpg

posted by えすび at 22:55| Comment(0) | HW:その他 | このブログの読者になる | 更新情報をチェックする

2016年11月23日

RGBコンバータ(6)

  RGBコンバータの件

  動作しないモニタがありました。

 ・DELL E197FP
 ・SHARP AQUOS LC-22K5

  AQUOSの方は、映るんですが画面が小刻みに上下します。
  理由も大体分かっていて(VSYNCをたまに間引いているから)、直せるかもしれません。


  問題はDELLのモニタの方で、31KHz×60Hzと認識してくれません。
  原因は全くわかっていません。対処しないかも...


  上記の結果なので、他のモニタでも同様の症状が出る可能性があります。




posted by えすび at 23:38| Comment(0) | HW:その他 | このブログの読者になる | 更新情報をチェックする

RGBコンバータ(5)(リリースc1)

  RGBコンバータの件

  DesignWare 2003年10月号付録Cycloneボード版をリリースします。

ver4_c1.zip

  多分、マルツで売られているボードでも動作すると思います。


  付録のボードの場合、コンフィグ用ROMが付いていないので、入手する必要があります。
  EPCS1 が必要なんですが、EPCS4以上でも代用が効きます。
  さらに、EPCSシリーズの代わりに、STマイクロのM25Pシリーズが使えます。

http://www.hdl.co.jp/altera/epcs_m25p/index.html

  EPCS4相当が、M25P40になります。


  アマゾンで売っていましたので購入しました。5個セットでしたが...

https://www.amazon.co.jp/MICRON-M25P40-VMN6TPB-5%E5%80%8B%E3%82%BB%E3%83%83%E3%83%88/dp/B01B1E1C1O/ref=sr_1_1?

ie=UTF8&qid=1479903193&sr=8-1&keywords=M25P40

  円高のせいか、一ヶ月前は972円だったのが、今日は1125円です。


posted by えすび at 21:25| Comment(0) | HW:その他 | このブログの読者になる | 更新情報をチェックする

FPGAボードとUSB Blasterの話(3)

  怪しいボードの追記。

  CycloneIIボード
https://www.amazon.co.jp/gp/product/B016K4XE3E/ref=pd_sim_sbs_23_1?ie=UTF8&psc=1&refRID=7EAYPVFEJ0QA1E201SZA

  安い方が売り切れてるようです。


  会社が中国ですが、ほぼ同じボードがあります。

https://www.amazon.co.jp/LILLY%E3%82%A8%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AD%E3%83%8B%E3%82%AF%E3%82%B9-ALTERA-FPGA-Cyclone-II%E3%81%AEEP2C5T144%E6%9C%80%E5%B0%8F%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E9%96%8B%E7%99%BA%E3%83%9C%E3%83%BC%E3%83%89/dp/B01A8B0Q2W/ref=pd_sim_sbs_147_2?_encoding=UTF8&psc=1&refRID=BFSVHF7DH79TCTANP52M



  ほぼ、同じというのは、写真を見る限り、どうも73ピンの動作が違いそうです。

  PWRONRSTN(73ピン):パワーオンリセット。電源投入時に、L→H のようです。

  回路図と同じようですし、私が購入した売り切れている方が、コピー品じゃないかと思います。



posted by えすび at 20:48| Comment(0) | HW:その他 | このブログの読者になる | 更新情報をチェックする

2016年11月22日

RGBコンバータ(4)(リリース)

  RGBコンバータの件

  やっと完成しましたので、リリースします。

  DE0版:ver4_DE0.zip

  怪しいCycloneIIボード版:ver4_c2.zip


  回路図も同梱していますので、そちらを参考にして下さい。

  DE0版では、2種類(74LCX245を使っているのと、使っていないの)あります。
  多分、両方動作すると思うんですが、74LCX245を使っていないバージョンは試してません(^^;)

  74LCX245ですが、5V→3.3Vへの変換用なので、トレランス機能を持っているものなら何でもいいかと思います(ex.74VHC245)


 ・使い方
  ボードに電源を供給して、mk2/66/mk2SR/66SRを起動すると、普通に表示されます。
  mk2SR/66SR使用時は、クロック出力を3.58MHzの方にして下さい(普通はこちらになっています)。


 ・怪しいCycloneIIボード版
  ボード上のプッシュスイッチを押すと、にじみが出せます。
  プッシュスイッチを押す毎に、にじみなし→赤青→青赤→桃緑→緑桃→にじみなし、となります。

  ボード上の3つのLEDは、以下を示しています。
  D2:にじみ処理時、点灯
  D4:mk2SR/66SR時、点灯
  D5:データ同期時、点灯


 ・DE0版
  ボード上のBUTTON2を押すと、にじみが出せます。
  BUTTON2を押す毎に、にじみなし→赤青→青赤→桃緑→緑桃→にじみなし、となります。
  BUTTON0を押すと、リセットします。

  ボード上のLEDは、以下を示しています。
  LED0:にじみ処理時、点灯
  LED1:mk2SR/66SR時、点灯
  LED2:PLLロック時、点灯(普通は常時点灯)
  LED3:P6からのクロック入力時、点灯
  LED4:P6からのデータ入力時、点灯
  LED5:データ同期時、点灯(320x200同期)
  LED6:データ同期時、点灯(256x192同期)

  ボード上の7SEGは、以下を示します。
  左2桁:クロックに対するデータの遅延値
  右2桁:クロックに対するHSYNCNの遅延値

  下位桁は、1〜7です。単位は10nsです。

posted by えすび at 01:06| Comment(8) | HW:その他 | このブログの読者になる | 更新情報をチェックする

2016年11月15日

RGBコンバータ(3)

  RGBコンバータの件

  P6からクロックを貰えれば簡単かと思いますが、mk2SR/66SRの方は一筋縄では行かなかった...

  RGB出力は特殊かも知れませんが、通常データとクロックを両方出力しているような場合は、その先の回路ではそのクロックでデータを叩けばちゃんと動く回路が出来ます。mk2/66の場合だと、ちゃんとそうなっています。


  問題のmk2SR/66SRですが...

 1)データ出力が14MHzで叩かれたデータなのに、クロック出力が3.58MHzである(14MHzの4分周)。
 2)3.58MHzクロック出力とデータの位相関係が、リセット押下するごとに変わる。
 3)3.58MHzクロック出力とデータの遅延値が、電源投入後から徐々に変化する。


  1)や2)はまだ回避方法があるのですが、最悪なのが3)です。

  具体的には、3.58MHzクロック出力を基準にしたHSYNC遅延値が、電源投入してからずるずると変わっていきます。実測値では、大体30nsほど減少します。14MHzが70ns程度なので結構ひどい数値です。


  画像信号のRGBHはほとんど変化しないので、HSYNCを生成している回路に問題がありそうです。
  回路図を見ると、変なLRCが途中に入っているので、この辺りが悪さをしているんじゃないかと思います。


  mk2SR/66SR は、カスタムLSIや基板設計が、結構お粗末やなー、と思っていたんですが、また一つ悪いものを見つけた感じです。

posted by えすび at 22:35| Comment(0) | HW:その他 | このブログの読者になる | 更新情報をチェックする

2016年11月14日

RGBコンバータ(2)

  RGBコンバータの件

  HSYNCからクロックを再生していたんですが...

  よく考えたら、P6から直接クロックを入力して、それを100MHzでサンプリングするのが一番簡単な方法だという事に気付きました。


  とりあえずそのバージョンを適当に作って動かしていますが、安定して動作しています。


  ただ、今の回路だと、調整用のDIPSWが必要になる(7PIN程度)のが気に入らないんですねぇ...

  クロックからの遅延値が、P6の個体や、RGBコンバータ側の回路などで異なるため、それを吸収するために調整が必要なのは仕方ないんですが、何とか調整を自動化して、外部からは最小限にしたい所です。


  回路の実装は、DE0版と、怪しいCycloneII版で行っています。デザインウエーブ付録のCyclone版も作るつもりです。


posted by えすび at 22:52| Comment(0) | HW:その他 | このブログの読者になる | 更新情報をチェックする

FPGAボードとUSB Blasterの話(2)

  怪しいボードと怪しいUSB Blasterの追記です。

  CycloneIIボード
https://www.amazon.co.jp/gp/product/B016K4XE3E/ref=pd_sim_sbs_23_1?ie=UTF8&psc=1&refRID=7EAYPVFEJ0QA1E201SZA

  USB Blaster
https://www.amazon.co.jp/%E6%82%9F%E7%A9%BA-ALTERA-USB-Blaster%E4%BA%92%E6%8F%9BJTag%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB-%E4%B8%A6%E8%A1%8C%E8%BC%B8%E5%85%A5%E5%93%81/dp/B00VUWNN74/ref=sr_1_1?ie=UTF8&qid=1478411751&sr=8-1&keywords=USB+Blaster


  信号説明が一つ抜けていました。

  PWRONRST(73ピン):パワーオンリセット。電源投入時に、H→Lになります。

  前回掲載したテスト用回路では、PWRONRSTN となっていますが、PWRONRST が正解です。

https://www.openimpulse.com/blog/products-page/product-category/ep2c5t144-altera-cyclone-ii-fpga-development-board/

  ここの回路図を参考にしたのですが、この回路図が間違っています。

  73ピンに、抵抗を介して3.3V、コンデンサを介してGNDとなっていますが、実際の基板は抵抗を介してGND、コンデンサを介して3.3Vです。



  USB Blasterの方は、モノ自体は普通に動作するのですが、付属のUSBケーブルがイマイチでした。USB Blasterと繋がる方のUSBコネクタとの接触が悪く、認識しない事がありました。

  DE0-nanoに付属していた、USBケーブルでは全く問題が発生していません。


posted by えすび at 21:56| Comment(0) | HW:その他 | このブログの読者になる | 更新情報をチェックする

2016年11月12日

RGBコンバータ(1)

  RGBコンバータの件

  ほとんど設計は完了して、実際に使っているのですがどうも不安定です。

  いろいろと作り方はあると思うのですが、今回は以下のように作っています。

1)P6からはクロックを貰わない
2)P6からのHSYNCパルスを元に、14.318MHzクロックを再生する。
 →基板クロックから内部100MHzを作り、デジタルPLLっぽい事をする。
3)出力は、VGAの640x480に対応する。出力クロックは、100MHzの1/4の25MHz。
4)横方向はそのまま出力。縦方向は、P6のデータ1ラインに対して、VGAのデータ2ラインを出力する。
5)4)の実現のため、4ライン分のDPRAMを設ける。
6)P6からの入力の方がVGA出力よりも速いので、VGAへのVSYNC出力を変化させる。通常は524ラインで、たまに523ラインで出力する(規格は525ライン)。


  上記の方式で設計すると、mk2では普通に動くのですが、mk2SRでは画像にノイズが乗りました。
 2)のクロック再生がうまく動作していなくて、データをたまに取りこぼしています。

  調べてみると、mk2SRの場合、内部14.318MHzに対して、HSYNCの出力の遅延値が一定ではなく、20ns以上もずれる事がある事が判明しました(VSYNC=Lを出力する時に大きくずれる)。

  結局、HSYNC×VSYNC の周期、つまり1画面分を元に、デジタルPLLっぽい事をすると、安定して動作するようになりました。


  これでリリースしようとしていたのですが...長時間使用していると、最初に合わせた位置からずれてきます。
  多分、熱などの影響で、遅延値が変わるためだと思われます。


  このままでも使用できなくはないのですが、やはり自動追従した方がよさそうなので、リリースはもうちょっと後になります。


  年内に終わればいいな...

posted by えすび at 18:14| Comment(0) | HW:その他 | このブログの読者になる | 更新情報をチェックする

2016年11月06日

FPGAボードとUSB Blasterの話

  前回紹介した、怪しいボードの話の続きです。


https://www.amazon.co.jp/gp/product/B016K4XE3E/ref=pd_sim_sbs_23_1?ie=UTF8&psc=1&refRID=7EAYPVFEJ0QA1E201SZA

  実際に使ってみました。

  ...その前に、Altera のFPGAに対して、コンフィグする手段がなかった事に気付きました(^^;)


=====================

  DE0などは、USB経由のコンフィグ手段が、ボード上に実装されているので何も要らないのですが、普通はコンフィグ用にByteBlasterや、USB Blaster などが必要になります。

  基本的にお金を掛けたくないので、自作しようとしていたのですが、Alteraの場合だと結構面倒なようです。


  Xilinxの場合だと、FT2232Dを使う手段があります。

  http://www.hmwr-lsi.co.jp/fpga/fpga_1.htm

  このページを参考に clbsrv を使用すると、iMPACTを使用してFPGAやコンフィグ用ROMに対してコンフィグが可能です。


  Alteraの場合だと、同じように出来そうなのですが、Quartusから書き込めるソフトは存在しないようです。
  そのため、新しいシリーズ(例えば、CycloneII)に対応していなかったり、コンフィグROMに書き込む事ができなかったりします。



  結局、アマゾンでこのUSBブラスターを買いました。パチもんですが。

https://www.amazon.co.jp/%E6%82%9F%E7%A9%BA-ALTERA-USB-Blaster%E4%BA%92%E6%8F%9BJTag%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB-%E4%B8%A6%E8%A1%8C%E8%BC%B8%E5%85%A5%E5%93%81/dp/B00VUWNN74/ref=sr_1_1?ie=UTF8&qid=1478411751&sr=8-1&keywords=USB+Blaster

  実際に使ってみましたが、問題なく使えています。
  箱がちょっと歪んでいました。適当に組み立てた感じです。
  中を開けてみると、PIC18F14K50と、LVC244と、若干のCRのみです。

  多分、ここのページのを実装しているようです。

http://sa89a.net/mp.cgi/ele/ub.htm

  さすがに、5V/3.3V変換には、LVC244が行っています。

  初めから同人ハードだと思うと、全く問題ない範囲ですね(^^;)


=====================

  というわけで、怪しいCycloneIIボードに、怪しいUSB Blasterで書き込みテストを行いました。


  テスト用の回路です→test2.zip

  テスト用の記述と、I/Oポート、タイミングの設定などを行っていますので、展開後、quartusの下の TEST.qpf をダブルクリックして、QuartusIIを起動後、コンパイルして下さい。

  端子名に関しては、VHDL記述の最初の方にコメント文で記載しています(元のpin??では使いにくいので)。


  端子に関しては、注意点がいくつかあります。

 ・LEDGN(2:0) ボード上のLEDと、外部ピンに接続しています。"L"でLEDが点灯します。

 ・PUSHSWN ボード上のプッシュSWに接続しています。押した時に"L"ですが、離した時にオープンになるので、FPGA側でプルアップする必要があります。(TEST.qsf内の set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to PUSHSWN がプルアップ指定です)

 ・CLK50MIN ボード上の50Mの水晶発振器に接続されています。変更はできません。

 ・CLKIN(6:0) 外部ピンに接続されている、入力専用ピンです。FPGA内部のPLLへ入力したい時などに使いますが、通常の入力信号を繋いでも構いません。このピンは入力専用のため、FPGA側でプルアップなどの処理ができません。そのため、ボード外でプルアップなどをするか、常に入力信号が入るようにする必要があります。
  
 ・GPIO0_D(9:0) チップ左側の外部ピンに繋がれている、汎用の入出力ピンです。未使用時はオープンにならないように、プルアップするか、出力信号とするかをする必要があります。(TEST.qsf内の set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to GPIO0_D* がプルアップ指定です)

 ・GPIO1_D(23:0) チップ下側の外部ピンに繋がれている、汎用の入出力ピンです。GPIO0_D と同様です。

 ・GPIO2_D(17:0) チップ右側の外部ピンに繋がれている、汎用の入出力ピンです。GPIO0_D と同様です。

 ・GPIO3_D(21:0) チップ上側の外部ピンに繋がれている、汎用の入出力ピンです。GPIO0_D と同様です。


  入力専用ピンが7本もあり、これをプルアップなどの処理をする必要があるのが、ちょっと面倒ですね。
  テスト時などは、最悪オープンでもいいと思いますが、通常運用時などはちゃんと処理した方がいいと思います。


=====================

  分かっている人には必要ないかも知れませんが、コンフィグの仕方を、怪しいCycloneIIボードを例にして説明します。


  その1)FPGAのSRAMに書き込む

  コンパイル時に生成されている、test.sof を書き込みます。電源を切ると書き込んだ内容が消えます(コンフィグROMの内容が実行されます)。

  まずセットアップをします。

  1)USB-Blasterを、基板のJTAG端子に挿します。内側の方で、外側のASPの方ではありません。

  2)CycloneIIボードに、DCジャックまたは基板テストポートから、5Vを供給します。基板に逆電圧防止用のダイオードがないので、プラスマイナスを間違えないように注意して下さい。間違えると一発で壊れる可能性もあります。
  電源が供給されると、コンフィグROMの内容が実行されます。初期状態なら、LEDが点滅すると思います。

  3)USB-Blasterを、パソコンのUSB端子と接続します。最初に接続する場合は、何かメッセージが出るかも知れません。

一度もUSB-Blasterを使った事がない場合は、ドライバをインストールする必要があるかも知れません。

  4)QuartusIIのProgrammerを起動します。画面が小さいので広げておきます。USB-Blasterが正常に認識できている場合は、上部に「USB-Blaster [USB-0] 」などと表示されているはずです。表示されていない場合は、左上のHardware Setup を押して、USB-Blasterを選びます。

  5)上部のModeを、JTAG になっている事を確認します。Programmer起動時はJTAGになっていると思います。

  6)左側のSTARTを押します。右上の Progress が進んで、すぐに書き込みが終了します。電源を切ると初期化されるので、このモードは、全部接続したままになります。

161106_01_コンフィグ1.jpg



  その2)コンフィグROMに書き込む1

  1)USB-Blasterを、基板のASP端子に挿します。外側の方です。

  2)〜4)は上記と同様です。

  5)上部のModeを、Active Serial Programming にします。何かメッセージが出ますので、OKを押します。

  6)左側の Add File を押して、TEST.pof を選びます。

  7)Program/Configure、Verify、Blank-Check の下の四角を押して、チェックを付けます。

  8)左側のSTARTを押します。右上の Progress が進んで、書き込みが終了します。FPGAは書き込んだ内容で動作していて、電源を切った後でも、再度電源を入れるとコンフィグROMに書き込んだ内容で動作します。

161106_01_コンフィグ2.jpg



  その3)コンフィグROMに書き込む2

  0)QuartusIIのメニューのFile-ConvertFiles を選んで、ファイル変換プログラムを起動します。
  上から2段目のProgramming File Typeを、JTAG Indirect Configuration File (.jic) を選択します。
  その下のConfiguration decive を、ターゲットのコンフィグROM(今回は、EPCS4)を選びます。
  その下のファイル名は適当に名前を付けます。
  一番下の大きいウインド内の、一番上の行のFlash Loader を選び、その右のAdd Deviceを押して、FPGAを選びます(今回は、CycloneIIのEP2CS5)。
  その下の SOF Data を選び、Add File を選び、TEST.sofを選びます。

  この状態で、一番下の Generate を押すと、〜.jic が生成されます。


  1)USB-Blasterを、基板のJTAG端子に挿します。内側の方で、外側のASPの方ではありません。

  2)〜4)は上記と同様です。

  5)上部のModeを、JTAG になっている事を確認します。Programmer起動時はJTAGになっていると思います。

  6)最初に表示されている、TEST.sof を選び、左側の Delete を押して選択を外します。

  7)左側の Add File を押して、〜.jic を選びます。

  8)Program/Configure、Verify、Blank-Check の下の四角を押して、チェックを付けます。上側はチェック出来ないので、下側のみです。

  9)左側のSTARTを押します。右上の Progress が進んで、書き込みが終了します。書き込んだ直後は、FPGAは動作していないので、一度電源を切ります。再度電源を入れるとコンフィグROMに書き込んだ内容で動作します。

161106_01_JIC変換.jpg

161106_01_コンフィグ3.jpg



  結果は、コンフィグROMに書き込む1と同じなのですが、ASP端子が不要なので基板設計などがラクになります。


posted by えすび at 19:57| Comment(0) | HW:その他 | このブログの読者になる | 更新情報をチェックする

2016年10月31日

FPGA購入の話

  ザナドゥ、MeltDown、と 解像度が 640x200 のソフトをP6用に移植しました。

  この後のゲームも、偶然にも解像度が 640x200 がベストなソフトでした。
  現在デバッグ中というか実機でプレイ中なんですが、うちの環境ではまともに640x200が表示できていません。

 西田ラジオさんで購入した P6用RGBコンポーネントアダプタで、かろうじて見える程度で、これでもはっきりとは映りません。


  普通のVGAモニタにそのまま表示させたいので、メモリ+制御回路などが必要になるため、FPGAで実現するのが一番簡単だと思います。とりあえずは、ずいぶん前に作成したRGBコンバータをSR用に作り直しています。

http://sbeach.seesaa.net/article/387861423.html


  ただ、DE0をRGBコンバータだけに使うのはもったいないので、他のFPGAボードやFPGA単体をいろいろと調査しています(やっと表題の内容です...)。



 ●FPGAはどこで売っているか?
  なぜか分かりませんが、よく使うパーツショップ店頭や通信販売先(秋月、共立、マルツなど)ではほとんど売っていません。

  DigiKey だと、かなりいろんな種類のFPGAやその他の部品を購入出来ますが、7500円未満なら送料2000円を取られるのがちょっと、という感じです。


  また、アマゾンから購入する事が可能です(調べてちょっと意外だったのですが)。
  ただ、検索エンジンが全く使えない代物なので、型番を全て入れてやる必要があります。

  例えば、デザインウエーブマガジン2003年10月のコンフィグ用ROMのEPCS1だと、EPCS1SI8N と入れる必要があります。
  さらにチップ写真に意味がないので、他で調べる必要があります。

  チップ型番が分からずに探す場合
  1)『産業・研究開発用品』のカテゴリで、ALTERA や XILINX と入力して検索する。
  2)発売メーカがALTERA/XILINXのものを選んで、そのチップのページを表示させる。
  3)チップのページの品名の下の「ALTERA/XILINX」を選ぶと、そのメーカのチップが全部表示される。

  という手順で探せます。



  また、ALTERA限定ですが、日本の代理店から購入する事ができるようです。5000円未満なら送料450円、5000円以上で送料無料のようです。
  マクニカオンラインストア https://store.macnica.co.jp/



 ●FPGAボードについて
  安そうなFPGAボードを探してみました。

  デザインウエーブマガジン2003年10月号(ALTERA)
  デザインウエーブマガジン2005年1月号(XILINX)
  デザインウエーブマガジン2007年7月号(XILINX)

  付録に基板が付いていました。オークションなどで入手が出来れば、ですね。
  また、コンフィグ用ROMが付いてませんので、自分で何とかする必要があります。


  マルツオンライン
http://www.marutsu.co.jp/pc/i/65176/
http://www.marutsu.co.jp/pc/i/65177/

  両方とも5000円です。上の2003年10月号付録、2007年7月号付録のコンパチだと思われます。

  アマゾン経由でも購入できますが、1000円以上高いです。




  アマゾンで見つけた怪しいボード
https://www.amazon.co.jp/gp/product/B016K4XE3E/ref=pd_sim_sbs_23_1?ie=UTF8&psc=1&refRID=7EAYPVFEJ0QA1E201SZA

  表題の価格では、26342円ですが、別業者が 2550円で売っています。怪しいです...

  どうもEbay辺りで売っているようで、$26 みたいです。
  この辺りにイロイロ書かれています。http://www.leonheller.com/FPGA/FPGA.html


  実際に買ってみました。国際郵便でさっき到着しました。
  基板をぱっと見る限り、チープという表現がぴったりです...

  基板裏面が汚く、洗浄がちゃんと出来ていないようです。
  実装後のテストをしているかどうかも怪しく、半田付けも不安があるので、自分で何とかできる人向けですね。

  また基板だけで、データシートなどはありません。
  この辺りにデータがあります。
https://www.openimpulse.com/blog/products-page/product-category/ep2c5t144-altera-cyclone-ii-fpga-development-board/
  回路図もありますが、抵抗などの値は違うようです。また、サンプル回路も付いていますが、入力がオープンのままになっていたりするので、使わない方がいいかも...



  とりあえず使えるかどうか、現在試用中です。


posted by えすび at 20:21| Comment(2) | HW:その他 | このブログの読者になる | 更新情報をチェックする

2013年08月31日

初代機コンポーネント出力

  乙女座軍団のえすびです。
  だいぶ、更新が止まっていました。

  うちには初代機PC-6001が2台ありますが、両方とも画像出力が非常に汚いです。
  (1台目の出力が汚かったので、2台目を買ったんだけどほとんど同じだったというオチ...)

  で、西田さんところの初代機用コンポーネントアダプタを購入しました(現在は、販売中止中です)。

  実際に使ってみると、かなり綺麗になりました。特にスクリーン1の文字の読みづらさが嘘のように綺麗になっています。


  左(上):ビデオ出力、右(下):コンポーネント出力

旧スクリーン1_1スクリーン1_1

旧スクリーン1_2スクリーン1_2

旧スクリーン1_3スクリーン1_3

旧スクリーン1_4スクリーン1_4


  当たり前ですが、色ずれの影響がなくなって、文字がくっきりと読めます。


  スクリーン3は色の調子がちょっと違うため、抵抗値を変更をして色を合わせました。
  (R12,R19 を 75Ω → 33Ωに変更)

スクリーン3_1スクリーン3_2



  スクリーン4を白黒で表示した場合は、はっきりと見えます。

スクリーン4白黒


  ただ、スクリーン4の擬似色付け機能がちゃんと機能していません。

スクリーン4色ずれ1スクリーン4色ずれ2


  どうもうちのP6の色ずれの度合いが大きすぎるようです。

  そのため、擬似色付け回路を自分で組んでみました。

色ずれ回路


  74HC86 を使っていますが、手持ちに 74HC04 がなかったためです。
  シュミットトリガの74HC14 を使うのがベストだと思います。

  ただ、この回路でもダメな場合があると思いますので、注意して下さい。


  この回路で実行させた結果は以下の通りです。

変更後スクリーン4色ずれ1変更後スクリーン4色ずれ2変更後スクリーン4色ずれ3


  今までの汚い画像出力に比べたら、はっきりくっきりです。


posted by えすび at 09:47| Comment(0) | HW:その他 | このブログの読者になる | 更新情報をチェックする

2013年06月02日

FPGAボード(AZPR EvBoard)

  先日、秋葉原でこんなのを見つけました。


http://www.respon.org/
http://yone2.net/azpr_evboard

  同人で作っている、FPGAボードです。基板の裏が最大の特徴です、多分。
  マルツや共立で入手できるようです。

  搭載されているFPGAですが、xilinx の XC3S500E のようです。

  DE0 と比較すると、メーカが違うので直接の比較は出来ませんが、ゲート規模は同程度か少ないようです(間違えていたらゴメンナサイ)。

  xilinx 遣いの人にはお勧めかも知れません。

  私は、xilinx はかなり長い間触ってませんので、特別な理由がない限りは、今の DE0/DE0nano からは変更する気はありませんが...


posted by えすび at 16:15| Comment(0) | HW:その他 | このブログの読者になる | 更新情報をチェックする

2013年03月15日

6601/6601SR用フロッピーインタフェース

  PC-6601とPC-6601SR用の外部フロッピードライブのインタフェース回路を作成しました。

  回路はかなり簡単で、以下の通りです。

外部フロッピーインタフェース


  入手しにくい部品は8255ですが、私は共立電子で新品を買いました(300円)。
  購入した8255は、TMP82C55 でCMOSなんですが、元々の8255の置き換えを想定しているらしく、インタフェースレベルなどはそのままで動作します。


  回路が分かる人は、何で CS 端子を使わずに、LS32を使っているのかと疑問を持つと思いますが、こうしないと動作しません。(8255が、CS WR や RD が "L" の間に、WR や RD CS が変化してはいけない仕様のようです)


  初代6001は、上記回路は使えません。nOCS5 をいう信号が出ていないためで、代わりに自分でデコードして信号を作ってやる必要があります。さらに、BASICでサポートするには、拡張BASICを載せたり、RAMを32Kにしたりする必要があるので、ちょっと面倒です。


  66も66SRも外付けドライブを想定しているらしく、インタフェース回路を作るだけでBASICで普通にアクセスできます。
  ただし、内蔵ドライブ2つまでと外付けドライブ2つまでしかサポートしていません。

  ドライブ番号は、内蔵#1、#2、外付け#1、#2の順に割り当てます。

  例えば、内蔵ドライブ数を1にした場合は、
  1:内蔵#1(起動ドライブ)
  2:外付#1
  3:外付#2

  になります。

  また、内蔵ドライブ数を0にした場合は、
  1:外付#1(起動ドライブ)
  2:外付#2

  となり、外付けドライブから起動が可能になります。
  そのため、この状態で SD6031 を繋ぐと、ちゃんとイメージファイルの選択が出来るようになります。


  この外部インタフェース回路を使うと、3.5インチ/5インチのコピーや、SD6031と3.5インチのコピーなどが簡単に出来るようになります。


  CP/M がこの辺りをサポートしているのかは未確認です。



  実際に作った基板です。

外部フロッピーインタフェース表

外部フロッピーインタフェース裏


  ただ、これは直接6601に挿すのではなく、エキスパンダー(拡張コネクタを拡張するもの)を経由して接続するようにしました。

  エキスパンダーですが、PC-6006のカートリッジを使って作りました。

エクスパンダー外見

エクスパンダー表

エクスパンダー裏


  単純に拡張コネクタの線を外に出しているだけです。

  拡張コネクタに挿す基板が入手困難なため、こういうものを作った方が後で便利かなーと思いまして。


posted by えすび at 17:50| Comment(12) | HW:その他 | このブログの読者になる | 更新情報をチェックする

2012年12月12日

マウス変換コネクタの補足

  先日アップしたマウス変換コネクタの回路(というかAVRのプログラム)に関してです。

  手持ちのPS/2のマウスで試したんですが、どうも動作しないマウスもあるようです。
  4種類中1個がダメでした。

  現象としては、マウスのボタンは検出するんだけど、マウスの移動が検出できないというものです。



  原因は判明していません。

  もし、工作したのに動かない人がいたらごめんなさい。



posted by えすび at 22:59| Comment(0) | HW:その他 | このブログの読者になる | 更新情報をチェックする

2012年11月25日

マウス変換コネクタ

  P6系で使えるマウスはMSX用などですが、多分現在ではほとんど入手が困難だと思います。

  なので、PS/2 のマウスをMSX用(というかP6用?)に変換するコネクタを作りました。


  FM-TOWNS用で同様のものがあるようですが、今回の製作のコンセプトは、「出来るだけ簡単に作る」です。


注)使用する際は、使用者個人責任で行ってください。実行した結果によって、いかなる結果になっても、作者は一切責任を負いませんので、ご了承下さい。
  (今更ですが)



  回路図がこれになります。

マウス変換回路図


  AVR の中で、安価でI/O数があるATtine2313 を使いました(240円)。
  AVR 内の POWER ON リセットを使用しているので、リセット回路はありません。
  データの焼きこみを他で行うのなら、ISPコネクタも不要です。

  パスコンの値は適当です。


  PS/2 が挿さるコネクタは、mini-DIN の6ピンです。

  P6に挿すコネクタは Dsub 9ピンですが、普通のではそのまま挿せないため、金属ケースを取り除いて中身だけを使います。

Dsub-9pinコネクタ


  こんな感じです。左右の出ている金属部分をペンチで何度か曲げていると、ねじ切ることができます。

  Dsub 9ピンのピンの間に、ユニバーサル基板を挟むような感じで組み上げます。


  実際に組み立てたものがこれです。ちょっと安っぽいです...

マウス変換表


  裏面はこんな感じです。あまりキレイではありません。

マウス変換裏



  AVR のプログラムですが、C+アセンブラになります。

MOUSECONV.zip

  FUSE ビットは、デフォルトのまま使用しています。



  使い方ですが、必ずマウスを変換コネクタに挿してから、P6 に変換コネクタを挿して下さい。
  途中でマウスを抜き差しすると、誤動作する可能性があります。

  P6 の電源を入れている時に変換コネクタを抜き差しした場合、論理動作は正常に動くと思うんですが、物理的にやられる可能性がありますので、注意して下さい。


  PS/2 のマウスは中トリガがあるものがありますが、これを押すと移動量を変化させるようにしました。押すたびに、1/1 、1/2 、1/4 、1/1 、・・・、となります。



  mk2、P6F では当然使えたんですが、MSX や FM-TOWNS で使用できるかどうかは、試していません(使えるはずですが)。


posted by えすび at 10:56| Comment(7) | HW:その他 | このブログの読者になる | 更新情報をチェックする

2012年06月25日

RGBコンバータの設計(3)

  肝心なものを忘れてました。


rgbconv_quartus.zip

rgbconv_src.zip


  QUARTUS 関連のファイルと、記述のソースファイルです。


posted by えすび at 18:26| Comment(0) | HW:その他 | このブログの読者になる | 更新情報をチェックする

RGBコンバータの設計(2)

  RGBコンバータの続きです。

  実際に動かしてみた結果、写真の通りノイズがかなりあります。

  原因は多分...

 ・IC のパスコンを入れていない。
 ・空中配線がノイズを拾っている。
 ・コネクタからICまでの線をシールドしていない。

  かと思います。

  特にIC の3.3V 電源は細い線1本なので、こいつが元凶かも。



  また、回路構成ですが、

  P6からの水平同期信号
  ↓
  DE0 内の 50MHz クロックでサンプリングする。
  ↓
  擬似的な、7.16MHz を生成する。
  実際には、50MHz クロックで、数回に1回イネーブルを生成する。
  ↓
  P6F のVGAOUT の回路に入力する(クロック乗せ換えをして、VGA信号を生成)


  サンプリングして、擬似7.16MHz を作るのがミソですね。



  ところで、このRGBコンバータ、使う人いるのかなぁ...

  需要がありそうなら、SR対応とかもするんですが、今の所はこれ以上は改定しないつもりです。



posted by えすび at 18:22| Comment(0) | HW:その他 | このブログの読者になる | 更新情報をチェックする

RGBコンバータの設計(1)

  P6 オフに持っていこうと思って、間に合わなかったものです(^^;

  PC-6001mkII 以上のマシンのRGB出力を、VGAモニタに出力するためのコンバータを作りました。
  とりあえず版なので、いろいろといい加減な部分があります。


  論理回路の実装のために、DE0 を使用しました(とりあえず版なので)。

  DE0を使うと、回路のほとんどがFPGA内部で出来るのですが、P6のRGB出力を受信する部分が必要になります。
  やっかいな事に、P6の出力は、5V のTTL レベル出力で、DE0 は3.3V までしか受けられません。
  そのために 74LCX を使って、レベル変換を行っています。

  今回は、74LCX244 を使っていますが、74VHC や 74LVX でも構いません。
  また、244 は 245 でも構いません(端子処理に注意が必要ですが)。


  今回は試していませんが、単に抵抗分割で構わないような気もします。


  外付け回路はこんな感じです。

RGBコンバータ回路図


  端子は、音声基板で使用していない端子を使いました。


  実際に組み立てたのがこれです。

RGBコンバータ実装1


RGBコンバータ実装2


  74LCX244 が、面実装タイプしか手に入らないので、工作が大変になっています。

  74LCX244 を裏向けにして、両面テープで貼り付け、4隅のピンを半田付けで基板に固定しています。
  その後で、浮いているピンを配線しています。それをまとめてエナメル線で縛って固定しています。

  DE0へのコネクタとの結線は適当です(^^;  テヌキデスネ...


  コネクタ間は、40ピンのフラットケーブルで繋いでいます。

  ちゃんと線を買って、コネクタを圧着してもいいんですが、中古のパソコンショップで、SCSIケーブルを探すのが安く上がります。
  コネクタの穴が塞がっているものがあるので注意が必要ですが。



  実機につないで動作させてみました。実行結果です。

実行画面1(VGAモニタ)

  66 につないで、VGAモニタに出力させています。


実行画面2(VGAモニタ)

  上の拡大写真。字の所にノイズが出ています。
  どうも、P6 → DE0 に入る間のどこかでノイズが乗っているようです。


実行画面3(VGAモニタ)

  オフの時に手に入れた、FDD版ベルーガを写してみました。


実行画面4(VGAモニタ)

  左端の拡大写真です。ノイズがはっきり分かります。


実行画面5(VGAモニタ)

  スクリーン4にすると、同期が外れる時があります。
  これは多分、水平同期にノイズが乗っているんだと思います。


実行画面6(VGAモニタ)

  普通のRGBコンバータでは出来ない芸当。
  色ずれモードを再現しています。
  単純に、P6F のモジュールをそのまま使っているだけなんですが。


実行画面7(VGAモニタ)

  66SR の起動画面。
  なぜか、66SR の方がノイズが大きいようです。
  水平同期にノイズが入っています。


実行画面8(VGAモニタ)

  66SR の起動画面2。
  こっちはまだキレイですが、でもノイズがあります。


実行画面9(液晶モニタ)

  ついでに液晶モニタにも映してみました。
  66 の起動画面です。絵がぼけてるのは写真のせいです。本物はキレイです(ただしノイズあり)。


実行画面10(液晶モニタ)

  66SR の起動画面です。



posted by えすび at 18:21| Comment(0) | HW:その他 | このブログの読者になる | 更新情報をチェックする