SVX日記
2004-08-13(Fri) PICのPWM制御、翻訳続き
なんだか、翻訳し始めたら楽しくなってしまったので、昨日に引き続き、PICのPWM制御機能の翻訳なのである。英語読んで、日本語にして、理解して……と繰り返すうち、最初はわかんなかったことも、なんだかわかったきて、日本語を一部意訳に書き直したりして。こういう技術文書の場合、内容を理解しないと日本語に直してもダメであることを実感した次第である。
ふと思ったのだが、翻訳は文章を創作するのと違い、気楽な楽しさがあるかもしれない。私は以前、ちょっとモノマネでSFなんぞを書いてた頃があったのだが、創作は到達点が明らかでないという苦しさがある。物語の展開をどっちに持っていくか、正解はないけど決めなくちゃならないからである。それに引き換え、翻訳はひとつひとつ着実に埋めていけば、必ず正解に到達できる。例えるなら、絵を描くのが創作で、ぬり絵を仕上げるのが翻訳というところであろうか。
9.3 PWMモード
パルス幅変化(PWM)モードとは、CCP1ピンに分解能10ビットのPWM出力を行うものです。PORTBデータ・ラッチによりCCP1ピンを多重化してから、TRISBの
注:CCP1CONレジスタをクリアすると、CCP1のPWM出力ラッチはローレベルになってしまいます。これはPORTBのI/Oデータ・ラッチではありません。下図(左)は、CCPモジュールをPWMモードにした場合のブロックダイヤグラムです。CCPモジュールをPWMモードにする方法については、9.3.3節を参照のこと。
PWM出力は、下図(右)のように、PWM周期と有効期間(High出力期間)から構成されています。
PWM周波数はPWM周期の逆数(1/PWM周期)です。
9.3.1 PWM周期
PWM周期はPR2レジスタで指定します。PWM周期は次の式で求められます。
PWM周期 = [(PR2) + 1] x 4 x Tosc x (TMR2プリスケーラ設定値)
PWM周波数は(1/PWM周期)として定義されます。
TMR2とPR2と等しい場合、次のPWM周期に以下のことが発生します。
・TMR2のクリア
・CCP1ピンのセット(ただし、PWM有効期間が0%の場合はCCP1ピンはセットされない)
・PWM有効期間はCCPR1HへCCPR1Lからラッチされる
注:Timer2のポストスケーラ(節8.0参照)はPWM周波数には関与しません。
ポストスケーラはPWM出力とは異なる時の周波数サーボアップデートに用いられます。
9.3.2 PWM有効期間
PWM有効期間は、CCPR1Lレジスタの8ビットとCCP1CON<5:4>の2ビットで指定され、最大10ビット分解能まで利用できます。PWM有効期間は次の方程式で計算できます。
PWM有効期間 = (CCPR1L:CCP1CON<5:4>) x Tosc x (TMR2プリスケーラ設定値)
CCPR1LとCCP1CONの<5:4>で表されるPWM有効期間はいつでも変更できますが、TMR2とPR2が等しくなるまで変更はCCPR1Hへ反映されません(つまり、そのPWM有効期間内は変更されません)。PWMモードにおいて、CCPR1Hは読み出し専用レジスタであり、PWM制御の際に乱れを生じさせないため、CCPR1Hレジスタと内部の2ビットによりPWM有効期間を二重化して記憶しておくあるのです。そして、CCPR1Hレジスタと内部な2ビットがTMR2と一致すると、内部の2ビットのQクロックがTMR2プリスケーラの2ビットに連結され、CCP1ピンがクリアされます。
PWM制御の最大分解能は以下で式で与えられます。
PWM分解能(bits) = log(Fosc / Fpwm) / log(2)
注:PWM周期より、PWM有効期間長い場合、CCP1ピンはOFFになりません。
;1. PWM周期をPR2レジスタに書き込む
SET RP0, (STATUS) ; バンク1へ
LD A, 0FFh
LD (PR2), A ; PWM周期をFFに
SET RP0, (STATUS) ; バンク0へ
;2. PWM有効期間をCCPR1LとCCP1CON<5:4>に書き込む
LD A, 40
LD (CCPR1L), A ; PWM有効期間に40(25%)をセット
; RES 4, (CCP1CON)
; RES 5, (CCP1CON) ; どうせ後で0クリアしてしまう
;3. TRISBをクリアし、CCP1を出力に設定
SET RP0, (STATUS) ; バンク1へ
RES 2, (TRISB) ; 今回はPORTBの2番をPWMする
SET RP0, (STATUS) ; バンク0へ
;4. T2CONに書き込み、TMR2プリスケーラを設定、Timer2を有効化する
LD A, 00000100b
LD (T2CON), A ; TMR2 ON & PRESCALER x 1
;5. CCP1CONをPWMモードに設定する
LD A, 0Ch
LD (CCP1CON), A ; PWMモードに設定(ついでに分解能の下位2ビットを0固定)
;Note: TRISBの2か3かは、コンフィギュレーションビットの12ビット目(CCPMX)による
2005-08-13(Sat) 京ぽんに機種変更
さて、今日はカミさんとお出かけ。「皇帝ペンギン」という映画を観にいく。この映画、単なるドキュメンタリー映画と思うなかれ、後半は宿敵のメカペンギンが現れ、母親ペンギンがピンチに、そこに子ペンギンの超能力アタック!! 動きがシブくなったメカペンギンに、母親ペンギンの目からビーム攻撃!! そこに空から父親ペンギンのクチバシファイア特攻!! どてっぱらに大きな穴を開けられたメカペンギンは永遠に動きを止めるのであった!! ペンギン家族の愛の力、万歳!! ……という話だったら、とっても面白かったんですが、そういうコトはなかったです。
そんなことはともかく、やっぱりパンツのゴムはヤバい。間違いなく、新しい携帯に替えてもバチがあたらないトコロまできているのだ。しかし、定額プランでイッキに攻勢をかけるウィルコムではあるが、やっぱり扱ってないトコロでは扱ってない。扱ってても高い。扱ってても在庫がない。期待せずに、松戸駅前を京ポン求めてサマヨウのである。
事前に最近話題のカカクコムで調べたら、機種変更の底値は6,800円であった。まぁ、その場で機種が変更できるなら、もうちょっと出してもいいけど……ん? 妙に小さな携帯ショップだな。お? 京ポン置いてあるぞ。新規の値段しか書いてない。お兄さん、京ポン在庫ある? えっ!? あるッ!? オイラ赤でないとヤなんだけど……赤もあるッ!? じゃ、値段は……? 6,800円ッ!? 買う!! 今すぐ買うッ!!
しかし、なにより嬉しいのは、携帯を開け閉めする時の「コッキリ、チャッカリ」感である。うーむ、特にこの京ポン、他のどの端末より気持ちイイ気がするぞ。コッキリ、チャッカリ、コッキリ、チャッカリ、コッキリ、チャッカリ。今度は3年以上壊れないことを祈ろう。なむなむ。
あ、大事なコトを言い忘れているが、今更言うまでもなくこの京ぽんって端末は、PCでも有名なオペラというブラウザを搭載しており、単体でウェブサイトが見ることのできる端末である。徐々にオレ流に活用していくことにしよう。うひひ。
2011-08-13(Sat) 利きスピーカ
昨日の作業を受けて、利き酒ならぬ、利きスピーカを始めてしまう。一応、マトモなスピーカ(?)とも聴き比べてみたいので、以前に壊れたソニーのテレビから取り外しておいた同クラスのスピーカも出してきて並べ、ブレッドボード上でワシャワシャと差し替え、音の違いについて自らの耳で検証してみる。
むー、やはりというか、さすがというか、ソニーのテレビの音は落ち着いている。エンクロージャの強度の違いを感じる気がする。ま、比較対象は吸音材すら入れてないタッパーなんだけどね。しかし、中高音のキレに関して言えば、タッパーの方が、特に秋月スピーカの方が良い気がする。むぅ。タッパーとはいえ、一番、手塩にかけたこともあり、気持ち的には良い音がしてほしいP800がイマイチというのは……むむぅ。
それはそうと、バスレフの管の長さによる違いは、体感できなかった。まぁ、各要素は複雑に絡んでいるだろうが、おそらくは数センチの差がそれほど効くことはないのだろう。今回、影響の大きい要素と、小さい要素を見極めるのも目的であるので、それはそれで有意義であったが。
さて、オイラのブログでは、滅多に時事ネタを引用して語るようなことはしないのだが、今回ばかりはさすがに引用したくなった。というのも「自家製 MP3 プレイヤーが原因で空港閉鎖」っていうニュースが、モロに他人事ではなく、結構シャレにならないものを感じたからである。もしオイラのアイテムが完成し、海外に行く機会があれば、間違いなく何も意識せずに持って行くはずである。あぁ、イヤな世の中だなぁ。
で、もうひとつ「Gmail的なものを自前で立ち上げるにはどうすればよい?」というニュース。オイラ、職場で毎日数百通のメールを相手にしているので、自作のメーラを使ってるんだが、まさにGmail的なものが欲しくて、作ったという経緯があるのだよね。