3値リニアカウンタ
ver1.000 2007.4.19

更新履歴 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割り当て


三値 負側 三値 正側
3値 最下位 Port0_4 Port0_5
三値 下から2桁 Port0_6 Port0_7
三値 下から3桁 Port1_0 Port1_1
三値 下から4桁 Port1_2 Port1_3
三値 下から5桁 Port1_4 Port1_5
三値 下から6桁 Port1_6 Port1_7

図 Portの割り当て

なお、Port0_1とPort0_0を結ぶ。

ファイル一式をまとめました。著作権は私の書いたmain.cと設定ファイルについては,特にさしさわりが無ければ,GPL2に準じるものとします。
しかし,その他のライブラリーおよびヘッダファイル等の著作権は、Cypress Microsystems Inc.およびImageCraft creations Inc.、および関係各社にあります。

ちょっと、整理してから公開するつもりでしたが、治具なのでこのままでいいやという代物です。
linear_BCT.lzh のダウンロード

【注意】
本機をコピーされるのであれば,すべて自己責任で行ってください。相談にのれるかどうかわかりませんが掲示板にどうぞ。
また、本機は実験機であり、しかも程度としては、でっち上げレベルであり、チューニングされているわけでもありません。
再現性は保証されません。
また、測定データ等は、あくまで私の場合こうなったということであって、こうなるものと保証するものではありません。

以上のことを十分ご理解の上、参考にするのには、いっこうに構いません。

メインページに戻る