2010年12月27日月曜日

リモートデスクトップで電源を切る

リモートディスクトップで電源を切る方法が、必要になりました。
CPU切り替え器がわずらわしくなったので、リモートに切り替えました。
すると電源を切る方法が必要になりました。

スタート->Windows セキュリティからシャットダウン
知らなかった、Windowsのコマンドを使う方法(最後のオプションはゼロ)
shutdown -s -t 0

2010年12月16日木曜日

音声のA/D・D/A変換回路

IP電話製作のため音声のA/D・D/A変換回路を考えてみた。というか、googleおじさんに尋ねてみた。意外と少ない。非反転増幅回路などに使うオペアンプは、何を買えばいいのか?
意外と少ないものだ。よくよく考えてみると、音声処理には、非常にスペックの高いCPUが必要であるので、試している人が少ないかもと推測した。
次回は、RTL8019とAKI_H8回路について説明したいと思う。

2010年12月10日金曜日

AKI_H8_3052_LANボード、RTL8019の初期化できました。


LANボード初期化成功です。
MACアドレス取得できました。
93C46からデータを読めました。
RemortDMAから受信成功です。
意味ないことはわかってますが、MACアドレスの一部は念のため消去しています。



H8マイコンによるネットワーク・プログラミング

青木 直史 著
B5変型判 294ページ
定価2,919円(税込)
ISBN-10: 4774134899
ISBN-13: 978-4774134895
技術評論社
2008年6月6日初版発行

外部拡張モード、モード6にて成功しました。
第4章のMACアドレス、IPアドレス表示に成功しました。
RTL8019ASの初期化です。ちょっと前に流行った蟹さんのコントロールなので時代遅れですが、出来なかった期間が情けなったです。

本書は、北斗電子社製の評価キットである、H8/3067スタータキットを対象に書いてありますが、基本的にi/oやRTL8019ASの回路は、AKI_H8_3052_LANボードと変わりません。
しかし、MACアドレス表示できてうれしいです。
コントローラの初期化が成功するとうれしいです。
本書を参考に、IP電話作れそうです。NICの勉強になりました。

状態遷移図を理解したいと思ってました

状態遷移図を理解したいと思ってましたが、なかなかいい本に出会いませんでした。
これは理解できそうで、お勧めです。
インターユニバーシティ
論理回路とオートマトン

・著者:名古屋大学 稲垣 康善 編
・定価:2415円(本体2300円+税)
・A5 144頁
・ISBN 4-274-13126-2
・発売日:1998/01

2010年12月8日水曜日

ディレクトリを消す

ディレクトリを消すコマンド
rmdir
中身のファイルを確認しなくてもいい場合
rm -rf
それでも中身のファイルを確認する場合
rm -ri

すぐ忘れます。

linuxコマンド:ファイルを消す

よく忘れます。
linuxコマンド:ファイルを消す。
rm list.txt
rm "hoge file"
rm ./-target_file

参考:

2010年11月29日月曜日

AKI_H8_3052_LANボード

LANボードを使って、蟹さんコントローラRTL8019ASを試してます。
サンプルの動作を確認がなぜかできないので困ってました。
モード6で立ち上げる方法が理解できてなかったです。
電源を一回抜かないとだめです。そして、ショートさせてから電源です。
akilan.sでは、httpでは接続できなかった。
pingは返ってきました。
lanapp.motは動作しました。httpも確認できました。
うまく起動できてない場合は、LCDのコメントも出ないです。
今後の戦略ですが、北斗電子(H8/3067スタータキット)でのH8マイコンによるネットワーク・プログラミングを参考にIP電話を作りたいと思っています。

2010年11月16日火曜日

チャタリング防止

#include "iodefine.h"

#define light 0
#define down 1

int main(){
char sw=1;
char rw=1;
long i;
char state=down;
PB.DDR=0xff;
PA.DDR=0x00;
PB.DR.BYTE=0xff;
PA.DR.BYTE=0xff;
while(1){
i=1000;
while(i--);
sw=PA.DR.BIT.B0;
if((sw==0)&&(rw==1)){
switch (state){
case down:
state=light;
PB.DR.BIT.B0=0;
break;
case light:
state=down;
PB.DR.BIT.B0=1;
break;
default:
state=down;
PB.DR.BIT.B0=1;
break;
}
}
rw=sw;
}
}

2010年11月15日月曜日

コピーコマンド

cp -a 送信元ファイル名 送信先

オプション -a 属性もコピーする。

AKI_H8_LANボードでのチャタリング

スイッチのチャタリング除去のプログラムは良く見かけるが、このボードのチャタリングは正道かな?
スイッチ入力前の処理より後処理が必要であった。前処理も必要である。

while(1){
i=2000;
while(i--);
sw=PA.DR.BIT.B0;
if(sw==0){
PB.DR.BIT.B0^=1;
while(!PA.DR.BIT.B0);
i=2000;
while(i--);
}
}

2010年10月10日日曜日

DIGA HDD交換はうまくいいていない

同じメーカーを買ってきました。samsungの400GBのハードディスクでした。最近UltraATAは消えつつあり、少々値が入ります。7000円で購入しました。
なぜ、HDDフォーマットになったか振り返ってみると、間違ってDRモードで録画して、HDDの空きディスクがなくなったことからだと思います。ちょっと何が録画してあるかあとから見てみようと保留にしたのが間違いでした。その間に、HDDフォーマットから動けない状態です。
さて、交換してみました。EASEUS Disk Copyを使用しました。不安は、空き容量が全くないので、それが問題なので新しいHDDにコピーしても同じかなと思いました。
結果、結局同じでした。
一応他の部品も不良があるかもと思ったので、結局panasonicに修理出しました。4万円と見積もりが帰ってきました。診断はHDD交換でした。他の部品は悪くなさそうだと分かったので、修理はキャンセルしました。
基盤はきれいになっているだろうなと思って中を空けてみました。怪しい、そのままです。全く、埃もそのままでした。納得いきませんね。どう思いますか?
それでも、EASEUS Disk CopyでコピーしたHITACHIの500GBのHDDに交換してみました。おそらく、空きがないことだから、400GBしか認識ないことは先人の方から分かってましたが、OSの管理上の問題なので、フォーマット作業にはおそらく使えるのか?と思ってみました。
結果は、フォーマットまでたどり着けました。さらにフォーマット実行まで進みましたが、最後は、このHDDは認識できませんとメッセージがでて次には進めませんでした。空き100GBは、実行領域確保できた証拠かと思います。しかし、ハードディスクのメーカー情報が異なるのでキャンセルされたと推測します。
この感触から、前回の400GBのハードディスクを物理フォーマットして、EASEUS Disk Copyのコピーを80%で強制終了して、再度試してみたいと思います。

2010年6月14日月曜日

DIGAのHDDが突然フォーマット

DIGA XW-30を使用しています。朝、突然フォーマットの画面のまま何も出来ない状態になりました。
おそらく、HDDの何らかの故障でしょう。フォーマットと出てくるので、HDDが物理的故障でないことを願います。そこで検索してみると
で自分で交換できるかも、でもどうやって2台目のHDDをつなごうか、とりあえず、HDDは普通2台までだから、プライマリに故障XW30のHDD、スレーブに新しいHDDでやってみましょうか。
だめもとで、後日報告します。

2010年6月11日金曜日

apt-get updateについて

apt-get updateが出来なくて困ってました。
VineLinux4.2を使用しています。うすうすネットワーク設定かなとも思ってました。
ヴラウザは表示できるし、んんん・・。
export http_proxy=http://
で定番のプロキシ設定。一発OKでした。基本ですね。
ちなみに、ネットワーク設定を残しておきます。
サイトをみました。
/etc/sysconfig/network ネットワーク全体
/etc/sysconfig/network-scripts/ifcfg-eth? デバイスごとの設定
/etc/host.config 名前解決順
/etc/hosts 名前対応一覧
/etc/resolv.conf DNS の指定

apt-getでは、apt.confに記述
Acquire
{
http
{
Proxy "http://プロキシサーバ名:ポート番号";
}
}
やれやれ、2時間使いました。
また、システムのネットワーク・プロキシ設定でも行けます。
反映するには、再起動です。忘れずに。

2010年6月2日水曜日

AD変換

まじで良く分からない。
int ADdata;
ADdata=ADdata*(5/1024)*1000+0.5;

では、計算結果が0でした。

ADdata=ADdata*4.883+0.5;

では計算ができた。まじでわかんない。

2010年5月26日水曜日

MPEG2作成

mpegファイル作成は、意外と手こずります。m2v、ac3出力、m2v、wav出力、その後、dvd-videoがありますが、mpeg2作成になると、TMPGEncに頼るのが主流です。
vob拡張子をmpgに変更するだけでも、足りるのですが、やはり、フリーズが起きます。
そこで感動したツールは、VOB2MPGです。とにかく早いです。

2010年5月25日火曜日

動画編集について

動画処理についてまとめておきます。
最近のツールは良くできていると思います。
そろえておく材料は、rarの拡張子が付いたrelCPRM_006640.rar、cprm2free_cprmgetkey.rar(cprmgetkey041.rar)、c2dec.zip、cprm2free041.rar、lernel32.lzhです。
rarの拡張子が付いたrelCPRM_006640.rarでないものを使用したら暗号解析に失敗しました。
ツールとして、16進エディタbz162.zip、ドライブ情報InfoTool-5.3.3.0.zipが必要です。後は、ネット上にある説明どおりに環境を整えます。lernel32.dllについては、説明が落ちているところもあるので注意です。
vroを変換します。その次にツールとして、vobtool006.zipを使用して、メニュごとに動画を分割します。
vob拡張子で排出されますが、mpgと拡張子を変えてもmpeg動画として利用再生可能です。DVDにするには、DVDFlickが使いやすいです。メニュ画像は何とかしたいものです。
追伸ですが、Cドライブ直下で作業します。

2010年5月21日金曜日

割り込みタイマーの制御文に制限ある?

割り込みのプログラムを作ってますが、制御文の構造に制限があるのかな。
一つの割り込みないで、カウンタ変数を3個準備、うち2個制御文の中で使用していますが、最後の1個動作が確認できません。どうしてでしょうか。
コンパイラはHEWです。

プロジェクト再構築して、全クリア、コンパイル作業してみると、動作確認できた。
勘違いだった。

2010年3月30日火曜日

話し方,語り方

人に説明する力は,とっても大切です。おそらくその人の背景がそうさせるのでしょうか。
今最も注目な池上彰さんを手本に話し方,あるいは語り方について考えて行きたいと思います。
とかく傲慢にも,上から目線で話しをする気質が日本人にはあります。歴史的背景があると思いますが,この気質に反するように振舞うことが基本姿勢かと分析しています。

2010年3月21日日曜日

iTunesでiPodの動画が見れない

iPod用の動画を、PCにバックアップを取っていたら、WindowsのiTunesで動画を再生できないことに気がついた。PCで作成した動画は見れるので気になりませんでした。iPod専用にリッピングした動画が見れませんでした。
解決策は:
QuickTimeの詳細からDiretXからセーフモードに切り替えることで難なく再生することが出来ました。

2010年3月4日木曜日

FANコントローラ

AKI H8/3052F LANボードを使用して,FANコントローラを製作しています。
CQ出版のH8/tinyマイコン完璧マニュアルを参考にしました。
FANの回転数については,ピンの数から,IRQ割り込み内蔵の20msecタイマを1秒カウントして使用することにしました。機能は,温度によるFANの自動制御です。フルカラーLEDによる表示と,7セグLEDによるダイナミック点灯,LCDにFAN回転数の表示としています。
構想は,LAN機能を利用して遠隔監視ができればと思っています。

2010年2月20日土曜日

気温が低いと動かない

AKI H8/3052F USBボードを使用してトラブルが発生しました。
極寒の展示会場でH8/3052F USBボードを設定しているとDRAMからの応答が見られない現象が起こりました。
まさかと思いつつ,予備を引っ張り出しても,すべてのH8/3052F USBボードは,LED等は点灯しますが,DRAM接続によるUSBを起動するところでとまってしまいました。原因を究明中,暖めてみればということで近くのストーブに当ててみるとなんと動作を確認できました。
H8/3052F USBボードの使用条件を確認するよりも,そんなに冷えてたかな,と思いますが,昨日は一気に冷え込んだので不運が重なりました。
凍るぐらいの寒さなら気にしますが,いい勉強になりました。

2010年2月18日木曜日

やり残していること

時間が経つのはあっという間です。
やり残していることを書き留めておきます。
USB接続に関すること。PIC18F_2550,4550,AVR Tiny2313など。
H8-3052_LANを使ってLANの操作をすること。
表示器のコントロール。
FPGA。
ハンダ作業,電子工作に必要な工具。
マイコンいじっても,I/Oが足りなくなることに気づいた。どうすればいいのかな。

2010年2月17日水曜日

VccとかVssの電源について

ネット上の教えてに回答がありました。

Vcc バイポーラ素子の電源電圧 (Correction Voltage)
Vdd MOS素子の負電源電圧 (Dorain Voltage)
Vss MOS素子の電源電圧 (Source Voltage) GNDが一般的

参照:

外部変数ではなくてグローバル変数をどう使うかですね。

2010年2月15日月曜日

周波数を計りたい

タイマーのインプットキャプチャを使うと、周波数を計測できるらしい。
ケースファンの周波数を計測したい。
そこで、タイマ割り込みによるインプットキャプチャを使うとした。
他の方法では、外部割込みを使用することでもありです。
計りたいのは、ケースファン1500rpmで非常に遅い。1秒間に25回である。
100msecで、2.5回なので、通常の割り込みでは計測不可能である。
なぜなら、GRAで測定をするためには、20msecが最大タイムになる。
1500rpmでは、時間が足りない、20msecではなく、100msecを作りたいけど。方法はありますか?

2010年2月2日火曜日

外部変数の使い方 改めグローバル変数

コンパイラにはHEWを使用しています。C言語を使用しています。
割り込みで外部変数を使用したいと思っていますが,外部変数の書き方が分かりません。

解答:
マイコンでは,main関数など関数外,例えば,includeの真下に変数を書くことがあります。
この変数を外部変数あるいは,グローバル変数と呼ぶそうです。

さて,その設定ですが,includeと同じところに,型名 変数名で記述します。
例えば,
#include
int c;
というタイマカウント変数とします。

割り込みを使用するので,intprg.cにもこの変数を使わせたい。

記述方法は,割り込み関数内で
extern int c;
と定義すると使えます。

2010年1月29日金曜日

タイマーの実践_01

秋月のH8_3052F_LANを使ってマイコンのタイマーを学習します。
タイマーというよりは,マイコンの中で,正確な空き時間を作りたいと思っています。
参考書、書籍を見ると,タイマーを使った割り込みがないタイマーと割り込みの2種類のアプローチが紹介されています。
タイマーレジスタを理解して、タイマーの起動方法を習得することになります。
実験方法は、空ループによる時間稼ぎ、タイマーを使った時間稼ぎを覚えて,割り込みタイマーの使い方を習得することが流れ的に分かりやすかったです。
まず,タイマーを使うには,多くのレジスタの設定が大変です。

2010年1月28日木曜日

USBマイコンボード完成品(PIC18F2550)が動かない

秋月のUSBマイコンボード完成品(PIC18F2550)に挑戦した。PICで楽しむ USB機器自作のすすめ 後閑 哲也を参考に付属CD-ROMのサンプルを動かしてみた。
最初に躓いたのが,Windowsのドライバ認識に失敗。よく書籍を読むと,infファイルの書き換えのページに書いてあった。
USBの認識ができたが,次にVBのサンプルプログラムからConectの確認ができない。
あれこれ試してみた。結局,秋月PICプログラマキットVer.4でライティングソフトにVer6.72を使用することでConectの確認ができた。PICのライティングに失敗していたらしい。
最後に途中で,ソフトがハングアップすると,Conectが解消される現象が起きた。シークエンスが残るので,再度接続には,Windowsの再起動が必要とわかった。