PSoC のアーキテクチャ PMPSoC Architecture for PSoC Experiment Lab Experiment Course Material 2 V2.10 October 1st. 2018 EM2.pptx (23 Slides) Renji Mikami Renji_Mikami@nifty.com
ユーザーモジュール 設計済みで, 機能 特性評価済みのデジタルおよびアナログブロック ハードウェア設計の簡素化 オンチップ周辺回路として利用可能 ADC s, DAC s, PGA s, Filters Timers, Counters, PWM s UART, SPI, I2C ユーザーモジュールの機能仕様設定 ( パラメタライズ ) は PSoC Designer から容易に可能 ユーザーモジュールが提供するもの デバドラ Application Programmer Interfaces (APIs) 割り込みサービスルーチン Interrupt Service Routines (ISRs) データシート ( コーディング サンプル含む ) 1 Mikami Consulting
ユーザーモジュールの例 2 Mikami Consulting
PSoC 内部ブロック図 ( 各ブロックはさまざまな UM に変身 ) I 2 C Decimator Watchdog Sleep Timer LVD Supervisor System Bus SRAM Memory (up to 2K) M8C CPU Core SMP Flash Program Memory (up to 32K) System Clocking Generator 24 MHz Internal Oscillator Digital PSoC Block Array BB BB CB CB BB BB CB CB BB BB CB CB BB BB CB CB Clocks Analog PSoC Block Array CT CT CT CT Programmable Interconnect and Logic Analog Input Muxing Configurable I/O Ports Port 7 Port 6 Port 5 Port 4 Port 3 Port 2 Interrupt Controller MAC Multiply Accumulate (up to 2) Analog Output Drivers Port 1 Port 0 3 Mikami Consulting
アナログブロック ブロック内部 (CT は抵抗タップ型 OP アンプ ) ( はスイッチトキャパシタ型 OP アンプ ) 4 Mikami Consulting 実現できるユーザーモジュール ADC Incremental 6-14 bits Delta Sigma 6-13 bits DAC 6, 8, and 9 bit 6 and 8 bit multiplying Filters 2-pole Low-pass 2-pole Band-pass DTMF Dialer Modulator Peak Detector V to I Converter Amplifiers Programmable Gain Instrumental Inverting Comparators Programmable Hysteresis Zero-Crossing CapSense
デジタルブロック BB:Basic Block は 8 ビットのカウンタがベース CB:Communication Block はシフトレジスタによりシリアル コミニュケーションに使用できるどちらも連結して多ビット化 (16,24,32Bit 化 ) できる Timer 8, 16, 24, 32 bit Counter 8, 16, 24, 32 bit PWM 8, 16, 24, 32 bit Dead Band Generator 8, 16, 24, 32 bit Pseudo Random Source Cyclic Redundancy Check Communication Interface I2C Master I2C Slave SPI Master SPI Slave Full Duplex UART Tx, Rx Full Speed USB v2.0 5 Mikami Consulting
ADC 内部回路の配置 ユーザーモジュル単位で設計 UM は内部リソースで自動構成 I2C I 2 C Slave, Master, Multimaster ADC Decimator (Decimator) Watchdog Sleep Timer LVD Supervisor System Bus SRAM Memory (up to 2K) M8C CPU Core SMP Flash Program Memory (up to 32K) System Clocking Generator 24 MHz Internal Oscillator Digital PSoC Block Array BB BB CB CB ADC BB BB CB CB BB BB CB CB PWM_16 UART BB BB CB CB Clocks Analog PSoC Block Array CT CT CT CT Programmable Interconnect and Logic Analog Input Muxing Configurable I/O Ports Port 7 Port 6 Port 5 Port 4 Port 3 Port 2 LCD Interrupt Controller MAC Multiply Accumulate (up to 2) Filter Analog Output Drivers Port 1 Port 0 6 Mikami Consulting
ユーザーモジュールデータシート ユーザーモジュールデータシートに含まれる情報 Resources Features Overview Diagram Description Timing Specs Placement Parameters API Sample Code Registers バージョンにより英文の場合もあります 7 Mikami Consulting
Project コンフィグレーションデータシート プロジェクトコンフィグレーションのデータシートには内蔵ハードウェアの配置配線情報が記載される 配置画面は印刷可能 ユーザー定義のピンにはマーキングすることができ, データシート内で詳細情報が記載される レポートに有用 8 Mikami Consulting
PSoC 開発環境とフロー
PSoC Designer 統合開発環境 C 言語 / アセンブリ言語 開発ソフトウェア PSoC Programmer プログラム書き込みソフト C コンパイラ Hi-Tech C Pro US $1495 Hi-Tech C Lite Free Image Craft ICCM8C $249 10 Mikami Consulting
設計フロー 1. ユーザーモジュールの設置 2. 回路の配線 3. Global Resource, GPIO, UM パラメータの入力 GC:Generate Config の実行 (PSoC レジスタのコンフィギュレーションデータ生成 ) 4. コーディング Build の実行 ( プログラムのコンパイルと Build を実行,HEX ファイル生成 ) 5. インシステム プログラミング (PSoC MiniProg で書き込み ) このプログラム内でレジスタ値を書き換えることでハードウェア機能を自由に更新, 変更できる ハードウェア初期設定 ソフトウェアの記述 11 Mikami Consulting
1. ユーザーモジュールの配置 日本語化されたユーザーモジュールデータシート 12 Mikami Consulting
I/O Port I/O Port 2.0 回路の配線 I/O Port I/O Port 配線は ユーザーモジュールから I/O ポート方向に向けてつないでいくとやりやすい Port2 は 3210 キットでは LCD ユニットに接続されている 13 Mikami Consulting
2.1 ロジック LUT の設定 LUT:Look Up Table GOO : Global Output Odd GOE : Global Output Even I/O Port に接続する部分で Odd( 奇数 ),Even( 偶数 ) という名前上の区分があります デジタル 2 入力に対し 16 論理関数を生成 14 Mikami Consulting
2.2 アナログコンパレータ LUT の設定 アナログコンパレータ出力を入力として 2 入力 16 論理関数を生成します 15 Mikami Consulting
3.0 ユーザーモジュールプロパティーへのパラメータの入力 ユーザーモジュールの機能パラメータは ダイアログボックスで自由に設定できます M8CMPU はこの設定に基づいて起動コンフィギュレーション時に機能設定レジスタにデータを書き込みますこれによってハードウェアの機能が設定されます つまり すべてのハードウェアはレジスタの値できまります とすれば ソフトウェアのプログラムでも書き換えができてしまいます 16 Mikami Consulting
3.1 GPIO(Pinout) の設定 Port 0 から Port 7 P0[4] : Port 0 の 4bit 目 GPIO は極めて高機能 17 Mikami Consulting
3.2 グローバルリソース - クロック系 ( オプション ) グローバル リソースのパラメータ設定 この機能設定もすべてレジスタ値に対応しますからソフトウェアプログラムから変更できます 18 Mikami Consulting
3.3 PSoC レジスタと M8 MPU Bank0 256 バイト Bank1 256 バイト M8 MPU のレジスタ構成 A レジスタ ( アキュムレータ ) PSoC 機能設定レジスタは 2 バンク構成で各 256 バイトのアドレスを持ちます. 以下の機能設定を行います M8C レジスタ (F レジスタ )RAM ページング割り込みコントローラ設定デジタルブロック設定アナログブロック設定 GPIO 設定オシレータ PLL 設定 バンクの切り替えは F レジスタで行います. X レジスタ ( インデックス ) PC ( プログラムカウンタ ) SP ( スタックポインタ ) F レジスタ ( フラグレジスタ ) 全てのインターナルレジスタは 8 ビット. ただし,PC は 16 ビット A,X,PC レジスタはリセット後,0 クリアされます SP は次のスタック位置を指します.0XFF を指している状態で PUSH 命令を実行すると 0X00 へロールします. 19 Mikami Consulting
4. C ソースのコーディング (main.c) M8C は最初にハードウェア機能設定をします (Bank0/Bank1 レジスタに初期データを書き込みます ) 実際のデータ生成は C ソースのコンパイル前の GC で行われます GC:Generate Configuration 20 Mikami Consulting このデータは GUI でパラメータ入力したものです
5. 書き込み (ISP) とデバッグ デバッグ画面 21 Mikami Consulting ISP: In System Programming
Memo フォローアップ URL http://mikami.a.la9.jp/meiji/meiji.htm 担当講師 三上廉司 ( みかみれんじ ) Renji_Mikami(at_mark)nifty.com (Default - Recommended) mikami(at_mark)meiji.ac.jp (Alternative) http://mikami.a.la9.jp/_edu.htm 22 Mikami Consulting