SNSへはこちら

Propellerマイコンを回す(1) - 紹介・ハード構成編

買ってしばらく放置していた Propeller マイコンを動かしてみました。
この度は2つの開発環境で無事動作を確認したため、取り敢えずハードの環境について述べます。実際の開発環境はこの後の記事で。

Propellerマイコンとは

Parallax Propellerマイコン - 瓶詰堂日記
こちらの簡単な解説でお分かりになると思います。中でもCPU コアが8個入っているというのは大きな特徴だと思います。この図体のデカイパッケージはその貫禄を示しているのでしょうか。ワクワクしますね。
自分自身、並列プログラミングうまくできるのかなぁ?まだ現時点ではLチカとかしかやっていないのでまだわかりません。今後ガシガシコードを書いていって解説していきたいと思っています。

買ったマイコン

例によって秋月で購入です。買ったのは DIP タイプの P8X32A-D40 というものです。

電子部品,通販,販売,半導体,IC,LED,マイコン,電子工作Propeller マルチコアマイクロコントローラー P8X32A-D40(DIP)秋月電子通商 電子部品通信販売

必須ドキュメント

回路

動作のため、および書き込みのための回路です。これはデータシートに書いてあって、こんな感じなんですね。

Propeller Clip とか書いてあるのは、このマイコン専用の書き込み器です。といってもこのアダプタは内部に FT232RQ を用いているそうです。ちなみに回路図も公開されています。詳しくは Prop Clip のデータシートをご覧あれ。
ということなので、この部分はお手持ちの FT232RL で代用できます。その他 FT231 や FT234 でも代用できるとは思いますが、確認はしていません。
Tx と Rx はクロス配線を忘れずに。RESn 端子には DTR# を直結することで対応できました。

つづいて、Optional となっている 24LC256 です。これは秋月でも販売している EEPROM なのです。販売サイトは以下。

このマイコン、実は ROM を有しておらず、プログラム書き込みは RAM か 外部に接続した EEPROM にするという仕様なのです。思い切った仕様にしました。電源投入時にはこの EEPROM から書き込み済みのプログラムがないかを読み出し、もしあったらそこから順次実行していくというスタイルを取っています。
つまり、電源を切って消えても良いような評価プログラムを書く分には、この EEPROM は不要ということです。もちろん IDE から書き込みを行うときには、RAM に書くのか、EEPROM に書くのかを区別しなければなりません(大事)。

もう1つ Optional となっているクリスタルですが、次の項でお話します。

クリスタル

回路には任意であり、必ずしも付ける必要はありません。が、僕的には付けることを強くおすすめします。その理由をここでは述べることにしましょう。データシートから AC 特性の表を掲載します。

RCFAST とは、内部高速 RC オシレータ、RCSLOW とは、内部低速 RC オシレータのことです。どちらも許容されている周波数幅が大きい事が分かります。これは製造時のばらつきによるものだと考えられますが、どうやらこれを考慮したキャリブレーションは出荷時に行ってくれてはいないようです。

ここで問題になるのが UART のボーレートです。これだけクロックがずれていると、うまく通信できないことが想定されます。というか僕自身うまく通信できませんでした。以上の理由から外部クリスタルを付けるのをおすすめするというわけです。

ではどの値のクリスタルを付けるかですが、上の図を見ると 4〜8 MHz とのことですね。この範囲なら何でも良いのですが、後々に SimpleIDE という開発環境で開発を行っていく際に、5MHz を用いると非常に便利です。ですのでこの値を用いることをおすすめします。

通常クリスタルと言うと低容量のコンデンサが必要ですが、Propeller は内部に 10pF ほどの容量を持っているため、コンデンサが不要なのです。すごい。

今回はまだ実際の開発に入っていませんが、とりあえず紹介と HW 的な環境構築を整えておきました。次回は複数の開発環境をざっと紹介し、簡単にLチカを行っていく予定です。
僕自身もまだこのマイコンを勉強中なので、現在進行系で頑張っていきたいと思います。それでは。