&size(30){&color(black,#DDF){DMR (Digital Mobile Radio)/D-STAR REFLECTORの構築};};

#ref(system.jpg);

目次~
#contents

* 進捗 [#w15ec846]
- JumboSPOT-RTQ(HOTSPOT)
-- チップ判明
--- ADF7021BCPZ(無線)~
http://www.analog.com/media/en/technical-documentation/data-sheets/ADF7021.pdf~
クロック14.745MHz
--- STM32F102C8T6(コントローラー)~
クロック8MHz~
http://www.st.com/content/ccc/resource/technical/document/datasheet/b5/68/41/3d/53/e3/4c/04/CD00210831.pdf/files/CD00210831.pdf/jcr:content/translations/en.CD00210831.pdf

- D-STAR
-- アクセス機はTH-D74
-- REFLECTOR接続OK
-- RIGからのREF切り替えOK
-- ワッチOK
-- エコーテストOK(オウム返しサーバー)

- DMR
-- アクセス機はMD-380
-- ID取得完了(4401199)
-- TG 440120接続OK
-- DashboardでID表示からコールサイン表示になった
-- TGに接続してワッチが安定してできるようになった
-- エコーテストOK(オウム返しサーバー)

- 資料
-- 送信機系統図完成(ハンディ、HOTSPOT共)
-- デバイス資料全て入手
-- 公開開始

情報収集中です。~
記載の資料に間違い、過不足、その他の追加情報がありましたら、Twitter(@JQ1BWT)かメール(sawada@bwt.jp)宛てにご連絡頂ければ幸いです。~
そのほか、免許申請の実績等もレポート頂けるとうれしいです。~
よろしくお願いします。

* 情報源 [#o6b97bb3]
- DMR普及促進プロジェクト~
http://digitalhamradio.dip.jp/ ~
ここの情報は国内唯一でしたが、2018/4/13以前に掲載の送信機系統図等の図面は間違っていました。~
4/15に差し替えを確認しましたが、これも内容が一部欠落しています。~
情報に正確性が欠けるため、かならずエビデンスを取って扱うことを推奨します。

- DMRのWebワッチシステム~
http://hose.brandmeister.network/

- MD-380 Hardware~
http://www.qsl.net/dl4yhf/RT3/md380_hw.html

* DMRトランシーバ [#ffa497fe]

** TYT MD-380 [#q21d1771]

- 変調方式
-- FM
-- 4FSK TDMA

- プロトコル
-- DMR Tier2
--- ETST TS 102 361-1: Air interface protocol
--- ETST TS 102 361-2: Voice and General services and facilities
--- ETST TS 102 361-3: Data protocol
--- ETSI TS 102 361-1: Air interface protocol
--- ETSI TS 102 361-2: Voice and General services and facilities
--- ETSI TS 102 361-3: Data protocol
(2018-4-18 誤記修正 ETST→ETSI)


- ボコーダー
-- AMBE+2

- 電波形式
-- F7W 数値演算型4値周波数変調
-- F3E 数値演算型周波数変調
-- F2D 数値演算型周波数変調

- 占有帯域幅
-- F7W 12.5kHz
-- F3E 12.5kHz
-- F2D 12.5kHz

単体では任意の周波数に設定できないので、専用のUSB接続ケーブルでPCに繋ぎ、~
設定編集ソフトを使って16個あるチャンネルに任意の周波数等を書き込む必要がある。

- メーカーWebサイト~
http://www.tyt888.com/ ~
http://www.tyt888.com/?mod=product_show&id=78

- FCCのテストレポート
ここにスプリアス特性等のレポートがあります。(申請に使えます)~
https://fccid.io/PODMD-380

- 入手先
-- Amazon
-- Ebay
-- AlieEpress(私が買ったところ)~
割引キャンペーン中で99.22ドルでした。

* HOTSPOT (アクセスポイント&リフレクタ) [#w5d8d063]

** ZUMSPOT [#m175635f]
RspberryPi Zero HWに重ねて使うハードウエア。

- Webサイト~
http://www.zumspot.com/

** JumboSPOT-RTQ [#c40236dd]
ZUMSPOTの互換品と思われる。~
消費電流はRasPiZと合わせて250mA以下(220〜240mA)と小さい。

今回はこちらを使用した。~
AliExpressの割引キャンペーン中で57.06ドルでした。(ケース&表示付きのフルセット)


- Webサイト~
http://jumbospot17.blogspot.jp/
- Manual~
http://jumbospot17.blogspot.jp/2018/01/jumbospot-rtqready-to-qso-manual.html

* Pi-Star [#w5118963]
RaspberryPi等でリフレクタを動かすファームウエア。~
Webから任意のイメージをダウンロードし、MicroSDカードにddして使用する。

- Webサイト~
http://www.pistar.uk/

* セットアップ 【RaspberyPi Zero(HW) + JumboSPOT-RTQ】 [#k65d53f9]
** Raspberry-Pi Zero(WH)にpi-starをインストールする [#ba44bdba]
pi-starサイトからイメージファイルをダウンロードする。~
http://www.pistar.uk/

今回は「Pi-Star_RPi_V3.4.11_17-Mar-2018.zip」をダウンロードした。~
※以下、このバージョンを使用した表現となる。

zipを解凍後、Windows機でW32 Disk Imagerを使用してIMGファイルをMicroSDカードに書き込む。~
16GBを使用したが8GBでも足りるらしい。(32GB以下で大きい方が後々良いでしょう)~

このMicroSDカードをRasPiZに挿して電源を入れれば良いが、家のWiFiに繋ぐため、~
WiFi接続設定ファイルを作成してMicroSDカードに入れておく必要がある。

以下のサイトにアクセスして、SSIDとPASSWARDから自動スクリプトで設定ファイルを生成する。~
ボタンを押すと生成された設定ファイルがダウンロードされる。~
http://www.pistar.uk/wifi_builder.php

ダウンロードされたファイル→ wpa_supplicant.conf

これを、MicroSDのFAT領域のルートディレクトリにそのままコピーする。~

ここまででRasPi側の準備は完了。

** JumboSPOTを載せて設定を行う [#ndd5e50d]

次にJumboSPOT-RTQをRasPiに載せるのだが、OLEDが付いている物では背面のピンが~
RasPi側と干渉するため短く切っておく。

#ref(Jumbo_pin.jpg)

SMAジャックはケースに入れると凸量が少ない。~
間に樹脂スペーサーを入れておくと良い。~
裏はSMAジャックのピンが面一くらいがちょうど良かった。~
スペーサーは秋月のM3樹脂ナットがぴったり。~

#ref(Jumbo_SMA_1.jpg)

ケースをかぶせるとこんな感じ。~
ネジ部分が全部露出している。

#ref(Jumbo_SMA_2.jpg)


電源を入れる。(向かって右側のMicroUSBジャック)~
OLEDは表示が出なくて正しい。(あとで設定すると表示されるようになる)


** CCS7/DMR-IDを取得する [#f83f17ff]
https://www.dmr-marc.net/cgi-bin/trbo-database/register.cgi~
ここにアクセスし、コールサインを入力。~

QRZ.comに登録していればそのまま承認される。~
登録していなくてもとりあえず無視して進められる。~

State/Provには「(4401)kanto」を指定した。kanto=関東~
Radio TypeにはD-STARのCCS7を指定した。%%(D-STAR・DMR共通らしい)%%~
取得したIDはDMRとD-STARのどちらでも事実上使えますが、それぞれ専用に取得するのが正しいようです。~
DMR用とD-STAR用の2つのIDを取得することも可能との事です。
(訂正:2018-04-17)

しばらくするとメールでIDが送られてくる。(すぐは来ない→2〜3日かかるらしい)~
※DMR-IDがなくてもD-STARモードでテストは進めることはできます~
さらに、登録されてから各サーバーにDBがUpdateされるのに2〜3日かかるようです。~
ID発行まで約2日、ID発行からDB登録されて使えるようになるまで3日かかりました。~
ID発行申請→(2日)→ID発行通知→(3日)→DB登録完了

pi-starのDashboardに、自分が送信したLogが見えますが、ID(数字7桁)で表示されている段階ではDB登録が反映されていません。~
ここが数字では無くコールサインで表示されるようになって、DB登録の反映が進んだことが分かります。~

pi-star自身は24時間周期でDB Updateしているようです。~
最初のうちは手動でUpdate実行すると良いでしょう。


** pi-starの設定を行う(ここからが本番) [#ve356da2]

- PCのブラウザでpi-star管理画面に接続する~
WiFiルータやBBルータのDHCPサーバのアドレス振り出しリスト等から、RasPiのIPアドレスを調べる。~
他にも調べ方はいろいろあるが省略する。~
運が良ければ「http://pi-star」でアクセスできるだろう。

- 下記の例に従って、D-STARとDMRのアクセスポイント(HOTSPOT)になるように設定する

Configration

 一般設定~
#ref(pi-star_1.PNG)

 DMR/D-STAR設定~
#ref(pi-star_2.PNG)

Configration → Expert → MMDVMHost

JumboSPOT-RTQの周波数誤差を補正します。~
これをやらないとまともに動きません。(DMRはFズレに対して非常に敏感です)~
JumboSPOT-RTQの裏に貼ってあるシールの数字をRXOffsetとTXOffsetに設定します。~
以前は手書きでしたが最近は500決め打ちのようです。~
DashbordのBER値を見ながら調整します。0.2%以下まで追い込めました。~

#ref(pi-star_3.PNG)

WiFiのパワーセーブをOFFにして接続安定性を確保する

これをやっておかないと、TGに繋いでおいても切れてしまったり呼び出しが聞こえなくなる場合があるようです。

sshでRaspberryPiにつなぎ、ログインします

 pi-star@pi-star(ro):~$ rpi-rw
 pi-star@pi-star(rw):~$ sudo vi /etc/network/interfaces

ストレージをROからRWに切り替え、viで設定ファイルを編集します

 iface wlan0 inet manual
 wireless-power off
 
 allow-hotplug wlan0
 iface wlan0 inet manual
     wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

上記の最初の2行を追加します。

* TH-D74を使ってD-STARモードのリフレクタにつなぐ手順 [#r639c3f6]
重要なキーワード~
- pi-starはレピーターモードでRPT1 RPT2にコールサインを設定しないとハンディからの送信を受け付けない
- pi-starを制御するコマンドはTo(UR CALL)に書いておく(例:REF499CL)
** MCP-D74を使用してTH-D74のメモリーを編集する [#n8937d27]
- レピーターリストを開く
- 自分のアクセスポイント(pi-star)をレピーターとして追加登録する
-- 名前:JQ1BWT
-- 周波数:438.100
-- グループ:REFLECTOR
-- コールサイン(RPT1):JQ1BWT_R
-- ゲートウェイ(RPT2):JQ1BWT_G
- コールサインリストを開く
- コマンドをコールサインリストとして登録します
-- 名前:REF001CL、コールサイン:REF001CL
-- 名前:REF499CL、コールサイン:REF499CL
-- 名前:INFO DVMEGA、コールサイン:_______I
-- 名前:INFO DVMEGA、コールサイン:DVAP___I
-- 名前:Echo Test、コールサイン:REF076EL
** エコーテストをしてみる [#mb9678fe]
- DRモードで、先ほど追加したリフレクタを呼び出す
- ToをREF076ELにセットする(リフレクタをREF076指定することになる)
-- F→DIGITAL→相手先選択→コールサイン指定→REF076EL
-- PTTを1秒ほど押して離す(繋がったアナウンスが返ってくる)
- REFLECTORモードに切り替える(ここから通常交信)
-- F→DIGITAL→相手先選択→Reflector→Use Reflector
-- 「本日は晴天なり」と送信してみる
-- 録音が返ってくればOK

* MD-380を使ってDMRモードのリフレクタにつなぐ手順 [#a622f0d7]
MD-380を専用USBケーブルでPCに繋ぎ、PCにインストールしたエディタで各種設定をします。~
詳細は作成中。~
- Basic Information~
400-480MHzを指定
- General Setting
-- Radio Name~
コールサインを入力します
-- Radio ID~
DMR ID(7桁)を入力します &color(red){不正な数字を入れない事:サーバーに負荷がかかります};
-- Talkaroundの数字~
両方とも3000を入力します。
- Digital Contacts
-- Contact Name~
ラベルです(たとえばJA Main)
-- Call Type~
TGに繋ぐならGroup Call~
個人局に繋ぐならPrivate Call
-- Call ID~
TG相手ならTG ID(44120とか)、個人相手なならDMR ID(4401199とか)
- Digital RX Group Lists~
Digital Contactに設定したGroupe Call(TG)が左に出るので、Add>>ボタンで右に移しておく
- Channels Information~
16個あるチャンネルの個別設定です。~

詳細別途。


* 免許申請 [#m8ab8bb1]
ここに免許申請(保証認定)に必要な資料を揃えてあります。~
送信機系統図ですが、MD-380は回路図と実機から、JumboSPOT-RTQは実機から読み取って作成しました。~
おそらく間違いは無いと思いますが、使用は自己責任でお願いします。~
初版公開:2018/4/13

** MD-380 [#p4b7f7a1]
-- 送信機系統図(&color(green){2018-4-13 初版公開};)~
#ref(MD-380_Tx_Diagram.pdf)
- 諸元表
** JumboSPOT-RTQ [#sc6784be]
-- 送信機系統図(&color(green){2018-4-13 初版公開};)~
#ref(JumboSPOT-RTQ_Tx_Diagram.pdf)
- 諸元表

* データシート [#x2241a33]
- MD-380
-- 回路図~
#ref(MD-380UHF-RF-schematic.pdf)
-- HR-C5000(BASEBAND処理DSP)~
オリジナルの中文~
#ref(hrc5000.7z)
英訳版(中文を翻訳してhtmlにしたものをDL4YHFのサイトからミラーしました)~
#ref(HR_C5000_english.zip)
#ref(HR_C5000_Block_Diagram.png);
-- SKY72310(Frequency Synthesizer)~
#REF(SKY72310.pdf)
#ref(SKY72310_block_diagram.PNG)
-- RD07MUS2B(ファイナルFET)~
#ref(MITSUBISHI_RD07MUS2B.pdf)
- JumboSPOT-RTQ
-- ADF7021 (アナデバ社の1-chip Transciever PDFは本家から引っ張ってください)~
http://www.analog.com/media/en/technical-documentation/data-sheets/ADF7021.pdf

* MD-380の送信系の説明 [#w477ed93]

- 構成のキーパーツは次の4つです。
-- ST32F405V(CPU)
-- HR_V3000S(AMBE VOCODER)
-- HR_C5000(BASBAND DSP)
-- SKY72310(Frequency Synthesizer)

** BASEBAND [#t3d1257e]
最も重要なチップはHR_C5000で、デジタル変調波を作るBASEBAND DSPです。~
内部には4値FMと通常のFMの2種類の変調機が内蔵されており、出力はI/QとMOD/IFが切り~
替え式で選択できます。BASEBAND処理までなので、RFは扱いません。~
オーディオ入力はA/Dされ、ひとまずCPU側に送られます。CPU側ではVocoder処理とスク~
ランブル処理を行ってC5000に戻します。圧縮処理された音声信号はデジタル変調用DSP~
ブロックに入力されます。DSPでは4値FMまたは通常FMの処理が行われ、MOD1ピンからVCO~
を駆動する4値DC電圧が出力されます。

** RF [#v197bda4]
RF部のメインチップであるSKY72310は周波数シンセサイザーで、REF(基準クロック)と~
外部VCO(ここでは430MHz帯)を接続することで、内部の位相比較器と分周器でVCを発生~
するPLLの一部になっています。VCO回路は内蔵されていませんので、外付けでVCO回路を~
用意する必要があります。この部分は昔から有るVCO〜分周〜位相比較〜VC出力の構成そ~
のものですから珍しい物ではありません。~
ただし、入力できる周波数が最大2GHzと超広帯域なので、後段でIF MIXをして目的周波~
数を作る必要は無く、外部VCOは2HGHz以下なら直接発振が使用できます。200MHz以下な~
らVCXOモジュールがあるのでそれを採用するのが手軽ですが、430MHz帯となるとLC発振~
でVCOを作るしか有りません。したがって、2SC3356とVariCAPで組まれたLC発振回路が組~
まれています。このVCOは2回路あり、片方が送信用、他方が受信用になっています。受信~
用は周波数がIF分ズレています。~

** DMRの4値FMとFMの信号を生成する流れをもう少し詳しく説明します。[#h020b522]

DMR 4値FMの時はC5000のMOD1側から変調信号(ベースバンド)が出ます。これをVCOのVC~
に与えて変調を掛けています。SKY72310のREFは、C5000のMOD2を固定電圧にして16.8MHz~
のVCOをPLL位相比較器のREFに使います。この16.8MHzは受信時のIF LOにも使っています。~
変調された430MHz帯の信号はVCOから直接取り出し、2段のアンプでレベルを上げ、LPFを~
通して送信系のアンプステージに進みます。アンプステージの説明は省略します。~

FMモードの時はMOD1は出力せず固定。MOD2から16.8MHz VCOに変調をかけます。CTCSSもVCO~
に与えています。~
REF側に変調を掛け、結果として430MHz帯VCOにFM変調がかることになります。このときPLL~
のループフィルターは音声周波数帯を外した帯域にしておけば変調された音声はそのまま~
出力されることになります。~



* FAQ [#t202ce1e]
- Pi-starをインストールするMicroSDカードのサイズ
-- 4GB以上のメディアで使用可能です。(イメージは2GB)~
ただし、16GB以下のメディアはどれも似たような値段なので、後々のことを考えて16GBを使っています。

- DMR IDの登録が完了してメールが来たが、DashboardやHAT上の表示が数字のままでコールサインにならない
-- DMR IDが登録されても、中央サーバから各サーバに反映されるまで2〜3日かかるようです。~
反映が進むと、自分のDashboard上での表示が他の人と同じように数字では無くコールサインで表示されるようになります。

- DMRのECHOサーバ(9990)に繫がらない
-- 国内サーバのBM4401を使用している場合は、エコーサーバは440997(Private)で機能するようです。

- DMRのTGに繫がらない。繫がっても1送信単位で切れてしまう。
-- まだID情報がサーバーのDBに反映されていないからと思われます。
-- または、WiFiのパワーセーブが悪さをしてネットワークが切れている可能性があります。

- 充電が終わらず、スタンドのLEDがいつまでも赤のまま
-- 本体の電源がONのままで充電するとそうなります。~
充電は必ず本体の電源をOFFにしてやりましょう。

- 長時間連続で使いたい
-- バッテリーパックと差し替えて外部電源供給するエリミネーターを使いましょう。~
業務機は外部電源ジャックが無いのが普通です。

- プログラミングケーブル
-- USB-SERIALチップが入っているかと思ったら、USB直結でした。

* MD-380機能&メモリー編集ソフトの日本語化 [#m52013b1]
一部のファイルを差し替えることで日本語化が可能です。~
現在、ベータ版で検証中ですので、近日中に日本語化キットを公開予定です。(2018-04-17)~
- 対象はCPS MD380 V1.34です
- 機能設定ソフトの表示が日本語になります
- 周波数設定範囲を日本の430-440MHzに限定できます

#ref(CPS_MD380_J.png);

* 改造Firmwareの導入 [#qb389b0b]

&color(red){ここから先はMD-380を文鎮化する恐れがあります。};

&color(red){一度失敗して動かなくなりました。(boot loaderは生きていたので助かりましたが)};

** md380toolsのダウンロード [#dd0abedd]
http://md380.org/releases/daily/ ~
ここに毎日ビルドされた最新のファームウエアがあります。~
一番下の最新日付の物をダウンロードします。

** zip解凍してC:直下にコピーする [#e53c6e40]
デスクトップに置いたフォルダで作業したら失敗しました。~
これで起動できなくなったので、Cドライブ直下にコピーします。

** 書き込み手順 [#p582be15]
+ PCとMD-380をプログラミングケーブルで接続する
+ 左の上(DISPLAY)と中(PTT)を押しながら電源を入れる~
LEDが赤←→緑の点滅になり、Firmware Updateモードになります。
+ windowsの下にあるUpgrade.exeを管理者で実行にて起動する。
+ [Open Update File]ボタンを押して、[firmware-2018-xx-xx-NoGPS.bin]を指定する。
+ [Download Update File]ボタンを押して書き込みを実行する。~
プログレスバーが伸びていきますが、途中で止まったりします。触らず終わるのを待ちます。
+ 完了したらMD-380の電源を切ってプログラミングケーブルを抜きます。
+ MD-380の電源を入れ、Menu→Utilities→を開き、4 MD380 Toolsが出てきたら成功です。

** ID<->CALLのDB(callerid.csv)をインポートする(うまくいかず失敗中) [#b2ab8155]
<<現在、調査&トライ中>>
gitはここ~
https://github.com/travisgoodspeed/md380tools

Pythonスクリプトを使うようなので、Linux環境でPythonが動くようにしているところ。~
gitとpythonが入っている環境が前提。~
Cygwinはなんかめんどくさいので断念。~

- gitからツールを取得し、デバイスファイルをコピーしてシステムに追加する
 git clone https://github.com/travisgoodspeed/md380tools.git
 cd md380tools
 sudo cp 99-md380.rules /etc/udev/rules.d/ 

- FUDモードで起動
-- PCとMD380をUSBケーブルで接続
-- 上と中のボタンを押しながら電源ON(FLASH Updateモード)

- FLASHを書く
 git pull
 make flash

- 電源を切って、通常モードで電源を入れ直す~
USBケーブルはそのまま

- user.csvを転送する
事前にusers.csvファイルを取得して、同じディレクトリに置いておく。~
callerid.csvをusers.csvにリネームで良い。
 make updatedb flashdb

Ubuntu16をVMWareに構築してやってみたが、armライブラリが無いとかのエラーが出て上手くいかず。

** VirtualBOXを使い、構築済みの環境を使ってUserDBをインポートする [#v029aeb1]

- VirtualBOXをダウンロードしてインストール
-- https://www.virtualbox.org/wiki/Downloads~
VirtualBox 5.2.8 platform packages の~
 windows hosts をダウンロードしてインストール~
VirtualBox 5.2.8 Oracle VM VirtualBox Extension Pack の~
 All supported platforms をダウンロードしてダブルクリック(VirtualBOXが起動して処理される)
-- PC再起動してから、改めてVirtualBOXを起動
- VMイメージをダウンロード(1.2GBある)して解凍~
-- https://drive.google.com/file/d/1YkPIsmj_vsoYK9ALIaKGDNRVGZ70lvrI/view?usp=sharing
-- 7zipで解凍(大きいので7zip推奨)
- VirtualBOXにイメージを登録
-- ファイル→仮想アプライアンスのインポート
- VirtualBOXでtytV4 イメージを起動
- FlashイメージとDBを取得
-- MD-380をUSBケーブルで接続して、通常ON
-- glv 実行~
Net上のDBから自動でデータを取得してbinファイルを作ってくれる~
しばらくかかるのでおとなしく待つ。
- DBを書き込む
-- flashdb 実行~
FLASHを部分的にERASEして、それから書き込んでいる。~
こちらも結構時間がかかる。

** 交信中のデータをIDではなくCALLで表示する設定 [#o5002476]
Menu → Utility → MD380 Tools

Display → Show Calls

○CPS only~
○User DB~
○Talk Alias~
●DB & TA

** CH表示の時に周波数とかの情報も表示する設定 [#pdb2e479]

Menu → Utility → MD380 Tools

Display → Channnel Info

●CH RX/TX info

#ref(MD380_CH_Info.jpg)

** ディスプレイを真っ暗にせず、タイムアウト後にディマー [#k11696f9]
MD-380は電源が入っているかどうかが全く分かりません。~
LCDがカラーなのですが、TH-D74みたいな半反射型じゃないので不便。

Menu → Utility → MD380 Tools

Display → Backlight

- Level Low :1
- Level High :5(好きな明るさに)
- Backlight tmr :15sec(好きな時間に)

これで、画面が真っ暗になること無く、常にうっすらと光っているようになります。~
操作すると明るくなります。~

* 1行掲示板 [#leaaf66e]
- DMR IDは発行された7桁に00~99の2桁を追加したIDを自由に作れる -- [[sawada]] &new{2018-04-15 (日) 16:13:33};
- ただし、9桁IDを使うとPrivete接続はできなくなる(Groupのみ) -- [[sawada]] &new{2018-04-15 (日) 16:14:22};

#comment


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS