uchanのアイコン画像
uchan 2024年07月28日作成
セットアップや使用方法 セットアップや使用方法 閲覧数 248
uchan 2024年07月28日作成 セットアップや使用方法 セットアップや使用方法 閲覧数 248

CH32V003 の IO プルアップ設定は周辺機能でも有効

CH32V003 の IO プルアップ設定は周辺機能でも有効

多くのマイコンと同様、CH32V003 の I/O ピンにはプルアップ/プルダウン抵抗が内蔵されています。それらが GPIO 以外の周辺機能使用時にも有効なのかを調べてみました。結論は周辺機能でも有効です。

データシートの表記

CH32V003 の I/O ピンは GPIO としての役割の他、いくつもの周辺機能のピンが多重化されています。レジスタに設定することで、あるピンをどの目的で使うかを指定できます。

GPIO として使うか、周辺機能のピンとして使うかで、データシートに別のブロック図が載っています。まずは GPIO の入力です。"7.2.6 Input configuration" より "Figure 7-2 GPIO module input configuration structure block diagram" を次に示します。

CH32V003 GPIOを入力に設定したときの回路構成

TTL Schmitt trigger(シュミットトリガ)の前に付いている 2 つの抵抗器がプルアップ/プルダウン抵抗です。GPIOx_CFGLR の CNF フィールドが 10 のとき、これら 2 つの抵抗器のどちらかが ON し、どちらかが OFF します。どちらを ON にするかは GPIOx_OUTDR で設定します。

次に周辺機能として使う場合のブロック図を紹介します。"7.2.8 Multiplexing function configuration" より "Figure 7-4 The structure of GPIO module when it is multiplexed by other peripherals" です。

CH32V003 GPIOに多重化された周辺機能を割り当てたときの回路構成

この図にはプルアップ/プルダウン抵抗が描かれていません。このことから、周辺機能の使用時はプルアップ/プルダウンができない可能性があると思いました。これが、今回の検証を実施した理由です。

プルアップ抵抗の測定

PD0、PD2、PD3、PD4 を次のように設定し、挙動を観察しました。その結果、どうやらプルアップされていそうだなと思ったので、具体的なプルアップ抵抗の値を測定しました。

ピン 割り当てる機能 モード
PD0 GPIO 入力(Pull-Up)
PD2 TIM1CH1 入力(Pull-Up)
PD3 TIM2CH2 入力(Floating)
PD4 GPIO 入力(Floating)

検証用のソフトウェアは単純です。PD0 と PD4 は GPIO 入力に設定し、0.5 秒ごとに入力値を読みます。PD2 と PD3 はタイマに設定し、ピンに入力された信号の立ち上がりエッジでカウントアップするようにします。0.5 秒ごとにカウンタの値を読みます。

マイコンの電源を入れ、ピンを指でなでます。すると、PD0、TIM1(PD2)に関しては値が変わらないものの、TIM2(PD3)、PD4 の値はふらふらと変化します。次に、PD0、PD2 と GND を導線で繋いだり離したりすると、そのタイミングで PD0、TIM1 の値が変化しました。したがって、PD0 と PD2 ではプルアップ抵抗が有効に働いていると推測しました。

次に具体的なプルアップ抵抗の値を測定することにしました。次のような回路を組み、GND と TP1 間の電圧を測りました。

ピン 電圧 プルアップ抵抗
PD0 2.58V 47.0kΩ
PD2 2.59V 46.6kΩ
PD3 0.0mV
PD4 0.0mV

実はプルアップ/プルダウン抵抗の値はデータシートで規定されています。CH32V003 の場合、最低 35kΩ、典型値 45kΩ、最大 55kΩ です。今回測定された値はこの範囲に収まっていて、仕様通り(ほぼ典型値)であることが分かりました。

uchanのアイコン画像
本業はプログラマですが、昔から電子工作は趣味でやってます。初めてのプログラミング言語はPICアセンブラです。 モジュールを買ってきて組み合わせるだけでなく、部品の動作原理をきちんと理解して回路を設計することに楽しさを感じます。 2021年より「uchanの電子工作ラボ」という施設を運営しています。はんだごてや測定器が使えます。 https://uchan.net/lab/ 2021年3月22日に「ゼロからのOS自作入門」を出版しました。Amazon→ https://amzn.to/2NP3FUj
  • uchan さんが 2024/07/28 に 編集 をしました。 (メッセージ: 初版)
ログインしてコメントを投稿する