ブログ - 最新エントリー

74HC241を使えば、1つのICでAX-12+用の回路を作れる、というのが前回までのあらすじ。ちなみにDIPパッケージだと約110円。占有スペースが減るのもメリット多し。ただ、パッケージの半分以下しか使っていないのがもったいないといえばもったいない(貧乏性?)。

DIPパッケージでの接続は赤線の通り。


これだと中身がわからないので、内部ロジックから見た図がこれ

 
もちろん、元の回路にあったプルアップと直列抵抗も忘れずに。


 


モータの電源は7~12Vなので、マイコン電源と共通にしないように注意。次はいよいよライブラリを使って動かそうかな。

AX-12+は(AX-S1も)電源を含めた3本の線で動作させる・・・、というのはコネクタを見ればわかることですが、問題はマイコンとの接続ですね。

この図はAX-12+のマニュアルに載っている回路に追記したものです。2つのICを使って、マイコンの送信、受信端子を切り替えています。ちなみに、74HC125,126どちらもDIPパッケージなら100円しない位の価格らしいです。

切り替えに使うI/Oはどこでも良いといえばいいのですが、上の例ではPD5に接続しています。理由はベステクのATmega128用AXライブラリの接続がこの端子だったから。つまりこの接続なら用意されているAXライブラリ(実際にはDX/RXも共通)がそのまま使えるというわけです。楽チン楽チン。

前述の回路はこれで問題なく動作するのですが、ICを2種類使うのが玉にキズ。というわけで、1つのICで何とかならないかなと探したところ74HC241を使えば良さそうだ、というところで今回はここまで。

ホームページが変わってから情報が無くなってしまったので、ここら辺で少し追加します。

ATmega32及びATmega128マイコンボードに搭載されるマイコンには、出荷時に予めブートローダというプログラムが書き込まれています。現在ブートローダには複数の種類が存在しており、stk500(Atmel社のevb)で採用されている通信プロトコルと互換性のある特殊なバージョン(旧ブートローダ)と、一般的なダウンロードプロトコルであるXMODEM搭載版(新ブートローダ)が存在します。

マイコンボードに黄色ないしV1.2といったラベルが添付されていれば後者のブートローダが搭載され、最新のGCC Developer Liteでも標準でサポートします。
ですが、前者のサポートは標準ではなされていないため、コンパイル時に手動でHEXファイルを吐く様に設定するといった作業を強いられます。

場合によっては新旧のブートローダを搭載したマイコンボードを混在して使用するといったケースも見受けられるようになってきましたので、再度GCC Developer Liteで旧バージョンのブートローダを搭載したマイコンボードをサポートするファイルを公開します。

ATmega32からATmega32Aに

カテゴリ : 
新商品
2009-8-6 21:32
そろそろ次のロットからATmega32Aに切り替え始める予定です。
Aが付いて特に大きく何かが変わる訳ではありませんのでご安心を。

android

カテゴリ : 
雑記
2009-7-25 2:40
とは言っても人造人間の方じゃありません。Googleの携帯向けOSです。
Linuxじゃんといえばそれまでですが、カーネル以外はどこがLinuxかワカラン程度で別個のプラットホームと考えた方が良い感じです。

なぜに今になってそんなネタを?
何となく黎明期のPocketPCの様に無い機能は自分で作る以外に無いといった雰囲気がおもしろいなぁと思いまして。コーディングするという点においてはiPhoneと違って縛りも無いし。
beagleboardやPC、その他のARMが載ったボードでも実際に動いていますし、もちろん携帯電話としてもdocomoからも端末が出てきた事もあり、そこら辺の環境を利用しつつ何かに応用出来ないかなと画策中。

UAC

カテゴリ : 
雑記
2009-7-6 23:30
最近Windows Vistaを使っている方が増えているためか、GCC Developer Liteのメッセージダイアログボックスに何にも表示されないという問い合わせがちらほらと。
ネタはGCC Developer Liteの従来からの互換性の都合から、Vistaでは標準でONになっているUAC(ユーザーアカウント制御)による制限を受ける事に起因し、とりあえず何か文句を言われたら「キャンセル」ではなく「許可」をクリックしましょう。「キャンセル」を押した後で難なく動く理屈は全くありませんので。
メッセージがあまりにもウザい時はここここの情報を参考に設定を変える以外に、今のところは手はありません

USS3アナログ測定

カテゴリ : 
雑記
2009-7-1 12:13


USS3のアナログ信号をATmega32 EVBに取り込んでみました。
壁との距離がある値を下回るとブザーがなり始め、距離によってブザーの音が変わるようなプログラムにしました。
詳しくはチュートリアルをご覧下さい。

さてさて、回路が同じといってもAX-12+とICS2.0のプロトコルは全く違うので、別途送信コマンドを用意する必要があります(ま、当然ですね)。

ISC2.0のコマンドリファレンスとにらめっこしながら、適当に動かしてみました。

パリティの設定が違うのが、ハマりやすいところでしょうか。

SAM-BA

カテゴリ : 
雑記
2009-6-26 18:13
Atmel社のAT91SAMシリーズがほぼ標準で持っているSAM-BAという機能。
FLASH WRITERでも対応しており、USB経由であれば特に支障はないのですが、外部クロックの都合などでCOMポート経由で使おうとすると処理時間が劇的に遅くて全く使い物になりません。DBGUしか持っていないAT91SAM7S32では致命傷。
原因はAT91Boot_DLL.dllを使っているからなのですが、Atmel社のアップデートを待っているだけでは延々と解消しそうにないので、何が起こっているのか調べてみました。
結論から言うと送信するファイルを分割してパケット通信している所で、毎回3秒程度の時間待ち(タイムアウト?)が発生しているのが原因でした。
その後詳細に見ていくと、チップ内に予め備わったブートプログラムでそれにかかるコードが見つかりました。FLASH WRITEから呼んでいるAT91Boot_DLL.dllを経由して無理やりパッチをあてる事で訳の分からない時間待ちが無くなり、すっきり解消。

次期GCC Developer Liteにおいては、この辺りの対応がなされたFLASH WRITERを同梱する予定です。

SH7145用のシリアルライブラリ

カテゴリ : 
その他
2009-6-19 22:17
まずはブログにて恐縮です。
現在公開しているGCC Developer LIte Ver2.1.1.42 r4に同梱されるSH7145F用のターゲットファイルにおいて、SCIを使ったAPIが軒並み破綻している様に思われます。
ひとまず以下の手順で最適化を止めてライブラリを再構築する事で回避出来ます。
  1. 「C:\Program Files\BestTech\GCC Developer Lite\TARGET\7145F\makelib.bat」をテキストエディタで開く
  2. 4行目に含まれる「-O2」(オーツー)を「-O0」(オーゼロ)に書き換えて保存
  3. makelib.batを実行しライブラリを再構築
検証不足で申し訳ありません。 近日中に根本的な改修を行います。