ユーザ「電装工芸」の投稿[864件](25ページ目)
2023年6月 この範囲を時系列順で読む(電装工芸の投稿に限定) この範囲をファイルに出力する
FIFOなど、諸々書き加えたファームウェアも正常に動きました。
自分で書いた送出停止処理の扱いを間違えて信号が出ないことに悩んでしまいましたが、テストプログラムが間違っていただけでした。肝心のモジュール本体は一発OKです。
今回のPICはパソコンから送られてきたデータを淡々と差動バイフェーズで送り出すだけです。難しいことはパソコンでやれと、PICの名前の由来を考えろと。そんな作りです。
データを差動バイフェーズで送出することは出来た。データのタイミング緩衝となるFIFOもどうやら正常に動く。残るはパソコンとの通信です。FT232RLを経由したシリアル通信ですが、PIC側はDMXで散々やったことですし、パソコン側はPythonなのでほんの数行で書けます。10分の空き時間で進められるものでもありませんけどね。
あとはラインセレクタも必要です。
音響さんからもらう本線LTCと自分のパソコンから送るチェック用LTCの2系統を切り替える必要があるからです。
セレクタにはJRCさんのNJM2750が良さそうです。単電源で動く電子ロータリースイッチってイメージですね。
NJM2750はアンバランスのLRを4系統から1つ選ぶって構成ですが、バランスのモノ4系統として使っても良さそう。
今回はそこまで使わないけど、4系統のラインセレクタ基板を作っておけばいいかな?
#PIC #タイムコード #電子工作
自分で書いた送出停止処理の扱いを間違えて信号が出ないことに悩んでしまいましたが、テストプログラムが間違っていただけでした。肝心のモジュール本体は一発OKです。
今回のPICはパソコンから送られてきたデータを淡々と差動バイフェーズで送り出すだけです。難しいことはパソコンでやれと、PICの名前の由来を考えろと。そんな作りです。
データを差動バイフェーズで送出することは出来た。データのタイミング緩衝となるFIFOもどうやら正常に動く。残るはパソコンとの通信です。FT232RLを経由したシリアル通信ですが、PIC側はDMXで散々やったことですし、パソコン側はPythonなのでほんの数行で書けます。10分の空き時間で進められるものでもありませんけどね。
あとはラインセレクタも必要です。
音響さんからもらう本線LTCと自分のパソコンから送るチェック用LTCの2系統を切り替える必要があるからです。
セレクタにはJRCさんのNJM2750が良さそうです。単電源で動く電子ロータリースイッチってイメージですね。
NJM2750はアンバランスのLRを4系統から1つ選ぶって構成ですが、バランスのモノ4系統として使っても良さそう。
今回はそこまで使わないけど、4系統のラインセレクタ基板を作っておけばいいかな?
#PIC #タイムコード #電子工作
FIFOの動作チェックをしました。
バク無し・・・嬉しいような怖いような。
FIFOはループメモリです。例えば10個のメモリを使うなら10個目を書いた後は1個目から書きます。これを続けます。読出しも同じ。
ただ、読出しと書き込みはタイミングがシンクしませんので、読出しが書き込みを追い越さないこと、書き込みは一周以上先行しないことが重要です。これらの確認も出来ました。
処理のタイミングとしては、読出しはLTCの送出に合わせてになりますが、書き込み(パソコンへのデータ要求とも言う)はメモリが空いたら行います。
パソコンとの通信速度がLTCの送信速度より十分に速く、パソコン側のレスポンスも十分に早ければタイミングがズレることはありません。たぶん。
読出しが書き込みに追いついてしまえばデータが無いことになりますので、新しいデータが入るまでLTCを送出しないだけです。
#PIC #タイムコード
バク無し・・・嬉しいような怖いような。
FIFOはループメモリです。例えば10個のメモリを使うなら10個目を書いた後は1個目から書きます。これを続けます。読出しも同じ。
ただ、読出しと書き込みはタイミングがシンクしませんので、読出しが書き込みを追い越さないこと、書き込みは一周以上先行しないことが重要です。これらの確認も出来ました。
処理のタイミングとしては、読出しはLTCの送出に合わせてになりますが、書き込み(パソコンへのデータ要求とも言う)はメモリが空いたら行います。
パソコンとの通信速度がLTCの送信速度より十分に速く、パソコン側のレスポンスも十分に早ければタイミングがズレることはありません。たぶん。
読出しが書き込みに追いついてしまえばデータが無いことになりますので、新しいデータが入るまでLTCを送出しないだけです。
#PIC #タイムコード
気分転換にFIFOを書いてみました。初期設定を含めても50行くらいです。
ループメモリを非同期で読み書きする構造ですから、それぞれのアドレスカウンタの扱いが肝です。当初悩んだものの、条件を整理すれば案外簡単でした。アルゴリズムの設計大事です。
こういったモジュールは例外も想定して慎重に動作確認をしなければなりませんが、実機だと確認が難しいのでMPLABXのシュミレータの出番です。ステップ毎のレジスタの変化を観察したいのです。
MPLABXのシュミレーターは使い方がイマイチわからんのですが、操作メニューが違うだけでやることはv8.92と同じでしょうから、先達の書き込みを参考に探ってみます。
追記
シュミレーターの使い方は次のサイトがわかりやすい。というか、この通りにやったらシュミレート出来ました。
MPLAB X の使い方(Simulator編)
MPLABv8.92とはデザインが違いますが、やっていることは同じなので慣れればいいかなと。PICの中身を知らないと何が何やらですけど・・・
テスト用に少し書き換えればFIFOの挙動をチェック出来ます。
#PIC
ループメモリを非同期で読み書きする構造ですから、それぞれのアドレスカウンタの扱いが肝です。当初悩んだものの、条件を整理すれば案外簡単でした。アルゴリズムの設計大事です。
こういったモジュールは例外も想定して慎重に動作確認をしなければなりませんが、実機だと確認が難しいのでMPLABXのシュミレータの出番です。ステップ毎のレジスタの変化を観察したいのです。
MPLABXのシュミレーターは使い方がイマイチわからんのですが、操作メニューが違うだけでやることはv8.92と同じでしょうから、先達の書き込みを参考に探ってみます。
追記
シュミレーターの使い方は次のサイトがわかりやすい。というか、この通りにやったらシュミレート出来ました。
MPLAB X の使い方(Simulator編)
MPLABv8.92とはデザインが違いますが、やっていることは同じなので慣れればいいかなと。PICの中身を知らないと何が何やらですけど・・・
テスト用に少し書き換えればFIFOの挙動をチェック出来ます。
#PIC
MUSES02D化したDI-1はとても良い音ですが、どこか物足りない。オペアンプが鳴りきっていないというか躓いているような気がするのです。勘ですが、入口か出口のコンデンサがMUSES02Dに対して性能不足の様に感じます。
当初はオペアンプの交換に留めようと思ったのですが、コンデンサは安価で元に戻すのも簡単なので試してみようかと。
別な部品と共にコンデンサも手配しました。
#音の世界
当初はオペアンプの交換に留めようと思ったのですが、コンデンサは安価で元に戻すのも簡単なので試してみようかと。
別な部品と共にコンデンサも手配しました。
#音の世界
2023年5月 この範囲を時系列順で読む(電装工芸の投稿に限定) この範囲をファイルに出力する
LTC Generator のPICのファームウェアを書いています。
今日の課題は「バイトデータ送出モジュール(補正機能付)」です。信号を出す要の部分でしょうか。
30fps、29.97fps、25fps、24fpsに対応する予定ですが、それぞれに適したパルス波長を作る部位です。
1時間単位の計測方法が無いので精度の確認は出来ませんが、オシロスコープで確認する限りは適切なパルス長です。
データ送信も確認しました。0x00と0xFFを繰り返し送出するテストですが、ちゃんと差動バイフェーズの波形が出ています。そこそこ面倒なアルゴリズムですが一発で動いてしまい嬉しいやら寂しいやら。
データに応じた波形が出せる状態になったのでファームウェアは一旦お休み。
この後は、プリアンプの手直し、パソコンからFT232RL経由でデータを送るテストプログラムの作成と続きます。
追記
そういやFIFOモジュールを書いてない。
これは先にやっておきましょう。
#PIC #タイムコード
今日の課題は「バイトデータ送出モジュール(補正機能付)」です。信号を出す要の部分でしょうか。
30fps、29.97fps、25fps、24fpsに対応する予定ですが、それぞれに適したパルス波長を作る部位です。
1時間単位の計測方法が無いので精度の確認は出来ませんが、オシロスコープで確認する限りは適切なパルス長です。
データ送信も確認しました。0x00と0xFFを繰り返し送出するテストですが、ちゃんと差動バイフェーズの波形が出ています。そこそこ面倒なアルゴリズムですが一発で動いてしまい嬉しいやら寂しいやら。
データに応じた波形が出せる状態になったのでファームウェアは一旦お休み。
この後は、プリアンプの手直し、パソコンからFT232RL経由でデータを送るテストプログラムの作成と続きます。
追記
そういやFIFOモジュールを書いてない。
これは先にやっておきましょう。
#PIC #タイムコード
MUSES02Dが入荷したので入れ替えてみました。
率直な感想は素直で良い音なこと。成り行きでエージングした無改造品と比べても明らかです。
音に迷いがなく自信に満ちている感じ。中域がシッカリしていて余韻も気持ちよく、全域に渡って耳に入ってきます。ネットには「今まで聴こえなかった音に気付きます」との評価がありますが大げさな表現ではありません。
私個人としては5,000円なら納得の変化ですが、大事なのは商売道具としての価値です。エージングが済んだら音響チームに確認してもらいましょう。
#音の世界
率直な感想は素直で良い音なこと。成り行きでエージングした無改造品と比べても明らかです。
音に迷いがなく自信に満ちている感じ。中域がシッカリしていて余韻も気持ちよく、全域に渡って耳に入ってきます。ネットには「今まで聴こえなかった音に気付きます」との評価がありますが大げさな表現ではありません。
私個人としては5,000円なら納得の変化ですが、大事なのは商売道具としての価値です。エージングが済んだら音響チームに確認してもらいましょう。
#音の世界
MPLABX-IDEv5.50、XC8_pic-as、PICkit3 の組み合わせでPICが動きました。
今までは古い古いMPLABv8.92を主に使ってきましたが、MPLABXへの引っ越しが終わった感じです。出来るだけ新しいMPLABXを使わないと対応デバイスやら動作クロックの制限があって不便だったのです。
PICに対して行う要点は同じですが、大事なところが微妙に違うのには難儀しました。特に、プログラムメモリアドレスの指定とコンフィゲエーションビットの設定という超重要項目の設定方法が全く違うのには泣かされました。先達の情報に感謝です。
TMR1をコンペアモードで動かして所定の基底パルスが出ています。25fps向けの4,000Hzなので折り返しは250usec.です。オシロスコープにしっかりと波形が出ています。
基本的なところがクリア出来ましたので、試行錯誤で散らかったソースコードを掃除して次のステップです。
追記
音声信号に変換するプリアンプ回路が思った様になりません。
アナログは苦手です。
追記
先達の情報にこんなんがありました。
単電源でアンバランス-バランス変換 その2
単電源でオペアンプを使う際の注意点というか基本が読み取れる回路図です。自分は単電源での使い方を間違って覚えているかもしれません。
試しにブレッドボードで組んでみましょう。
つか、苦手な要素はテストしてから基板作れよっ・・
追記
上記のサイトの回路を参考に、プリアンプ回路の修正基板を描いてみました。オペアンプを搭載するDIP8ピンのパターンに被せる基板です。
全てを作り直してもいいのですが、無駄になる物が多いので、すでに入荷済みの基板にはこの手で使おうかなと。聴くものじゃありませんので多少ノイズが出ても支障ありませんし。
オーダーするのはブレッドボードでのチェックの後にしますケドね。
#PIC #タイムコード
今までは古い古いMPLABv8.92を主に使ってきましたが、MPLABXへの引っ越しが終わった感じです。出来るだけ新しいMPLABXを使わないと対応デバイスやら動作クロックの制限があって不便だったのです。
PICに対して行う要点は同じですが、大事なところが微妙に違うのには難儀しました。特に、プログラムメモリアドレスの指定とコンフィゲエーションビットの設定という超重要項目の設定方法が全く違うのには泣かされました。先達の情報に感謝です。
TMR1をコンペアモードで動かして所定の基底パルスが出ています。25fps向けの4,000Hzなので折り返しは250usec.です。オシロスコープにしっかりと波形が出ています。
基本的なところがクリア出来ましたので、試行錯誤で散らかったソースコードを掃除して次のステップです。
追記
音声信号に変換するプリアンプ回路が思った様になりません。
アナログは苦手です。
追記
先達の情報にこんなんがありました。
単電源でアンバランス-バランス変換 その2
単電源でオペアンプを使う際の注意点というか基本が読み取れる回路図です。自分は単電源での使い方を間違って覚えているかもしれません。
試しにブレッドボードで組んでみましょう。
つか、苦手な要素はテストしてから基板作れよっ・・
追記
上記のサイトの回路を参考に、プリアンプ回路の修正基板を描いてみました。オペアンプを搭載するDIP8ピンのパターンに被せる基板です。
全てを作り直してもいいのですが、無駄になる物が多いので、すでに入荷済みの基板にはこの手で使おうかなと。聴くものじゃありませんので多少ノイズが出ても支障ありませんし。
オーダーするのはブレッドボードでのチェックの後にしますケドね。
#PIC #タイムコード
PICをプログラムするのに開発ツールのMPLABXと書き込み機のPICkitを使っています。
最新のMPLABXでアセンブラファイルを作ったので書き込みのテストを始めたのですがPICkit4が正常に動かない。認識はされているのに書き込みをすると正常な通信が出来ないとエラーを出します。イロイロ試すものの一向に改善しません。
こんな時はヴァージョンを落とすのも対策の一つです。原因がMPLABXにあるのかPICkit4にあるのかわかりませんので、開発ツールも書き込み機も世代を落とします。条件はXC8のアセンブラとPICkit3が使えることです。ver5.40、5.45、5.50が該当します。
ダウンロード済みだったver5.40を試すとアッサリ解決。正常なログが出ました。試行錯誤の6時間はなんだったのでしょう。
当面、ver5シリーズの最終版であるver5.50を使うことにします。
PICが正しく動くかのチェックはこれからです。正しく書きこんだ顔をしているのにダメって可能性もあるので安心するのは早いです。
PICkit4が動かないのは困りますが、こういった開発ツールではヴァージョンアップの過渡期によくあることです。気にしても始まらない。
#PIC
最新のMPLABXでアセンブラファイルを作ったので書き込みのテストを始めたのですがPICkit4が正常に動かない。認識はされているのに書き込みをすると正常な通信が出来ないとエラーを出します。イロイロ試すものの一向に改善しません。
こんな時はヴァージョンを落とすのも対策の一つです。原因がMPLABXにあるのかPICkit4にあるのかわかりませんので、開発ツールも書き込み機も世代を落とします。条件はXC8のアセンブラとPICkit3が使えることです。ver5.40、5.45、5.50が該当します。
ダウンロード済みだったver5.40を試すとアッサリ解決。正常なログが出ました。試行錯誤の6時間はなんだったのでしょう。
当面、ver5シリーズの最終版であるver5.50を使うことにします。
PICが正しく動くかのチェックはこれからです。正しく書きこんだ顔をしているのにダメって可能性もあるので安心するのは早いです。
PICkit4が動かないのは困りますが、こういった開発ツールではヴァージョンアップの過渡期によくあることです。気にしても始まらない。
#PIC
DI-1の内部電源はDC9vと表記あり。オペアンプの電源端子を実測すると8.3v。
MUSES01Dの定格電源は±9~±16v。単電源換算なら18~32vですから圧倒的電圧不足ぢゃね?ちなみにM5218やNJM4580Dは±2~±16v(4~32v)なので楽勝。
エージングをすれば良い方向になると思い込んではいたものの、NJM4580Dに比べて価格差ほど良質なのかと腑に落ちない感じはありました。ひょっとしてコレ?
MUSES02D、MUSES8820D、MUSES8920Dは±3.5~±16v(7~32v)です。DI-1向けならこれらを選ぶべきぢゃね!?
MUSES02Dをポチリました。エージングも評価も全部やり直しです。
MUSES02Dで納得いけば、MUSES02Dの廉価版ながらNJM4580Dより高音質と評判のMUSES8820Dも試してみましょう。安く済むに越したことはありませんので。
正直なところ、ナゼMUSES01DとMUSES02Dの2種なのかイマイチ理解出来ませんでしたが、電源電圧の違いではないかと思ったところ。
音質云々以前に、電圧低めの回路にはMUSESD01DではなくMUSES02Dを使うべきです。所定の電圧を突っ込まずに良い音が出るワケありません。
メーカーの意図は想像の域を越えませんが、基本的な確認を怠ったことは大反省です。部品と販売店さんに謝らないといけません。
オペアンプの評価はこちらを参考にしました。
オペアンプの違いによる音質比較表
ここの評価を真に受けるなら、DI-1にはMUSES02Dではないか!?
#音の世界 #電子工作
MUSES01Dの定格電源は±9~±16v。単電源換算なら18~32vですから圧倒的電圧不足ぢゃね?ちなみにM5218やNJM4580Dは±2~±16v(4~32v)なので楽勝。
エージングをすれば良い方向になると思い込んではいたものの、NJM4580Dに比べて価格差ほど良質なのかと腑に落ちない感じはありました。ひょっとしてコレ?
MUSES02D、MUSES8820D、MUSES8920Dは±3.5~±16v(7~32v)です。DI-1向けならこれらを選ぶべきぢゃね!?
MUSES02Dをポチリました。エージングも評価も全部やり直しです。
MUSES02Dで納得いけば、MUSES02Dの廉価版ながらNJM4580Dより高音質と評判のMUSES8820Dも試してみましょう。安く済むに越したことはありませんので。
正直なところ、ナゼMUSES01DとMUSES02Dの2種なのかイマイチ理解出来ませんでしたが、電源電圧の違いではないかと思ったところ。
音質云々以前に、電圧低めの回路にはMUSESD01DではなくMUSES02Dを使うべきです。所定の電圧を突っ込まずに良い音が出るワケありません。
メーカーの意図は想像の域を越えませんが、基本的な確認を怠ったことは大反省です。部品と販売店さんに謝らないといけません。
オペアンプの評価はこちらを参考にしました。
オペアンプの違いによる音質比較表
ここの評価を真に受けるなら、DI-1にはMUSES02Dではないか!?
#音の世界 #電子工作
無改造のDI-1のエージングは150時間を経過しましたが、ここへ来て急に音が良くなってるんですよ。24時間毎に音が変わるので評価がアッチコッチします。
良いの意味はDI-1特有の高域が尻つぼみする感じがなくなったことです。よくよく比べればMUSES01Dの方が透明感を感じますが、言われなければわからない違いです。実用上はどっちでもいいんじゃね?って感じ。
MUSES01Dのエージングが300時間ならまだ数日ありますが、DI-1に感じていた問題が解決してしまったなら無理してMUSESD01D化する必要はありません。
ただ、オペアンプよりもコンデンサの方が音に影響がある可能性もありますので、この辺りも試すつもりです。
#音の世界
良いの意味はDI-1特有の高域が尻つぼみする感じがなくなったことです。よくよく比べればMUSES01Dの方が透明感を感じますが、言われなければわからない違いです。実用上はどっちでもいいんじゃね?って感じ。
MUSES01Dのエージングが300時間ならまだ数日ありますが、DI-1に感じていた問題が解決してしまったなら無理してMUSESD01D化する必要はありません。
ただ、オペアンプよりもコンデンサの方が音に影響がある可能性もありますので、この辺りも試すつもりです。
#音の世界