さて、AVRの超小型マイコン、ATtiny10が秋月電子通商でも取扱が始まったので、早速使ってみることにした。
変換基板を使って、実験用のテストボードを製作した。しかし、今までのAVRシリーズとはちょっと違った部分もあったので、要注意(実験しながら気づいたのが大半(・・;))
変更点①
プログラミングインターフェースがISPではなくTPIになった。
AVRISP mkⅡでも書き込み出来るが、ISPでは4線(電源含まず)で通信していたものがTPIでは3線になっている。具体的には「#RESET」、「TPICLK」、「TPIDATA」で、結果的にはI2Cみたいな物である。ISPとの違いはMISOとMOSIが合わさっており、結線もTPIDATAにMISOを接続するだけで良い。6pinコネクタの場合には下記の通り。
※また重大なことに、TPIインターフェースでは#RESETが開放されない?ようで、プログラム書き込み後、電源再投入もしくはリセットでプログラムを始動させなければならない。どうも動かないと思ったら、ここが原因だったようで1時間悩みました。
変更点②
フューズビットが変わっている。
フューズビットにて内蔵発振器やシステムクロックの分周比を決定していたが、内部レジスタにアクセスすることにより変更する仕様となった。ただ、内部レジスタ変更の際には事前に「CCP」レジスタに「0xD8」を書き込み、4クロック以内にCLKMSRやCLKPSRを変更しなければならない。
変更点③
割り込み処理の規制
タイマー割り込みを使用してLEDを点滅させようとプログラムを組んだが、何故か動かない。しかもノイズに影響されている挙動をしているので、どうもおかしい。検証の結果、割り込み処理内ではメモリーアクセス(データメモリ)が出来ないようである。レジスタの変更は可能。コンパイラが悪いのかどうか分からないが、とにかく不便である。
変更点④
AVR Studio 4.19以降に対応
むやみに開発環境をアップデートしたくないので、ずっと4.16を使っていたが、tiny10に対応していないので、やむ終えずアップデートする。GCCがツールチェインとしてインストール出来る様になった。これを知らなかったので、コンパイル出来ずに焦った。
まとめ、はっきり言って使えるデバイスである。A/Dは8bitだが4チャンネルついているし、タイマーは16bitでPWMも2チャンネルある。レジスタの設定も上位マイコンと互換性があるので、使い慣れていて良い。また内蔵発振器も十分使える。欲を言えばEEPROMがあれば尚良かったが。今後、これを使った開発もしてみたい。
2011年11月24日木曜日
2011年7月22日金曜日
フォトカプラの高速駆動(絶縁型シリアル通信の高速化)
さて、組み込みシステムにおいて、PCとの通信は頻繁に使用されるもので、デバッグや情報の収集にか欠かせないものである。最近はUSBが主流と成ってきたが、RS232C時代の歩調同期式通信もまだまだ利用価値は高い。USBーシリアル変換ICを利用すれば簡単に通信が実現出来る。
ただ、問題になるのは絶縁だろう。組み込みシステムの実験において、PCと電気的に繋がっているのは多少の問題がある。最悪の場合にはUSBポートの故障、PCの故障にもつながる。とくに大電流や高周波を扱う回路であれば、ノイズの問題も忘れてはならない。
そこで、今回はフォトカプラによる絶縁回路の設計である。使用するのはごく一般的なもので東芝製のTPL521である。しかし、ここで大きな問題が発生するそもそもフォトカプラによる伝達には一定の遅延が起きる。これを必要最小限に抑え、出来るだけ高速に作動させる必要がある。
今回の実験ではカレントミラー回路によるもので、NPNタイプのトランジスターを2個セットにして使用し、通信速度の高速化を実現したい。
さっそく、実験ボードを製作し、マイコンにて方形波を生成、オシロスコープにてその波形をチェックする。
赤色がマイコンからの波形で、黄色がフォトカプラ通過後の波形である。
先ずは4800bps、この速度ではほとんど問題がないと思う。
57600bps。このあたりからだんだん怪しくなってきたが、振幅(現在は5V)は十分だが、波形の幅が多少狭くなってきた。歩調同期式の場合にはサンプリングポイントの場所が重要である。この波形であれば、中央のポイントでサンプリングすれば読み取りは可能だ。多少のエラーが発生するかもしれない。
76800bps。上記の波形では読み取りが五分五分になるのではないだろうか、ぎりぎり振幅は取れているものの、波形の長さが、入力の半分程度に成ってきているので、読み取りに失敗する可能性は高い。
115200bps。まず、これでは通信は不可能である。
以上の結果より、今回はしていないが、単にフォトカプラを使用した実験では4800bpsが限界だった。だが、回路を組むことにより、最高で57600bpsまで通信速度を上げられた。10倍以上の通信速度差は絶大である。安価なフォトカプラであっても工夫次第で、実用に耐えられるので、今後も活用して行きたい。
ただ、問題になるのは絶縁だろう。組み込みシステムの実験において、PCと電気的に繋がっているのは多少の問題がある。最悪の場合にはUSBポートの故障、PCの故障にもつながる。とくに大電流や高周波を扱う回路であれば、ノイズの問題も忘れてはならない。
今回の実験ではカレントミラー回路によるもので、NPNタイプのトランジスターを2個セットにして使用し、通信速度の高速化を実現したい。
さっそく、実験ボードを製作し、マイコンにて方形波を生成、オシロスコープにてその波形をチェックする。
赤色がマイコンからの波形で、黄色がフォトカプラ通過後の波形である。
先ずは4800bps、この速度ではほとんど問題がないと思う。
次に、9600bps、立ち上がりが多少丸くなってきているが問題は無い。
次に、19200bps。これも立ち上がりが丸みを帯びてきているが、振幅も十分触れているので大丈夫である。
38400bps。このあたりになると波形の形もだいぶ丸くなってきたが、振幅と共に、波形の幅もまだ十分なので、エラーは少ないであろう。
76800bps。上記の波形では読み取りが五分五分になるのではないだろうか、ぎりぎり振幅は取れているものの、波形の長さが、入力の半分程度に成ってきているので、読み取りに失敗する可能性は高い。
115200bps。まず、これでは通信は不可能である。
以上の結果より、今回はしていないが、単にフォトカプラを使用した実験では4800bpsが限界だった。だが、回路を組むことにより、最高で57600bpsまで通信速度を上げられた。10倍以上の通信速度差は絶大である。安価なフォトカプラであっても工夫次第で、実用に耐えられるので、今後も活用して行きたい。
2010年12月24日金曜日
2010年12月23日木曜日
PICマイコンを使って、2.4インチTFT液晶を駆動させてみる
最近は安価でLCDドライバの搭載された液晶モジュールが多いので小規模なマイコンでも十分駆動が可能だ。今回は2.4インチTFT液晶を駆動させるわけだが、ここの製品を使用した。
使用したマイコンはPIC24Fシリーズでボードはここで購入。
液晶との通信は8bitパラレルで行ない、16bit65536色を出力可能だ。フルカラーだとメモリーが足りなくなる可能性がある。
今回は可変抵抗によりRGBの各色のデータを可変させ任意の色を表示させるプログラムにしてみた。これぐらいの表示でも画面の更新にはタイムラグがあり、激しい動きの場合には制御方法を再検討する必要があるかもしれない。
・使用機器
マイコン:マイクロチップ社製16bitマイコンPIC24FJ256GB106(32MHz)
使用したマイコンはPIC24Fシリーズでボードはここで購入。
液晶との通信は8bitパラレルで行ない、16bit65536色を出力可能だ。フルカラーだとメモリーが足りなくなる可能性がある。
今回は可変抵抗によりRGBの各色のデータを可変させ任意の色を表示させるプログラムにしてみた。これぐらいの表示でも画面の更新にはタイムラグがあり、激しい動きの場合には制御方法を再検討する必要があるかもしれない。
・使用機器
マイコン:マイクロチップ社製16bitマイコンPIC24FJ256GB106(32MHz)
TFT液晶:YHY024006A
液晶キャリーボード:IFB-YHY024006A
2010年11月11日木曜日
付録のSH-2A基板の使い道
最近は同じデバイス(AVRがほとんど)ばっかりで、全然新しいデバイスに触れていない。しかも全く同一のデバイスばかりなので、発展が見られない。
だいぶ前に購入したInterface 2010 6月号のSH-2Aの付録基板も周辺部品を購入したにもかかわらず、一切手を付けていない。
8bitマイコンでも十分使えているので、これ以上高性能な物は必要ないと言った感じであるが、もっと最新のディジタル技術を用いた趣向のある物を作ってみたい気もする。
何か面白いアイデアは無い物か、、、。思いつきも欲しいがひらめきはもっと欲しい(汗)
だいぶ前に購入したInterface 2010 6月号のSH-2Aの付録基板も周辺部品を購入したにもかかわらず、一切手を付けていない。
8bitマイコンでも十分使えているので、これ以上高性能な物は必要ないと言った感じであるが、もっと最新のディジタル技術を用いた趣向のある物を作ってみたい気もする。
何か面白いアイデアは無い物か、、、。思いつきも欲しいがひらめきはもっと欲しい(汗)
登録:
投稿 (Atom)








