lynxeyedの電音鍵盤

MBDとFPGAと車載で使うデバイスの備忘録

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

EOS S3基板の実装が完了したらしい

実装完了 QuickLogic EOS S3の実装が完了したとのこと。下記写真とX線検査が送られてきました。 まぁ、予想通り。短絡検査などの確認は全数検査が終わり、年明けに発送されるとのことでした。 なんでシルク黄色なんだろ… 楽しみ、と言いたいところですが、一…

QuickLogic EOS S3基板を起こすハメになった話

ついに半導体枯渇が死活問題になってきた ある程度の在庫を抱えてはいたのですが、Cyclone 10LP/MAX10が枯渇しそうです。 少なくともトレイに入った状態のintel FPGAはここ半年くらいお目にかかっていません。在庫しているボードものこりがわずかで、使い終…

QuickLogic EOS S3でCMOSカメラOV5642を駆動する

小規模FPGA+小規模マイコンならではの使い方としてイメージセンサの駆動は最適かもしれません。 マイコンだけだと、駆動ロジック自体は単純な割に処理速度がギリギリになってしまうからです。外部メモリーIFを持っているマイコンであれば駆動は簡単ですが、…

QuickLogic EOS S3のハードマクロFIFOを使う

EOS S3はPSoC3/5LPと比較すると、アーキテクチャの差があるので単純比較できないものの、およそ3~4.5倍ほどの論理ゲート規模を有します。それはそうと、ロジック規模だけで優劣をつけてしまうので有れば15年以上前のCPLDと同等になってしまいます。それ以上…

QuickLogic EOS S3をDockerで使う

前回の記事のキャッチアップです。Dockerが使えると環境整備の負担が少なくて良いので、作ってみました。 脱・開発環境汚染 現在、複数の大学と企業と連携したプロジェクトで開発をしているのですが、環境構築やってらんない、CI/CD考慮した環境にすべきとの…

小規模マイコン+FPGA、QuickLogic EOS S3の試食

小さめなマイコン+グルーロジックの代表格はPSoC5 LPなどが挙げられます。回路規模でその上になるとXilinxであればZynq、IntelであればCyclone V SoCのような比較的中規模デバイスでしょう。www.quicklogic.com 昨年の11月に購入して積んでいました。 必要に…

intelHLSプロトタイプの設計(Cyclone10GX基板の設計)

最近では、安全運転支援のカメラ開発も乗用車から船舶向け、最近では庫内の運搬用群ロボットまで引き合いをいただいております。 ありがとうございます。 開発スピード向上 上記のような簡易プロトタイプ用途としてCyclone10LPのボードを1年前に開発しました…

高度運転支援向け単眼カメラの実装(4.道路認識エンジンの実装)

前回は全結合ニューラルネットワークの試作までをしました。通常は畳み込み層を多段追加したCNNを利用して画像認識を行います。 一方で、ハードリアルタイムの要件を満たすには、この畳み込み層のえげつない量の行列のドット積を次フレームが来る前に素早く…

MATLABによる軽量NNの開発(2:CIFAR-10の分類テスト)

前回はMNISTでした。白黒で文字だけということで、限定的な状況であるので、全結合でも層を深くしなくてもそこそこの成績は出るかとおもいます。 今後のCNN(FPGA-BNN)ではチャネルが3(=RGB)で進めていくと思うのでチャネルを増やした時に正常動作するかの確…

MATLABによる軽量NNの開発(1:環境の整備)

ゼロから作るDeepLearning 前回の話題からの続きになります。 こんな本をいただきました。有難うございます。 5章の誤差逆伝播を重点的にお勉強して、4~7章を読みました。SURF/SIFT/k-means/KL変換など古典的な画像処理をしていた人は4,5章だけでもいいかも…

MATLABでCIFAR-10のファイル読み込み(だけ)してみる

中身のない内容なんだけれども、いざ使う時に忘れるので覚書きです。 物体認識用のデータ・セットに使われるThe CIFAR-10 datasetをMATLABで表示する方法です。www.cs.toronto.edu 準備 MATLAB用のデータセット「CIFAR-10 Matlab version」をダウンロードし…

高度運転支援向け単眼カメラの実装(3.ニューラルネットワークの基本実装)

パーセプトロンの収束定理の壁 深度推定のフィルタを試作し様々な環境で調査して、ある程度どんな環境にも対応できそうなパラメータを決定しました。 が、すこし問題が出てきました。 すごく白い道路を道路と認識せず、壁と認識し、警告が止まらなくなる。(…

自作RISC-Vでスイッチサイエンスの測距ToFセンサー VL53L1X を動かす

2000円もせずに400cm測れる超優秀なセンサーモジュールがあります。www.switch-science.com4mまで測れるので単眼カメラの停止時の車間詰め補助に使おうと思っています。 ADAS搭載車両で、前方車両が発進したことを知らせる機能がある車両がありますが、大抵4…

高度運転支援向け単眼カメラの実装(2.深度推定と夜間走行対応)

前回、パーティクルフィルタを用いた車両の追跡を簡易的に実装しました。 こちらをさらに展開していきます。 対象車両 この装置の対象は、4輪の軽自動車、超小型車を想定しています。また車両への後付けにも対応したいと思っています。 つまり、先進運転支援…

自作RISC-V向けにCライブラリの整備やPlatformDesigner連携をする

前回の記事でCが使えるようになりました。ですが、標準入出力もない乗除算もできない不便なものでした。 組み込みマイコンレベルで使えるように整備していきます。 libgccをリンクする RV32Iは算術演算命令セットとしては加減算とシフトくらいしかありません…

Raspberry Pi Zero/3B/4BでOpenOCDを使う(GPIOによるBitbanging)

FPGAのSVF PlayerとしてOpenOCDを使う ベンダに依存しないJTAGテストパターン形式としてSVFがあります。 www.xjtag.com OpenOCDもこれに対応しているため、出先でconfigをしなければならない場合など、FPGAのメイン開発じゃない時はかなり重宝しています。 …

C言語で自作RISC-Vを動作させる

前回の記事でアセンブラでLチカ、Hello worldはできました。 今回はC言語で試してみました。 実用性を求めるとC記述でも動作することが重要ですが、なによりもハーバードアーキテクチャの場合、Load/Store動作のデバッグになると思います。関数にジャンプす…