2021-01-01から1年間の記事一覧

クロックが一定じゃないって事

PCIExpressを作っていて失敗したのは、クロックが一定ではないという事でした 私が作るカメラは、基板上に発振器を持っていて、それで自分のフレームレートを作り出しています なのでフレームレートの誤差は、クロックが持っている誤差になります それは±100…

ドライバの開発 レジスタへのアクセス

今ならどうやってデバイスドライバを開発するかな?って考えた時に ソフトウェアでドライバを構築して、とりあえずPCからデバイスへの値の書き込みを行う それをNiosIIで確認してコンソールへ出力 こんな感じで行うかなと思います また、シグナルタップで監…

FPGAのプログラムとドライバの開発

PCI Expressの開発をしていて、一番苦労を感じたのは、デバイスドライバの開発です 私はカメラを作った時からハードウェアのエンジニアになったので、ソフトの方は新卒から6年過ごした会社での経験しかないので、そこからのソフトウェアの知識のアップデート…

また黙々と

PCI Expressに着手しましたが、もともと出来合いのボードを買ってきて、FPGAの中をいじれましたと言うところを見せて、開発の許可が降りたところなので まだ何も始まっていません。 まずは、買ってきたボードを使って、ボード内部に仮想のカメラを用意して …

PCIExpressの実験

何とか12万円のボードを購入する事を勝ち取った私は 早速PLDa社からボードを購入しました 当時はまだ海外と言うのはちょっと閾が高いので ボードが届く瞬間はワクワクしました 今は、毎日のように海外のサイトから部材を購入したりしてしまって ただただ忙…

PCI Expressの勉強を始める

今ふと思うことは、三平方の定理も、微分方程式も、教科書に書いてあるので なんて楽に学習できる知識だったのだろうと言うことです PCI EXpressの作り方は、どこにも書いてありませんでした(正確には分厚い英語で書かれた参考書はありましたがちんぷんかん…

次はPCIExpress

PCIバスの構成でカメラを作り終えた私は、次はPCI Expressに挑みます 実は当時既にPCIバスは陳腐化しかけていた技術でしたが PCI Expressは、PCIバスと違い、信号が一本(一対)のラインで送られます 複数のラインであっても、それはパケットを分けて送ってい…

人間関係

古い情報ですが、仕事を辞める理由の一位は人間関係だそうです 私も人間関係は随分悩まされました。 私が見たところ、エンジニアと営業を比べるとやはり営業の方が人付き合いが上手で 更に言うと、ハードウェアエンジニアの方がその名前の通り柔軟性がないと…

カメラはできた、ここが始まりだ

基板を渡されてから一年くらいで、なんとかカメラを作り終えました このカメラを買ってくれる予定のお客さんのところに持っていって お見せしました この時のカメラは1000x1000の解像度で500fpsぐらいのものでした 最近は一般的なカメラでも200fps以上のスロ…

NiosIIを知る

FPGAの中に入れるCPUについては、最初のカメラを作っている最中に知りました。 最初にその事を知った時は「え?CPUってそんな簡単に実装できちゃうの?」と言う感覚でした(簡単ではなかったけどね) 最初のカメラにはCPUは実装しませんでしたが 次第に、CPU…

カラーイメージセンサ

基板の事ばかり書いていたので、カメラを作るお話をしていた事を すっかり忘れていました。 さて、前述した通り、私が作っていたカメラは、モノクロカメラですが 実は、同じ構成のまま、イメージセンサだけ乗せ換えれば、このカメラは カラーカメラに生まれ…

FPGAがいっぱいいっぱい

SDRAMの調整も終息に向かって、最終調整に向かう頃、とても苦労したのが FPGAのリソースが殆どなくなってきた事です 75%くらい消費していました。 後25%も残っているように思いますがFPGAのコンパイルは消費リソースが増えるとより苦しくなってきます。例え…

デジタルだけが課題じゃない

ハンダ付け SDRAMを操作するときにとても苦労したのは ロジック的には間違っていない筈なのに、なんでかデータが合わない事がありました クロック信号の回路を見直すと、変な所に抵抗とコンデンサがついている 上司に聞くと終端抵抗だと言う 電子回路に馴染…

SDRAMの工夫

SDRAMロジックの調整を始めた私は、何度も挫折しそうになりました。 そのうちの一つは、アドレスの指定です 前回PCIのロジックで説明したのと同じように、アドレスを指定した後で、続くアドレスに、連続してデータを送って行きます このアドレスの指定が難し…

SDRAMという大敵

最後の壁になったのはSDRAMでした と、言うより、とても面倒くさそうだったので、最後まで手を付けなかったのがSDRAMです。 さてここで問題です、FPGAでSDRAMをコントロールするにはどうしたら良いでしょうか? ・・・・ はい、正解です。IP-Coreを使います…