SkyWiRES/PCインタフェース回路
概要
SkyWiRESを実現するためのインタフェースを紹介する。これは、MsFB/ToneDecoderを使わない方法として有効な手段である。
新着情報
- 回路図Ver1.02を公開しました。SkyWiRES ONAIR中に自ノードトランシーバを送信状態にする事ができます。PICのソフトウェアは Ver1.01 にアップデートされています。(2010/2/27)
- 回路図データ &ref(): File not found: "SkyWiRES_v102.CE3" at page "SkyWiRES/PCインタフェース回路";
&ref(): File not found: "SkyWiRES_v102.PNG" at page "SkyWiRES/PCインタフェース回路";
部品一覧
- 基板はうちにありそうだったので、それをカットして使うことにしました。無ければ共立エレショップから100円ぐらいで購入できます。例えば ICB-288
あたりではどうでしょう。
D-Sub9ピンの半田付けが苦手な方は、以下のようにストレートケーブルを購入してケーブルをちょん切って使うと良いです。
- 全て共立エレショップ
で購入しました! 1000円以下で納まりそう。
&ref(): File not found: "SkyWiRES_Parts_00.PNG" at page "SkyWiRES/PCインタフェース回路";
マイコンソフトウェア
こんな単純な回路で単純な動作なのに、どうしてマイコンを使うんだ? と思われてしまいがちだが、将来の拡張性を考え、PICマイコンを使用することにした。これは100円程度で入手することが出来る。DIP8ピンのちいさなものなので、D-SUB9シェルの中に納まりそうな感じ。
- Hexファイルダウンロード
PICライターをお持ちの方はこのファイルをダウンロードして書き込めばOK
&ref(): File not found: "SkyWiRESIF_v101.hex" at page "SkyWiRES/PCインタフェース回路";(PIC12F675)
- コンパイル環境一式ダウンロード
色々といじくりたい人はこちらをダウンロード。
&ref(): File not found: "SkyWiRES_v101.zip" at page "SkyWiRES/PCインタフェース回路";(PIC12F675)
- コンパイラー
Hitech PICC LITE
のHI-TECH C Compiler for PIC10/12/16 MCUs - Lite mode v9.70 あたりでOK牧場だとおもいます。
- ソースコードはとっても単純!動作確認完了!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
-
|
|
|
|
|
|
|
|
!
-
|
|
|
|
|
|
|
-
|
|
!
-
|
|
!
!
!
!
| #include <pic.h>
__CONFIG(UNPROTECT & MCLRDIS & PWRTEN & WDTDIS & INTIO);
__IDLOC(0000);
void main()
{
OSCCAL = _READ_OSCCAL_DATA();
GPIO = 0x00;
ANSEL=0x00;
CMCON=0x07;
TRISIO = 0x1A;
while(1) {
if (GPIO4) {
GPIO2 = GPIO1;
GPIO5 = 1;
}
else {
GPIO2 = GPIO3;
if (GPIO0) {
GPIO5 = 0;
}
else {
GPIO5 = 1;
}
}
}
}
|
3.3V化できるかどうか調査
- PIC12F675_DataSheet

- PICマイコンの電気的特性
- PIC12F629,12F675 の電気特性

VOH 内部で High (1)を出力したときの電圧 Vdd - 0.7V 以上 を出力
IOH High (1)を出力したときに流れ出る電流 25mA 以下
VOL 内部で Low (0)を出力したときの電圧 0.6V 以下 を出力
IOL Low (0)を出力したときに流れ込む電流 -25mA 以下
Vdd=3.3Vとしたら、VOHは3.3V-0.7V=2.6Vになってしまう。しかし、これは電流をガンガンに流したときの話だとおもうので、実際にはこんなに電圧のドロップはないんじゃないかなー。
- HRI-100のSQL端子入力特性
0--->2.99V(ここでHI認識)-->5V->1.65V(ここでLO認識)-->0V
- インタフェース電圧の考察
- HIと認識するためには、2.99V以上の電圧が必要になる。もしPICの出力電圧が上記のように2.6Vまでドロップしてしまったとするなら、Hiが受け取れなくなる。たいした電流を流さないのであれば大丈夫なんじゃないかなぁ。保障外の電圧だなぁ。駄目かぁ。
- LOと認識するためには、1.65V以下の電圧が必要になる。PICの出力電圧は0.6V以下なので問題なし。
どぞー♪
- まだ動作確認はしていないけれども。こんな雰囲気でどうだべさ?^^;; -- JM7MUU 本田
- 雰囲気は、いいと思うよ。下手にトランジスタでロジックを組むよりスマート。拡張性もOK牧場。 本田さんのコンパイラは何を使っているの? それだけ本文に書いてくださいませ。 -- 小林@jr7ovc/1
- Hitech PICC LITE
のHI-TECH C Compiler for PIC10/12/16 MCUs - Lite mode v9.70 あたりでOK牧場だとおもいます。 -- JM7MUU 本田
- 上記回路図は 5Vで作ったけれども、5.1Vのツエナーダイオードってなかなか品薄。そういえば、3.3Vでもマイコンは動くなぁ。HRI-100のSQL端子は 3.3V の電圧で動くかなぁ。動けば 3.3Vに変更しようかなー。 -- JM7MUU 本田
- 3.3V化できないかなーと思ったけれども、I/F上問題になりそうねぇ^^;;; 5vのままで行くか! -- JM7MUU 本田
- RS232Cのハードウェア規格
-- JM7MUU 本田
- 動作確認ができましたので、回路図やマイコンソフトをアップします。もっとかっこいいソフトを書けない事も無いけれども、まぁいっか^^ IOポート入力レベル変化割り込みをつかうという手もあるねー。面倒だからやってないけれども^^;;;;; -- JM7MUU 本田 &new([nodate]){date}: Invalid date string;
- そういえば、PICのVCCに 負電圧がかかる状態になるねー。自分の実験ではダイオードを入れて負電圧がかからないように細工したなぁ。上記の回路図も入れておこうかな。 -- JM7MUU 本田 &new([nodate]){date}: Invalid date string;
- シリコンダイオードは約0.6Vの順方向電圧だすー。 -- JM7MUU 本田 &new([nodate]){date}: Invalid date string;
- ツェナーダイオード 0.5W 5.6V[R指] / HZ6 A3 (-) これをつかって、その後にシリコンダイオードで0.6Vダウン=VCC5Vになるねー。そのほうが安心だなぁ。 -- JM7MUU 本田 &new([nodate]){date}: Invalid date string;
- ということで、V1.01をアップしました! -- JM7MUU 本田 &new([nodate]){date}: Invalid date string;
- 回路図Ver1.02 で SkyWiRES 通話中も 自ノード無線機が送信状態となります。しかし、通常のWiRES-II ノード接続では無変調になります。 -- JM7MUU 本田
- これはHRI-100が INTERNET状態の時には 音声の流れを RF->Net(PC)側に制限しているためで、PC->RFへ信号が流れるようにしてあげる事が必要です。 -- JM7MUU 本田
- HRI-100のSQL端子はBUSY_LOWなら、オープンコレクタ(ドレイン)で駆動可能、PTTも同じ、駆動回路(マイコン)がONに出来れば3Vでも12Vでも大丈夫のはず。 -- 7M1RUL利根川
- 部品、増えちゃうけど。PICのポートでオープンタイプの設定があれば....。GNDに落とすだけなので。 -- 7M1RUL利根川
- ↑で「PTTと同じ回路」に訂正。1815の回路がSQLでも使えますよ。BUSY_LOWなら。 -- 7M1RUL利根川
- オープンドレインの件了解。PTTはローアクティブでOKなんだけれども、SQLは色々だから参っちゃいます。 -- JM7MUU 本田
- SQLは色々なので自作装置側は「両対応」にして置いて、出力はアクティブローに私は統一してます -- 7M1RUL 利根川