twiiterもチェック!! 15億画素カメラ自作企画進行中!

スキャナカメラのフルスクラッチ【11:polarfire編⑤】

カメラ
この記事は約7分で読めます。

polarfireに移行してから,備忘録的にこのシリーズをupするようになってもう5回目です.最初の記事,概要を投稿したのが2020年9月4日という事で実に5年もコレをちんたらと進めているわけですが,polarfire編は①でも2024年11月18日投稿ということで,ほぼ半分の記事数がここ1年弱で急速に出ていることになります.まあ子供生まれたり(×2)で手を付けてない時期があるので,5年半真面目にこれだけやってきたという事では全くないのですが,それにしても2024年からは本当に完成させるぞという気概を持って少しずつとはいえ歩を進められているのではないかと思います.
それにHW側はほとんど2020~2022くらいまでのものを使えているので,過去の取り組みも全部無駄だったわけではありません.明確に失敗したのは初期試作&大爆死編だけですかね…?

というわけで今回も引き続きpolarfire編になります.

ブレイクアウトボード(改) 着弾

というわけで前回発注した基板が届いたので早速はんだ付けしていきます.
センサ基板と接続するためのコネクタは16pin表面実装コネクタ×2で,今回は試作基板なのでまあまあ間隔を広げてはいますが,それでも手はんだするにはかなり厳しいので,ここだけリフローします.今回の基板に関してはそこ以外は全部スルーホールなので,こっちは手はんだしていきます.

余談 : 自宅のリフロー炉のお話

しれっと前回基板から今回の基板に移行するまでの期間で,リフロー炉の位置をお引越ししました.押し入れの中です.6月に引越した際にこのリフロー炉は廃棄したので一応画像残しておこうかなという事で

さらに余談ですがリフロー炉を廃棄する理由としては「自作キーボードの基板が入らない」がメインの理由です.横幅広くていい感じの安いオーブンがあったら引越し後に再度製作する可能性は一応あります.
かなり便利なので…

で,デカくするとそれはそれで小さい基板に対して一々それを引っ張り出したりするのも面倒になることが予想されるという事で,代わりに小さい基板用のミニホットプレートを買っちゃいましたw

G3061 PD65W ミニホットプレートデジタルはんだ予熱リワークステーション PCB SMD ボードはんだプレート加熱テーブル修復ツール - AliExpress 1420
Smarter Shopping, Better Living! Aliexpress.com

一時大流行りしていたやつなので出遅れもいいところですが,まあそれは置いておくとして.

これマジで重宝しています.両面実装しないといけない時とこいつに収まらない大きな基板以外オーブンの出番が消失しました.

ADCデータ受信再テスト

前回,データ受信がうまくいかずに原因を探していたところ,そのうちの一つとして実はADCから来るデータが「fractional aligned」なフォーマットで送られてきているのに,FPGA側の設定を「aligned」としていたために不整合が起きていたのではないかとして基板回収を行ったというのが現在の状況です.

SWやビットストリームにおける上記に関連した箇所を修正した状態でデータ受信テストを行って,それでもなお「データが受信できない/受信できても想定と違う」という可能性は十分にあります.

とりあえずまずは必要最低限のお直しをして再度受信テストをしてみます.

結果は…

「オシロで見る限りそれっぽいけどDMAにはまだデータが来ない」

というまあ何とも言えない結果でした.

少なくとも「fractional aligned」なデータをそれとして受け取れていそうな雰囲気は,デシリアライザ直後のパラレルデータを評価ボードのLEDに出力させて確認してみています.7:1のLVDSなので21bitのパラレルデータになりますが,上位5bitがフラグで,残りの16bitがデータ本体になります.

評価ボード上にはLEDが12個しかないので,主にフラグ部分を出力して,それっぽいデータになっているかを確認しています.

再びCCD基板およびCCDコントローラICの設定へ

FPGA側は要素技術としてはもうこれ以上間違っているところはないのでは?というところに来ましたが相変わらず画が見えないという事で,再度センサ基板側に戻ってきました.
なんかICからLVDSがそれっぽく出ている様に見えるという事で信頼していましたが,結局中身の信号を追えてないと正しいか否かわからないという事で,ようやく?意を決してセンサ基板もデバッグ端子を生やすことにしました.

デバッグ基板作成

基板1枚あたりの材料費で渋沢栄一さんが一人不在にになるレベルなのであまりやりたくはありませんでしたが背に腹は代えられません.というか今までそうやっていくつものICを無駄にしてきたので手遅れです.なぜ最初にこの形で基板作って順番にステップ踏んでいかなかったのか…

如何に私が開発経験に乏しいかがよくわかると思います.

というわけで作ったのがコレ

ベースがあるので基板サイズ広げて端子引き抜いてきただけです.面白味は特になし.

あ,上のピロピロしてるリードはコンデンサです.CCDコントローラ側のデータシートにしれっと

Typically sensor Blue output AC-coupled thru a capacitor.

と書いてあるの見逃してて実装してなかったので入れてみました.不要だった時や定数を変更する時のためにソケットおけるようにフットプリント用意しましたが,一旦めんどくさくて適当にリード曲げて接触させているだけ,というのが今なわけですw

で,ICだけ実装して動かしてみたところ…衝撃的なことにCCDへのクロック信号が一切出力されてませんでした…こんなん動くわけないやろがい…

あと地味にコネクタ変更しました.フレキ接続するコネクタにZIFじゃないものを(サイズ削減のため)採用していたのですが,数回FFC抜き差しするとFFCのパターンがはがれるとかいうクソ仕様で無駄に出費が増えていたので,この際と思ってZIFコネクタ選定して切り替えました.サイズが大きくなるので入らないかもと思っていたのですが何とかなりました.一点,データシートには「必ず指でロック板の操作しろ」と書かれてますが,どうしてもスペース確保ができなかったので片方だけピンセットでロックしてます.もうそれくらいは許して…

CCDコントローラ設定再考

というわけでデバッグ端子みながらレジスタいじったり色々しました.もう結論から箇条書きしてくと

  • システムクロック周りの設定,SSCG(スペクトラム拡散クロック)を適用するとうまくいかなかったりするので今はOFF.ただSSCGはノイズ対策として有用なので要継続検討.
  • レジスタ設定ミス.信号出さない設定になっている箇所が…
  • 評価ボードの5V端子の内片方のドライブ能力が低すぎた?ため5V系のクロックだけ全く動かなかった

大きいのはこの3点で,CCDに供給すべきクロックはとりあえず出るようになったので,1000円の激安中華ロジアナ(8ch,24MHz)でクロックを確認しつつ,データシートに合うように最終調整しました.

ついに…

というわけで紆余曲折ありましたが,ついにCCDが動作してそうな事は確認できました!

「してそう」というのは,あくまでもオシロで直接CCDのアナログ出力を見ている状態で,未だにLVDSはウンともスンとも言ってない状況なので,CCDの動確が取れたことを踏まえて再度FPGA側の動きと,LVDS信号そのもののモニタリングも行っていく予定です.

まとめ

今回はここまでにしておきます.

ここまでの進捗で,HW側の準備はデバッグ含めてかなり進んだと思います.

CCDコントローラのレジスタ設定は詳細含めてちゃんとログを残そうと思います…
公開するかどうかは別として…(※既に下書きにメモを書いてますw)

次はLVDSのデバッグ再び,というところですが,これが終わったら本当にとりあえずの画は見れるかも…!? な領域に入ってきた気がするので,非常にテンションが上がっています!!

もう少しだ…頑張るぞ…!!

コメント

タイトルとURLをコピーしました