lynxeyedの電音鍵盤

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

カメラ基板が到着

Spartan-6 LX9 MicroBoard用カメラスタック基板が到着しました。LPDDRを読み書きするMCBの速度評価をしたいと思います。 10月31日に発注したので到着まで27日かかった模様。 3電源回路ですが部品点数がかなり少ないので2層で十分です。 FusionPCBに発注しま…

累乗則変換を考慮したHSV変換とMATLAB

前回、超絶適当に画像処理しましたが、すこしシミュレーションも交え真面目にやってみる事にしました。 画像データ、とりわけトゥルー・カラーには多くの情報がおさめられているので、用途に応じて適切な画素処理または画像強調処理を施します。例えば圧縮処…

特定の方々が条項の1文を取り上げて騒ぎにしていたCODE REDのライセンスについて

正確な事の発端は知りかねますが、LPCXpresso LPC1343が秋月で取り扱われ始まった、ちょうど1年くらい前から話題にしていた事で、「LPCXpressoのライセンスがあまりにも酷い。ライブラリのいかなる再配布(cr_startup周辺)も出来ないし、(ry」 というもの。 …

GitHubにMARY-DUINOの公開リポジトリを設置

MARY-DUINOの最適化時のバグ等が取れたのでアルファ版からベータ版へ引き上げます。 現状ではLPCXpresso IDE4のプロジェクトとなっております。 併せてGitHubにリポジトリを設置しました。フォークして利用者間での開発・公開を目指したいと思います。 今後…

LPC1114を使うArduino互換API環境、MARYDuinoでカラーセンサーを使う話

最近作っているSpartan-6 MicroBoardスタック用カメラボードはロボットの目の部分、つまり画像認識やSURF処理のために作っています。 ついでにiOS環境でHSV変換プログラミングをしているのはiPhone上のカメラで捕らえた映像の色認識をするため。 これから書…

MARYDuinoがXBee Arduinoライブラリに対応

久々のMARY基板ネタです。 巷ではXBeeが流行っているようです。 自分も秋月でお安くなっていたXBee Series2を3個買ってみました。 「何これわかんねぇw」無線化されたUARTの如く使える透過モードはいいとして、APIモードとか解りません。便利そうなんだけど…

Spartan-6のMCBとカメラボード設計

ずっと、UG388と格闘しつつMIGを使ってLPDDRを駆動するMCBラッパをインスタンシエートしたり、シミュレーションしている訳ですが、ALTERAユーザから見るとかなり奇異に見えるかも知れません。(自分もそうだったので) まず、Spartan-3E、Spartan-6、Virtex-6…

iPhoneでRGB<-->HSV変換

iOS

iPhoneで色認識をしてみようと思います。 人の目(というかそれを処理しているのは脳ですが)は意識しなくても 色の彩度 色の明度 を認識できます。 例えば下の図に示す2つの四角の色は、 「濃い赤」「薄い赤」 とか 「暗い赤」「明るい赤」 と表現することが…

Spartan-6 LX9 MicroBoardを使ったLPDDR SDRAMのハードマクロ実装(その4)

MIGが生成したuser_designを使って、MCBラッパーと分散メモリのインスタンシエートをしているわけですが、ふと、違和感を感じました。user_designのトップファイルのモジュール宣言。 module mymig # ( //(中略) ) ( inout [C3_NUM_DQ_PINS-1:0] mcb3_dram_d…

1秒ごとにiPhoneカメラのライブプレビュをキャプチャしたいんだけど

iOS

iPod touchを買いました。touchは1世代目をとうの昔に売ってしまって、iPhone3GSを購入してからは必要なかったので。 GRIFFINのラバーケースもカッコいいので次いでに購入。*1 で、ちょっと必要に駆られてiOSを弄ってます。 解像度は必要ないんだけどカメラ…

分散RAMのインスタンシエートとMCBの連結(その1)

FPGAを使う理由として同期・非同期FIFOをたくさん用意したい、という点があると思います。 FPGAは内部がSRAMのお化けですし、タイミングが厳しいときはマイコンを使うわけにはいきません。今回、MIGが生成したMCBラッパの32bit幅のデータをLPDDR SDRAM動作ク…

Spartan-6 LX9 MicroBoardを使ったLPDDR SDRAMのハードマクロ実装(その3)

今回はちょっと脇道でハードデバッグの方法を勉強しています。 前回と前々回でネイティブMCBのexample_designインプリメントを行いました。 今回は、ChipScopeの使い方を色々調べていました。 ◆参考文献 いつものとおりです ユーザーガイド(PDF注意) UG416:S…

Spartan-6 LX9 MicroBoardを使ったLPDDR SDRAMのハードマクロ実装(その2)

前回ざっくりとMIGを弄ってみました。今回は実際にインプリするので、……まぁ今回もざっくりと(ぉぃ 今回は実装し、動作をChipScopeを用いて確認するところまで行います。 前回、create_ise.batで自動生成したデザインは2種類ありました。それぞれ次のような…

Spartan-6 LX9を使ったLPDDR SDRAMのハードマクロ実装(その1)

例のAVNET Spartan-6 LX9 MicroBoardにはLPDDR SDRAM(MT46H32M16)が載ってます。 Virtex-6と同様Spartan-6にもMCB(Memory Controller Block)が搭載されており、外部メモリを内蔵ハードウェアで駆動します。 MCBは通常はMIGツールを利用してGUIでリソースラッ…

AVNETのSpartan-6 LX9 MicroBoardがiMPACTに認識されない件の解決方法

秋月電子でこの微妙なボードが売り出されたこともあり、多くの人がSpartan-6に触れる機会が出てきたようです。 てか、このLPDDR、こんなパスコンで性能出しきれんのかよw MicroBlazeには正直あまり興味がわかないのですが、(よりによってLX9にソフトCPU積ん…

MARYDuinoにSDクラス組み込もうとしたけど、どうしたものか

MARY基板のWikiサイトでArduino「っぽいコーディングが出来る」MARYDuinoを作ってます。 簡単なArduinoスケッチであればほぼ無変更で動くかも? ↑Arduino言語とOLEDクラスでマンデルブロ集合演算させてた結果を描画中の図 といってもまだまだ実装できていな…

Java VMとバイトコードとマイコンの親和性は良好?

最近、とある事がきっかけでJVMの勉強をしています。FPGAでOISCを作りたいってちょっと前から思っていて*1その時、id:suikan 氏に「それはスタックマシンの独壇場だろう」と。 ここから脱線が始まる訳です。 FPGAでOISCを作ったは良いけど自分でコンパイラか…

Mac OS X Lionにしたらarm-elf-gccの野良ビルドができなくなったので再挑戦

昨日のネタの補足です。とほほ。 昨日はSnow Leopardでコンパイルして上手くいってたのですが、Lionにしてからconfigureさえ通らない顛末に。 たぶん、ARM以外のクロスコンパイラでも参考にはなるんじゃないかなとか■ gccがクロスコンパイラをコンパイル出来…

arm-elf-g++でC++がなぜかコンパイルできなかったからarm-elf-gcc-4.6.1を野良ビルド(Mac OS X 編)

ここに記した内容はSnow Leopardで試したものです。Lionでは動かなかったのでこちらでLionの時のarm-elf-gccの野良ビルドを試しましたので併せてご覧ください。 Mac OSXで動作するARMクロスコンパイラはMacPortsで簡単に $ sudo port install arm-elf-gccで…

周波数領域での信号処理/アダマール変換とユニタリ行列

前回まで、ライスゴロム符号化を使った時間領域での音声圧縮・伸長のマイコンへの移植ネタを書きました。信号処理でもとりわけ画像の信号処理は音声と比較して帯域が広いので周波数領域での信号処理を強いられる事が多いように思えます。今回、アダマール変…

LPCXpresso LPC1227でMARYボードAPIを流用したSPIライブラリ

Cortex-M0でもDMAが動くLPC1227ですが、FatFsを移植しDMA化したいと思います。 まずは、DMAなしでSPIを動かすところからはじめたいと思いました。 LPC1768/1769の時は、CMSISに準拠したペリフェラルドライバライブラリが提供されていましたが、現時点ではま…

ポータブルな可逆圧縮オーディオフォーマットの高圧縮率化をめざしました

C○I ミドルウェアさんが組み込み向け「非可逆圧縮」オーヂオフォーマットを出してるそうですね。 ナルホドネー(調査中) で、このブログのメインタイトルとなっている可逆圧縮です。ハイ。可逆圧縮オーディオは、圧縮されたデータからもとのデータを100%取り…

Visual Basic .NETで簡単なフロントエンドを組む

ハードウェアな組み込みやってると、PC側のアプリケーションプログラムを組むときもC言語が多いです。 自分だけで使うならコマンドラインベースの使いづらいプログラムでも別に困りません。 でも、納品となると、ちょっとはGUIっぽいフロントエンドつけて気…

DMA付きCortex-M0 / LPCXpresso LPC1227が来た

まだ日本に上陸していないLPCXpresso LPC1227を極秘裏に入手しました。ケケケケ 緒言 128KB flash 8KB SRAM micro DMA controller CRC engine Fm+ I2C 10-bit ADC 2 comparators Flash容量すげー。最大45MHz動作(フラッシュ1ウェイト。30MHzまでならフラッシュゼ…

MAX V評価用ボード設計中です

使い方がうっすらとわかり始めたDesignSpark PCBですが、MAX Vの基板を設計しています。結構めんどうだったのはComponentにMAX V CPLD(5M570ZT144C5N)の端子名を全手動入力… 3D表示もしてみました。 はじめは3D表示をさせたところ、変な立方体が基板上にある…

DesignSpark PCBでCPLDの回路図シンボルとWizardを使ってPCBシンボルを作り、それぞれのコンポーネントの関連付けをする

CAD

フリーなのに4層以上の基板が作れてしまうPCB CAD、DesignSpark PCBをつかってこの間買ったMAX V CPLD用の基板をこさえてみようと思います。せっかくなので、SDRAMとSPI ROMと、CMOSイメージセンサもつけてしまいます。 PCB CADでは必ずといっていいほど、使…

大きいお友達

アルテラの新兵器がDigi-Keyでお安くなっていたので買いましたよ。 5M570ZT144C5Nです これだけ足生えてれば、何でもできそう?…いや、、

8bit SPIスレーブの実装

FPGA4FUNのSPIスレーブVerilogコードがあまり実用的でなかったので書き直したメモです。 fpga4funのSPIコードでは、CS(SSEL)信号やSCK、MOSIの状態を3bitのシフトレジスタにコピーし、立ち上がり・立ち下がりを観測している様です。

mbed本が出た

じぇーけーそふとさんがmbed本をリリースされました。別冊 CQ ham radio (ハムラジオ) 増刊 マイコンと電子工作 2011年 03月号 [雑誌]出版社/メーカー: CQ出版発売日: 2011/02/25メディア: 雑誌購入: 5人 クリック: 46回この商品を含むブログ (4件) を見る …

NXPのARMプロセッサのDMAを理解したい

LPC1768/LPC1769を使っていて、是非使いたい機能の中にDMAがあります。しかし、GPDMAとあるように汎用DMAになると特定のペリフェラルに特化していないDMAとなるため、はじめてNXPマイコンを使う人に取っては設定項目の多さ、初期化手順の混沌といった問題に…