サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 17
yuki-sato.com
ZynqとはXilinxの出しているFPGAなんですが、よくあるFPGAとちょっと違うのは CPUがFPGAと一緒に最初から入っている CPUのメモリはもちろん、2時キャッシュもFPGAとつながっていてFPGAから利用できる FPGAのコンフィグレーションをCPU側から行える ペリフェラルをFPGAを通るように切り替えられる。 FPGAにCPUが付いているというよりはCPUにFPGAが付いているような感じです。 やりたい計算をするFPGAを作ってCPUに深くつなぐような感じ。 だから、CPUじゃなくてもいいようなデータを一斉に計算したり等、特に画像処理などがイメージしやすいと思います。 Linuxを普通に動かすことができるので、そういう意味でも扱いやすいですね。 今までのFPGAではCPUを中に作ったり、SPIなどで繋いだりしていましたが、zynqだと元々入っているCPUですから性能が良い
カメラはレンズを通して撮影するのですが、その場合どうしても映像がゆがんでしまいます。 直線を撮影しても少し歪むんです。 その歪みを治すためのプログラムが、元々OpenCVには入っています。 今回はそれを使ってみます。 歪みの直し方 歪はどのぐらい歪んでいるかを検出できれば直せます。上の画像のようにチェスボードの模様を歪を治したいカメラで撮影して、この直線がどのぐらい歪んでるかで補正することができるわけです。OpenCVにはチェスボード模様を使った補正関数が元々用意されています。 まずは複数枚撮影 まずは歪んでる写真を取りましょう。 チェスボード画像は http://opencv.jp/sample/pics/chesspattern_7x10.pdf からダウンロードできます。これを印刷しましょう。 そしてカメラで何度か撮影します。できればカメラは同じ位置の方が良いです。 その時に色々な位
ZynqはARMコアが載っていて、FPGAとつながってるわけです。 当然やりたいのは「ARMで動かしてるLinuxからFPGAを使う」ことです。 これができたらFPGAにちょっとした難しい処理をするハードウェアを作っておいて、 使い慣れているC言語やNode.jsのソフトからその回路を使うことで簡単に高速化などが出来ちゃいます。 つなぐってどうやって Zynqの中はPL部(ARM)とPS部(FPGA)で、できていますね。 PL部に自分で回路を作って、ピンにアサインして外の電子部品を制御することも可能です。 もちろん外部に出さないで、高速な画像処理回路を組んでどことも繋がないということもできます。 この回路にPS側から(つまりLinux)からアクセスするにはどうしたらよいでしょうか。 PSとPLは接続可能で、PL部をメモリにマッピングすることが出来ます。 マイコンをよく使う人には分かりやすい
FPGAとは Xilinx ZYBO Zynq-7000で遊ぶ Zynqって? 電源を入れる 開発環境Vivadoを入れる VivadoでZYBO向けプロジェクト作成からBitstream出力まで VivadoとSDKでHelloWorldを出す Verilog-HDLをZynqに書き込みFPGAを使う LinuxからFPGAを使ってみる LinuxからFPGAを利用するって? Digilentからプロジェクトをもらってくる LEDのIPコアを作り接続する VivadoなしのUbuntuでGCCだけでU-Bootを作る SDKでFSBLを作る VivadoなしのUbuntuでZynq向けLinuxカーネルをビルドする RAMディスク デバイスドライバとデバイスツリーを作る ZynqのLinuxからecho 0x0F > /proc/myled でLEDをつけてみる デバイスドライバを使うC
nRF51822はBLEの利用できるNordicのチップですが、ソフトデバイスと呼ばれるNordicの用意しているプログラムを利用することで簡単にチップからBLEのadvertisingを出せたりします。 そのソフトデバイスにはいくつか種類がありますが、違いはCentralになるかPeripheralになるかです。 S110はPeripheral用のソフトデバイスです。(CentralはS120で、両方ってのがS130) S110自体はNordicのサイトからhexファイルでダウンロードできます。 また、KeilのCMSISにS110を使うためのもろもろが用意されているので今回はCMSISを使ってプロジェクトを作り、とりあえずAppleのiBeaconと同じパケットを出して見るところまでやってみます。 Keilを開く ではプロジェクトを作りましょう。 ターゲットを nRF51822xxAA
知り合いの方々へ。 タイトルの通りです。 僕は人生でやりたいことが2つあります。 インターフェイスとしての人工知能を作る エンジニアリングを始めたい人がすぐに始められるようにする 今もこれからもコンピューターができることはどんどん増えていきます。その時、機能の分だけボタンを用意して人間に操作させるなんてナンセンスです。それだと使える人が限られてしまいます。エクセルでもただクラスの平均点を出したいのに何故=AVERAGE()なんて書かないといけないんでしょう。それってどこに書いてあったんでしょうか。どこに書いてあるかを書いてるのはどこでしょうか。”=上にある数字の平均”って書いて何故出てこないんでしょうか。全てにおいてやりたいこととそれを実際にやるやり方に違いがありすぎるのです。せっかくコンピューターは色々出来るのにこれではもったいなすぎます。 僕はこの問題に挑戦します。 問題の根源はインタ
ゆとり部屋のドアの鍵を人数分作るのが大変だな〜と思ったので、遠隔で開けられるようにしました。 動いている様子や動作のまとめはこちら 構成 まず、6Vの電源をレギュレーターで5Vにして、RaspberryPiにmicroUSB経由で供給しています。また、サーボモーターがレギュレーターを介さずにダイレクトに6Vにつながっています。また、信号線はRaspberryPiのGPIOをそのままつないでいます。また、RaspberryPiは有線LANにつながっています。こんな感じ。 ソフトウェア ソフトとしてはPWMを使ってサーボモーターを回せばそれで終わりです。 なんとかブラウザ経由で開けしめしたかったので、僕が開発中のCWebというC言語用のWebFrameworkを使っています。そこで、HTTPリクエストを受けて開けるべきか閉めるべきかを判断します。これで、PCでもiPhoneでもブラウザさえあれ
このページを最初にブックマークしてみませんか?
『yuki-sato.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く