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

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

ATmega48/88/168 データシート翻訳
http://awawa.hariko.com/chira-ura/index.html

今回の更新は、翻訳については進捗なしです。
8月の翻訳はあまり進められませんでしたが、9月は一気に進めたい。

更新内容はというと、JavaScriptを使って、目次に小見出しを表示/非表示
できるようにしました。ツリー型見出しをつけると、ちょっとだけ
PDFリーダーっぽくなって、見通しが良くなったのではないかと思います。
自己満足?

ちょっとしたHTML+JavaScriptベースのUIを追加するうえで、
色々と参考にしているページです。
Dynamic Drive DHTML
http://www.dynamicdrive.com/

こちらは、JavaScriptのマイ教科書。
JavaScript 第5版

拍手

PR
ATmega48/88/168 データシート翻訳
18章 SPI 粗訳完了
http://awawa.hariko.com/chira-ura/index.html

意外と短いあっさりした章でしたが、恥ずかしながら、
SPIを実際に使ったことが無いので、
技術的に正しく翻訳できているのかどうか、いまいち不安。
SPIの構造は比較的シンプルということがわかったので、
シフトレジスタと通信させて原理実験をしてみたい。
いつになるか、わからないけど。

さて、英語の話ですが、この章で
"leading edge/trailing edge"という聞きなれない語に出くわす。
2バイト文字コードを扱う文章では、よく"lead byte/trail byte"というのがありますが。
どうやら、"rising edge/falling edge"という物理現象的な観点からの用語ではなく、
あるイベントに着目して時間的に先の方が「前」、
つまり、回路の動作からみた意味的に「先」ということのようですね。
とりあえず、今回は「前方」「後方」と訳しています。

余談。
"leading edge" : これは、技術英語としては、航空力学用語でもあり、
「進行方向からみて空気に最初に触れる方の翼のエッジ」が"leading edge"、だそうです。
そんなのいつでも翼の前側に決まってんじゃん、と思ったら、
"Tailslide"というアクロバティックな機体操作があるんですね。びっくり。
たとえば、こんなの。
http://www.youtube.com/watch?v=w87AvnDiVBU

19章 USART0へと続く。


拍手

ATmega48/88/168 データシート翻訳
1〜17章まで、リンクを張りました。
http://awawa.hariko.com/chira-ura/index.html

リンクを張るついでで、みつけた誤訳や誤植を修正。
特に、タイマー0, 1, 2間でコピペミスしていたのが意味不明のになっていたのが痛々しい・・・。

単純作業だけど、やっぱりリンクを張ると使い勝手が向上したと思います。
というか、いままで気づいていなかったけど、「xxページを参照」と訳していた部分は、原文のページを知ってる翻訳者本人はともかく、訳文の読者には何にも意味ない情報で、章番号も書いてないので、どこのことやらチンプンカンプンだったんですね。スミマセン。

また、以降は18章から進める予定。いよいよシリアル通信編。難易度が上がる。

拍手

17章 タイマー/カウンター2 粗訳完了
http://awawa.hariko.com/chira-ura/index.html

Timer/Counter2 翻訳中に気づいたこと
基本的に、タイマー0と同じ機能で、非同期クロック動作について、より専門化させた構造。

タイマー0とタイマー2の機能の主な相違点:
  • 非同期動作
  • 専用プリスケーラ
  • 独立のクリスタル発振回路、32.768kHzに特化
  • プリスケーラの値設定が細かい。タイマー0、タイマー1とは独立。
タイマー0、1では: 1, 8, 64, 256, 1024
タイマー2では: 1, 8, 32, 64, 128, 1024

タイマー0とタイマー2のデータシートの記載の相違点:
  • OCnxビットにかんする記述(17.6)
タイマー0ではシステム・リセット時にゼロになる、とかかれていたが、タイマー2では消えている。
  • TIFR2レジスタの説明中、TOV2ビットについての記載
タイマー0で相当するオーバーフロー・フラグTOV0には無い記載:
 In PWM mode, this bit is set when Timer/Counter2 changes counting direction at 0x00.
「PWMモードにおいて、0x00でカウント方向を変える際にオーバーフロー・フラグがセットされる」というのがタイマー2だけの記述になっているけど、よく読むと、タイマー0では書き忘れたっぽい。
 
「PWMモードでカウント方向を変える」ということは、位相補正(Phase correct)PWMモードのこと。「高速PWM(fast PWM)」モードの場合は、カウンタがBOTTOM(0x00)をヒットするのはTOP値(比較一致か固定値0xFF)の直後のクリアだから、BOTTOM(0x00)で割込みを発生させるのはOCRA割込みと別々に使う必要性が少なさそうだが、位相補正モードの場合はTOP/BOTTOM双方で割込み発生させるのは使い道がありそう。このBOTTOMでのオーバーフローの挙動は、「動作モード」の方の説明では、タイマー0/タイマー2ともに、ちゃんと記述されているので、「タイマー0では、レジスタの説明に書き忘れた」が正解っぽい。

 
その他、タイミングダイアグラムの記述がなんかおかしい。特にタイマー0とタイマー2で書いてある状況に大きな差がある。要は、OCRnAとの一致でクリアするか、しないか、の違いだけなのだが、注意して読む必要がありそうです。

拍手

16章 プリスケーラ 粗訳完了
http://awawa.hariko.com/chira-ura/index.html


短いのでサクッと完了。
この章、原文の節番号が変で、いきなり、16.0.1 とかで始まる。
自動でセクション番号つけるモードにしていて、なんか編集まちがっちゃったような感じ。
あわてて作った章なんですかね。

さて、タイマー0とタイマー1の共通モジュール「プリスケーラ」。
これをみると、二つのタイマーのコントロールレジスタのCSビット(分周比選択)がおなじ配列になっているのが納得できます。タイマー2だけ違うのは、別モジュールのクロック選択回路だからなんだな、きっと。

共通にしてしまったのは、回路の節約のため?それで細かい精度上の制限が出来てしまっていて、ちょっともったいないように思う。(両タイマーでプリスケーラ使っていると、タイマー0のプリスケーラだけリセットできない、とか)

おもしろいのは、全体コントロールレジスタのTSMビット。プリスケーラ側で強制的にクロックを止めてしまう。これで、タイマー0とタイマー1(さらには、おそらくタイマー2も)をヨーイ、ドンでスタートさせることができるわけですね。

いよいよ、最後のタイマーモジュール、タイマー/カウンター2へとつづく。

拍手

<< 前のページ   |  HOME  |   次のページ >>
カレンダー
04 2024/05 06
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 31
フリーエリア
最新コメント
[01/24 awawa]
[01/23 とおりすがり]
[08/04 awawa]
最新トラックバック
プロフィール
HN:
hidemita
HP:
性別:
男性
職業:
翻訳
趣味:
電子工作と語学
バーコード
ブログ内検索
P R

Template by Emile*Emilie

忍者ブログ [PR]