更新履歴 2007.4.9 新規作成
2007.4.19 手直し追加
【はじめに】
3値ラダーの実験用に3値リニアカウンタが必要になりました。そこで,PSoCマイコンで何とかなりそうなのでとりあえずやってみました。
図 3値ラダー駆動回路
なお、3値ラダーについては,ここです。
この駆動回路に必要なパルスのタイミングチャートは,ここでは3桁だけですが以下のようになります。
つまり、3周期のカウンタで,−,0,+の繰り返しです。
ここでは、8ビットのカウンタを10個使い、16ビットのカウンタを2個使っています。
Counter8_1は最小桁で,マイナスパルス、Counter8_2はプラスパルス用です。2個1組です。上のタイミングチャートの0Lと0Hです。周期はPeriod+1ですから、3です。
Counter8_3,Counter8_4とは、次の桁です。上のタイミングチャートの1Lと1Hです。周期は3倍の9です。Counter8_3は8,7,6とLで5,4,3,2,1,0でHです。Counter8_4は8,7,6,5,4,3までLで2,1,0でHです。パルス幅が3倍になりました。
Counter8_5,Counter8_6とは、さらに上の桁になります。上のタイミングチャートの2L,2Hです。周期はさらに3倍の27です。Counter8_5は27-18までL、後はH、Counter8_6は27-9までL,8-0でHとパルス幅がまた3倍になります。
さて、個々のカウンタはこのようになっていますが、全体のタイミングを合わせるためにPort0_0がHになると全てのカウンタのEnableが入るようにしています。Port0_0の入力はPort0_1に配線でつないでいます。port0_1に1を出力するとカウンタが全て同時に走り出し、位相が揃うことになります。
配線図です。
さて、一番苦労したのがこのところで,Port0_0に出力して内部バイパスで入力に使用としましたがだめでした。結局,外側で,配線しないとだめなようです。
なお、PSoCはCY8C29466を使っています。CY8C27443では内部ロジックセルが8個までなので,3値4桁までとなります。つまり、81周期までです。
図 pin割り当て
|
図 Portの割り当て
なお、Port0_1とPort0_0を結ぶ。
ファイル一式をまとめました。著作権は私の書いたmain.cと設定ファイルについては,特にさしさわりが無ければ,GPL2に準じるものとします。
しかし,その他のライブラリーおよびヘッダファイル等の著作権は、Cypress Microsystems Inc.およびImageCraft creations Inc.、および関係各社にあります。
ちょっと、整理してから公開するつもりでしたが、治具なのでこのままでいいやという代物です。
linear_BCT.lzh のダウンロード
【注意】
本機をコピーされるのであれば,すべて自己責任で行ってください。相談にのれるかどうかわかりませんが掲示板にどうぞ。
また、本機は実験機であり、しかも程度としては、でっち上げレベルであり、チューニングされているわけでもありません。
再現性は保証されません。
また、測定データ等は、あくまで私の場合こうなったということであって、こうなるものと保証するものではありません。
以上のことを十分ご理解の上、参考にするのには、いっこうに構いません。