© 法政大学 理工学部 創生科学科 小林一行実験室

PSoC Designerのブロックによると、CY8C29466では12種類、CY8C27443では11種類のAD変換ブロックが存在する。それぞれ特徴がありどれを使うのかは悩むところである。ここでは、その指針について紹介する。

PSoCで実装されているAD変換方式は、大きく分けると、
逐次比較方式(Successive Approximation Register)
インクリメンタル方式(Incremental)
デルタシグマ方式(Delta Sigma)
の3種類がある。それぞれのブロックを分類すると,

 

逐次比較方式

インクリメンタル方式

デルタシグマ方式

1信号入力用

SAR6

ADCINC12
ADCINC14
ADCINCVR
ADCINC

DELSIG8
DELSIG11
DelSig*

2信号入力用

 

DualADC(ADCINCVRの2chバージョン)DualADC8

 

3信号入力用

 

TriADC(ADCINCVRの3chバージョン)TriADC8

 

このままでは比較のしようがないので、例えば、ADの変換ビット数で比較してみよう。

*27は不可、29のみ
に分類される。また、インクリメンタル方式では、1信号入力用以外に2信号入力用、3信号入力用のバージョンが用意されている。

 

6bit

7bit

8bit

9bit

10bit

11bit

12bit

13bit

14bit

逐次比較

SAR6

 

 

 

 

 

 

 

 

インクリメンタル

ADINC12

 

 

 

 

 

 

 

 

ADINC14

 

 

 

 

 

 

 

 

ADINC

ADINCVR

 

 

DualADC8

 

 

 

 

 

 

 

 

DualADC

 

 

TriADC8

 

 

 

 

 

 

 

 

TriADC

 

 

デルタシグマ

DELSIG8

 

 

 

 

 

 

 

 

DELSIG11

 

 

 

 

 

 

 

 

DelSig

○*

○*

○*

○*

○*

 

○*

 

○*

*27は不可、29のみ

となっている。ADの変換ビットの性能だけで見ると、ADINCが6ビットから14ビットまでと一番幅広く設定ができることがわかる。

ADCブロックの選択の理由として、CPUリソースの使用割合なども重要な要素のひとつである。

 

デジタルブロック

アナログブロック

RAM

ROM

Decimator

SAR6

0

1

0

58

0

ADINC12

2

1

6

224

0

ADINC14

4

1

6

262

0

ADINC

1
1
1
1

1
1
2
2

8
8
8
8

273
226*
322
275*

1
1
1
1

ADINCVR

3

1

5

309

0

DualADC8

4

2

7

308

0

DualADC

4

2

9

441

0

TriADC8

5

3

11

590

0

TriADC

5

3

11

590

0

DELSIG8

1
1

1
2

6
6

126
126

1
1

DELSIG11

1
1

1
2

12
12

197
197

1
1

DelSig*
29のみ

1
1
1
1
2
2
2
2

1
2
1
2
1
2
1
2

2
2
2
3
3
3
3
3

89
100
91
120
114
123
114
123

1(6bit)
1(8bit)
1(7.5bit)
1(10bit)
1(9bit)
1(12bit)
1(10.5bit)
1(14bit)

使用上の制限としては、デルタシグマ系のブロックは、差分を使うため原理上マルチプレクサを使って複数チャンネルの信号を取り込むことはできない。
以上、それぞれリソースの使用率も異なっている。これらリソースの利用率やADCの分解能、それに精度などを考慮してブロックを選択すればよい。
このような場合に、Cypress社ではどのブロックを利用するか薦めているかは、アプリケーションノートAN2239に書いてある。これによると、

ADCINCVRは、初期設定が面倒であるが汎用性の高いADCブロックである。
高速サンプリングを望むならDelSigブロックを使うと良い。
リソースを節約したいならADCINCブロックが良い。
ADCINC12は、割り込みによる遅れが生じるためできる限り使わないほうが良い。
SAR6ブロックにはサンプルホールド回路が無いため、入力電圧の変化が激しいものは使用しないほうがよい。

ということで、Cypress社の専門家による見立てでは、一般に使うならADCINCVRということらしい。