えー?回路間違ってんじゃん!


さて、絵が出る様になった頃、不思議な現象がおきました

確かに絵が出るのですが、絵を明るくしていくと、ある部分がぽこっと黒くなってしまうのです、暗くなった部分は色が消えるわけではなく、そこにはそこで、絵があるのですが、いったん黒くなって、また明るくなります。

ふえー?なんだこれは?

1,2,3,4と増えていくはずの値が、突然折り返すと、精神衛生上とても良くないです。

 

f:id:info-akiron-com:20201205102929g:plain

ビット不正

私の特技は、不具合が出た時にその不具合を追い詰める事です

ソフトウェアの不具合はバグ(虫)と呼びますが、このバグの発生箇所を

追い詰めるのは、なかなか自信があります

 

まずは、何が起きているかを調べます

今回の場合、明るさに起因している事は間違いないので

丸いボールの様なものを用意したりします

ここに光を当てて、絞りを調節すると、明るさが段階的に変化する絵ができます

この値が、いくつになるのかを見ていきます

 

まず、光を遮光して真っ黒にします、イメージセンサの出力は真っ黒にしても少し出ているので(完全に0になったらどこかおかしいですよ)2〜10暗いの値がチラチラしていきます。

ここでは不具合がないので、少しずつ明るくしていきます。

最終的に光量は255まで明るくなります。

え?0〜255まで値が出てんじゃん!

俺の予想は127あたりで折り返すのかと思ってたけれど、ちゃんと255まで出ている・・・っと思ったら0に戻りました、なんと明るくしていくとまた0に戻り、値が上がっていく、更に255まで上がってから0にもどる。

光が飽和するところまで完全に明るくすると全て255になるのですが、その間に3回飽和していました。

 

ここから、回路を戻っていきます。

一つの画素信号に注目していき、bit7(最上位)ビットをオシロスコープで確認しながら

光を当てていきます

これでポイントを遡っていき、どこまで正常かを見ていきます。

 

最終的に、どこまで行ってもこの不具合は繋がっていて、源泉のイメージセンサにたどり着きました。

英語の仕様書を読み直します。

すると、なんと言う事でしょう。

このセンサーは10bitの出力でした

FPGAのピン数の制限で、10ビット全てを取り込む事ができなかったため

上位8bitを取り込もうとして、下位8ビットを取り込む回路になっていました。

 

私は回路を引いた上司に報告した・・・