PSoC4
タイミング・チャートの形で表現したレシプロカル周波数カウンタ (周期カウンタ) の処理の概要を下に示します。
レシプロカル周波数カウンタ (周期カウンタ) としてのソフトウェア構成は、以前に作成した Arduino でレシプロカル周波数カウンタ・ライブラリと同様にしました。 入力信号をカウンタのキャプチャ入力に直結しているので、入力周波数のレートで割り込みが掛…
PSoc Creator 上のタイマ・コンポーネントの配置を下に示します。 Timer モードの TCPWM コンポーネントを 2 つ配置して、クロック入力、キャプチャ入力を並列に接続しただけです。 クロック入力は HFCLK (High Frequency CLocK) から得た 48 MHz クロックを…
前回の記事の最後の式を再掲します。 n = (a2 - a1) · m1 + a1 この式を見ると (a2 < a1) の場合に右辺第 1 項が負となり、 n の値も負になることが分かります。 + a1 の項も効いてきそうな気がしますが、前回も述べたように、(a2 - a1) を 16 ビット左シフ…
中国剰余定理自体の証明や、一般的な解法については省略し、今回の応用に関する解法のみを説明します。 その前に「合同式」について触れておきます。 以降、特にことわりのない限り変数や定数は整数であるとします。 a ≡ b (mod m) と書いて「m を法 (modulu…
「中国剰余定理」(Chinese Remainder Theorem) は古代中国の算術書「孫子算経」に由来するもので「孫子の定理」と呼ばれることもあります。 「Chinese」は「中国の」とか「中国式」とか言うよりも、むしろ「(名前の分からない) 中国人の」といった意味合いで…
PSoC4 の TCPWM コンポーネントの仕様を見ていて、「中国剰余定理」を使って 16 ビット・タイマ・カウンタを 32 ビット化し、キャプチャ機能により入力信号の周期を求めるレシプロカル周波数カウンタを作ろうと思い立ちました。 中国剰余定理の説明は次回以…
今回はハードウェアでスイッチ・イベントを発生させる場合の説明です。 TCPWM コンポーネントの設定ダイアログで下のように「switch」-「Present」チェック・ボックスと「Compare」-「Swap」チェック・ボックスをオンにします。
多くのマイコンの PWM 回路ではコンペア・レジスタは「ダブル・バッファ」構成になっています。 もちろん、その理由はダブル・バッファ構成でないと問題が生じるからです。 簡単のため、カウンタがアップ・カウント・モードでの PWM 回路の原理的な図を下に…
以前から Cypress の PSoC (Programmable System-on-Chip) シリーズには興味があったのですが、PSoC1 の出始めの頃の、プログラマ約 1 万円、別売 C コンパイラ約 3 万円という「割高」なイメージがあって、手を出せずにいました。 最近では「廉価版」の PSo…