三角らぼらとりー

電子工作の記録から日常まで。

雲仙オーディオ・フレームワークでトークスルーできた

『雲仙』オーディオ・フレームワークを使い、入力した音をそのまま出力させることができました。

『雲仙』 オーディオ・フレームワーク | Mbed

構成

音楽プレイヤー「FiiO X3」 LINE OUT

UMB-ADAU1361-A(AD変換)

NUCLEO-F746ZG(デジタル信号処理)
今回は入力をそのまま出力へ

UMB-ADAU1361-A(DA変換)

イヤホン


ボード同士はジャンプワイヤーで結線しています。

余談

最初にmbedでサンプルをインポートした際、デモ用にトーンが鳴るプログラムをインポートしてしまいました。

プログラムを見ればすぐわかる話でしたが、PCの充電器が壊れて1週間ほど悶々としてしまいました…

次はなにかしらエフェクトをつけてみたいと思います。

【環境立ち上げ】UMB-ADAU1361-Aの仕様確認

デジタルエフェクター制作の環境作りの一環としてUMB-ADAU1361-Aを購入しました。


UMB-ADAU1361-Aはアクアシグナルさんのオーディオコーデックモジュールです。
アナログデバイセズ製オーディオコーデックIC「ADAU1361」を搭載しています。
dsps.shop-pro.jp



この基板にAD変換とDA変換をやってもらいます。

f:id:iizk3kaku:20190210144521p:plain




そもそもNUCLEO-F746ZGとこの基板を購入したのは、『雲仙』オーディオ・フレームワークを使いたかったからです。

『雲仙』 オーディオ・フレームワーク | Mbed



私のような組み込み初心者にとっては信号処理部以外の環境立ち上げ自体が大変だと思います。

モチベーションを保つためにもまずは最短ルートで音が出るところまでたどり着きたいので、
すでにあるものに乗っかる形で始めます。



今回はふたつの基板を接続する前にUMB-ADAU1361-Aの仕様を確認していきたいと思います。


まず回路図ですがwebページに公開されています。
http://kaneko-sys.co.jp/datasheet/umb-adau1361/UMB-ADAU1361-A_schematic_V1.pdf


主な構成は

・ADAU1361
・発振器
・フィルタ
・入出力

ですね。


IC以外の外付け部品については特別なものはなさそうなので特筆しません。


このモジュールの機能はADAU1361でほぼ決まっているようなのでADAU1361の中身を見てみたいと思います。



ADAU1361の仕様もアナログデバイセズのwebページに公開されています。

www.analog.com


データシートは英語しかありません。


冒頭ページから機能を見てみます。


・差動で入力可能なステレオ入力+AUX
・差動で出力可能なステレオ出力+MONOOUT
・入力レベル自動調整
・AD変換
・DA変換
・デジタルデータ入出力
・PLL内蔵
・I2C/SPI通信


ざっくりこんな感じでしょうか。



システムブロック図を見てみると、21ページの例がモジュールの構成に近いですね(シングルエンドのステレオ入力)。


23ページにADCとDACは24bitのΣ-Δ型と記載があります。

Σ-Δ型ADC, DACについてはアナログデバイセズのアプリケーションノートが詳しいです。

https://www.analog.com/media/jp/technical-documentation/application-notes/AN-283_jp.pdf




入力レベル自動調整は内蔵のPGAにフィードバックをかけて実現しています。

33ページに応答波形の例が載っています。


45ページにレジスタマップが載っています。
ユーザーから見えるレジスタは68個ありますね。


調整機能がいっぱいです。
I2CかSPIのどちらかを使って設定を書き込めます。

ポップノイズ抑制をON/OFFできたりもするんですね。



電源電圧の最大絶対定格が-0.3~+3.65Vなので間違えて5Vかけないように注意が必要です。



ここまで読んでみてイメージがなんとなく湧いてきたので次はSTM32F746と接続して動かしてみたいと思います。

【コスパ】HAKKOの安価な半田ごてを買った

 基板の組みたてに半田付けが必要になったので、比較的安価な半田ごてを購入しました。

 

コスパ良かったので紹介します。

 

買った半田ごてはこれです。

白光(HAKKO) 電子基板用はんだ付けセット 40W FX511-01

白光(HAKKO) 電子基板用はんだ付けセット 40W FX511-01

 

 

 半田ごて以外に半田と半田吸い取り線、こて台がついて668円。

 

仕事では買ったものとは違いますがHAKKOの半田ごてを使っています。

 

HAKKOなら安価でも悪いものではなく最低限使えるだろうと思い購入しました。

 

 

結果、特に問題なく使えています。

 

 

温度は調節できないので少し高めがいいなと思っていましたが、ちょうどいい感じでした。

 

 

 ただし、このセットにはこて先クリーナーが付いていません。

 

無くても使えなくはないですが、作業のし易さ、クオリティを考えると必要だと思います。

 

こて先クリーナーは買っていませんが買うとしたらこれかな。

個人的にはスポンジタイプよりもワイヤタイプのクリーナーが好きです。 

白光(HAKKO) こて台 633-01

白光(HAKKO) こて台 633-01

 

セットに付属のこて台はちょっと危ない感じもしたので、こて台+クリーナーの商品です。

 

半田ごてセットよりも高いですね…笑

 

【Lチカ】Nucleo-F746ZGでサンプルプログラムを動かす

デジタルエフェクターを作りたいなーと思いまして、Nucleo-F746ZGを買ってみました。

 

とりあえずLチカできたので過程を書いていきます。

迷走してる時間も含め、所要時間は2時間程度でした。

 

組み込み初心者なので間違ったことを書いていたらご指摘いただけると助かります。

 f:id:iizk3kaku:20190203180622j:plain

 

 

環境

windows 10

mbed オンラインコンパイラ (google Chrome)

 

特別にソフトをインストールする必要はありませんでした。

webブラウザ上ですべて完結します。

 

 ST-Link/V2 ドライバのインストール

ST-LinkはSTMのマイコンのデバッガー/ライターです。

 

Nucleo-F746ZGにはST-Linkがボード上に実装されていますので、ドライバをインストールすればマイコンにプログラムを書き込むことができます。

 

PCに繋げばインストールされるのでは?と思い、とりあえず繋いだところ数秒でインストールが完了しました。 

f:id:iizk3kaku:20190203180110j:plain

 

正しく準備が整えばドライブとしてボードが認識されます。

f:id:iizk3kaku:20190203204817j:plain

 

また、この時点でユーザーLED2が点灯しています。

 f:id:iizk3kaku:20190203160224g:plain

 

オンラインコンパイラの立ち上げと設定

まずmbedの下記のページにアクセスします。

NUCLEO-F746ZG | Mbed

 

ユーザー登録が必要なので、画面右上のアイコン(2019年2月現在)から登録します。

 

登録できたら先程のページの同じく画面右上にある「Compiler」をクリックします。

 

クリックするとブラウザ上で「Mbed Compiler Workspace Management」が立ち上がります。

f:id:iizk3kaku:20190203183006j:plain

 

さっそくLチカのサンプルプログラムを読み込もうと思いインポートボタンを押すと怒られました。

f:id:iizk3kaku:20190203183343j:plain

 

使っているプラットフォームを指定せよとのこと。

 

まず最初にアクセスしたmbedのページに戻ります。

NUCLEO-F746ZG | Mbed

 

右側に「Add to your Mbed Compiler」というボタンがありましたので、それをクリックします。

 

次に「Mbed Compiler Workspace Management」の画面に戻り、右上の「デバイス未選択」をクリックします。

 

すると次のような画面にボードの情報が追加されていて、右上の「Select Platform」で設定が完了します。

f:id:iizk3kaku:20190203183943j:plain

 

 サンプルプログラムのインポート

 「Mbed Compiler Workspace Management」の左上「インポート」ボタンをクリックします。

 

プログラムのタブがアクティブになっている状態で、「blink」と検索します。

 

一番上に出てきた「Nucleo_blink_led」を選択し、右上の「インポート!」ボタンで完了です。

f:id:iizk3kaku:20190203202714j:plain

 

インポートが完了すると、プログラムワークスペースに内容が表示されます。

main.cppの中身をみるとLED1が0.2秒の点灯と1秒の消灯を繰り返すようです。

f:id:iizk3kaku:20190203202946j:plain

 

サンプルプログラムのコンパイルと書き込み

いよいよLチカです。

 

「Mbed Compiler Workspace Management」画面上の「コンパイル」ボタンをクリックします。

 

特に問題なければ、コンパイラ出力欄にSuccess!と表示され、自動で出力ファイルがダウンロードされます。

 

書き込みはダウンロードされた出力ファイルをボードの名前で認識しているドライブにドラッグ&ドロップするだけです。

 

数秒通信した後、期待した動作が確認できました!

f:id:iizk3kaku:20190203171904g:plain

 

まとめ

Nucleo-F746ZGでLチカできました。

 

初心者でも問題なくサンプルプログラムを動作させることができ、簡単で使いやすいと感じました。

 

まずスタートラインに立てたので、使い倒して行きたいと思います。

 

 

おまけ

LEDを順番に点灯

f:id:iizk3kaku:20190203171957g:plain

 

LEDで8ビート

f:id:iizk3kaku:20190203172035g:plain