まごころせいじつ堂

浜町庄金 研究開発  マイコンで遊んでばっかりで

RGB21→HDMI変換でFM77AVの表示

 サンコーレアモノショップからRGB21-HDMI変換アダプタが出た。これは専用ディスプレイが壊れてしまったFM77AVで使えるのではないかと早速入手し試してみた。

 で、うーん映らん。RGB21ケーブルが純正ではなくストレート結線なのでこのせいみたい。
使ったのは千石電商にて購入したカモン 21P-18 SCARTケーブル1.8m、これをクロス仕様に改造する。
片側のコネクタハウジングを分解し、コネクタの中央、端子を押さえている部品を外すと簡単に端子が外せる。入れ替える端子は2-1、4-3、6-5、8-7、10-9の5ペア。端子番号はWikipedia RGB21ピンを参照。ハンダ付け不要。
2017RGB21-2

 で、元通りに組み立て直してFM77AVに接続。
2017RGB21-1

 うまくいきました。
2017RGB21-3

  ついでに同じRGB21端子を持つMSX MATSUSHITA CF-3000もうまく表示できました。



RGB21-HDMI変換アダプタ RGBHDADP ※日本語マニュアル付き  サンコーレアモノショップRGB21-HDMI変換アダプタ RGBHDADP ※日本語マニュアル付き  サンコーレアモノショップ

サンコー
売り上げランキング : 189

Amazonで詳しく見る
by G-Tools

TRS-80 model1 ノイズ源を探して

 さて、あとはどこを調べようか。

 キャラクタやセミグラフィックスのデータはZ10,Z11のLS166でSHIFTクロック信号によりドット単位で出力される。このSHIFTクロック信号はZ9(LS04)で駆動される。元はZ43の出力で原発振の10.6445MHz(横64文字)またはその半分(横32文字)。
TRS80_shift

 そこでZ9-pin9をピン上げして10.6445MHzのオシレータを直結した。SHIFTクロック信号が揺らいでいればこの構成で非同期ながら画像は安定するはず。

 結果。
P_Oct14_210248

 キャラクタ表示が一部抜けるのは非同期だから問題ないがノイズ源はここではなさそう。SHIFTクロック信号を元に戻す。


 さて次はどこを見るか。アドレス線を疑ってみよう。ビデオ回路はLS93カウンタが生成する周期的なアドレスとZ80からのアドレスをLS157で切り替えてVRAMに送っている。
こんな感じ:Z80のアドレス→LS367→LS157

(1)LS157のZ80アドレスを受けている箇所のピン上げ→変わらず
(2)Z80のアドレス信号をピン上げ→変わらず
(3)LS367をすべて外すのはたいへんなのでZ22(A3,A2,*IN,*OUT,*WR*,RD*)のみ。pin1を上げてdisableに→変わらず。

う~ん、と基板になんとなく触れたら画面が揺らぎリレーがジジジジと動いた。何?
P_Oct15_204736

 触れたのはカードエッジコネクタのpin12でOUT*。これは先ほどのZ22の出力で、これは基板内ではZ25のpin9(LS32入力)にしか行っていない。確認のためピンセットでカードエッジpin12、Z25-pin9に触れても同様。リレーが暴れたのはアドレス線をピン上げしていたせいでリレーのアドレスデコーダが有効になっていたせい。
 基板内では一対一で繋がってるOUT*信号。ここなのだろうか。

つづく。


TRS-80 model1 クロック周り若干の改善

 ビデオタイミングを生成している4個のLS93(Z65,Z50,Z12,Z32)だが最後に交換したZ65でこれまで気になっていた箇所が改善した。

 これまではZ80のリセットを解除してバスを動かすとこのようにランダムなVRAMの表示に左下から右上に向かって斜めの線みたいなのが表示されている。
P_Sep22_054749

 リセットをかけた状態だとこのようになる。斜め線はみられない。
P_Sep22_054744

 Z65のLS93はタイミング生成の上流にある。これを交換したら斜め線は表示されなくなった。
なんで上流から交換して確認しなかったのかは反省だ。基板での配置上やりやすいところから交換していったせいだ。あとはLS93のうち14分周(Z50)、12分周(Z12)、11分周(Z32)をやらせている3入力ANDのZ66(LS11)を交換してみたが変わらなかった。
 後日確認したらまた斜め線が出ることがあった。原発振のオシレータをHCU04によるもともとの水晶による発振に戻したりと組み合わせにより出たりでなかったりする。現在はHCU04とLS93、LS11をそれぞれHC93、HC11に交換している。

 ついでに確認のためZ53(LS132)をソケット化する。DBIN*、DBOUT*をピン上げしてデータバスを殺す。動作確認の結果、アドレスバスが動いていると画像表示に影響がでることがわかった。これはある程度予想はできていて、Z80が暴走状態だとほぼフェッチ動作のみでメモリライトのようなよそに影響を及ぼすようなアクセスはほとんどないだろうということ。

 ではアドレスの影響はどこで受けているか?図面から見るとビデオタイミングで生成しているVRAMへのアドレスとZ80からのアクセスを切り替えている3個のLS157(Z64,Z49,Z31)が怪しいが、これらを交換しても現象はかわらず、電源ON時に画面が乱れる。

 というわけでまだ完全な解決には至っていない。

 つづく。

TRS-80 model1 VRAMの交換

 さてVRAMだけど出力波形がおかしいものがいくつかある。VRAMに使われているのは1Kx1bitの2102。DinとDoutは分離されている。このDoutと行先のZ27(LS175)、Z28(LS174)の受けを観測。

2017TRS80VRAM-NG

 こんな風に3Vスイングするところを時々半分しか上がってない箇所がある。Z46とZ48の2つがおかしかったのでこれらを交換。2102または21L02はebay経由で取り寄せた。



TRS80VRAM


 これらを交換しても電源ON時に画面がおかしくなる現象は変わらなかった。

つづく。

TRS-80 model1 原発振の交換

 画面がおかしいのは原発振のクロック10.6445MHzのジッタのせいではなかろうかと疑ったのでここを汎用ロジックによる水晶発振器の回路ではなくオシレータに交換してみることにした。ただし10.6445MHzといった半端な周波数の発振器はない。色々探したら三共社という所がプログラマブル発振器の書き込みサービスをやっており、個人向けもOKだったのでお願いしてみた。だいたい一週間くらいで着荷。あらかじめ変換基板を用意しておいたのでこれをTRS-80基板上のZ42と差し替える。
2017TRS80clk

 さてこれで直ったかな〜と思ったら現象変わらず。ということは原発振のジッタは元々なかったということになる。ではどこだろうか。

つづく。

TRS-80 model1 日本向けモデルのキーボード結線

メモ:TRS-80のロジック基板とキーボード基板を接続するビニール線が切れてしまった。そんなこともあろうかと写真は撮っておいたのでもし間違えて切ってしまった方は参考にしてください。

TRS80haisen2

TRS80haisen1

TRS80haisen3

接続先は以下のとおり。

赤:+5V
黒:GND
灰:Z37-1(LS02) *SYSRES
黄:Z38-11(LS367) A14
紫:Z38-7(LS367) A13
青:Z21-10(LS156)
緑:Z73-6(LS32)

たったこれだけ?いえ他のアドレスとデータはROMソケット経由で接続してあるのです。これらは上位アドレスのデコード情報です。

TRS-80 model1 状況整理

 これまでの修理と調査の整理。
(1) ビデオ画面が出ない → VSYNC/HSYNCを混合する終段のCMOS IC故障。交換OK
(2) ビデオ画面の空白文字であるところに何か表示される → おそらくVRAM不良。あとで交換
(3) ビデオ画面が乱れる。VSYNC/HSYNCの調整は可能。 → 目下調査中。

 もともとTRS-80 model1はVRAMへのアクセスはCPU優先で画面にノイズがでるらしい。しかし常に出ているのはおかしい。CPUのVRAMアクセス時にはVID*信号がアサートされる。これの大元はZ80の*MREQである。ROMを抜いた状態でもVID*は定期的には発生するが、これはCPUが暴走しているせいかもしれない。確実にVID*を出さないためにZ80の*MREQをピン上げする。DRAMは挿したまま。

電源を投入すると以下の画面になる。
P_Sep22_052909

 Z80の*RESET端子を"L"にすると以下の画面になる。

P_Sep22_054744

 *RESETを解除すると画面の乱れはなくなる。しかしよく見るとキャラクタ表示がずれている。
P_Sep22_054749

 これから考えると、電源投入時になんらかの影響で画面に関わる部分(特に水平方向)がおかしくなっている。リセットにより影響元と思われるZ80が停止すると画面は安定する。リセット解除でZ80が動き出すとVRAMの読み出し→CGROMまたはセミグラフィックスのデータ取得部分でずれが生じている。Z80の動作で外部に影響があるのはアドレスとデータがぱたぱた暴れている部分。DRAMは特に影響を与えていない。

 さて、クロック生成部分を見てみる。(印がある部分はソケット化してあるところ)
TRS-80clock

 原発振は10.6445MHz。これをインバータ1個で分配している。きつそう。
Z43-1はMODESEL信号の受けで、画面横方向の表示64文字(H)/32文字(L)を切り替えている。
Z24-3はLATCH信号のクロック出力で、VRAMからのデータをいったん受けるための指示。
Z43-4はSHIFT信号のクロック出力で、LATCH信号で保持したキャラクタ番号に基づいて水平方向に画面に表示するデータをシフトする。

 ここで64文字のモードだと原発振の周期をそのままビデオクロック周りに出している。もしこの発振回路にジッタがあれば、画面の乱れとなって観測されるはず。しかしジッタを測定できるような環境にない。
 Z42をソケット化したのでここを色々差し替えて実験したところ、電源ON時に時々画面が乱れないこともあったので影響はあるようだ。ということで10.6445MHzの発振器を注文してみた。つづく。



 これがあれば……

KKmoon 信号発生器 DDS信号発生器 DDSファンクション信号発生器 デジタルデュアルチャンネル 任意波形周波数メーター 0〜80KHz 電力信号帯域幅 200MSa / s 25MHzKKmoon 信号発生器 DDS信号発生器 DDSファンクション信号発生器 デジタルデュアルチャンネル 任意波形周波数メーター 0〜80KHz 電力信号帯域幅 200MSa / s 25MHz

KKmoon
売り上げランキング : 1470562

Amazonで詳しく見る
by G-Tools

TRS-80 model1 Z80の影響について

 Z80のリセットをアサートしたままにすると画面にノイズは出なくなる。ではどの部分が影響しているのか。結論から言うと*MREQ,*WR,*RD,*IORQをピン上げしても現象が変わらなかった。アドレス線かデータ線がパタパタ動いているのが影響しているような感じ。

 さて、その結論に至るまでの調査。
 VID*という信号はVRAMのアドレスをタイミングジェネレータかZ80のアドレスかの切り替えに使われる。

VID*="H"の時:
{V0〜V5,VWR*,VRD*,A6〜A9}は{C1,C2,C4,C8,C16,C32,'1','1',R1,R2,R4,R8}
VID*="L"の時:
{V0〜V5,VWR*,VRD*,A6〜A9}はZ80の{A0〜A5,WR*,RD*,A6〜A9}
この切り替えはZ64,Z49,Z31(LS157×3)で行われる。

VID*は遡るとRAS*信号から来ておりRAS*信号はZ72(LS367)を通った*MREQそのもの。

Z21

 Z21(LS156)がアドレスデコーダでpin12(出力3)がVID*/KYBD*に関わっている。そこで近辺を観測してみる。上段がZ36-6、下段がZ21-12。

Z21-G

 Z21の出力が上まで届いていない。これについては教えていただいた。なおZ21(LS156)はオープンコレクターで下記のOD(オープンドレイン)と同じ構造。

 プルアップは4.7kで図面と同じく問題なし。タイミングはこれでいいらしい。
ここの懸念をクリアするためにZ80の*MREQをピン上げして確認した。動作は変わらず。ついでに他の制御線もプルアップしてみたが動作は変わらなかった。

つづく。

TRS-80 model1 日本向けモデルはVRAMを追加している

 修理中に気付いた閑話休題的な話。

 TRS-80 model1のVRAMは2102(1k×1)を7個使っている。bit0〜bit5までがキャラクタの番号で、bit7がグラフィック/キャラクタの切り替え。しかしZ61(bit4担当)の上に重ねて2102がもう一個ある。最初修理の跡かと思ったがこれはbit6相当で追加されていた。



 このカットも当初不明だった。これはZ30-13(LS02)からZ27-3(LS175)、Z60-4(LS267)の間をカットしてある。
2017-Z27


 元々はVRAMのbit6相当は!bit7 & !bit5だった。ここをカットして追加したSRAMのDoutを接続している。Z60-5(LS367)出力はDinに接続している。
Z30-13

 これは日本語化にあたりカナを追加するためにキャラクタ番号を0〜63から0〜127にしている。キャラクタジェネレータのROMもカナ対応のものになっているはず。

以下の記事で気付いた。

TRS-80 Model 1 L2 – Lowercase characters Hardware mod(CREW NIGHTFALL)

あと、回路図などはこちらがより新しい。トラブルシューティングの方法も載っている。
Radio Shack TRS-80 Micro Computer Technical Reference Handbook 2nd.zip
TRS-80 Model I Documentation

太陽フレアによるGPSの誤差を見てみたい

 2017年9月6日に大規模な太陽フレアが発生し、その影響で9月8日に電離層が乱れGPSの誤差が発生するらしい。
【電子版】大規模な太陽フレア発生 地球への影響は8日午後-情通機構が発表 (日刊工業新聞)
宇宙天気情報センター(NICT)

 で、実際に発生したようだ。
太陽フレアでGPSの誤差増大 国土地理院が報告(ITmedia)
9月6日に発生した太陽フレアのGPS測位への影響(速報)(国土地理院)
11年ぶり大規模な太陽フレア-GNSS測位に影響(速報)(測位技術振興会)

 この前実験した手持ちのGPSモジュールがあるのでこれで観測できないかと考え終日ログを取ってみた。Windows上でTeraTermのログ機能を利用する。時刻情報はGPSのデータ内にあるのでタイムスタンプは付けない。GPSモジュールからは毎秒データが送られてくる。

 採取したログはDropBox経由でMacOSに持っていきawkで加工。そしてWindowsに戻してExcelでグラフを描かせる。
https://gist.github.com/houmei/b9c9dc6d120f7243fffd5ad400c3d69d

加工したのは$GPSRMCからの緯度経度情報のみで誤差情報などは見ていない。



GPS20180908

 時刻はUTCなので+9時間してください。8日13時〜9日5時までの緯度経度について、基準点からのズレを表示。飛んでいる箇所はGPSから座標が取得できなかった時間。22時くらいに跳ねているのがわかる。

GPS20180909


 比較のため9日の9時〜12時くらいまでのデータをみるとそんなに跳ねていない。

 適当にやってみたけどこんな感じ。次回はより厳密に、部屋から出して衛星を常に捕捉できる状態にしてみるかな。


記事検索
プロフィール

hardyboy

カテゴリ別アーカイブ
月別アーカイブ
QRコード
QRコード
  • ライブドアブログ