2022年9月30日金曜日

AMAZONで売っている格安ノイズソースの挙動について曝す

 おはようございました。


ついこの前まで小電力無線がらみ、伝搬特性がらみの仕事をしておりました。
この手の仕事をするときに必要なものは様々ありますが、その中でも皆様にとって有用であろうというネタの一つ、ノイズソースの特性について曝してゆこうかと思います。

ノイズソースは広域な周波数において、そこそこ平坦な出力のノイズを出したい道具でありまして、雑音指数の計測、アンプの各種特性の採取、フィルタの大まかな特性や、伝搬の特性、ホワイトノイズ耐性の測定なんかにも使えます。

さて、今回使用したのはAMAZONで転がっていたこの2種類。



緑色の奴と黒色の奴です。
とりあえず動作の挙動が分からないと使いようがないので、さくっと調べることにします。
受信側のスペアナはたまたま近くに転がっていた借り物の、テクトロニクス社製のRSA306
玩具のスペアナと違って、これならそれなりに信用できそうな傾向が得られると思います。

さて、とりあえず1台目の緑の奴から


とてもフラットとは言えないノイズです。低い周波数領域に幾らかのピークがあり、なおかつ周波数が上がるとだんだん落ちる前提での使用をお勧めします。


次に2台目の黒い奴





2GHzちょっとの所と、2.47GHz付近になんかピークや突起が出ています。
ですがそれ以外はかなりフラットに近いので、このピークや突起がある前提で、2GHzまでで遊びに使うには十分かもしれません。フィルタを合わせて使いましょう。

どちらも元々2GHzまでで使うような代物だということがよく分ると思います。

こういった測定器の補助道具は、必ずまともな計測器でどのような挙動を示すか確認してから調査に用いましょう。

ではでは、今日はココまで。
またの機会に会える事を楽しみにしています。

2022年8月18日木曜日

告知:『中小企業ひろしま 8月号』に寄稿しました

おはようございました。


一方的な告知です。
広島県中小企業団体中央会
http://www.chuokai-hiroshima.or.jp/index.php
の発行する会誌である『中小企業ひろしま8月号』に寄稿しましたのでご報告いたします。

お題目は『機器開発の潮流変化と導入の課題』です。

来るデジタル化の波と乗り遅れの失敗例について、2020年度版ものづくり白書も絡めてお話ししています。
https://www.meti.go.jp/report/whitepaper/mono/2020/index.html

https://www.youtube.com/watch?v=crkerQ_iJCY


2022
年度は技術士の方々が毎月寄稿するというイベントがありますので、なかなか濃い内容が見れるかもしれません。

ではでは、今日はココまで。
またの機会に会える事を楽しみにしています。

2022年6月23日木曜日

うっかりDigital Discoveryに手を出してしまう

おはようございました。

皆様におかれましても、そろそろボーナス払いが解禁される頃合いですね。


相変わらず私は、税金と電気周りだけ魔改造中の家のローン、重なってくる2台分の車検代に殆ど消えるのですが、それでも悪あがきをしようと一歩ずつ前に歩んでいます。


そう!ついに手を出してしまった『Digital Discovery』!!

少し前のネタで『¥1500ほどで出回っている2D LiDAR(360度の距離の測れるセンサー) MB-1R2T』の話を振ったのですが、プロトコルをいろいろと調べている間に手持ちの測定器では限界が見えてしまったのです。


1回の送信で40点分の位置を送る様な通信データなのですが、我が家のDL1740はUARTの解析機能はないし、Analog Discoveryでは記録メモリの少なさから欲しいデータが少し見えたところで途中で切れてしまいます。

最近LiDARを仕事で触ることも多く、結構長いパケットを調べることが多いのです。

『仕事でも使えるし、まぁいいっか…』

と、

『いや、会社で買えよ!』

なんて突っ込まれそうな気もしますが、

『会社で買うならもうちょっとマシな物を買いたいのだけど、それだと一部の上がハンコ押しそうにない』

ということで悩んでおります。

かと言って、

『買ったら同じ機能に見えるものは絶対買い替えさせてくれない』

という動きの方が圧倒的に強い気がするので、なかなか動けないでいるのです。


会社の測定器や工具は私物より残念な代物ばかりなので、

欲しいものばかりで大変困っている(というか必要なので、家が実質第2の開発室化してる)状況。

誰か社内で投げ銭してくれませんかねぇ~

なんて思ってしまう今日この頃です。


前回のブログではデーターのヘッダを追記してあるのですが、Digital Discoveryみたいにメモリがそこそこ多いものを使うと、細かい挙動が見えてきました。


さて、例の『MB-1R2T』ですが、最初のテキストデータ送信後はこんな感じでデータが出ることが分かってきました。


1バイト目: AA ヘッダ1

2バイト目: 55 ヘッダ2

3バイト目: 3C コマンド種類?時々変わる

4バイト目: 28 データの個数 時々変わる

5バイト目: xx 開始角度下位

6バイト目: xx 開始角度上位

7バイト目: xx 終了角度下位

8バイト目: xx 終了角度上位

9バイト目: xx 不明(エラー訂正用?)

10バイト目: xx 不明(エラー訂正用?)

11バイト目: xx 信号品質

12バイト目: xx 距離下位

13バイト目: xx 距離上位

14バイト目: xx 信号品質

15バイト目: xx 距離下位

16バイト目: xx 距離上位

…以降データの個数分『信号品質、距離下位、距離上位』が続く…

角度のデータは0xB400が360度である可能性が高いです。(というかほぼ確定だと思う)

流れてくるデータとしてはこんな感じです。


こんな感じでたまに小さいパケットも飛んできます。




1個しかないデータはコマンド?(3C)としている部分まで変わります。

流れてくるデータ的には距離っぽいのですが…


秋月電子での値上げとカードの支払日の関係から、昨日Digital Discoveryが届いたばかりですので、データの個数が変わる条件がまだ絞り込めてませんが、普段は40個(0x28)連続していますが、たまに個数が不確定に減ります。

各々の角度と長さを求めるには開始位置と終了位置の差分を(データ個数-1)で除算せねばならないので、マイコンの方が圧倒的に楽です。

私は個人的都合でFPGA使ってますので、この除算まで含めて実装すべきか?

動作確認程度の実装だし、少しのデータなので、無視して飛ばすか?

少々悩んでおります。

まぁ、どっちにしてもこんなしょうもない機能にCPUリソース食いたくないので、本気でやるならFPGAで除算実装して、XY座標化や補間も実装しますが…


そんな訳で、今更この手のLiDARに手を出された方には参考になればと思います。


ではでは、今日はココまで。
またの機会に会える事を楽しみにしています。

2022年3月13日日曜日

GPIB予備環境構築のため、GP232の予備としてKeysight 82357Bを調達する。そしてHP3562Aの自動計測へ…

 おはようございました。タイトルがなろう系並みに長い漢です。

ここ最近、現場で古い測定器類が不調になり始めることが多くなってまいりました。

我が家の測定器もその心配を寝ねばならない頃合いに差し掛かり、予備がいるよね…。

そんな訳で、一番優先度の高い『GPIB⇔PC』の自動計測周りのインターフェイスもそろそろ考えねばなりません。


現在まで現役だったGP232はずいぶん昔に購入させていただいたもので、このメインのPIC16F876も終息品となり、何かしらの予備が必要です。

しかも近年のEXCELでは標準モジュールはそのまま動かないので、少し改変する必要があります。

まぁ、ソフトは一回書き換えたら使い回しできるので何も問題ないのですが、ハード側の故障はPIC自体が手に入りにくいので致命傷になります。


作者の方は何やら大変な苦労をされていたようで、ありがとうございました以外の感謝の念が絶えません。

ここ数年のコンテンツ消費型のクレクレ君の異様なキチガイっぷりは涙をそそるものがありますよね…。(シミジミ)


さて、そのままPICの変更した奴でUSBってのも(皆がやってるので)あんまり芸がないし、やるなら高速化したい…と、ググってみるとKeysightの82357Bというアダプタの勝手が良いよ?メーカー純正の癖にあの会社にしては意味不明な位安いし…というような感じでしたので、今後会社絡みの仕事を家ですることが増える現実を踏まえてこちらへ移行準備することにしました。


Keysightの82357Bで使用する『Keysight IOライブラリ・スイート』にはVBA周りの環境が整っており、色んなことができるよ?とKeysight自身が色々宣伝されておられ、かなり資料がふんだんにあります。

(ただし、webの資料が結構早めに消えるのは外資故の制限なのかもしれません…)

良い子の皆は『これは使えるッ!』と思った資料は、しっかりローカル保存しときましょうね?


とりあえずメインで使うHP3562A・HP3563Aでのでの取り出し方はこんな感じに落ち着きました。


Sub btnStart_Click()

    

    Dim Rdata       As String               ' 受信データ文字列

    Dim SplitData                           ' 受信されたデータを分割して格納

    Dim PrintData                           ' 配列から個別に取り出したデータ

    Dim Counter         As Long             ' データカウンタ

    Counter = 0

    

    ' 2重起動の防止

    If RunFlag Then Exit Sub

    RunFlag = True                          ' 動作中フラグをセット

    

    ' GPIB 初期設定

    Dim RM As New VisaComLib.ResourceManager        ' リソースマネージャーの定義

    Dim HP356xA As New VisaComLib.FormattedIO488    ' 測定器の定義

    Set HP356xA.IO = RM.Open("GPIB0::1::INSTR")     ' GPIBアドレス 1 の装置設定

            

    ' コマンド送信

    HP356xA.WriteString "DDAS"               'アスキー形式で読み出し

    

    'データ数はヘッダー66+数値801(Re)+数値801(Im)

    'ストリングでごっついので、分割する

    Rdata = HP356xA.ReadString

    SplitData = Split(Rdata, vbCrLf)

    

       ' データの書き込み分割したデータを分けて表示

    For Each PrintData In SplitData

       Range("B5").Offset(Counter, 0) = PrintData

       Counter = Counter + 1

    Next

    

    ' ローカル制御コマンド送信

    HP356xA.WriteString "LCL"

    ' 終了処理

    HP356xA.IO.Close

    Set HP356xA = Nothing

    Set RM = Nothing

    

    RunFlag = False         ' フラグのリセット

    MsgBox "終了しました"

End Sub


ちなみに今まで使用していたGP232であれば、こんな感じです。


Sub btnStart_Click()

    

    Dim Counter         As Long             ' データカウンタ

    Dim Rdata       As String               ' 受信データ文字列

    

    ' 2重起動の防止

    If RunFlag Then Exit Sub

    RunFlag = True                          ' 動作中フラグをセット

    

    ' GPIB 初期設定

    eg.CardOpen                             ' カードオープン処理

    eg.Delimiter = eg.DELIMs.CrLf           ' デリミタの設定

    eg.TimeOut = 3                          ' タイムアウトは3秒


    ' 測定器の初期設定

    eg.ActiveAddress = Range("C2").Value   ' 測定器のアドレス読み取り


    If eg.ErrorHold <> 0 Then

        ' エラーが発生している

         eg.CardCLose               ' カードを閉じます

        Exit Sub                    ' 中止します

    End If

    

            

    ' コマンド送信

    eg.AsciiLine = "DDAS"               'アスキー形式で読み出し

        

    For Counter = 1 To 1669             'データ数はヘッダー66+数値801(Re)+数値801(Im)

        

        Rdata = eg.AsciiLine

     

        Range("A4").Offset(Counter, 0) = Counter         ' データカウンタの書き込み

        Range("A4").Offset(Counter, 1) = Rdata           ' データの書き込み

        

    Next Counter

    

    eg.AsciiLine = "LCL"       '

    

    eg.CardCLose

    RunFlag = False         ' フラグのリセット

    MsgBox "終了しました"

End Sub


どうです?ずいぶんすっきりしたでしょ?GPIBのアドレスはほぼ弄らないし、固定でもいいや…と思ったので面倒臭いから固定にしました。

考えてみればメインの玩具であるHP3562A,HP3563Aのデータ採取は主にこれを使っていた訳で、801点×2軸のデータが数分で取れる素晴らしい道具となっており、この手のツールがないと本当に危険です。しかも今回の変更で数分が数十秒に変わってしまった…

皆様におかれましても、自動計測や周期的なデータ取りで困った際は取り敢えずCSV掃き出し、又はExcel+VBAで逃げるか?程度で試し、先ずはその自動計測が有効か?というのを試されてはいかがでしょうか?

本気でやりたきゃあ後でソフト組めば全然OKです。

動くものが仕様として出てきていれば、ソフト屋さんだって全体像が見れるってもんです。おおよそ外部に依頼するときに上司や余所者や銭ゲバが顔を出してきて余計なものがどっさりついてくるので、保守や費用対効果を考えたら、ひたすらシンプルにして『こんな感じのをバグが出ないようにうまい具合にヨロシク作って?それでUIは現場と一緒に煮詰めよう!』と、お願いするのが一番です。

(いつもの顧客が本当に必要だったものと同じです)


さて、昨今の会社ではさっき言ったことがまさにバンバン行われていて、余計な輩が絡んで元値の10倍に膨らむというのが普通にあったりします。

さらに残念なことに、うっかりスーパーマンに見える私に渡される予算と時間はその開発に必要な額面の100分の1に満たないことが良くあります。

金も時間もないのに成果だけは要求されるというのは、バブル期謳歌のキチガイが上にいる組織ではよくあるパターンです。

皆様におかれましても、何事もシンプルに、バブル期キチガイ上司の言うことは受け流すつもりで仕事にあたり、個人の生活をしっかり充足されていただけることを切に願います。

そんな訳で、個人ごときがやる程度の測定においては、まだまだ安直にLabViewには流れたくないッ!なんて思う今日この頃なのでしたとさ…。(何故か会社の仕事を家の測定器でやってますが…)


誤解の無い様に仕事で使うなら、LabVIEWに流れた方がマジでコスパ良いですよ?とだけは言っておく…。


ではでは、今日はココまで。
またの機会に会える事を楽しみにしています。

2022年3月1日火曜日

EBAZ4205でガッツリ遊ぶ前に電源事情を調べてみることにした

さて、ずいぶん昔?に流行したEBAZ4205の基板の話の続きです。

今回は2.0㎜ピッチコネクタ→2.54mmピッチコネクタの変換ケーブルをサクッと作り、ちょっとした下調べを行ったので記そうと思います。


2.54mmピッチへの変換ケーブルですが、うっかり誤挿入を防ぐために、キーがついているMILコネクタにしようと思いました。

世間様は今だコネクタ周りの樹脂は流通が悪く、どのメーカーも代替品切れ状態が続いております。

オムロンは比較的在庫があるのですが、圧着の端子部が入手困難です。

圧接なら入手可能です。

圧接が嫌(工具がない)なら、ちょっと高いですが日本航空電子の物がまだ手に入ります。

数年前に余計目に買ってなかったことを後悔しながらも、とりあえず今回は13本用意しました。

2.0mmピッチの奴はアリババに転がっているものを使いました。


さて、ここからが本題。

EBAZ4205の電源は残念電源(クソ電源)という話をチラッと風の噂で聞いたことがありまして、基板壊して(壊す可能性を含めて)測るのは嫌なので、とりあえずサクッと出せる範囲でどこら辺が残念なのか?を分かるようにしてあげようと思った次第です。


壊す可能性のある測定というのは、低周波域(概ね1MHz程度まで)の挙動測定です。

ぎりぎりの負荷かけてガンガン動かしてインピーダンスを測ったり、ノイズを重畳してPSRR計測などをすると、どうしてもIC周りのスペックオーバーギリギリの入力をしてしまいます。

FPGAは定格外の領域なので危険です。

電源ICが既知のメーカーの既知のICならいいですが、フットプリントだけTIの製品に似た出どころの怪しそうなICなので、非破壊検査待ったなしでございます。


本来ならもう少し踏み込んで、何枚か壊しながらの測定をしたり、

シャントスルー法で基板のインピーダンス見て、

m9(^Д^)プギャー

してやるべきなのですが、私の懐事情はそれを許してくれませんし、大型特殊のおっさん相手には誰も投げ銭などしてくれません

今回はそこまでの話をする前段階のの中間報告ということで、諦めて頂ければと思います。


また、シャントスルー法でインピーダンスを測るにしても、実際には、DCブロック突っ込んで、ネットワークアナライザ(もしくはTG付スペアナ)を壊さないように、減衰器の減衰量は適切なものを選んで、そのうえで校正かけて、一番S/N比がよく取れそうな減衰器で微調整しながら伝搬の状況を確認する。

勿論条件変われば校正かけなおしなので下手すりゃあ数日潰れる大仕事…


という一連の手順が最低限度必要でして、スペアナへの入力限界を超えないための下調査

を行うためのノイズ調査という括りでもよいかもしれません。

世間ではいまだに電源インピーダンスの測定ですらマイナーな話のなのですが、何時になったらこれらの測定がものすごい重要だということが浸透するのやら…


さて、手始めに起動の電流はどんな感じか?という観点で見ます。

出荷時状態そのままのもので、一切手を入れていません。

運よく電力計をお借りできたので、そいつの波形を貼ろうと思います。

EBAZ4205がこれ





5V0.5Aぐらいでも十分動きそうですが、余力見て最低でも1Aぐらいのものを用意しましょう。


ちなみにQMTECHのボード(XC7Z010)だとこんな感じです。



CPUに負荷がかかっていませんし、FPGAのロジックもほとんど利用されていないので、消費電力はかなり低めの値です。



次に上記のような初期出荷状態の負荷条件で、ノイズの状況を確認しようと思います。

とりあえず家のDL1740ではもうノイズフロアの領域に入ってしまって、全くと言っていいほどまともに計測できません

ですので、急遽準備したマシな物(キーサイトのMSO3000)で測定します。

本当はFETプローブや差動プローブを用意すべきなのですが、『そこそこ見れたし、準備が面倒くさかった』という事で、勘弁してください。


EBZA4205のノイズに危ない兆候がありました。





Ch1:3.3V

Ch2:1.5V(DDR-SDRAM)

Ch3:1.8V(VCC AUX)

Ch4:1.0V(VCC INT) シルク上は1V9というロットも存在するので要注意。

色々なトリガー状態で観察してみたのですが、1.8V系統が主要因であることは間違いないようです。

Ch3が800μ秒程度毎に大きく振動しているのがわかります。

150mV近いです、明らかに問題のある挙動ですよね。

それ以外はいたって平穏な様子。

また、この振動を拡大すると…


こんな感じで120~150MHzで振動が起きていることがわかります。

PCBパターンやレイアウトの設計上の問題でしょうか?

共振しやすい周波数があるようです。中華製のこの手のボードはビア打ちが結構甘くて、しょうもないところでインピーダンスがガッツリ狂ってモードが立っていたり、とりあえずは繋げてみたら運良く動いた!的な回路のまま出してくる輩も結構まだいます。

一回シャントスルーでガッツリ測った方が良いかもしれません。

その他の電源は、この1.8Vの振動に揺られて若干の被害を受けている模様。

ただ、動作の支障となるまでには至っていないようです。

こういうところにPSRRを測る理由があるんですが、いまだに一般的ではないんだよなぁ~残念。


念のため、ZYNQ特有の問題ではないことをしっかり確認したいので、QMTECHのボード(XC7Z010)でも1.8V(VCC AUX)の挙動を確認しておきます。



こちらは問題なし…と言いたいですが、スペック的に危険領域です。

パスコンの容量と数がデータシート上はNGです。

ですので、パスコンを極限まで削って強引に動かしている…

という認識でいたほうが良いかもしれません。

パスコンを増やしてノイズの幅を減らしたいですが、それをすると否が応でもループゲインが下がります。

下がるとインピーダンスを補うためのコンデンサが必要になります。

そうやってガッツリ沼に嵌るので、結局は電源ICを良い物(でかい電流流せて高い周波数領域をカバーする品)にせざるを得なくなるのです。

ちょっとコンデンサを増やす分には電気的には問題ありませんが、今回のQMTECHのボード(XC7Z010)では基板自体の空き空間がありません。

内層数を増やして信号を中に持っていくか?基板サイズを上げてゆとりを持たすか?お高い高級なコンデンサで一発逆転を図るか?IC変えて高周波数&広帯域化しまうか?の程度の選択肢になります。

というわけで、基本機能検証用のお試しボードだからと割り切った設計になっています。


とまぁこんな感じなので、玩具・評価用として遊ぶには程よい品物ですが、ガッツリ本気の用途には格安ボードは基本使ってはいけないことを十分認識しておきましょう。


ここからは超個人的見解ですが、EBAZ4205の落としどころの経緯は、TIのTPS563201の劣化版互換電源ICを使ったら制御帯域が低すぎてリップルノイズも大きく、電源スペック守れんのでパスコンバンバン置く羽目になった。

だが、パスコン置いたら高い周波数領域カバーできるようなパターン・レイアウトが困難になった。

おまけに一発目の負荷急変の電源供給の容量がカバーできても、数発連続で来るような急な負荷動作の時はやっぱり高い周波数で振動してしまう。

…どうせ大した制御(主制御)ではないし数年で終わる代物、見なかったことにしよう…

と、そのまま出荷…こんなドラマを感じてしまいました。


ではでは、今日はココまで。
またの機会に会える事を楽しみにしています。


2022年2月5日土曜日

SMA用トルクレンチを安く上げようという話

おはようございました。


とうとう『Lite VNA』なるものに手を出し、家にある8GHzまで使える減衰器で性能を見てみたら、ノイズはあるものの4GHzぐらいまでそこそこ所望の精度で使えることが分かりました。

さて、会社でも2.4~2.5GHzを使うようになり始めたこともあり、とうとうSMA端子での結合時のトルク管理が肝になる領域に片足突っ込み始めました。


ぶっちゃけ機械工作ばかりやってる人間の手の感覚は、下手なトルクレンチよりもトルク管理がシッカリしているのですが、社会はそういった職人技を公的には認めません。


そんな訳で表向きにでもトルクレンチを用いた管理は必須です。

しかしながら正確なトルクレンチは1か月の食費より十分高価ですし、性能の割には手が届きにくい範囲です。


そこで、代替手法として、中華製の安いトルクレンチと、その調整手段をもってそれなりに信用できそうな値で管理することにします。


購入したのはアリババで転がっていたトルクレンチです。



一応0.57Nm(SMA用)、0.9Nm(3.5mm用)の二種類注文しましたが、予想通り調整されていないものが届きました。

来たのは1.2Nm、1.0Nm…しかも中は錆びまくり…まぁ、そんなもんです。


さて、まともに動かないことを確認したら、バラして掃除して、軽くグリスアップします。動きが悪くなるほどにグリスを入れちゃだめですよ?


トルクの調整方法ですが、正規のトルク計を買うと中産階級の月の手取り給与並みの厳しい価格になります。

そこで、比較的安価に転がっているバネばかりや、フォースゲージを使って調整します。

レンチの回転中心から力をかける一の距離を計測したのち、滑りの良い作業台に8mmのヘキサレンチを固定し、写真のようにフォースゲージやバネばかりで工具を使う方向へ力を加えて、ピーク値を取ります。



摩擦や力のかける方向などの兼ね合い、90度折れ始めの力の追従などで、一発で綺麗に測れるわけではないので、何度か取り直しましょう。

今回は135mmの点をフォースゲージで押したので、1000mm÷135mm倍のトルクがかかります。

ですので、0.56Nmであれば、4.148N、0.9Nmであれば6.667nmあたりで管理します。

念のため、デジタルトルクレンチでもこの管理値がそこそこ正しいことを確かめました。

いくら丁寧に同じ様にトルクをかけても、そこそこバラつくのはそういう代物だと諦めましょう。


因みに、正規の調整されたトルクレンチだと、こんな感じで良い値が常に出ます。


正規のものであればバラツキがほぼないので素晴らしいですね。


この手のトルクレンチは与圧のかかったバネ式のトルクレンチですので、調整する手段が必ず必要になります。

皆様におかれましてもそれなりのトルク管理と調整環境を整え、気楽に作業ができる環境づくりを構築されることをお勧めします。
作業を始める障害・ハードルは環境を良くすることによって十分に問題ない程度まで低くすることができます

ではでは、今日はココまで。
またの機会に会える事を楽しみにしています。

2021年12月29日水曜日

最近¥1500ほどで出回っているLIDAR(距離の測れるセンサー) MB-1R2T に手を出す

 おはようございました。

最近余って流れ始めている360度の水平方向の距離センサーである、LIDAR MB-1R2T に手を出し始めました。

水平1軸のLIDARでして、TF-miniみたいに1点ではないので、360度ぐるっと回りながら距離を取ってくれます。


接続するコネクタはJST(日本圧着端子)のPHコネクタの8ピンの物が使われています。

5V入力で駆動し、3.3VのUART信号が出てます。

ビットレートは153600pbsです。

PCではメジャーではない速度ですが、9600の倍数なので、エラーが少なくなります。

信号はこんな感じで出てきます。


起動直後はこんな感じのメッセージが出て
その後にこんな感じで信号が出てきます。


とりあえず今回は事初めに必要なものを準備します。

M3で25mmの支柱を4本、カメラ三脚で使うなら5mm程度の厚さの板、エレベーター三脚で使うなら10mmの板を準備します。

こんな感じで穴をあけて、

支柱を立てて取り付ければ完成。

今回はカメラ用三脚(UNC 1/4-20ネジ穴)とレーザー墨出器で使うエレベーター三脚(UNC 5/8-11ネジ穴)の2つを用意しました。

カメラ用三脚は下穴が5.1mmなので比較的簡単に空けられますが、エレベーター三脚用の穴は下穴が13.5mmなので結構大変です。

樹脂系材料の方が加工が容易です。金属でやるにしても、軽金属で片付けることをお勧めします。

ちゃんとしたフライス盤・ボール盤なんかあれば鉄でも問題ないですが、13.5mmやそのタップを手で空けようものなら、相当頑張らないときついです。


さて、この手の物はモーターが出っ張っており、そのまま転がしながら弄るのは結構大変なので、こういった台を作ってから作業に入るとずいぶん楽になります。

ちょっと遠回りではありますが、目標位置を狙える環境を準備してからUARTの送信内容を解析するというのが正攻法です。

遠回りで時間がかかりそうでありながら、実はこれが最短ルートのやり方ですよ?

ではでは、今日はココまで。
またの機会に会える事を楽しみにしています。



2021年11月15日月曜日

今更ながら EBAZ4205 に手を付け始める

 おはようございました。

今更ながらxilinxのzynq7010の乗った中古ボードで遊ぼうと思い立ちましたので今日はその話題。


今から丁度一年ほど前に起きた隣国での『仮想通貨のマイニング禁止』に伴い、市場にゴミとなったマイニング装置が大量に流れ始めました。


メインの分散処理プロセッサ自体は設計から幾らか経っていることや、マイニング可能な残量の都合で電力対儲かる比がずいぶんと悪化しており、ごみ同然と化していました。


しかし、その中でも一際注目を集めたのが制御側の基板です。

Zynq7010を搭載し、そこそこ最低限の電源・メモリーI/Oが実装された基板は瞬く間に世間の注目の的となり、FPGA界隈の一部でお祭り騒ぎが行われました。


当時は¥1500~3000という破格の値段でそこそこの基板が出回っており、しかも、汚いながらにもそれなりの正しい中古という意味での品質が確保されていたためか、大人買いする方もよく見られました。


さて、それからずいぶんと時間がたった今、市場ではリアルにゴミ(産廃の山)からの発掘で調達しているためか、下手な業者から買うと漏れなく

  • インダクタ・コンデンサが割れている
  • パターンがはがれている
  • 割れたコンデンサを外すときにパターンを剥いでそのまま出荷

というリアルなゴミを送り付けて金銭をせしめようとする販売者が多いのもまた事実です。

私も例に漏れず、ゴミを押し付けられて販売者と揉めに揉めました。皆様におかれましても、十分にご注意ください。



さて、私も半年様子見てから漁り始めたこともあり、半数は外れであったこともあって、さっそくパターンの修復とコンデンサの再実装、そして、遊ぶに至って必要な最低限の機能を実装するための改造を行いました。

注文しても発送しない(リアルに今から採掘しに行く的な店が多く、数か月後にギブアップ宣言な)業者だらけで、世間のまともな通販業界とはかなり毛色が違うことを思い知らされました。


運良く手に入った8枚を早速遊びで使えるだけの代物にしてゆきます。

まずはPL側(FPGA側)のクロック供給。PS側(プロセッサ側)は最初から33MHzが接続されていますが、PL側(FPGA側)にはクロックが供給されていないので、FPGAだけで遊ぶときは不便です。ダンピング抵抗(20~33Ωぐらい)を実装してサクッとつなげちゃいます。



次に空いているパターンにスイッチが取り付けられるので、さくっと取り付けちゃいます。

秋月電子にも『スナップインタイプタクトスイッチ 通販コード:P-07193』で売っています。

一部のロットでは0Ωと1μFが実装されていないので、よろしく付けちゃいます。コンデンサはチャタリング防止が目的のため、値は適当で構いません。

お隣のよしみということで、J7やmicroSDカード用のコネクタも付けましょう。



次にリセット、毎回電源抜き差しするのは馬鹿らしいので、足の長いプッシュボタンを加工して、リセットIC(U65)の1ピンと3ピン(GND)の間に設置してしまいます。

今回はEthernet用の25MHzのクロックが有る物と無い物が混在していたので、ソースを合わせるためにすべて実装しました。(FPGA内部で25MHz作って出力すればいいだけなんだけど、案外と面倒くさくて忘れそう)



せっかくmicroSDカードを取り付けたのに起動できないのは残念なので、起動を切り替えるスイッチを付けてしまいます。

ついでにD24にダイオードを付けます。秋月電子にも『ショットキーバリアダイオード 40V5A SK54 通販コード:I-04128』として使える品が販売されています。

1kΩ程度の抵抗とスイッチを直列につなげたものをR2577に付けます。外側のシールド部分のレジストを剥がしてスイッチを固定しました。ロットによっては異様にレジストが厚いものがありますが、根気よく丁寧に剥がしましょう。



SDカードで起動できるならJTAGでも起動したいよね?ということで、足の長いスイッチを加工してNAND側のR2585とGNDを接続できるように設置します。

これで起動時に押していた状態であればJTAGで起動できるようになります。



Zynq7000シリーズにはXADCという内部の温度や電圧をモニタリングできる素晴らしい道具が実装されているのですが、そのままでは部品が未実装で使えない状態なので、やっつけ仕事?で強引に動くように電源供給をします。

C664→0ΩでGND接続、C327とC2354の電源側を接続して1.8V供給をします。



そして肝心のダウンロードケーブル。ピン配置があっているのにピッチが合わないので、2mmピッチと2.54㎜ピッチの変換コネクタを作って対応します。

一応電気用のホットメルトで固めて剥がれないようにします。
JTAGのピンヘッダをはんだ付けした後でこれを刺せばそのまま純正ケーブルが乗るので安心です。


後で分かりやすいようにテプラを張り付けて何のスイッチか?が分かるようにしておきます。



これで一通り完成。後はガンガン作って遊ぶだけです。 

DLC9互換のケーブルを持っていましたが、Windows10とのドライバの相性もあり、今回DLC10互換のケーブルを買うことにしました。

ドライバを色々弄ってwindows10+DLC9でも動くようにはなったのだが、正式にはサポートされておらず、かなり面倒くさい手順なので、これを機に新調しました。

自分が現役で弄ってた頃はずいぶんと昔で、ロジックの規模が今の1/10より少ないサイズでしたので、

『無限に何でも積めるような万能感』

を抱いていますが、反面、当時と同じ手法で組んだら、

『ガチガチに組み始めたら数年単位でかかる恐ろしい代物』

でもあります。


現役だったころから長い間離れていたので、高位合成とか勉強しながら程よく遊んでみたいと思います。

ではでは、今日はココまで。
またの機会に会える事を楽しみにしています。