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

今年は開発案件を進めたい

or 管理画面へ

タグ「RaspberryPi」を含む投稿[68件](5ページ目)

Icon of admin
 ソフトウェアを書く時間はありませんが、Art-Netパッチのハードウェアの基本方針を考えています。必須事項はEtherNetが独立して2系統あることです。
 RaspberryPiには1系統しかありませんので増設が必要です。USBで増設してもいいのですがスッキリしているとは言えません。
 そういや、RaspberryPiCM4はPCIeX1を出しています。4BではUSB3.0のアダプタに接続されていて表に出ていませんが、CM4ではUSB3.0が無い代わりに出ています。これにEtherNetアダプタを取り付けたらいいかなと。
 通常のPCIeX1コネクタでもいいし、M.2で使われるNGFFコネクタ(M-key)でもいい。汎用性ならPCIeX1で、小型化を考えるならNGFFかな?いずれにしてもMACアドレスの取得を考えるとチップだけ使うより既製品のネットワークカードを使うのがよいでしょう。現実的には通常のPCIeX1ロープロファイルでIntelチップを使うデュアルタイプがよろしいかな?

#[Art-Net] #RaspberryPi
Icon of admin
 RaspberryPi4Bがどうしても必要になったので、すこしお高いamazonでポチリました。
 それがなんと中1日で入荷。あるところにはあるんですねぇ。やはり買い占め転売されているのかな?

 イギリスにオーダーした物は操作を間違えたのか何なのかキャンセルになっていました。もちろん今は在庫なし。

追記

 千石電商さんにRaspberryPi4Bの4GBモデルと8GBモデルが出ていました。お一人様1個ですが手に入るのはありがたい。
 価格はネットの小売り界隈では最安値。もちろん過去の最安値よりはお高いですが、RaspberryPiが入手しずらくなる直前の価格とほぼ同等。半導体不足や円相場を考えれば良心的過ぎ。市場原理はアリアリでも本家は定価で出していますから、2万前後の価格は乗せすぎだと思うのですけどね。
 RaspberryPi4Bは自宅サーバーの分も含めて10個くらい欲しいのでポチリました。

#RaspberryPi
Icon of admin
 楽天で RaspberryPi zero WH が手に入りました!
 オーダー後に「やっぱりムリぽ、テヘペロ♪」ってリアクションになると思ったのに数日で現品が届きました。事実上の売り手キャンセルが3-4回続きましたから期待はしてなかったのです。
 価格は品薄前よりほんの少し高いくらい。半導体不足と円相場を考えたら破格ぢゃね?と思える価格。変動が激しいので手配先や価格は書きませんが、過去の最安購入額の2倍以上とはいえ5,000円よりずーっと安い。良心的な販売店もあるものです。
 追加製造を相談されている物件があるのですが、3品セットのウチ2品には zero W を使うので、半導体不足で今すぐには作れないと言ってありますが、仕入れる努力はしないといけません。
 先日オーダー出来たと書いた4BはRaspberryPi発祥の地イギリスへの手配です。PayPalでの支払いが成立していますので「ダメっす」とはならないと思いますが、さて、我が家に来るのでしょうか。

 ちなみに、ヨーロッパ方面で買い物をする場合はPayPalでの支払いを望む販売店が多いようです。最終的にはカード決済になりますし、決して安くない手数料を取られますが、カード情報を直送りするよりも安全が担保されると思われます。見方を変えれば、PayPalが使えるところは第三者による信用証明がされていると思っていいのかもしれません。中国の基板屋さんもPayPal決済です。

#RaspberryPi
Icon of admin
 「The PiHut」
 世界で数少ない(?)定価でRaspberryPiを販売しているところ。ラズベリー財団の直営なのかな?
 御一人様1個しか買えませんが、それでも1個手に入ったのでヨシとします。高い高い送料を含んでもamazon価格の半分。
 需要と供給の間に割り込み、流通を妨害して価格を引き上げる転売行為は止めていただきたいものです。

#RaspberryPi
Icon of admin
 相変わらずRaspberryPiが手に入りません。
 4Bは少し価格が下がった感じがしますが、それでも最安値が18,000円強。CM4に至っては48,000円を付けているところもあります。
 もともと教育用の安価なマイコンとして登場したのに凄いことになっています。大きなお友達にとっても楽しいオモチャですから仕方ないのかな。。。

 可能性を探るって意味でCM4について調べてみました。
 I/Oボードが無ければ何も出来ない仕様ですが、100ピンの端子2個にあらゆるインターフェースがアップされていて、必要な物だけ取り出したI/Oボードを作れば最小構成のシステムが構成出来ます。USB3.0が無いのですが、USB2.0はフルスピードの480Mbpsですし、PCI-Ex1が出ているので、I/Oボードを作ってしまう人にとっては何の問題も無いと思われます。
 回路は本家のI/Oボードのデータシートに全て書かれています。大半のインターフェースがコネクタに配線するだけで機能します。専用基板を作る敷居は高いですが、頑張れば私でも作れそうです。

#RaspberryPi
Icon of admin
 RaspberryPiが無い。世界中のどこにも無い。いわゆる転売屋系にはあるようですが、アホみたいに高いので余程のことが無ければ手を出したくありません。
 rpilocator.comってところに世界の正規代理店の在庫が一覧されていますが、RaspberryPi4Bは全く無い(2022年5月30日現在)。
 先日手に入りそうって話をしましたが、納品予定日に不達による納期未定とのメールがやってきました。そんで、改めて調べなおしたら・・・という話です。
 製作依頼があっても手に入らないか高値なのでこれまでの価格では作れないって話にしていますが、裸族のパイやArt-Netパッチを作るために今必要な数が揃わないのは困りものです。
 2023年には供給体制を戻せるって話ですが、財力があって数を使うところが優先されるでしょうから、下々のガレージメーカーにお零れが落ちてくるのはいつのことでしょう。

#電子工作 #RaspberryPi
Icon of admin
 RaspberryPiのpythonでSPIで使うためのライブラリspidevの本家はこちら。
 本家とは違いますが、こちらのサイトはRapberryPiのSPIについてよくまとめられています。ロシア語なんで原文のままではちっともわかりませんが、本家を読んでもわからなかったことがここで解決します。翻訳して転載したらすごく参考になるかも。
 一見簡素な内容ですが、SPIの何たるかはこのサイトがわかりやすいかも。SPIには4つのモードがありますが、その違いを分かりやすく書いてくれている資料が少なくて困っていたところ、このサイトを読んで理解できました。シリアル通信に何の知識も無い人に向けた資料ではありませんが、UARTやI2CはわかるけどSPIがイマイチなぁ~って人にはお勧めです。SPIは少し独特な考え方を持っていますが、そのツボ処だけ簡潔に抽出しています。私は、マイコン全般の教科書と言ってもいいPICのマニュアルを読んでもSPIがどうしても理解できなかったのですが、このサイトを参考にPICのマニュアルを読み直したところ「なるほどー!」となりました。

#RaspberryPi #[Art-Net]
Icon of admin
 Art-Netの受送信がまとまったので、SPI通信の復習を始めました。人の操作部も大事ですが、ドライバレベルの繰り返し処理が成り立たなければ始まりません。
 SPIは受信ハードウェアが無くても送信動作は可能ですから、ソフトウェア的に処理の負荷がかかる様にして試すのは重要です。

 SPI通信を使うのはRaspberryPiから複数のDMXを出力する為です。RaspberryPiにはシリアルポートがありますが望む数はありません。何かしらの方法で拡張しなければなりませんが、私が扱える方法で組むならPICをフロントエンドにして数を増やしますので、PICと通信するのにSPIを使います。

 SPIがどんな通信かは諸兄達に任せますが、RspberryPiでもPICでも扱えて複数のDMXを扱うのに十分な速度を持った通信です。
 RaspberryPiにおいては、SPIを扱うハードウェアモジュールが搭載されているためにソフトウェアには負担がかかりませんので、周辺デバイスとの簡素な高速通信としてとても有効です。

#RaspberryPi #[Art-Net]
Icon of admin
 オレメモ

 RaspberryPiのSPIバッファサイズ

 ※出展:「RasPi 3B+ で最新の spidev_test を使う」

--------

 現在の最大転送サイズを確認
 $ cat /sys/module/spidev/parameters/bufsiz
 4096 (byte)

 これが固定値で変更不可といった書き込みが少なくありませんが変更可能です。
 変更するには、/boot/cmdline.txt に下記変数を追加。

 spidev.bufsiz=<サイズ数値>

 拡大可能なサイズ
 4096: OK (デフォルト)
 16384: OK
 65536: OK
 1048576: OK (1MB)
 4194304: OK (4MB) ⇒ 最大値 (これ以上を設定しても拡大しない)

--------

 RaspberryPi4Bも同様だと思いますが、実機で確認してみましょう。
 DMX512を8系統出そうと思っていますが、StartCodeやBreakTimeもSPIで送出するので4096バイトでは不足です。

 試したところOKでした。
 変更するファイルは/boot/cmdline.txtであって/boot/config.txtではありません。
 開くと1行にいろいろなコマンドが書いてあります。このコマンド列の末尾に空白を入れてspidev.bufsiz=<サイズ数値>を記述します。

#RaspberryPi
Icon of admin
 RaspberryPiからレガシーDMXを出力する方法を妄想しています。
 直接出すのは無理があります。UARTはありますが、2系統出すのが関の山。BreakTimeも出しにくい。
 ならば、RaspberryPiからはSPIで出力し、PICで250kbpsのUARTに変換するのがいいかなと。

 RaspberryPiからCS(チップセレクト)を使ってPICを選択するのがノーマルな方法ですが、レガシーDMXを出来る限り数多くだすには効率が悪い。SPIを休みなく送りつけたらPICは処理しきれませんので1ワード毎に休み時間を入れないといけない。また、PIC1個毎に一気にデータを送り付けるにはPICがデータをキャッシュ出来なければなりませんが、512バイト以上のメモリを持ったPICは選択肢が少なくピン数も多い。
 しかるに、SPIを普通に使ったら2系統扱うのが限界だと思われます。

 で、考えた方法が、複数のPIC(レガシーDMX1系統に付き1個使用)がRaspberryPiから1個に見える方法です。
 RaspberryPiからは複数のユニバースのデータを適切に並べ替えて一気に送出します。RaspberryPiにとっては一番ストレスが無い方法です。
 もちろんPICはこれを捌くことが出来ませんから、RaspberryPiとPICの間に仕掛けを入れます。

 SPIはクロック同期型の送信方法ですからデータ線の他にクロック線があります。受信はクロックによって実行されますので、CSがアクティブでも、データ線に変化があっても、クロックが伴わなければ何も起こりません。通常ならCSを用いて受信先を決定しますが、クロックの出力先を仕分けても同じことです。
 送信が始まって1から8カウントの間は1番目のPICへSPIのクロックを送り、9から16カウントの間は2番目のPICへSPIのクロックを送り・・・以下末番のPICまで繰り返します。RaspberryPiから送信があっても、クロックが行かない受信器にとってはワードとワードの間の休み時間でしかありません。
 これなら、送信するRaspberryPiからはPIC達が1個に見え、受信するPIC達には自分宛のデータがだけが届きます。RaspberryPiが休みなく送信してもPIC側は他が受信している間に処理を進められますし、RaspberryPiの送信タイミングが適切であれば受信したSPIのデータをUARTに渡すだけでPIC内でのスタックは不要です。ピン数が少ないPIC12F1822でも対応可能ということ。

 これを実現するクロックの仕分けは汎用ロジックICで行います。
 バイナリカウンタ74HC4040
 3to8 ラインデコーダ TC74HC138
 この二つです。
 数日前はGALを使おうかと思ったのですが、16ピンの汎用ロジック2個で可能ならこちらの方がいいかと。ファームウェア書かなくていいし、安いし、30年以上確実に動くし。

 バイナリカウンタはクロックをカウントして2進数相当の出力をするICです。これにSPIクロックを入力し、下から4~6bit目の出力を使います。SPIクロックの8倍周期でカウントされる3bitのバイナリと見なせます。
 8倍周期の3bitのバイナリをラインデコーダに入れます。ラインデコーダは入力された3bitのバイナリに相当するピンだけ出力します。このデコーダにSPIのクロックも入れれば8カウント毎に送り先が切り替わるクロックが出力されます。
 SPIのモードは74HC4040の特性に合わせてmode3がよいと思われます。

 文章で伝わりにくいのは承知していますが、アイデアがまとまってスッキリした。
 オレメモってことで。

 整理しきらないとモヤモヤして本業が手に付かなかったので回路図を描いてみました。気分スッキリ。
 折角なので揚げてみました。
 クリックして表示されるモノはぼやけてしまいますので、回路を追いたい方はサムネのリンク先の画像本体をダウンロードして見てください。
20220307150548-admin.jpg
 追記
 回路図に間違い発見!
 74HC4040のCLKにはSPI_CLKが入らないといけません。
 74HC4040から74HC138のA,B,Cに行くのもQ4,Q5,Q6です。なら74HC4020でもいいな。
 データは手直ししましたが、ここに再アップするのは面倒。まぁいいか。

 さらに追記
 クロックカウントの考え方が根本的に間違っているような気が・・・74HC4040(4020)のカウントの進み方がズレてね?最初のビットをサンプリングする前に1カウントされてしまうぞ。
 ならばSPIをmode0で使えばいいか?mode0ならアイドル・ローだから74HC138ではなく74HC238か?
 考え直し。

#電子工作 #RaspberryPi

■思ってみた

春ですねぇ~。
花粉症の部下は死にそうですが、暖かいってのはいいことです。

編集

■全文検索:

複合検索窓に切り替える

■複合検索:

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

■日付検索:

■カレンダー:

2022年6月
1234
567891011
12131415161718
19202122232425
2627282930

■カテゴリ:

■最近の投稿:

最終更新日時:
2025年4月29日(火) 20時16分48秒