2020年5月12日火曜日

CYC1000 Cyclone10 LP FPGAボード

安いので目的もなく買ってしまいました。Cyclone10 LPとUSB書込器が載っています。FPGAの規模はDE0nanoと同じくらいでしょうか。製品はTrenz ElectronicのTEI0003をArrowが販売しているように見えます。公式ドキュメントはこちらにあります。



概要

  • 25K LE FPGA (Intel 10CL025YU256C8G)
  • Arrow USBプログラマ (FT2232H-56Q) ※UARTとしても使用可
  • コンフィグメモリ 16Mbit FLASH (EPCQ16SI8N)
  • 64Mbit SDRAM (W9864G6JT-6)
  • (Arduino)MKRヘッダ
  • (Digilent)PMODヘッダ
  • プッシュスイッチ2個 リセット/汎用 各1個
  • 赤色LED8個
  • 3軸加速度センサ (LIS3DH)
  • MEMSオシレータ 12MHz (DSC6011ME2A-012.0000T)


ピンアサイン

GPIOは、GPIO0-24とPmodコネクタのI/Oも含めれば33本あります。ただし、GPIO0はGPIOの入力リファレンス電圧供給用端子も兼ねていて0.1uFが並列接続されています。


Pmod端子で面食らったのが、ピン番号の配置です。よくあるヘッダピンの数え方と同じと思っていましたらドキュメントとの整合がとれず困惑しました。Digilent Pmod Interface Specificationよりピン配置を示します。

2020.5.24追記
Pmod端子は、ハーフピッチずれています。ここにヘッダピンを実装するとブレッドボードに差し込めなくなる場合がありますからご注意ください。

電源

電源入力は、ヘッダピン(J2 13pin)5Vを優先にてmicroUSBコネクタ VBUSと自動切替されます。この5VはJ2 14pinから取り出せるほか、オンボードのスイッチング電源 EP53A7HQI で降圧された3.3VがJ2 12pinに接続されています。
なおスイッチング電源の発振周波数は5MHzです。ノイズ輻射はいかに?

Lチカを試す

オンボードのArrow USBプログラマを使うためドライバをインストールします。
  • CYC1000をWindows PCに接続し、FTDI USBドライバがインストールされているか確認するため、デバイスマネージャを開きます。次のデバイスが認識されていなければD2XXドライバをインストールします。

ユニバーサル シリアル バス コントローラー
USB Serial Converter A
USB Serial Converter B 
ポート(COMとLPT)
USB Serial Port (COM ??)


無事Quartusから認識され、書き込みもできました。




LEDが眩しい。3.3V/100Ωと電流流し過ぎかもです。

2020年5月9日土曜日

SA9227 USBオーディオで384kHzハイレゾ再生

『SA9227+PCM5102A 32BIT/384KHZ USB DAC/HIFI Asynchronous Decoder』と称する中華USBオーディオ基板を動作させてみました。ebayで購入してお蔵入りしていたもので今更感がありますが、なかなか良いものです。


Windowsドライバのインストール

SA9227用のものを探してみました。Savitech SA9227 driverをインストール後に基板を接続します。コントロールパネル ⇒ サウンド ⇒ 再生タブ ⇒ HD USB Audioのプロパティでサポートされる形式 タブにてすべてのサンプルレートにチェックを入れます。



ドライバとともにBRAVO-HD Audio CPLというアプリがインストールされているはずです。アプリ上部はUSBオーディオの既定値を示しています。下部はマウスで設定でき、ビット深度は次回再生開始から有効となりますので再生するビット深度より大きくしておきます。最下部の赤字はステータス表示です。


WaveGeneからトーン信号再生

WaveGeneをASIO 384kHz 32bitとしてトーン信号を出力してみます。


ハイレゾ音源を再生

あいにく手持ちには384kHz音源がありません。フリーの波形編集ソフトウェアHi-Res Editorを使ってCD音源等を384kHzに変換します。このソフトはDSD 11.2MHz/PCM 384kHz 32bit、ファイル形式wav/dsf/dffにも対応しています。


Hi-Res EditorはASIO対応で再生も可能です。リアルタイム変換もできるようですが、当方の環境では音が途切れてしまうので、いったん384kHzにファイル変換してから再生します。


基板の回路図

入手当時、SA9227にI2S入力をできないかなと基板の回路図を書いていたようです。その後、EEPROMの設定(要NDA)が必要とわかりお蔵入りしていました。半ば想像図のはずです、そのつもりでご覧ください。なお、USBバスパワーでの基板の消費電流170mAでした。


2020年5月6日水曜日

ラズベリーパイでradikoラジオをつくる: その14 ケースに入れて完成


ケースに収納

ケースに入れて日常使いできるようになりました。手元のメモを調べましたら、2019年4月に資料集めを開始していましたので、足かけ1年での完成です。
今回は、市販のプラスチックケース使って、加工アラを目立たせにくく、かつ見栄え良く仕上げることを意識しました。まずベースとなるケースには、パネル面に段差がなく、かつ側板を取り外して加工ができるタカチのPFケースを選びました。そもそもタカチを選んだのは、有料で穴開け加工を請け負ってくれるからなのですが、後から見積もりをとったら予算オーバーとなり目論見が外れてしまいました。その後、紆余曲折あり工作名人F氏の好意に甘え、加工をお願いすることになりました。


仕上げとしてパネル全面をアクリル板で覆う設計としています。アクリル板の加工は専門会社が比較的低コストで受託してくれますから、パネルだけは製品品質を追求できます。副次的な効果として、プラスチップケースに貼り付けたシール紙やテプラを保護できますし、プラケースの加工アラを目立ちにくくできます。アクリル板の加工は、はざいや に依頼しました。Web画面で加工位置を入力すると図面まで表示される驚異の自動見積システムを備えています。(2020年5月現在、コロナ禍の影響で自動見積もりは運用中止)


ケース内部は、このような感じです。F氏の発案で秋月の50円スピーカを内蔵しています。まさに「ラジオの音」が出ます。


私は、ふだん内蔵スピーカを使用せず、外部スピーカに接続しています。スピーカ上部のハンドルはカインズホームの鋳物取手です。


さらにradikoラジオをスピーカ上部にマジックテープで固定しました。


謝辞

最後になりましたが、マルチスレッドプログラミングのヒントを頂いたb様、加工・バグ出し・操作性の向上に協力をいただいたF様・H様、そしてWeb上に有用なソフトウエアを提供してくださっている皆様に感謝を申し上げます。