いかにして問題を解くか

このサイトはGoogle Analyticsを利用しています。

Raspberry pi の AP に関して

Broadcom 2835

Raspberry pi のAP(CPU)公式ドキュメント

場所が少しわかりにくいのでリンクを記載します。 Top ベージからは、"Help" > "Documentation" > "Hardware" > "Raspberrypi" です。

www.raspberrypi.org

ここから "BCM2835" > "Peripheral specification" にあります。

このドキュメントの課題

  1. 情報が不完全で必要としている情報も欠落している
  2. 誤記もある
  3. AVR のドキュメントと比較すると随分とわかりにくい

レジスタのアドレスなど参考になるサンプルコード

wiring Pi

wiringpi.com

このライブラリの作者はいろいろなFAQ/Forumで回答者としてアドバイスされています。 細かいことを Google 検索するとかなりの確率でお世話になる。

調べてわかったこと(備忘録)

Peripheral Base Address ( Physical )

上記公式ドキュメントと

https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2836/QA7_rev3.4.pdf

で確認できます。

PWM pin

BCM2835 で GPIO18 を使って、モードは ALT5 にする。

PWM モード

2つのモードがある。

PWM algorithm

単位期間内のHigh/Low Cycle をバランスよく配置する。 DCモータの駆動のように平均電圧をなんとかするだけなら、こちらで使用した方が良いかもしれない。

MS algorithm

単位期間内のHigh/Low cycle が各々固まっている。 単位期間内のHigh期間が終わってから、Low 期間となる。 サーボモータの回転角を PWM 波形で制御する場合はこちらが制御しやすいだろうと思う。

Clock source

PWM のカウンタクロックは主に下記の通りとなる。 ただし、PLL の周波数はOSで設定されている通りなので、 下記周波数は調査する必要がある。

  • Oscillator = 19.2MHz
  • PLLA = 500MHz?