jl7gmnのblog

yahooブログから移行してきました。アマチュア無線を中心としたブログです。

2010年01月

起動時のHALT画面

しばらくなんとなく不便だなと思いながらも使っていたPCの起動時のHALT画面の原因を探ってみた。
私の所有するデスクトップパソコンマザーボード865GM3-LS OS WindowsXp Home Editionの起動時にcopy disk error(40) Press F1 key to start Dell key to Menu のような内容の画面でいつもHALTしており、毎回F1キーを押さないとWindows起動へ進まない状態であった。まずは、インターネット検索で、”Windows起動 F1キー”での検索をしてみた。ずらずらと検索されて出てきた項目で似たような内容のものをいくつか読んでみると、1つはバックアップのバッテリーの電池ぎれではないかというのと、BIOSの設定値のHALT画面のDisenable化などが原因にではないかというめぼしがほとんどであった。早速パソコンを立ち上げて今回はF1キーでなくDELLキーでBIOS設定の方を選んでみた。マニュアルも見ないで、ただ単純に英文のBIOS設定項目画面を見ていたが、あまりぱっとしないので、一旦セーブしてEXITし、再度インターネットで重要なエラーと思われる”copy disk error (40)”を検索してみた。エラーコードの内容のページがあったので以下参考にしました。

http://www.web-articles.info/e/a/title/Windows-XP-Device-Manager-error-codes/

早速お気に入りに登録しエラーコード内容をみると
Code 40 Windows cannot access this hardware because its service key information in the registry is missing or recorded incorrectly. (Code 40)

A Code 40 error appears when the service subkey for this device in the Windows registry is not valid. To fix the problem, uninstall the driver and use the Scan For Hardware Changes command in the Device Manager’s Action menu to reinstall it.

レジストリが消えたか記録がまちがえていて、ハードウェアにアクセスできない状態であるようなうんぬんの内容のようである。
確かにこのパソコンにはFDがないのにアクセスしようとしてエラーが起きているようだ。以前にUSBのFDハードをつないで使用していたがいまははずしてある。PCはそのときの状態での起動をするためエラーがでている可能性がある。だいたい見当がついたので、再度PCを立ち上げ、DELLキーでのBIOS設定内容をFDに関係しそうなところを確認してみた。BIOSの項目Standard CMOS Featuresの Drive Aの設定がFDのハードがないにもかかわらす 1.44M.3.5 in.にチェックがついている状態だった。このチェックを NONEに変えて F10キーを押し SAVE to CMOS and EXIT (Y/N)?で Yを入力し再度起動させた。再起動も問題なく購入時と同じように起動してくれた。またBIOSではHALT On の項目で ALL Errrosの設定であるため、何かエラーが発生するとHALT画面になる設定となっているので確かにエラー状態であったわけである。エラーが無くなればHALTでのF1起動画面は表示しなくなるようです。PCのエラーは本当に厄介な内容が多いので、今回は以外にエラーがはっきりしていたため解決できたと思う。このPCはpentium4の3.0GHzなのでもう少し使いたいと思う。当時2004年11月13日にDOS/V機の売り出しだったので購入したものだ。ただこのPCを買った販売店がなくなったので壊れたときの持ち込み修理ができないのが残念だ。壊れるまで使おうと思う。

DDS34応用その4

イメージ 1

今日はRS-232Cでの無線機周波数読み取りとその読み取り値をDDS34の周波数発発振器のVBのプログラムをマージさせてコーディングとデバッグをした。プログラムもマージだが、メインフォームもほぼ単純にそれぞれをドッキングしたようなものでほんと間に合わせだ。(動作確認が目的ですのであまり気にしてませんHi!)いずれフォームも不要なコンポーネントオブジェクトはいずれ削除し、新たなフォームで作る予定ではいるが、確かではない。
フォームはマージの形でできているが、実際のところはRS-232Cのメインフォームを広げ、広げたところにDDS34と同じコントロールをツールボックスから手動追加しています。こうすることで,RS-232Cのプログラムはそのまま使え、コントロール数の少ないDDS34プログラムの各コントロール番号を変更するだけですむ。しかもプログラムはコピペだ。もっといい方法は、コントロールにはすべて名前をつけておくことで、同じ名前であればプログラムもそのまま使える。要は最初のプログラムの初期設計でどれだけきちんと設計しておくかが後からの改良などの対応時間に差が出るということで、わかっているが、今回は動作確認なのでしかたがないので手間をかけてやることなりました。
実際の動作確認では、エラーが出た。単純にオブジェクトの登録エラーだったが、単体では、問題なく動作していたものがマージ後に動作エラーなので困った。これは単純でstr関数を使わないことで対応できた。一応は解決し動くは動いた。ただし読み取りのデータの変換上の問題なのだが、RS-232Cでの周波数読み取り値は全てテキストで行っていたので、DDS34の周波数設定上の変換で、少数部がまるめられてしまい1KHz以下の100Hz、10Hzが設定されないという問題が発生した。VBの変数型を参考書を首っ引きでいろいろと試したが、どうも変換がうまくいかない。”03.551230”-> 3.551 にしか変換できない。3.55123にしたい
10ヘルツの桁まで設定値がない状態なので、別の方法を考えた。100ヘルツと10ヘルツの桁を別読み取りにしてRITとするのである。つまりメインの値とRIT値を後で加え、読み取り周波数をすべて再現するという方法です。つまり、3.551はメモリし、小数部を230ヘルツをRIT値の0.00023 でさらにメモリしDDS34のデータ設定時に3.551と0.00023を加えもとの3.55123をDDS34の設定値にするんです。上記の方法で10ヘルツ代も問題なくFT-1000MPのダイヤルを動かしたのに連動しDDS34の周波数が設定される様になった。動作は完全なリアルタイムとはいきませんが、タイマーインターバル設定値を極力小さくしてあります。FT-1000MPのCATマークはほぼ、点灯している感じです。ゆっくりメインダイアルを回すとWinrad1.32上のスペクトラムが動いてゆくのがとても面白い。ヤッター!バンザイ!これでWinrad受信部は無線機のメインダイアルと同じ周波数となり、トランシーブ操作が可能になりつつあります。トランシーバーのRX受信用のアンテナ出力も実際に確認しなければ、新しいフォームでこのプログラムも書きなおさなければとまだまだやることが山ほどある。また以前に作成している455KHzSSBの送信部もケースを考えなければ、あれこれとほんとに八方美人的ブログであるが、ご勘弁あれ!
本日のプログラム作成フォームを添付します。to be continue!

DDS34応用その3

イメージ 1

Winrad1.32の設定で96KHzサンプリングでの状態も確認したので画像をアップします。どちらかというと44.1KHzサンプリングより帯域が広いのでこちらで使用しようと思う。ASIOドライバーでは44.1KHz以外は音が途切れてNGでした。よってWMME 16bit DRIVERでの使用となります。今日は遅いのでもう寝ます。
to be continue.

DDS34の応用その2

イメージ 1

時間があったので、SDRソフトウェアでのDDS34のノイズについて確認してみた。
SDR66をつないでパソコンでプログラムほか動作中のノイズが丁度中央にあり受信周波数をそのままDDS34の設定周波数としたとして周波数少し上側にシフトしたときに、この成分がSSBでのビートになり思わしくないようである。よってプログラムにてオフセットを+10KHzほど中心より上の部分を受信周波数ポジションとなるようにすることにしようと思う。こうすることで、下側はセンターノイズまで7KHzほどあるので周波数を少し(±3KHz程度)上下させた時のビートはなくなる。(実際に試したら-7KHzから-10KHzまではビートとなった。もちろん中心のノイズより下はバンド幅の帯域制限範囲までまったく問題ない。また上側はサウンドカードのバンド幅の帯域制限で受信周波数+14KHzのゆとりがあった。)受信するときはここのポイントがダイヤルと同じ周波数となる。
以上よりプログラムでのDDS34へのオフセットは読み取り周波数に対し-100KHzとすることにする。
(FT-1000MPでダイヤル設定で3.560KHzを受信している場合は、DDS34での発振周波数は3.550KHzを設定するということです。もちろんWinrad中心より+10KHz上が該当周波数ポジションとなります。)
添付したWinrad1.32の青の帯の部分が受信周波数ポジションです。この構想ではWinradでの青帯の位置は固定ということになります。が、SDRとしての3.5MHz帯バンドスペクトラムは見れますので問題はないと思います。またWinradとのDDS34の周波数連動をしていませんので、Winradの周波数およびオフセットの部分は実際動かす時は使われません。受信周波数およびバントのスペクトラムの表示ソフトとして使用することになります。
なお添付のWinrad1.32の受信スペクトラムのノイズフロアが高いのは使用しているアンテナがバーチカルアンテナのせいです。3.5MHzはコイルが入った短縮型のバーチカルです。 to be continue.

DDS34の応用

イメージ 1

新年おめでとうございます。
新しい年になって、何かをやりたくなった。パソコンの動画検索でSDRを検索し、動画をみていたらふとトランシーバー制御プログラムと周波数制御のプログラムを使ったサブ受信機なるものができそうな気がした。簡単にブロックダイヤグラムをかいて、意味のあることなのかどうかを少し考えてみた。
内容は無線機の制御プログラムとハムスクエアで購入してあったDDS34の制御プログラムのコラボレーションによる受信機である。無線機があるのになぜかといわれると答えようがないが、無線機の受信機能は使わないで、受信部だけをSDRで行うという考えです。去年の構想での受信はトランシーバーを使い送信は自作部+トランシーバーのRFパワー部を使うのとはまったく逆の考えかたです。ただ周波数はSDRのハードとDDS34の制御範囲内なので、モノバンド(必然的に3.5MHz)に限定されてしまいます。
無線機側とRS-232C制御プログラムでのコントロールは、周波数読み取り、Sメータ読み取り、モード設定、マウスホイール機能を使った周波数アップダウン制御等である。この中の、周波数読み取り機能を使い無線機のダイヤルを回転させたときの周波数をDDS34でダイレクトにリアルタイムで発信させるという事がメインの内容です。
現状のRS-232Cプログラムは、タイマー機能を使い繰り返し100msec毎にトランシーバーにコマンドを送りSメータのデータ戻り値を最初にプログレスバーに表示しています。次に周波数読み取りコマンドを送り現状の受信周波数を取り込むというものです。この定期取り込み後の合間でモード設定、周波数設定等のコマンド送出を行うことになります。今回は周波数読み取り部のみを使うことになります。読み取った周波数はトランシーバーのディスプレーとまったく同じテキスト値ですが、SDRの周波数設定用OSC(発振器)にて使用する場合は、SDR受信ソフト上のノイズの盛り上がりのない場所になるようにオフセット周波数を加えて設定する必要があるかも知れません。DDS34は受信でしか使わないので送信については一切考えなくてよいので楽だと思います。ちなみにここでRS-232Cの受信周波数読み取りに使用しているトランシーバーはFT-1000MPです。もう古いトランシーバーになってしまいましたがまだまだ現役です。過去作成した(2008年1月)制御プログラムのフォームを添付しました。(実験用ですので、いろいろなボタンがありますが、今回使うボタンはタイマー開始のTimerStartボタン、タイマーストップのTimerStopボタンと右側のFrequency Up Down枠内のボタンのみです。)
これから作成するフォームはまだデザインが決まっていませんが、その前に読み取り周波数でのDDS34の設定周波数をSDR受信ソフトで設定したときに実際の受信で問題がないのかをDDS34を使いSDRソフト(WinRad)で確認したいと思います。また読み取りのタイマーのタイミングとDDS34の周波数設定とのタイミングも考える必要があるかも知れません。まずは構想まで、過去作成のRS-232CのFT-1000MP制御のプログラムのルーチン等の説明は回を追って添付説明したいと思います。本年もよろしくおねがいします。
m(__)m
I Wish you a happy new 2010 year. Good Luck to you .
to be continue.
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

QRコード
QRコード
  • ライブドアブログ