シンセ・アンプラグド RSSフィード

2017-04-27

HX711 (1)

「重量計」への応用を主な用途とする 24 ビット ADC、「HX711」 (AVIA Semiconductor) を使ってオーディオDAC特性を測定してみました。

HX711 は「ひずみゲージ」を使った「ロードセル」に適した入力レベルとなっていて、電源電圧 5 V、内蔵 128 倍アンプ使用で ±20 mV フルスケールです。

出力振幅が電源電圧の 1/2 程度あるオーディオDAC を測定するには、ノイズの点で不利ですが、出力信号を数十分の 1 に減衰させてから HX711 に入力する必要があります。

ロードセル用の外部回路を実装した「モジュール」も販売されていますが、どうせ外部回路は変更するので、HX711 チップ単体 (aitendo で単価 100 円) を使いました。

「ピッチ変換基板」

SOP16ピン(1.27mm)DIP変換基板 金フラッシュ: パーツ一般 秋月電子通商 電子部品 ネット通販

と、「細ピンヘッダ」

細ピンヘッダ 1×40 アソートパック (10本入): パーツ一般 秋月電子通商 電子部品 ネット通販

を使って、300 mil 幅 16 ピン DIP として扱えるようにしました。 写真を下に示します。

続きを読む

2017-04-06

PIC16F145x (1) --- クロックの周波数変動

PIC16F1454/1455/1459 (以下 PIC16F145x と略記) は、Enhanced Mid-Range (14 ビット・コア) に属するマイコンで、USB (デバイス) モジュールを内蔵していることが特長です。

それぞれ、

  • PIC16F1454 — 14 ピン、アナログ・モジュールなし
  • PIC16F1455 — 14 ピン
  • PIC16F1459 — 20 ピン

となっており、20 ピンの PIC16F1459 は同じく 20 ピンの PIC18F14K50 と I/O ポートなどのピン配置で互換性があります。

PIC16F145x には ACT (Active Clock Tuning) と称する、外部のクロック周波数を基準として内部の 16 MHz クロックの周波数を調整する機能が搭載されています。

外部基準クロックとしては、32.768 kHz の水晶発振、あるいは、フルスピード (12 Mbps) の USB のいずれかを選ぶことができます。

ACT の機能を使えば、外部の水晶振動子なしに内蔵クロックだけで USB デバイスの機能を実現できます。

専用の測定器を使わずに、ACT あり/なし、および水晶振動子を使った場合の周波数変動についてソフト的に測定してみました。

続きを読む

2017-03-31

PIC18F14K50 (19) --- aitendo USB-GPIO

先日 (3 月 24 日)、aitendo の店頭 (出入り口前の廊下に置かれたダンボールの中) で PIC18F14K50 使用の小さなマイコン・ボードを見つけ (単価 199 円)、2 つほど買ってきました。

そのままでは動作しませんでしたが、水晶発振回路のコンデンサ換装して正常に動作するようになりました。

マイコン・ボードの外観の写真を下に示します。

続きを読む

2017-03-29

PIC18F14K50 (18) --- USB-Blaster もどき

AlteraFPGA/CPLD に書き込むための「JTAG ケーブル」として、現在はパラレル・ポート接続の「Byte Blaster MV」相当の自作品を使用しています。

「メイン・マシン」の PC にはパラレル・ポートがなく、「サブ・マシン」のノート PC のパラレル・ポートにつないでいます。

サブ・マシンにインストールされている Windows Vista のサポート期限がもうすぐ切れること、および「Byte Blaster MV」は 64 ビット版 Windows ではサポートされないことから、「Byte Blaster MV」以外の手段が必要になってきました。

そこで、「USB-Blaster もどき」の製作を試してみて、無事、動作しました。

この「もどき」というのは、USB-Blaster ハードウェアの単なるコピーやクローンではなく、USB マイコンを使って別の方法で同等の機能を実現したことを意味しています。

キーワードUSB-Blaster もどき」で検索すると下に示すオリジナル製作者の「sa89_a」さんのサイトをはじめ、たくさんの製作例が見つかります。

続きを読む

2017-03-04

FPGA 版 FM 音源 (74) -- FPGA 版 EG (18)

OPL3 のスロット・パラメタ・レジスタ・アレイは、アレイひとつ当たり 256 バイトのアドレス空間を占めています。 アレイ 0 とアレイ 1 とのふたつのアレイがあるので、合計では 512 バイトとなります。

これをホスト・プロセッサアドレス空間にそのまま割り付けてしまうと、ホストの貴重なリソースを大量に消費することになります。

そのため、OPL3 ではアレイひとつに対して一組のアドレス・レジスタ/データ・レジスタの 2 バイトのみをホストのアドレス空間に割り付け、「間接アドレシング」によりホストから OPL3 のレジスタ・アレイにアクセスする方式を取っています。

アドレス/データの区別のための「A0」信号と、アレイ 0/1 の区別のための「A1」信号との計 2 本のアドレス線で計 4 バイトのレジスタを区別します。

データの入出力は 8 ビット・パラレルで行なわれるので、これをそのまま踏襲すると信号線の数が多くなります。

現在のマイコンには多くの場合 SPI (Serial Peripheral Interface) モジュールが組み込まれているので、FPGA 版ではホストとのインターフェースには SPI を使って信号線の数を減らすことにしました。

続きを読む

2017-02-22

FPGA 版 FM 音源 (73) -- FPGA 版 EG (17)

デュアル・ポート RAM を使ったレジスタ・アレイ・インターフェース部の Verilog ソースを下に示します。

続きを読む

2017-02-20

FPGA 版 FM 音源 (72) -- FPGA 版 EG (16)

前々回の記事で述べたように、スロット・アドレスの割り付けには 8 バイト中に 2 バイトの「穴」(未使用領域) があり、これをどう扱うかで次の 3 つの方法が考えられます。

続きを読む