FPGA/CPUで電子ブロック遊び

FPGAやAVRを使って、遊んでみた記録

6PIN AVRプロセッサ?

なんでも6ピンのAVR Tinyが出たようですね。
http://journal.mycom.co.jp/news/2009/11/25/003/index.html

ATtiny4/5/9/10がそれのようです。
http://www.atmel.com/dyn/products/product_card.asp?part_id=4605

* ATtiny4
512byte Flash
32Byte SRAM
one 16bits timer/PWM
Analog Comparator

* ATtiny5/9/10
ATtiny4 + ADC = ATtiny5
1Kb version = ATtiny9
ATtiny9 + ADC = ATtiny10

だそうな、、、

SparkFunがSPARKの名前が付いていることで訴えられそう?

どうもSparkFunがSPARK(プロセッサ)の名前が付いていることでSPARK Internationalと言う会社(SUNの子会社らしい)から手紙を受け取ったそうです。

SparkFun Gets a Cease and Desist Letter

これによるとSPARK Internationalは、SparkFunの名前がSPARKに似すぎているそうで、sparkfun.comドメインをよこせ!と言ってきたそうです。

ひどいな〜
SPARKプロセッサと、SparkFunとはまったく違うのにね。


ちなみに、SparkFunの名前は、創業者のNathanさんが実験中に火花を飛ばしてしまったことから付いたそうです。

SparkFunのPocket AVR Programmer


SparkFunのPocket AVR Programmerを買ったのですが、これがまた上手く動きません。

母艦にThinkPad X31、OSはUbuntu9.04で、avrdudeで使おうとしているのですが、毎回、avrdudeの実行中にこのプログラマーがフリーズしてしまいます。(実行中のLED2つが着いたまま。特定の場所ではなくて、ランダムな場所で、、、)

なぜだろう、、、と思って回路図を眺めていたところ、USBのD+/D-ラインに3.6Vのツエナーダイオードがこのプログラマーでは付いていません。どうも、このせいで特定のUSBホストとは上手く通信できないようです。

で、ツエナーダイオードを取り付けられないかボードを眺めていたのですが、あまりにパターンが狭くて半田付けするのは無理そうな様子、、、

なので、とりあえず、ターゲットのAVRボードがたまたま3.3Vの電源だったので、では、そっちから電源を取って、このプログラマーを駆動してしまえばいいかな?と思って、USBの5Vのラインが来ているJP1をパターンカットして、ターゲット側から電源を取るSW1を「Power Target」側にして実行すると、すんなり問題なくavrdudeが実行されました。

でも、この状態では、ターゲットに電源があって、しかも3.3Vでないと動きません。これじゃあ、あまり実用になりません。

たまたまAVR-CDCの回路を見ていたら、USBの5VにLEDを付けて(LEDは2Vほど落ちるので)3V前後にして、AVRのVccにつないでいました。

じゃあ、同じようにしよう、と言うことでパターンカットしたJP1に今度はLEDを付けてみました。

いくつか手持ちのLEDを試したのですが、黄色のLEDはちょうど2.00V落ちた(Vcc: 3.00V)のですが、上手く動きませんでした。しかし小さい赤のLEDが1.875Vほど落ちた(Vcc: 3.125V)のでちょうど良いようです。

DSC00414-1


テスト結果も良好。

ついでに、ゼロプレッシャーのソケット<->AVR用ISP6ピン端子の基盤も作って大変良い感じでAVRがプログラムできるようになりました。

(でも良く見ると、LEDつけるのに失敗して別の場所へジャンパーを飛ばしているのが見えていますが、それは、ご愛嬌、、、)

AVR Shell

なんか、ここの所、このBlogには書くことが無い状態が続いていますが、ちょっと興味深いものを見つけました。

AVR Shell

AVR上で動くunix shell的なもの?らいしいですね、、、
なんでも、ポートやレジスタのビットのRead/Writeや、タイマーの操作、CPUクロックの設定、各サブシステムのPowerUp/Downなどができるようです、、、(Telnetがどーの、とか書いてあるので、Etherシールドなんかもサポートしているのかも?)

動くのはArduinoか、ATmega328P とその上位品を使ったものの上でだけのようなので、内にあるAVR君達では動かないですね、、、

残念。

Serial2LCDモジュールを作る

前々回でAVRをLCDにつなぎ、前回はAVRをシリアルポートにつないでみたので、今回はその2つをまとめてSerial2LCDモジュールを作ってみます。

続きを読む

AVRとPCをシリアルでつないでみる。

前回のLCD libraryと同じ「AVR-GCC libraries」のページには、他にも「I2C Master Interface」と「UART library」があります。

今回は、この「UART library」を使ってPCと接続してみました。

続きを読む

AVRにLCDをつないでみる。

AVRにLCDをつないで出力できれば、おもしろいしデバックにも使えるなと思って、簡単な方法は無いかと調べてみました。

続きを読む

EclipseからサンプルプログラムをAVRに入れてみる。

AVR用のLibC、avr-libcのサイト(ドキュメント)にはいくつかのサンプルプログラムがあるので、その中のA simple project(LEDをPWMにつないで、ふあーっと明るくする)をEclipseからやってみる。

続きを読む

UbuntuでAVRプログラム環境を整えるには、、、



さて、AVRを使ってみようと準備中なのですが、まず、ハード側はまあ、ブレッドボードにパーツを載せて行けばいいかな、と。AVRにプログラムをダウンロードするAVRプログラマには、前のSpartan3StarterKitに付属していたJTAGケーブルが、AVRDudeと言うプログラムでサポートされているので問題なさそう。

で、ソフト側ですが、コンパイラにはGCCが使えるようで、IDEではWindowsにはWinAVRというものが使えて、Linux上でもEclipseが使えるようです。

続きを読む

AVR使ってみよう。

いやー、3年もこのBlog放置してました〜!

なんと言うか、FPGAやHDLってすごくプログラマの私には興味深くて面白かったのですが、いかんせん、結構めんどくさいのと、いろいろ考えているうちに「なんだかこれって、FPGAにするよりCPU使った方が簡単じゃないか?」ってな事がよくあって、とにかく何でもHDLで書いてみよう!って気分がだんだん落ちてきていたのでした。(で、最後にはほとんどリンク集な感じになってしまって、、、)


最近、LCD4Linuxプロジェクトと言う、サーバーにLCDを付けて負荷状態などを表示させるプログラム

があるのを知って、ぼくも使ってみたいと思ったのですが、そのLCD4Linuxがサポートしているデバイスで安価なものはほとんど自作の物で、その中にUSB接続のLCD2USBプロジェクトと言うものがあるのですが、これ、安いAVRのマイコンに外付けのUSBチップ無しで、USBを直接接続して、ソフトウエアでUSBをサポートしている物で、これはスゴイ!とちょっと感動してしまったのでした。(ちなみに、このAVRでUSBを直接動かすのは、結構はやっていることらしく、V-USBプロジェクトが元らしい)

で、俺もAVR使って電子工作でもしてみようかな?

と思ったわけで、また、このBlogを(ちょっとタイトル変えて)また使ってその記録を残してみることにしました。

まあ、またいつまで続くか分かりませんが、、、よろしく。
最新コメント
最新トラックバック
  • ライブドアブログ