TS820用のDDS-VFO(VFOsys改)の方はひとまず回路は完成しています。TS820の本体に新たに追加する820のバンドSWのバンド情報を使った他回路(アンテナ切り替え回路等)を切り替え制御できるような、デジタル化を少し考えてみる事にしました。今時のトランシーバーにもバンド情報を出力するジャックはついていますが、先ずは、共通化を考えないTS820独自の、デジタル化対応です。適当に仕様を決めて考えた内容です。良く言えば、オリジナルとも言えますが、Hi!

情報は、VFOsys改への周波数表示をさせるための本体の各バンドのOSCの+B電源からの情報源と同じです。
現状のTS820のバンドSWを回すと対応するバンドに対応する数値がセグメントに表示されるというだけです。ここはアマチュア精神で、こだわりとして、ゲートICを使うことにしました。無駄な点は大くありますが、気にしないことにします。デジタル回路でよく使う7セグメントLED 2個への表示回路です。まだ検討してませんが、制御回路用にはピンヘッドをパラレルにしてあるので、そこに制御回路がつながるという具合です。情報源よりのアンテナとかの切り替えに使える制御用の回路の方は、まだ考えていません。

とにかくこういうふうにすれば、出来るのではないかという動機からの回路作製です。直感とTTLIC規格表を紐解いて、頭の中での回路ですので、動作確認の実験は未だしていません。規格表の入力出力表が参考資料です。

先ずは、表示するのは7セグメントLEDです。そのためにドライバーをTTLIC規格表から探し出しました。7セグメントLEDはカソードコモンとアノードコモンがありますが、アノードコモンタイプにしました。他意はありません。7セグメント用のドライバーTTLは7446と回路図に記載してありますが、回路図作図時に選んだEagleのPartsです。実際に使用する7セグメントLEDドライバーとしては、SN74246を使います。TTLICの手持ちは幸い結構な種類を持っています。規格表を元に適当に選んだ結果です。回路図にある7446と74246は表示する”6”の形の違いだけで、全く他は同仕様(同じピン配置、同じ規格)です。

ここで、バンド情報について少し考える必要があることが1つあります。7セグメントLEDドライバーの入力の範囲についてになります。

下記は7446のFunction Tableです。74246も同じです。
範囲を選択_124
私が適当に決めたバンドに対する割当の番号とドライバーの入力との関係対応です。
1から11までですが、7セグメント1個では10進での表示は0から9までしか出来ません。16進での表示は可能ですが、あくまでも10進での1から11までの表示です。10以上での対処方法は後に記載しますが、当然の事ながら、7セグメントLEDは2個必要となります。
バンド情報 対応数値
1.9MHz    →  1
3.5MHz    →  2
7MHz       →  3
14MHz     →  4
15MHz     →  5
18MHz     →  6
21MHz     →  7
28MHz     →  8
28.5MHz  →  9
29MHz     →10
29.5MHz  →11
バンド情報の範囲は1から11までです。
規格表上での対応する範囲としては0から11までになりますが、7セグメントLED 1つでは数値0から9までです。数値10以上は16進のA,B,C,D,E での対応表示なので、使えません。バンド情報範囲1から11にはありませんが、0の1桁は数値10の一の位表示時に使います。

1.9MHz    →1:1
3.5MHz    →2:2
7MHz       →3:3
14MHz     →4:4
15MHz     →5:5
18MHz     →6:6
21MHz     →7:7
28MHz     →8:8
28.5MHz  →9:9
29MHz   →10:Aなので使用不可、代わりに”10”→一桁が”0”で上位桁のセグメントに”1”表示で”10”
29.5MHz→11:Bなので使用不可、代わりに”11”→一桁が”1”で上位桁のセグメントに”1”表示で”11”

29MHzと29.5MHz での上記のような手法で2つの7セグメントLED を使うので表示する回路を考えないといけません。
もう、ここからは規格表とにらめっこになります。まずは、現状の表示する数値と入力となる4ビットA,B,C,Dの値の表を用意して眺めて考えます。
表示値 D C B A
0           0  0  0  0
1           0  0  0  1
2           0  0  1  0
3           0  0  1  1
4           0  1  0  0
5           0  1  0  1
6           0  1  1  0
7           0  1  1  1
8           1  0  0  0
9           1  0  0  1
10     1  0  1  0
11     1  0  1  1
12からは使いません。TS820の+B電源でのバンド情報入力は数値1から数値11までしかありません。0は数値10の一の位で使う為、必要です。規格表一覧上の数値の、0,1,2,3,4,5,6,7,8,9で 対応するバンド情報の数値1から11までを2個の7セグメントLED で表示する事になります。
どうでしょう、数値10と11をどう処理しましょうか? 先ず考えるのは、数値0から9までと数値10と11とを入力ビットの値から識別しなければなりません。識別できるかどうかを見て考えないといけません。1つのビットだけでは識別は無理です。2つのビットではどうかと対象を増やし順番に見ていきます。するとBとDの両方のビットが”1”は10と11だけです。ほかの0から9まではこのビットはBかDのどちらかだけが”1”の”10”か”01”、または、全く異なる”00”です。これは識別出来る事にほかなりません。
ただしこれは、あくまでも入力が数値0から11までの場合に於いての数値10と11が識別できるのであって、数値範囲が0から15までの場合は14,15も10と11と同じ様にB,Dの両方のビットが”1”となって識別はできません。今回は、入力範囲に制限があり1から11まで以外はありませんから、BとDのビットでの識別は有効となります。

B,Dの2ビットで識別することで10の位の桁に”1”を表示させます。簡単に考えてわかると思いますが、BとDのビットがそれぞれ”1”、”1”で他の0から9まででは(”0”、”0”)、(”0”、”1”)、(”1”、”0”)のどれかになっています。A,B,C,DのうちのBとDでの数値対応は下記になります。

D     B
0      0 ←数値0,1,4,5の場合
0      1 ←数値2,3,6,7の場合
1      0 ←数値8,9の場合
1      1   ←数値10,11の場合のビット値B:”1”、D:”1”

もうこの対応関係で解ると思いますが、まさしくアンドゲートでB,Dビットを入力にすると数値10と数値11のとき(B:”1”、D:”1”)アンドゲート出力に”1”が出ます。ほかの数値0から9までのアンドゲート出力は”0”です。
これで、数値1から9以外の10と11の時に識別できるコントロール出力信号を得た事になります。

さて、この識別出力を使うとして、回路はどうしましょうか?
一般にゲートを使った切り替え回路(マルチプレクサ)は下記のゲート回路で2つの入力の切り替えが出来ます。

回路図は書いても良いのですが、汎用なゲート回路なので、ネットから引用しました。
範囲を選択_124B
これを4回路数用意すれば切り替えのCの設定で各4ビットを切り替えすることが出来ます。NANDで回路を構成し直してやろうかと思いましたが、数多くのゲートが必要なので、止めました。

また、TTLICの規格表にお世話になります。規格表を眺めていると、4ビットデータ(A,B,C,D)入力を選択切換出来るゲートがありました。2to 1 Date Selector のTTLIC 74157です。
切り替える4ビットデータを A入力(I0a,I0b,I0c,I0d) と B入力(i1a,I1b,I1c,I1d)とすると S(select input)の値(”H”か”L”)でA入力とB入力とを切り替え出来るTTLです。これを使えば楽に対応できます。

これを十の位と一の位用の2つの7セグメントLEDのドライバーTTL の入力にそれぞれ繋ぐごとにします。

範囲を選択_124a


範囲を選択_125
TROUTH TABLE でENABLE "L"でSELECT INPUTを"H"にした時にI1の入力がそのまま出力されます。
SELECT INPUTが”L”のときにはI0の入力がそのまま出力されます。同じ74157では、種類が結構あり選択時の出力が入力の反転で出力されるゲートも同じ型番(74157)でもヘッダーの違う物ではあったので、規格表での確認は絶対必要です。

4ビットの切り替えを行うことで、数値10と11の場合の(29MHz, 29.5MHz)表示用の回路を考える事にします。

7セグメントLED の1の位(”0”〜”9”)は通常のSELECT INPUT "L"時の7セグメントドライバーの入力に出力されます。(実際は数値1から9)
数値10の場合はAND出力が”1”となりSELECT INPUT "H"時の7セグメントドライバーの入力になります。この場合の入力は(A,B,C,D) は(A,0,0,0)と回路図上で作図設定してます。10の場合のAのビットはそのまま出力されます。

表示値 D C B A
10     1  0  1  0

74157の切り替え回路処理で
10        0  0  0  0

となり、一の位は ”0”表示されます。

数値11の場合も全く同様の処理となります。

表示値 D C B A
11     1  0  1  1

74157の切り替え回路処理で
10        0  0  0  1

となり、一の位は  "1"表示されます。

一の位は数値10と数値11の場合問題なく 10時→”0” 11時→”1” になりました。

十の位の7セグメントは 数値10と11のときだけ ”1”表示で1から9までは ”0”表示です。
これも74157で 数値1から9まではSELECT INPUT "L" ですから(A,B,C,D)を(0,0,0,0)に作図します。グランドに落とすだけです。数値10と11のときはSELECT INPUT "H"時の(A,B,C,D)を(0,0,0,1)になるように作図します。数値10と11の時はSELECT INPUT "H"より(A,B,C,D)は(0,0,0,SELECT INPUT)とも書けます。常時電源に繋いで”H”状態にしておいてもいいですし、SELECT INPUTがHでの動作時に同時に”H”設定でもどちらでも良いかと思います。回路図上はSELECT INPUTに繋いでいます。
SELECT INPUTが”L”(数値0から9)では十の位の7セグメントLEDは”0”に(A,B,C,D)を(0,0,0,SELECT INPUT) つまり(0,0,0,0) になるように作図します。
以上で、TS820の1.9MHzから29.5MHzまでの対応表示 数値1から11が2つのセグメントLEDにバンド対応の数値仕様通り表示出来るかと思います。 あくまでも実験なしの、理屈だけで作製した回路図です。
  
BAND    7SEG2,7SEG1 (表示)
1.9MHz    →   0   ,   1      ("01")
3.5MHz    →   0   ,   2      ("02")
7MHz       →   0   ,   3      ("03")
14MHz     →   0   ,   4      ("04")
15MHz     →   0   ,   5      ("05")
18MHz     →   0   ,   6      ("06")
21MHz     →   0   ,   7      ("07")
28MHz     →   0   ,   8      ("08")
28.5MHz  →   0   ,   9      ("09")
29MHz     →   1   ,   0      ("10")
29.5MHz  →   1   ,   1      ("11")

全体の回路図です。+5Vのレギュレータも必要なので、入れてあります。ANDゲートはNANDの2つ使い
で代用です。(NAND出力を反転=AND)  NANDは2入力を一緒にするとINVERTERになります。
タイミングに問題ない場合はゲートNANDゲートは本当に便利です。ゲート数は多くなりますが、全部をNANDゲートの組み合わせで代用出来ます。安いですし、C−MOS IC(4011)などは数多く持ってますし、実際、良く使います。

範囲を選択_123

ArduinoNANOなどを使えば、ソフトウェアコーディングで出来る内容だと思いますが、既にTS−820本体で1個シリアルデータ用に使っているので、ゲートだけで回路を組んでみました。ゲートの回路は本当に久々です。少し頭の体操になったようなならないような?そういえば、入力を抵抗でプルダウンしないと不安定動作する場合もあるので、回路はまだまだ、最終ではありません。
パターンはまだ作製することが出来ません。実験後動作問題なしと確認できた時点で使用するパーツを選定し回路修正し直しし、安定動作が確認できてからでなければパターン作製は出来ません。
今回は少し寄り道のゲート回路作製となりました。

つづく?

バンド情報の2個の7セグメントLED に表示する回路をゲートで作りました。肝心の入力の部分の変換回路が最初に必要ありきなのですが、後になってしまいました。

デジタルの入力信号として4ビット(A,B,C,D)があります。元々はアナログタイプのトランシーバーなので、デジタルでの信号のやり取りはありません。(820の内部回路内のデジタル回路はあります。)
なので、作ります。
対応するバンドの数値をそのまま、ダイオードで4ビット化する方法にしました。
TS820の各バンドOSCの+Bから Aのライン、Bのライン、Cのライン、Dのラインの4本に対応する数値に合わせて数値合計が同じになるように該当ラインにダイオードで接続し4ビット化してます。

A : 2^0 = 1
B : 2^1 = 2
C : 2^2 = 4
D : 2^3 = 8

バンド情報→数値:ダイオード接続先(A,B,C,D)
1.9MHz    →1:接続 A
3.5MHz    →2:接続 B
7MHz       →3:接続A,B
14MHz     →4:接続C
15MHz     →5:接続A,C
18MHz     →6:接続B,C
21MHz     →7:接続A,B,C
28MHz     →8:接続D
28.5MHz  →9:接続A,D
29MHz   →10:接続B,D
29.5MHz→11:接続A,B,D

以上が表示ゲート回路につながる入力4ビット(A,B,C,D)変換でした。

つづく?