🗐 電装工芸日記 - 舞台照明機器の製作とか -

能登半島地震で被災された方々にお見舞い申し上げます。

or 管理画面へ

2023年9月15日の投稿[3件]

Icon of admin
 Open DMX USB の BreakTime について考えていたところ PIC の BreakTime についてもアイデアが出ました。
 拡張ミッドレンジPIC16系の EUSART には Break 機能があります。ただし、11bit分の L を出力して StopBit(H) を出すまでが一連の動作なので2回繰り返しても DMX512 の BreakTime にはなりません。今は I/O ピンをプルダウンしておき、入出力設定(TRIS)を Input(Hi-Z) にしてから捨て送信をすることで BreakTime を作っています。
 本題です。DMX512 の BreakTime は 最小 88usec ですから 250kbps なら 22bit 分の連続した L を出力すれば成立します。PIC16系の EUSART の Break が DMX512 の BreakTime に使えないのはこれが理由ですが、BaudRate を変更した Break を出力したらよくね?ってのが今回のアイデアです。手段を問わず、L 送信が 88usec 以上ならいいのです。私の理解が間違っていなけば、アイドル時なら BaudRate をバイト送信毎に変更しても EUSART は正しく動くハズです。単純計算なら BaudRate を半分にすれば規格値が出ます。現状でも BaudRate の調整だけで 1/50 くらいには出来ますから十分な BreakTime を作れると思われます。もちろん、BaudRate を 1/3 以下にして Break ではなく 0x00 を通常出力しても同じことです。こちらの方が汎用性が高いかも。受信も併用する構成ではNGですけどね。
 この方法が成立すればプルダウン抵抗は不要です。たった一つの抵抗ですが、部品を減らすことは絶対の正義ですので検討する価値はありそうです。

#PIC #器具の製作
Icon of admin
 オレメモです。
 Open DMX USB が期待通りに動かないのは BreakTime が正しく出ていないのが原因かと予想しています。
 FTD2xx には setbreakon と setbreakoff がありますのでこれを使うのが肝だと思われますが、これらのコマンドを実行するだけでは求める BreakTime に至らないのだろうと思われます。
 違うライブラリを用いたソースコードでは Break を有効化するコマンドが2回と Break 無効化するコマンドが続きで書いてありましたので FTD2xx では Break に関するコマンドを発行すると1バイト分の送信が行われるのかな?と思っていました。2バイト分ですと BreakTime の最小時間と等しいですからね。
 検証しないとわかりませんが、setbreakon と setbreakoff は FT232RL の動作モードを変える( setbreakon を実行すると待機状態が L となる / setbreakoff を実行すると待機状態が H に戻る)だけで Break の時間を確保するものではないってのが現在の予想です。テストプログラムでは setbreakon を2回、setbreakoff を1回実行していましたが、setbreakon と setbreakoff の間に空送信か待ち時間を入れてみようと思います。まずは time.sleep( 0.001 ) (Windowsだと15msec前後になる)を差し込むことから始めて setbreakon の状態で空送信をしたらどうなるかです。

#Python #器具の製作
Icon of admin
 「ftd2xx.py」を使って Open DMX USB から DMX512 が出るか試してみました。
 うまくいかない・・・。
 値は表示されますが、テストプログラムでは値を変化させているのにそれが出ません。Break Time あたりに問題があるように思いますが、オシロスコープかロジアナで信号波形を見ないとわかりません。
 波形を見るにはテスト環境を整えないといけませんので空き時間にちょっとお試しってワケにはいきません。しばらくお預けです。
 そんでも、値は一応表示されるのであまり遠くないところにいるような気がします。

 頑張って読み解くしかない本家の資料
「D2XX Programmer's Guide」

#Python #器具の製作

■当面の課題

桜のライトアップの季節です。花粉症の季節でもあります。
自分は平気ですが、花粉症の部下は死にそうな顔をしています。

編集

■全文検索:

複合検索窓に切り替える

■複合検索:

  • 投稿者名:
  • 投稿年月:
  • #タグ:
  • カテゴリ:
  • 出力順序:

■日付検索:

■カレンダー:

2023年9月
12
3456789
10111213141516
17181920212223
24252627282930

■カテゴリ:

■最近の投稿:

最終更新日時:
2024年4月28日(日) 10時15分49秒