PSoC/GPIOのしきい値と電源電圧

PSoC/GPIOのしきい値とヒステリシスではPSoCのGPIOのしきい値電圧をVdd=5.0Vの条件で測定しました。
今回は、電源電圧を可変することによりしきい値電圧に変化が見られるかの測定を行い、上下のしきい値ともに電源電圧に対する直線的な依存性があることが分かりました。

001_20090907021706.png 004_20090907021705.png


CMOSインバータのしきい値と電源電圧


PSoC/GPIOのしきい値とヒステリシスのエントリのコメント欄でのりたんさんに以下のような指摘をいただきました。

記事で提示されていたデータシートのVIL/VIH測定条件にこんな記述があります。

Vdd = 3.0 to 5.25

普通のCMOSインバータだと、Vddの値の影響を直接受けるので、いつでもTTLレベル入力というわけにはいかなくなります。そのため、74HCTシリーズの電源電圧は、TTLと同じ5V+/-10%と定められています。もし、Vddに依存しないようにVTL/VTHを定めようとすると、定電圧源とコンパレータで構成される、かなり重い回路が必要です。
もし、余力がありましたら、VddとVTL/VTHの関係も見てくださいませ。


前回のエントリでは、電源電圧Vdd=5Vさえ測定しておけば、他の電源電圧でも当てはめて考えることができると考えていましたが、電源電圧に依存してGPIOの入力しきい値が変化する可能性がでてきたため、追試を行いました。

測定回路の構成


PSoC/GPIOのしきい値とヒステリシスと同様、以下の回路構成で行いました。


001_20090907021706.png
fig.1: 測定回路構成


PSoCのGlobal Resourcesは、以下のように設定しました。

Power Setting [Vcc / SysClk freq] : 3.3V/24MHz
Trip Voltage [LVD (SMP)] : 2.92V (3.02V)

電源電圧は、3.0V,3.3V,3.6V,3.9V,4.2V,4.5V,5.0V,5.5Vとしました。
(5.5Vは動作定格外でした。やってから気づきました。)

電圧測定にはPDS5022Sを、電源はHP6632Aシステム電源を用いました。
データの解析には、Microsoft Excelとgnuplotを用いました。

ヒステリシス曲線


測定結果を以下に示します。


003_20090907021733.png
fig.2: ヒステリシス曲線


fig.2より、しきい値電圧が電源電圧に依存していることが分かります。


002_20090907021733.png
fig.3: ヒステリシス曲線(Vdd=3.0V)


fig.3は電源電圧が3.0Vの条件のヒステリシス曲線を抜き出したものです。スレッショルド電圧付近でもノイズが大きく、上下のしきい値がそれぞれ一意に読み取ることができません。
VTL/VTHの代表値として、それぞれ出力遷移前の最小値/最大値を選びました。

しきい値の電源電圧特性


fig.4にしきい値の電源電圧特性を示します。
しきい値と電源電圧の間に線形関係が見えました。


004_20090907021705.png
fig.4: しきい値-電源電圧特性


測定データに対して線型方程式の最小二乗法フィッティングを行ったところ、以下の係数が得られました。

VTL = 199.606 * Vdd + 511.626
VTH = 190.739 * Vdd + 713.202

ただし、VTL,VTHの単位は[mV]で、Vddの単位は[V]です。

ヒステリシスの電源電圧特性


VTHとVTLの差から求めたヒステリシス電圧VHの電源電圧特性をfig.5に示します。


005_20090907130344.png
fig.5: ヒステリシス電圧-電源電圧特性


ほぼすべての電源電圧範囲で、ヒステリシス電圧VHは160mV前後でした。
ただし、まともな議論をするには電圧分解能不足です。
誤差棒として±1LSBをつけました。これは、誤差が1LSB以内であると言うわけではなくあくまで比較用です。

いま、Vdd=3.0V時のヒステリシス電圧が200mV、Vdd=3.3V時のヒステリシス電圧が160mVとなっていますが、この差は1LSBしかなく、fig.2-3を見ても1LSB以上の測定誤差があることは明らかです。

今の測定精度ではヒステリシス電圧が電源電圧に比例して拡大しているのか縮小しているのか、あるいは変化していないのかの議論は残念ながら出来そうにありません。

最後に、しきい値電圧とヒステリシス電圧の表を示します。

Vdd[V]VTL[mV]VTH[mV]VH[mV]
3.010801280200
3.312001360160
3.612401400160
3.912801440160
4.213601520160
4.514001560160
5.015201680160
5.516001760160
table.1


関連エントリ




付録


このエントリで使用したBSch3V形式回路図ファイルを添付します。ファイル名末尾の".txt"を削除して、"_"を"."に変更すれば使えるはずです。


参考文献




フィードバック



にほんブログ村 その他趣味ブログ 電子工作へ

 ↑ 電子工作ブログランキング参加中です。1クリックお願いします。


コメント・トラックバックも歓迎です。 ↓      


 ↓ この記事が面白かった方は「拍手」をお願いします。

tag: PSoC インターフェース レベルシフト シュミットトリガ PDS5022 

PSoC/GPIOのしきい値とヒステリシス

デジタルオシロスコープPDS5022SをもちいてPSoCのGPIOの入力バッファの特性を測定しました。
その結果VTH=1.68V,VTL=1.52V,VH=160mVと言う値が得られました。

001_20090830113043.png 002_20090830113042.png


マイコンのデジタル入力端子


マイコンのデジタル入力端子は、CPUと外部回路をつなぐ最も基本的なインターフェースです。
レベルシフト 第二回:分圧型と入力レベルのエントリのとおり、そのしきい値電圧は、デジタル回路を設計する上で非常に重要なパラメータです。

シュミットトリガ入力


シュミットトリガ入力は、入力電圧がL→Hに変化するときと、H→Lに変化するときで、しきい値が異なる回路です。
デジタル回路と言えど、その信号電圧の変化は連続的なアナログ値ですが、シュミットトリガ回路を用いると、入力信号の変化速度が遅かったり、ノイズが重畳している場合などでも出力をばたつかせずに切り替えることができます。

これまでにシュミットトリガに関するエントリはたくさん書いたので、以下に示しておきます。



PSoC/GPIO入力特性


PSoCのGPIOは入力端子として使う場合は、すべてシュミットトリガ入力です。
その入力ロジックレベルは(ほぼ)5VTTL互換です。

以下にCY8C29466のデータシートの引用を示します。

SymbolDescriptionMinTypMaxUnitNotes
VILInput Low Level--0.8VVdd = 3.0 to 5.25.
VIHInput High Level2.1--VVdd = 3.0 to 5.25.
VHInput Hysterisis-60-mV
table.1: DC GPIO Specifications


ここで、L→Hへのしきい値をVTL、H→Lのしきい値をVTHとすると

VIL < VTL < VTH < VIH

となり、
VTH - VTL = VH

となります。

本エントリでは、VTHとVTLを実測し、VHを求めました。

測定回路と計測器の構成


1Hz正弦波発振回路からの出力をPSoCのGPIOに入力し、Interconnectで直接他のGPIOへ出力したものをデジタルオシロスコープPDS5022Sで測定し、取得したデータをgnuplotで横軸に入力電圧、縦軸に出力電圧としてヒステリシス曲線をプロットしました。

1Hz正弦波発振回路は、PSoCでLED正弦波駆動の正弦波出力に対して、簡単なRCローパスフィルタ(147kΩ,0.1uF)をかけたものとしました。定数はブレッドボードで差し替えながらおおよそ滑らかな波形になるように選びました。

結果


結果のヒステリシス曲線をfig.1に示します。


001_20090830113043.png
fig.1: ヒステリシス曲線


実測の結果を以下にまとめます。

SymbolDescriptionVoltageUnit
VTL下側しきい値1.52V
VTH上側しきい値1.68V
VHヒステリシス幅160mV
table.2: しきい値とヒステリシス実測値


誤差要因の考察


本来は直流電圧源とデジタルマルチメータで行うべき測定ですが、今回は手間が省けるので交流電圧源とオシロスコープでやってしまいました。
そのため、そのことに起因する誤差が考えられます。

ひとつめは、「PSoCのInterconnectの遅延」です。
入力正弦波が1Hzとかなり遅いため、影響は小さいと考えています。

ふたつめが、「オシロスコープの電圧分解能不足」です。
fig.2に、fig.1の上下のしきい値付近を拡大したものを示します。


002_20090830113042.png
fig.2: ヒステリシス曲線拡大図


十字型のマーカーで示したのがデータ点で、X軸方向のデータ間隔が入力信号の電圧分解能です。
ヒステリシス幅の測定値160mVや公称値60mVに対して、分解能不足の感は否めません。

とはいうものの、
  • ほぼTTL互換入力であること
  • シュミットトリガ入力であること
  • ヒステリシス幅が100mV程度であること

が確認できました。

関連エントリ




参考文献/使用機器




フィードバック



にほんブログ村 その他趣味ブログ 電子工作へ

 ↑ 電子工作ブログランキング参加中です。1クリックお願いします。


コメント・トラックバックも歓迎です。 ↓      


 ↓ この記事が面白かった方は「拍手」をお願いします。

tag: PSoC インターフェース シュミットトリガ ブレッドボード 

異なるGNDレベル間でI2C その6

異なるGNDレベル間でI2C その5では、pcm1723さんに教えていただいた汎用フォトカプラを高速化する方法を利用した絶縁双方向インターフェースの設計とシミュレーションをしました。

今回は、この回路をブレッドボード上に試作し、動作の確認をしました。その結果10kHzの矩形波に対して、実用に足ると考えられるという結論に至りました。
001_20081229225043.jpg 002_20081229225105.png 003_20081229225116.png

カレントミラー版の実装


これまで、異なるGNDレベル間でI2C その1その2その3その4とフォトカプラを用いた絶縁双方向インターフェースについての設計・試作を行ってきました。そして、その4の高速フォトカプラを用いた回路で、I2C高速モードに相当する400kHzの矩形波に対して十分に高速な応答を得られたため、一応の完成形を見たということにしました。

一方で、このときに使った高速フォトカプラTLP552は、電源電圧に5Vを要求することや汎用フォトカプラに比べて高価であることなどの問題点も持っています。
そこで、10kHz程度の周波数で動作する汎用フォトカプラを利用した絶縁双方向インターフェースの設計を行うことにしました。この回路にはpcm1723さんに教えていただいた汎用フォトカプラを高速化する方法を用いました。そのシミュレーション結果が、異なるGNDレベル間でI2C その5です。
このエントリでは、ブレッドボード上に試作した回路の特性を測定します。

実験条件


回路の外観と回路図を以下に示します。


001_20081229225043.jpg
fig.1: カレントミラー版回路の外観

002_20081229225105.png
fig.2: 回路図


波形・周波数測定にはPDS5022Sを用いました。
電源は送信側・受信側を共通にし、電源電圧は5Vとしました。電源装置は安物のスイッチング電源です。

10kHzでの結果



003_20081229225116.png

004_20081229225126.png
fig.3,4: 10us/div 1V/div


fig.3,4が10kHz時の結果です。赤のライン(CH1)が送信側で橙のライン(CH2)が受信側です。

100kHzでの結果



005_20081229225132.png

006_20081229225136.png
fig.5,6: 2.5us/div 1V/div


fig.5,6が100kHz時の結果です。赤のライン(CH1)が送信側で橙のライン(CH2)が受信側です。
大分うねうねしています。


007_20081229225141.png

008_20081229225148.png
fig.6,7: 1us/div 1V/div


時間軸方向に拡大してみました。

結論


10kHzでも多少の遅延・波形なまりが起こっていますが、その3の回路の測定波形と比べると、はるかに改善されています。

一方100kHzのほうはやはり実用には耐えそうにありません。

参考文献/使用機器



tag: インターフェース I2C 絶縁 フォトカプラ PC817C カレントミラー ISO-I2C ブレッドボード 

異なるGNDレベル間でI2C その5

異なるGNDレベル間でI2C その1その2その3その4とフォトカプラを用いた絶縁双方向インターフェースについての設計・試作を行ってきました。
そんな中、pcm1723さんが異なるGNDレベル間でI2C その3コメント欄汎用フォトカプラを高速化する方法を教えてくださいました。
この方法を用いれば、数10kHz程度までは綺麗な波形を保てそうです。

今回は、pcm1723さんに教えていただいた、出力段にカレントミラーを使う方式で高速化した汎用フォトカプラを用いた絶縁双方向インターフェースの検討をします。
002_20081220183829.png 003_20081220183836.png

○汎用フォトカプラ(PC817C等)の利点
異なるGNDレベル間でI2C その2その4では、デジタル出力型の高速フォトカプラTLP552を使って高速化することを考えました。
しかし、TLP552のような、汎用とはいえない部品は少しばかり高価で、販売している店も限られます。千石電商では220円です。
一方で、汎用フォトカプラであるPC817Cは、秋月で8個入り100円で、代替品としては、TLP621-1が秋月で5個入り100円TLP521-1が千石で1個40円と選択肢がたくさんあります。

また、TLP552は電源電圧範囲が4.5V~5.5Vと5V系でしか使えないという欠点もあります。

○汎用フォトカプラの高速化
異なるGNDレベル間でI2C その3コメント欄にて、pcm1723さんに汎用フォトカプラを高速化する方法を教えていただきました。この方法はそのまま、異なるGNDレベル間でI2C その1の回路に適用することができます。

○絶縁双方向インターフェースへの応用

001_20081220183805.png
fig.1: カレントミラー出力型絶縁双方向インターフェース回路


以前までSBDを使っていた部分は、せっかくのカレントミラーだったので出力系統を増やすことで代えてみました。この変更のおかげで、SBDのVf分の電圧がGNDから浮く問題も同時に解決されました。

○10kHzでのLTspiceシミュレーション
カレントミラー出力型のLTspiceシミュレーションの結果を以下に示します。入力クロックは10kHzとしました。


002_20081220183829.png
fig.2: 10kHzのスケマティック

003_20081220183836.png
fig.3: 10kHzのグラフ


○100kHzでのLTspiceシミュレーション
同様に100kHzでのシミュレーションの結果です。


004_20081220183842.png
fig.4: 100kHzのスケマティック

005_20081220183847.png
fig.5: 100kHzのグラフ


○付録
このエントリで使用したLTspiceのシミュレーション用ファイルを添付します。ファイル名末尾の".txt"を削除して、"_"を"."に変更すれば使えるはずです。


tag: LTspice インターフェース I2C 絶縁 フォトカプラ PC817C TLP621 カレントミラー ISO-I2C 

異なるGNDレベル間でI2C その4

絶縁双方向インターフェースの高速化として、I2C高速モードである400kHzでの通信を目標として、異なるGNDレベル間でI2C その1その2その3と続けて、設計・試作を行ってきました。
今回は、その2で設計したTLP552を用いた高速版回路の試作を行い、400kHzまでの動作を確認しました。

002_20081207205817.jpg 003_20081207205822.png 006_20081207205840.png




低速版の問題点


異なるGNDレベル間でI2C その3では、その1で設計した汎用フォトカプラを用いた低速版双方向絶縁インターフェース回路をブレッドボード上に試作し、その特性を測定しました。
その結果、シミュレーションから得られたものよりも性能で劣るため、実用は難しいだろうということが分かりました。
この低速版回路の問題点は以下の二つです。


  • 立ち上がりの遅さ

  • フォトトランジスタのドライブの力不足



信号の立ち上がりの遅さは、その1のシミュレーションから明らかでした。そして、この問題に対する解答が高速フォトカプラTLP552を用いるというものでした。詳しくは、その2を参照してください。

一方TLP552のドライブ能力は、出力電流Io=50mAと十分です。以下の絶対最大定格の表はTLP552のデータシートからの引用です。


001_20081207205808.png
fig.1: TLP552の絶対最大定格


測定


試作した回路の外観をfig.2に示します。fig.3が回路図です。


002_20081207205817.jpg
fig.2: 高速版絶縁双方向インターフェース試験回路

003_20081207205822.png
fig.3: 回路図


クロック周波数は、約100kHzと約400kHzを試しました。
電源は、両側で共通とし電源電圧は5Vです。電源装置には、安物のスイッチング電源を使いました。
測定にはPDS5022Sを用いました。

100kHz


以下に約100kHzの時の波形を示します。赤のラインが送信側の波形で、橙のラインが受信側です。
100kHzはI2C低速モードのクロックに相当します。


004_20081207205828.png
fig.4

005_20081207205834.png
fig.5


立ち上がりに多少のなまりが見られるのと、受信側の"L"レベル出力の電圧が1SS108のVf分高くなっていますが、かなり綺麗な波形です。

400kHz


次に約400kHzの時の波形を示します。同様に赤のラインが送信側、橙が受信側です。
400kHzはI2C高速モードのクロックに相当します。


006_20081207205840.png
fig.6

007_20081207205846.png
fig.7


なまりと送受信間の遅延が見られますが、実用レベルだと思います。

参考文献/使用機器



tag: I2C 絶縁 フォトカプラ TLP552 インターフェース ISO-I2C ブレッドボード 

FC2カウンター
カテゴリ
ユーザータグ

LTspiceAkaiKKRmachikaneyamaScilabKKRPSoCCPAOPアンプPIC強磁性常微分方程式モンテカルロ解析トランジスタode状態密度DOSインターフェースecaljスイッチング回路定電流PDS5022半導体シェルスクリプト乱数レベルシフトHP6632A温度解析可変抵抗I2Cブレッドボード分散関係トランジスタ技術R6452A数値積分反強磁性バンドギャップ確率論セミナー絶縁偏微分方程式非線形方程式ソルババンド構造熱設計カオスA/DコンバータISO-I2Cフォトカプラ三端子レギュレータシュミットトリガLEDGW近似LM358アナログスイッチ数値微分TL43174HC4053マフィンティン半径発振回路サーボ直流動作点解析カレントミラーPC817CUSB単振り子bzqlty開発環境BSch2ちゃんねる電子負荷イジング模型LDAチョッパアンプ量子力学補間アセンブラFFTブラべ格子標準ロジックパラメトリック解析基本並進ベクトルewidthキュリー温度QSGWGGA失敗談MaximaSMPTLP621スイッチト・キャパシタ熱伝導コバルト相対論スピン軌道相互作用六方最密充填構造繰り返しFETランダムウォークcygwingfortran不規則合金状態方程式ラプラス方程式抵抗スレーターポーリング曲線位相図格子比熱マントルデータロガー自動計測ダイヤモンドガイガー管QNAPUPS固有値問題条件分岐井戸型ポテンシャルシュレディンガー方程式詰め回路MCU第一原理計算起電力熱力学スーパーセルVCALM555仮想結晶近似awkTLP521NE555ubuntufsolveブラウン運動OpenMPVESTA最大値テスタ差し込みグラフFXA-7020ZRWriter509三角波TLP552平均場近似最適化最小値過渡解析LMC662トランスPIC16F785CapSenseMBEナイキスト線図CK1026フィルタP-10負帰還安定性EAGLEAACircuit2SC1815OPA2277PGAノコギリ波縮退非線型方程式ソルバL10構造fcc面心立方構造結晶磁気異方性TeX全エネルギー固定スピンモーメントFSMウィグナーザイツ胞interp1ヒストグラム確率論マテリアルデザインspecx.fジバニャン方程式等高線初期値フェルミ面正規分布c/agnuplotBaO岩塩構造ルチル構造ウルツ鉱構造ZnO重積分SIC二相共存スワップ領域リジッドバンド模型半金属合金multiplotハーフメタルデバイ模型edeltquantumESPRESSOフォノンifortUbuntuマンデルブロ集合キーボードRealforce関数フィッティングフラクタルクーロン散乱CIF化学反応三次元最小二乗法日本語直流解析PCトラックボールExcelTS-110パラメータ・モデル等価回路モデルTS-112疎行列文字列HiLAPW両対数グラフ片対数グラフ熱拡散方程式陰解法境界条件連立一次方程式Crank-Nicolson法グラフの分割軸ラベルヒストグラム不規則局所モーメント入出力円周率Gimp凡例線種シンボルMAS830L

最新コメント
リンク

にほんブログ村 その他趣味ブログ 電子工作へ