忍者ブログ
awawa's report: 電子工作、その他趣味についての記録日記ブログです。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

 ホームページの実験記事を追加しました。

「AVR 汎用I/Oポートで直接LCDを駆動する」
http://awawa.hariko.com/avr_lcd_drive.html

今回は、専用ICを使わずにセグメント型LCDをマイコンで駆動する実験を行ってみたいと思います。ジャンク品などからLCDを取り出して自作の工作に利用できれば色々応用ができておもしろいのではないかと思っています。

avr_lcd-target-board_bias2.jpg







 

拍手

PR
AtMega168データシート翻訳
http://awawa.hariko.com/chira-ura/index.html

24章 debugWIRE オンチップ・デバッグシステム
最初の翻訳を完了しました。
http://awawa.hariko.com/chira-ura/atmega168-chapter24-jp.html

この章は非常に短く、いくつかの注意事項以外は特に注目すべき内容もないので、さらっと流して次へ行きたいと思います。

debugWIREはリセット端子を使用して1-wireでデバッグ機能を提供する機能です。
ピン数の少ないデバイスではJTAGなどのデバッグ機能の代替として提供されているようです。
今回は、debugWIREをつかえる機器をもっていないので試すことができませんでした。

制限事項(24.5)にあるとおり、
  • RESET端子を本来の機能(リセット)に使用できなくなる
  • SPIへのクロック供給を止めてはいけない(PRRレジスタのPRSPIビットに注意)
  • スリープモードでも一部の周辺回路が動作を継続してしまう
という点に注意しなければなりません。

肝心のdebugWIREプロトコルについては一切の記述がないので、「注意事項」としてのみ存在する章といえます。

以降、いよいよメモリプログラミングに関する章に突入です。
ではまた。

拍手

秋月電子で単品販売しているR8Cの簡単な機能一覧です。
ちょっとR8Cに興味が湧いて調べてみました。(2011/3/26 web上で調べ)
PICやAVRに比べるとマイナーですが、なかなか高機能な周辺回路を搭載しています。 digi-keyで他の品種も入手できるようです。
残念ながらルネサスはR8Cの新規開発は2011年で終了する予定なのですが、しばらく供給はつづくので、ちょっとした実験にはいいかも、と考えています。

秋月電子通商 トップ > マイコン関連 > R8Cマイコン http://akizukidenshi.com/catalog/c/cr8c/

シリーズ 品番 価格 Part No. Flash (prog+data) RAM I/O
R8C/24 [I‐02124] ¥400 R5F21246SNFP 32K 2K 41+3 52LQFP
R8C/25 [I-02125] ¥450 R5F21256SNFP 32K + 2K 2K 41+3 52LQFP
R8C/26 [I-02126] ¥350 R5F21262SNFP 8K 512 25+3 32LQFP
R8C/26 [I-02127] ¥400 R5F21266SNFP 32K 1.5K 25+3 32LQFP
R8C/27 [I-02128] ¥430 R5F21276SNFP 32K + 2K 1.5K 25+3 32LQFP
R8C/29 [I-02131] ¥300 R5F21294SNSP 16K + 2K 1K 13+3 20LSSOP
R8C/2A [I-02129] ¥500 R5F212AASNFP 96K 7K 55+2 64LQFP
R8C/2B [I-02130] ¥550 R5F212BASNFP 96K + 2K 7K 55+2 64LQFP
R8C/2D [I-02286] ¥650 R5F212DCSNFP 128K + 2K 7.5K 71+2 80LQFP
R8C/38 [I-04254] ¥450 R5F2138ACNFP 96K + 4K 8K 75+1 80LQFP
R8C/M11A [I-04524] ¥100 R5F2M110ANDD 2K + 2K 256 11 14DIL
R8C/M12A [I-04525] ¥100 R5F2M120ANDD 2K + 2K 256 17 20DIL

(表つづき)
    ADC DAC 8 bit timer 16 bit timer PWM USART I2C Comp.
R8C/24 [I-02124] 12   3 2 7 2 1  
R8C/25 [I-02125] 12   3 2 7 2 1  
R8C/26 [I-02126] 12   3 1 4 2 1  
R8C/26 [I-02127] 12   3 1 4 2 1  
R8C/27 [I-02128] 12   3 1 4 2 1  
R8C/29 [I-02131] 4   3 1 4 2 1  
R8C/2A [I-02129] 12 2 3 4 10 3 1  
R8C/2B [I-02130] 12 2 3 4 10 3 1  
R8C/2D [I-02286] 20 2 3 4 10 3 1  
R8C/38 [I-04254] 20 2 3 5 11 3 1+1 2
R8C/M11A [I-04524] 5   1 3 4 1   1
R8C/M12A [I-04525] 6   1 3 4 1   2
記載間違いなどあるかもしれませんので、詳細はルネサスのページで確認してください。
→ R8C ファミリ | ルネサス エレクトロニクス
http://japan.renesas.com/products/mpumcu/r8c/r8c_landing.jsp

拍手

 ATmega48/88/168 データシート翻訳
http://awawa.hariko.com/chira-ura/index.html
「23章 A/Dコンバータ(ADC)」 粗訳を完了しました。

久しぶりの更新で、いろいろ忘れていることがあって時間がかかってしまいました(汗)。

ATmega168のA/Dコンバータは逐次変換方式で、プリスケーラを通してクロック供給が必要です。
変換時間がCPUの動作に比べると長時間となるため、動作開始タイミングと結果の参照タイミングが制御関連のアプリケーションでは重要になってきます。

この章は、動作タイミングとそれを生成するロジックを重点的に解説した内容となっていて、ADC各レジスタの設定内容を深く理解することができると思います。特に、自動トリガの要因として「割り込みフラグ」を利用している構造が面白いところです。

ADCの変換開始のタイミング生成手段として、
  • ソフトウェアでビットをセットしたらすぐ開始。
  • ハードウェアのトリガ要因で開始。それまで待機。
の二種類があり、
「ハードウェアのトリガ要因」としては、外部割込み、アナログ・コンパレータ、タイマー0/1のイベントが使用できます。アナログ系の制御や、一定時間間隔でのアナログ・データ取得を意識した設計のようです。

変換完了の方も、
  • ソフトウェアでビットを監視して完了を待つ
  • ADC変換完了割り込みを利用する
と二つあります。

面白いのは、トリガ要因としては「A/D変換完了割り込みフラグ」を指定でき、これを指定すると、ハードウェア的に「無限ループ」を形成して、ADCのプリスケーラで決まるタイミングでCPU側と関係なく変換動作を続けるモード(フリーラン・モード)になります。一定時間間隔の計測には便利そうです。

さて、いよいよ周辺機能もこれで終了となりました。
後残す大物はメモリ関連(自己書き換え、ISP、ブートローダーなど)です。

英語の話:
この章にちょっと面白い表現がありました。
(抜粋)
p.249 23.5.2 ADC Voltage Reference より:
Single ended channels that exceed VREF will result in codes close to 0x3FF. 

日常的な単語解釈だと、
「・・・VREFを超える入力は0x3FFに近い値に変換されます」
となるのですが、ADCの精度が10ビット=0x3FFであることを考えるとラスト数ビットはふらふら落ち着かないような印象を受け、ちょっと設計者にとっては困った内容です。

誤記にしては軽率すぎるので、いろいろ調べたところ、数学(トポロジー)的なニュアンス「近傍」を含んでいるようです。

(Wikipediaより引用、[http://en.wikipedia.org/wiki/Closeness_(mathematics)#Definition])
Given a metric space (X,d) a point p is called close or near to a set A if
d(pA) = 0,
where the distance between a point and a set is defined as
9f81f29a5145f29b5886100db843cc3e.png



Similarly a set B is called close to a set A if
d(BA) = 0
where
782f37ca886ff5a44e0fa4671ae1a5b4.png


(引用ここまで)
の"close"が意味するところが近いように思います。

要するに、「VREFを超えるアナログ電圧(実数)点全て集合」が「ただ一つの点"0x3FF"で構成される集合」に射影される、ということが書かれているというわけでしょうか。ちょっと考えすぎのような気もしますが、どうも英語の形容詞"close"には、「接近している」ということの他に、「閉じ込められている」動詞のニュアンス"closed"があるのかもしれません。(もしくは、原文執筆が英語ではなかったのかも)
 
まあ、数学的に仰々しいことを書く箇所でもないので、今回は、
「・・・VREFを超える入力は全て同一の値0x3FFに変換されます」
と軽くしておきました。

では。

拍手

ATmega48/88/168 データシート 21. TWI 粗訳完了

http://awawa.hariko.com/chira-ura/index.html

ようやく、2線式シリアル・インターフェース、TWIの粗訳が完了しました。
大人の事情でTWIと名づけられていますが、フィリップス(現NXP)互換のI2Cインターフェースです。

この章は、半分近くをI2Cの動作原理の説明に費やしており、非常に長いものとなっています。
しかしながら、とてもわかりやすい説明ですので、I2Cの基礎から理解したい方々には良い資料になると思います。
ひとつひとつの状態を丁寧に説明してあるので、私も勉強になりました。

さて、データシートからみると、AVRのTWI(I2C)は、ほぼ裸に近いハードウェアをコントロールするような構成になっています。
柔軟性があるともいえますが、なにかステータス変更がある度に割り込みが発生するので、ちょっと面倒くさいような印象も受けます。

とはいっても、
マスター1個とスレーブ1個(シリアルEEPROMの接続など)だけ、とか、スレーブ専用(他のMCUの周辺ICとして動かす)とか、シンプルな用途で使う場合、可能性のあるステートの処理だけを組み込んで、全ての状態を網羅したステート・マシンを作る必要はないので、それほど苦労するものではないかもしれません。

ともかくも、これを読んでI2Cを使ってみたくなり、現在簡単な実験回路を考案中です。

さて、この章には巨大なステート遷移図があり、図中に説明文が詰め込まれていますが、今のところ英語のままになっています。
図の翻訳は、これまでの他の章ではスキップしてますが、さすがにここは翻訳しないとせっかくの資料が役に立たないので、現在、進行中です。

では。

拍手

カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
フリーエリア
最新コメント
[01/24 awawa]
[01/23 とおりすがり]
[08/04 awawa]
最新トラックバック
プロフィール
HN:
hidemita
HP:
性別:
男性
職業:
翻訳
趣味:
電子工作と語学
バーコード
ブログ内検索
P R

Template by Emile*Emilie

忍者ブログ [PR]