マイク・DVS−2端子切り替え
FT-1000MPに,音声をPC(Linux)から送り込む切り換えスイッチです.
Cで記述したバージョン(回路図) → PIC/Proj21
内容
3代目 †
初代でも,2代目のものでも何ら問題ないのですが,PIC12F509の習作として作りました.動作確認後に,在庫しているPIC12C509Aを使いました.今では12C509Aのほうが12F509より高いので,在庫処分的意味合いです.
実は,JDMプログラマーで書き込みに2度失敗して,在庫を3個処分できました^^; トホホ.もっとも,NOPで埋めれば,書き損じた12C509Aも再利用できないことはないのですが,そこまですることもないでしょう.
トランジスタのように見えるものの1つはPTT用のトランジスタ(BC377),もうひとつは5V3端子レギュレーター(78L005)です.
左側の2本の線は,シリアル入力用です.入力のみで,CATは定義されていない命令を無視しますから,CATに使用している線に接続しても使えますが,現在は別のシリアルポートを使用しています.ADM232(Max232同等品)は,受信の一系統のみ使用しています.
セラミック発振子は内蔵です(4MHz).
右側に出ている5本の線のPICの接続とFT-1000MPとの関係は下記の通りです.
基板側 | FT-1000MPのDVS-2コネクタ |
PICのGPIO2に接続したトランジスターのコレクター(ベースに10kΩ) | 3(PTT) |
GPIO1(Trなしの直結) | 6(CNTL 2) |
GPIO0(〃) | 5(CNTL 1) |
+9V | 4 |
GND | 7 |
GPIOの0〜2bitを使用していますから,初代・2代目で行っていたローテーション(右へのシフト)はしません.
このほか,GPIO3をシリアル入力に使用してます(このポートは入力にしか使えない).PCからのSP出力は,FT-1000MP DVS-2コネクターの1ピンに直接つないでいます.
クロックが10MHzから4MHzになったので,4800bpsのためにループの回数を調整しました.10MHzの時の40%にして,実測して加減しました.
後にCで書いたプログラムでも動作確認しました. → PIC/Proj21
2代目 †
初代のも問題はなかったのですが,後にPTT用にトランジスタを追加して,それがチューブラ配線で美しくなく,洋服に引っ掛けて破損したこともあったので,専用基板にして作りました.
PIC16F84とADM232を使っていて,秋月のものと何ら変わりません.電源オンのリセット回路など省略してあります.
初代 †
最もユニークなのが,このマイク・DVS−2端子切り替えです.この,初代のものは,秋月のPIC16F84キットをそのまま使っています.
ロングCQなどは,Linuxマシンに登録されている音声をFT−1000MPに送り込んでいます.そのために,Linuxマシンの音声出力をFT−1000MPの背面にあるDVS−2端子に接続しています.しかし,ただ接続しただけでは,DVS−2端子からの音声は送信されません.CATにはこの切り替えコマンドはなく,DVS−2端子のCNTL2ピンを制御してやる必要があります.
このために,CATのRXD(FT−1000MPからみて)をADM232(単電源のレベルコンバータ)を介してPIC16F84に与え,CATに定義されていない,E0コマンドを勝手に定義し(FT-1000MPは単純に無視するだけ),サブコマンドが01ならば,DVS−2端子から音声入力し,00ならばマイクからに戻すというようにプログラミングしました.
基板は,秋月のキットをそのまま使用しています.たぶん,2年くらい使っていますが(2002年9月現在),信頼性は非常に高く,誤動作・暴走は一度もありません.
DVS-2コネクター(FT-1000MP) †
7ピンの,円形DIN(馬蹄形でない,mini-DINでない).
ピン# | 八重洲の定義 | 接続 |
1 | Voice In | PCのスピーカー/ライン出力 |
2 | Voice Out | 未使用 |
3 | PTT | トランジスタのコレクター(B3) |
4 | +9V | 電源 |
5 | CTNL1 | B1 たぶん録音機能 |
6 | CNTL2 | B2 再生 |
7 | GND | 1につなぐシールド線のシールド側 |
コネクタ4ピンから取った9Vの電源は,3端子レギュレータを経て5Vとして,PIC及びEIA232ドライバーADM232に供給されています.
Port (bit)割り当て 2008-02-19 †
A 4 | EIA232受信 |
B 3 | PTT |
B 2 | CNTL 2 |
B 1 | CNTL 1 |
PTTは,オープンコレクターのトランジスタをドライブします.CNTL 1は不使用(L)で,CNTL 2は送信時にH, PTTはLで送信ですが,オープンコレクターのインバータがつくので,CNTL 2と同時にHです.
PTTの追加について 2008-02-19 †
製作した当初から,しばらくは,送受信切替はCATで行っていました.しかし,2005年に,この装置単独で動作するように,PTT回路を追加しました.PTTはPICが直接制御できないので,トランジスタを追加しオープンコレクターで接続しています.
制御するピンが3本になって,コマンドを増やすのもなんなので,コマンドは,E0のみにして,サブコマンドをそのまま出力するようにしました.
自分向けメモ †
PIC側の受信ルーチンで,E0コマンドのサブコマンドを左に1ビットシフトするので,出力ポートのB3, B2, B1は,ビット2, 1, 0に対応する.