STM8S-Discoveryのページとは独立させて、作って見る。
…とりあえず書き溜めてから整形して、という形でよろしいか?(誰も聞いてないって
他にも妙案をお持ちの方が居ましたらぜひともこういうのもどうかという感じで書き連ねて欲しい。
自分のチェックも含めてI/Oの並びやつなぎ方、設計の方法などを書き連ねていき、適宜子ページを作る予定。
とりあえず今の目標はこんな感じ。
1、I/Oの確認と割り当て
2、SWIMの接続チェックと電源の確保
3、外部装置の用意と作り方の紹介
4、実際の動作のためのソフトの用意とソースの提示
とりあえずひとつずつ行こうか。
1、I/Oの確認と割り当て
I/Oのピンアサイン
CN1
ピン番号 |
該当チャンネル |
機能 |
1 |
NRST |
リセット |
2 |
OSCIN/PA1 |
外部クロック入力、もしくは汎用入出力ピン(A1) |
3 |
OSCOUT/PA2 |
外部クロック出力、もしくは汎用入出力ピン(A2) |
4 |
Vssio_1 |
I/Oのグランド |
5 |
Vss |
デジタル系のグランド |
6 |
VCAP |
1.8V regulator capacitor |
7 |
Vdd |
デジタル用電源ピン |
8 |
Vddio_1 |
I/O用電源ピン |
9 |
PA3 |
PA3 |
10 |
PA4 |
PA4 |
11 |
PA5 |
PA5 |
12 |
PA6 |
PA6 |
CN2
ピン番号 |
該当チャンネル |
機能 |
1 |
PE5 |
SPI master / slave |
2 |
PC1/TS1 |
Timer 1 - channel 1 / UART2 synchronous clock |
3 |
PC2/TS1_load |
Timer 1 - channel 2 |
4 |
PC3 |
Timer 1 - channel 3 |
5 |
PC4 |
Timer 1 - channel 4 |
6 |
PC5 |
SPI clock |
7 |
Vssio_2 |
I/O ground |
8 |
Vddio_2 |
I/O power supply |
9 |
PC6 |
SPI master out / slave in |
10 |
PC7 |
SPI master in / slave out |
11 |
PG0 |
PG0 |
12 |
PG1 |
PG1 |
CN3
ピン番号 |
該当チャンネル |
機能 |
1 |
Vdda |
Analog power supply |
2 |
Vssa |
Analog ground |
3 |
PB7 |
Analog input 7 |
4 |
PB6 |
Analog input 6 |
5 |
PB5 |
Analog input 5 |
6 |
PB4 |
Analog input 4 |
7 |
PB3 |
Analog input 3 |
8 |
PB2 |
Analog input 2 |
9 |
PB1 |
Analog input 1 |
10 |
PB0 |
Analog input 0 |
11 |
PE7 |
Analog input 8 |
12 |
PE6 |
Analog input 9 |
CN4
ピン番号 |
該当チャンネル |
機能 |
1 |
PE3 |
Timer 1 – break Input |
2 |
PE2 |
I2C data |
3 |
PE1 |
I2C clock |
4 |
PE0 |
Configurable clock output |
5 |
PD0/LED |
Timer 3 - channel 2 |
6 |
PD1/SWIM |
SWIM data interface |
7 |
PD2 |
Timer 3 - channel 1 |
8 |
PD3 |
Timer 2 - channel 2 |
9 |
PD4 |
Timer 2 - channel 1 |
10 |
PD5 |
UART2 data transmit |
11 |
PD6 |
UART2 data receive |
12 |
PD7 |
Top level interrupt |
I/O概要
アナログ
・Analog input X(アナログ電圧値を取り込むチャンネル)
ピン数では10ピンあり、ただしMUXのため、高速に同時取り込みなどは無理。
切り替えて取り込む時間が必要。
bit数(細かさ)は10bitあり、まあ十分な性能ともいえる。
当プロジェクトでは全部ユーザに空けておきたい。
デジタル
・UART2
PCではRS232に相当するシリアル通信
ソフトでも楽に処理可能だと思うためUARTはPCとの接続に使う。デバック用途などに使えると思う。
・I2C(アイスクエアシー)、SPI
I2Cは低速シリアル通信で2ポート+グランドの接続があれば規定の枚数の接続が可能。
ただし、本来基板の中のみでの通信しか考慮していないためノイズに弱い。
当プロジェクトではとりあえずコレを拡張ボードとの接続に使用したい。
(つまり拡張ボードは全部I2Cのスレイブ動作が可能でなければならないということ、少々面倒だけど)
SPIは高速なシリアル通信だが、デバイスが増えるたびにデジタルポートをひとつ余分に使用する。
その分速度は双方のデバイスに依存するという青天井っぷりがすばらしい。
当プロジェクトでの扱いはまだ未定
デバイスの各上限としてI2Cは400kHz、SPIは8MHz対応。
・SWIM
SWIMでの書き込みに必要なピンとGNDへの接続を取り出せるコネクタを用意する
このコネクタは通常使用時には必要ないが、必要とあれば引き出すことが出来るようにしておく。
(ソフトは出来る限りPC側のソフトからUART経由でSTM8S-D->I2Cと通り増設したEEPROMなどに書き込んで、動作時にはそれを読んで動作するようにしたい、可能なら…というかスキルが許せば、だが。)
・汎用I/O(デジタル専用)
現状どの程度のピンが開くか不明だが、デジタルは出来る限り空けたい。
また、不足も考えられるため増設できるボードの中にはデジタルボードも入れたいと思う。
まだまだ書き出し中、各I/Oのアサインも書き出す予定。
中途半端でごめん。
最終更新:2011年04月12日 13:52