サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPad Air
www.chibiegg.net
AVRには外部クロックがなくても動作するように、ICの内部にRC発振回路によるクロックを内蔵しています。 工場出荷時に規定の周波数(基本的に8MHz)になるように校正されていますが、データシートによると10%までの誤差がある可能性があり、シリアル通信では致命傷になります。 そこで、個別に調整できるようにOSCCAL(発振校正レジスタ)が存在します。このレジスタをプログラム実行時に書き換えることで発振周波数を変更できます。OSCCALが大きいほど高い周波数で、小さいほど低い周波数で動作します。 AVRはヒューズビットのCKOUTをプログラム(0)することにより、CLK0端子からシステムクロックが出力されます。これを測定機器で観測しながらOSCCALレジスタを操作することによりクロックを調整します。 校正 手元にあったATmega88を8Mhzに校正してみました。今回は周波数の測定には周波数カ
シフトレジスタ(74HC595)の使い方という以前の記事において、汎用IOポートをソフトウエアで制御してシフトレジスタ(74HC595)を操作するというのは実験しました。 ですが、この方法ではプログラムサイズも大きくなり、動作速度も遅くなってしまうという問題があります。 そこで、今回はAVRに搭載されている周辺機能であるSPIを使い、ハードウエアでシリアルデータとクロックを送出するようにしてみたいと思います。 どれぐらいのコードサイズの削減、動作速度の向上が出来るかを実験してみます。 ソフトウエアの場合(関数呼び出し等のオーバーヘッドは考慮しない) データセット クロックHi クロックLo がそれぞれ 8回 ラッチクロックLo ラッチクロックHi がそれぞれ 1回 なので、最低でも26クロックの動作時間が必要です、が、実際には関数呼び出しのオーバヘッドやif文、データのビット操作等でもっと
72MHzで動作可能なARMのCortex-M3プロセッサ、及び多彩な周辺機能を搭載したマイコンSTM32の開発環境をMacの上で構築してみようと思います。 基本的にこちらのマイコン徹底入門を参考に進めていき、Mac(というかUNIX)特有の変更点に重点を置いて解説していきます。 これらのセットアップをする前にMac OSXのセットアップディスクからXCode(開発ツール)を事前にインストールしておいてください。 Mac OSXではDFU経由での書き込みはできません。JTAG経由のみの書き込みとなるのでJTAGデバッガが必要です。 セットアップする環境一覧 GCCによるARMのクロスコンパイル環境 Eclipseを用いた統合開発環境 OpenOCDとJTAGを用いたデバッグ セットアップ手順 GCCによるARMのクロスコンパイル環境 まずはコードをARMプロセッサで実行するためのバイナリに
今回はシリアルデータをパラレル出力するためのICである、74HC595の使い方を説明します。 このICは最低3本の制御線で、8本の出力ができます。また、74HC595を直列に繋ぐことにより制御線はそのままに、一個追加するごとに8本の出力を増設できます。 用途はというとマイコンの出力端子が足りないときに増設するときに利用します。ただ、マイコンから直接出力するよりも時間がかかるので、速度の必要な用途には厳しいかもしれませんが、LEDへの出力など低速(内蔵IOポートに比べて)でも大丈夫な用途に利用できます。 さらに、74HC595は普通のシフトレジスタとは異なり、データの送信中は出力端子の状態を変えずに、全てのデータを送信し終わってから任意のタイミングで一気に出力ポートを変化させることができるようにラッチが内蔵されています。これにより、遅い動作で駆動させても出力端子の余計な変化は起こりません。
このページを最初にブックマークしてみませんか?
『www.chibiegg.net』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く