今日の組み込み
2007 / 09
3575
今日の組み込み
何も進んでいないGPSロガーです。 はい。

現状を書いておきます。

MES2.4b3を使用して、SCI0ドライバーとSCI0対応Shell(マイクロテクノさんの)を
SH7706LAN(rev.2)に入れるも

「shellが見つからん」とエラーになってしまう。

SCI0対応Shell.cをソースからビルドしても同じ。

本家からDLしたShellを入れると正常に動くのですよね。。。

MLにも同様の現象報告があったのですが、レス付いていない(埋もれてるかも)
ということで、SCIが2ポート使えないとちと辛いのよね。。。
もしかして、Shellは「 User_SH3_coff.xml 」以外を指定するのかな。。。

で、現実逃避しながら以下 「メモ」

ビデオスーパインポーズ赤外線ラップタイマーV2.0
 こんなの作りたいのよね。。。
 「M35012」が入手出来なさそうなの。。。
 誰かあまってない?5つくらい。。

シガライターからUSBコネクタに変換
 おお、これ使えばUSBから5V取れるから基板に電源用にUSBコネクタを付けておけば
 電源を考えなくて済むな。。。まぁ、電流容量に問題があるかもしれないが。。

Strawberry Linux
 なんか、知らない間に取扱商品が増えたなぁ。。。。
 それに微妙に安い気がする。。
ビデオ・オーバーレイモジュール (Strawberry Linux)
 欲しいけど高いなぁ。。。
 (電源:DC6〜12V)っっていうのもなんだかな。。。。
XC95108ボード・キット (Strawberry Linux)
 これを買って、PLDの世界に浸かろうかな。。。
PLD−PGMキット
XC95108-15PC84C
PLCC引き抜き工具

などと、ハードウエアを作成するのがうざいのでPLDへ移行予定w

基板作成もうざいなぁとおもっていたら、
1枚からOKな企業が有るんですね。

EAGLE使い方 おまとめ:2005-10-08〜

OLIMEX
P板.com

07/09/05
3577
今日の組み込み
秋月から届きました。

ちょっと、衝動買いっちくでは有りますが、後悔はしていませんw

メモがてら晒します。

 ◆[P-00033] 丸ピンICソケット(28P)[600mil]
  ⇒購入数量: 4個
 ◆[C-00161] 基板取付用USBコネクタ(Bタイプ,メス)
  ⇒購入数量: 4個
 ◆[I-00216] 7セグLED 超高輝度赤色大型1文字(アノードコモン) [A-801SR]
  ⇒購入数量: 10個
 ◆[C-00030] Dサブ コネクタ 9P・メス(半田付けタイプ)
  ⇒購入数量: 10個
 ◆[P-01861] 3mmプラネジ(7mm)+六角スペーサ(14mm)セット
  ⇒購入数量: 10セット
 ◆[P-00028] 丸ピンICソケット(14P)
  ⇒購入数量: 5個
 ◆[P-01303] ゲルマニウム配合 鉛フリーはんだ(5m巻) [SN100C]
  ⇒購入数量: 2巻
 ◆[I-00697] PARA LIGHT 高輝度青チップLED[2012サイズ]10個入 [L-C170LBCT]
  ⇒購入数量: 1パック
 ◆[I-00612] 2色チップLED(赤・青緑)1615サイズ(10個入) [FRDC1211C]
  ⇒購入数量: 1パック
 ◆[C-00124] 変換コネクタ(RCA−P⇔BNC−J) [R-001]
  ⇒購入数量: 1個
 ◆[M-00323] カラーカメラ 1/3インチ40万画素CCD(金属ケースタイプ) [MTV-73X11HN]
  ⇒購入数量: 1台

なにも秋月で買う必要も無いものを入ってます はい。

金額的にキレが良いところまでという心理が働いてます。

あと、同じ日に「Strawberry Linux Co.,ltd.」でも買ってます。
それは、来てからのお楽しみにw

さぁ、どこから手を付けようかしらw
07/09/08
3578
今日の組み込み
うほ。。。。わかんない。。。。
なにが悪いの。。。

Writeで暴走するっぽい。。。

誰かぁ〜〜。

---
[config.sys]
---
memory b=8c600000 s=100000
ram0 b=8c700000 s=100000
mmc0 p=8 cs=3 sio=0 csp=1 eject=64
ne0 b=b0000000 bw=8 w=15
lcd0 p=4 d4=0 d5=1 d6=2 d7=3 rs=4 e=5 row=2 col=16
boot dev=/ram0/
end

---
[module.sys]
---
sci2.exe sci0 f=32000000 br=9600 bs=11 sci2 f=32000000 br=115200 bs=11
end

---
[ソース]
---
#include <ctype.h>
#include <string.h>
#include <mes2.h>
#include <h8/reg770x.h>

int main(void)
{ int hCom0 = 0,hCom2 = 0,count = 0; int version = 0; version = mesver(); hCom0 = open("com0",0); sleep(1000); printf("open com0 [%d] \r\n",hCom0); if ( hCom0 != -1) { while(1){ printf("write[%d]\r\n",count); write(hCom0,'t',1); printf("hCom0[%d]\r\n",count++); sleep(1000); if( count > 1000) { break; } } } close(hCom0);
}
---
07/09/09
3582
今日の組み込み
今日の買い物は

■■秋月■■
 ◆[I-882][トランジスタ 2SA1015GR(20個入)]
  ⇒購入数量: 1袋

 ◆[P-1864]プラスチックナット+連結(6角ジョイント)スペーサ(10mm)セット
  ⇒購入数量: 2袋

 ◆[M-1554]f3.3−8mm/F1.4 可変焦点 手動アイリス・レンズ
  ⇒購入数量: 1個
■■あきばお〜■■
 SunDisk 512M SDカード
 PQI   512M SDカード

■■PCServer1.com■■
 HP ML150のSASホットプラグイン対応HDDケース 3個

って感じです。

トランジスタは7セグLEDの為PNPのやつを買ってきました。
(昨晩勉強しましたw)
最強の幻像

07/09/09
3583
今日の組み込み
相変わらず、SCI0はうまく動かないのですが、止まってもいられないので
SCI2でGPS受信をして、まずはGPSデータをベタでSDへ保存することを考えます。

■115.2kbpsでの処理落ち試験
 PCからテキストファイルを無手順で送信。
 SH-7706-LAN側で1バイト毎に読込SDへ保存。
 送信したファイルとSDに保存されてファイルを比較する。
 ※使用するGPSが4センテンス/秒という4Hzの物を使用する関係で
  115.2kbpsでの処理が必須になるんです。。。
  速度を変えられるのですが、換えるとGPSモジュールが安定しなくて。。。

まぁ、このくらいならデータ落ちもしないと踏んで、次の事を考えてみた。

■gps_viewerのソースを流用しての処理能力確認
 gps_viewerのソースからNMEAを解析しSENTENCES化する
 処理を行いデータ落ちがしないか確認する。
 (SDへ書き出すのはベタデータを出す)
 これが出来れば、最高速とかリアルタイム確認を出来るようにハードを作ればOKでしょう。
 そのために7セグLEDとか買ってるわけですし。。。。

※以前、PSP用に探してきたソースの流用を考えていましたが、関数名でググったら
 mapviewer_v02.zipという、元(?)ソースを発見と。。。。思ったら
 同じじゃんw

mapviewer_v02.zip(※ライセンス等は不明って。。。。)(Google)

ファイルヘッダを見ると BSDライセンスですね
-------
Copyright (c) 2005, David M Howard (daveh at dmh2000.com)
All rights reserved.

This product is licensed for use and distribution under the BSD Open Source License.
see the file COPYING for more details.
-------

ここまで、処理が問題なく出来るならあとは、ハードをちゃんと作成すれば良いかな。

リアルタイムでの解析は出来ないですが、収拾したデータを元に「轍」を使えば

2007/5/8 榛原〜松阪ファーストラン
なことは簡単にできますね。

轍(GPS生データからGoogleMap+α)

α版 rev0.1を2007/09/15までには、完成させて長距離試験をしたいなぁと。

まずはSH-7706LAN用にコンパイルしてみます。

main.cの余計な箇所を削除して「C-BAR」でコンパイルしてみるとエラーが。。。
-
Now compile in progress.........
sh-coff-gcc -B C:/wingcc/app/../local/sh-coff -IC:/wingcc/app/. -m3 -ml -O2 -c main.c
sh-coff-gcc -B C:/wingcc/app/../local/sh-coff -IC:/wingcc/app/. -m3 -ml -O2 -c nmeap01.c
sh-coff-gcc -Wl,--section-start=.stack=0x400 -B C:/wingcc/app/../local/sh-coff -LC:/wingcc/app/ -m3 -ml -T C:/wingcc/app/sh3pic.x -nostartfiles C:/wingcc/app/shcrt0.S -o gps.exe main.o nmeap01.o -lmes_sh3
C:/wingcc/app/../local/bin/../lib/gcc/sh-coff/3.4.3/../../../../sh-coff/lib/ml/m2\libc.a(mprec.o): In function `_ulp':
mprec.c:661: undefined reference to `__ashiftrt_r4_20'
collect2: ld returned 1 exit status
C:/wingcc/app/../local/bin/../lib/gcc/sh-coff/3.4.3/../../../../sh-coff/lib/ml/m2\libc.a(mprec.o): In function `_ulp':
mprec.c:661: undefined reference to `__ashiftrt_r4_20'
make: *** [gps.exe] Error 1
-
まぁ、覚悟はしていましたが。

エラー内容は「_ulp内で使用している__ashiftrt_r4_20が無いぞ」ってってことで、

ulp(JAVAの説明ですが)

そう、元ソースで普通に[double]を使用しているから。。。
※PSPのSDKには入ってるんですよね。。。
 まぁ、ポリゴン演算には必須ですからね。。。

試しに
・doubleに対するprintf
・atof
とコメントアウトすると。。。
-----------
Now compile in progress.........
sh-coff-gcc -B C:/wingcc/app/../local/sh-coff -IC:/wingcc/app/. -m3 -ml -O2 -c main.c
sh-coff-gcc -B C:/wingcc/app/../local/sh-coff -IC:/wingcc/app/. -m3 -ml -O2 -c nmeap01.c
sh-coff-gcc -Wl,--section-start=.stack=0x400 -B C:/wingcc/app/../local/sh-coff -LC:/wingcc/app/ -m3 -ml -T C:/wingcc/app/sh3pic.x -nostartfiles C:/wingcc/app/shcrt0.S -o gps.exe main.o nmeap01.o -lmes_sh3
sh-coff-gcc -Wl,--section-start=.stack=0x400 -r -B C:/wingcc/app/../local/sh-coff -LC:/wingcc/app/ -m3 -ml -T C:/wingcc/app/sh3pic.x -nostartfiles C:/wingcc/app/shcrt0.S -o gps.exe main.o nmeap01.o -lmes_sh3
*** Compile completed. ***
-----------

実際問題、浮動小数点演算が必要かといわれると「要らない」ですよね。。。。
でも値の比較が簡単にできた方が後々楽だし。。
07/09/10
3584
今日の組み込み
「Strawberry Linux Co.,ltd.」から届きました。

購入品晒し。

 ◆[20001] PLD−PGMキット
  ⇒購入数量: 1セット
 ◆[20002] XC95108ボード・キット
  ⇒購入数量: 1セット
 ◆[20004] XC95108-15PC84C
  ⇒購入数量: 2個
 ◆[20006] PLCC引き抜き工具
  ⇒購入数量: 1個

これで、一通りそろったかな。

後は、作成&検証の繰り返しですな。

まずは、データの取りこぼし無し検証ですね。

morikuma.netのAdSenseが「組み込み系」ばっかになちゃった。。。(汗
07/09/10
3585
今日の組み込み
SDへの書き込み検証(その1)

以下のソースで試験を行ってみた。

--------
int main(int argc, char **argv)
{
  unsigned char  cbuf[3],data;
  unsigned int  n;
  int        hSdfile;
  
  hSdfile = open(argv[1],OptWrite);
  if ( hSdfile == -1 ) {
    printf("File openNG [%s]\r\n",argv[1]);
    return 0;
  }
  printf("File openOK [%s]\r\n",argv[1]);
  while(1) {
    while( n == 0 ) {
      n = read(0, cbuf, 3);
    }
    n = 0;
    data = cbuf[0];
    write(hSdfile,&data,1);
    if(data == '@') break;
  }
  close(hSdfile);
  return 1;
}
--------

SCIは標準の物を使用して115.2kbpsで受信しています。

実行してみました。
--------
MES >com2sd.exe /ram0/rgps.txt
File openOK [/ram0/rgps.txt]

MES >type rgps.txt
$R,255,,,,2056,92$PC540A1N9AP25GP0
$R,265,,,91,1,065$R,2608A,,,S,620$R,2658$P2,1G3320$GM15.,0,1GP,10,7$R,275,16NG$7
1195$R,270,,
,44
,5,0$R,275,0,0,056,.0$R,280,9*01,170.0$R,285,,*E31*1170$PC545A,,2,V5943,$R,285,2
22,V50,3,$R,290.
A4,2V,650$R,2953*P92,12,N.$R,290,012,V50,3,$R,2953,$2,773,,.$R,200,,
3,1,,,0$R,205,0,0,,1,02A$R,200,0A,2,,,4,0$R,205,0,334,0G6.0$R,210,7301,1,93P$R,2
15,1,9AP0,1L$R,210,9A1A,,,,.P$R,215,0,8,,,7985$PC550A,22,V5014A$R,22545G4,1914D$
R,22045G4,,S284,$R,2253,G,,1,025$R,230.1G4,0G2030$R,235,,210,52,15$R,230,,,11P,1
,G6$R,2355,*E31*10,7$R,240,0,9AS2933P$R,245,9*E3110,32$R,2403,4,156932$R,2454*
3,,120.,$R,250,..8
D413P2*$R,255,73,,,17921$R,2505,$2,,$1,15$R,2553*G2,1$001,$R,260,7332,12061$R,26
5,,
3,4
,791$R,260,1N9AP021G
$R,265,,241,,,922$R,2708A,,110,55$R,275,1,2,V5014P$R,270.6P9,1,025$R,275,1,0
,23GA8$R,2806
G5,,S,0.0$R,28566P1011248,$R,280.0P10771,2A$R,285,0*,,77,,1,$R,29046P47112,1,$R,
295,9A.,313,3,$R,290,73.2,13,3,$R,295,0,3,1,,791$R,200,9*E3,12,26$R,205,95,$0,,8
1$R,2006
A,,8V33,0$R,205,93NG$7,,22$R,21045G5,,S,320$GM16.,4,1GP0,,L
$R,210,,
,44
3,.,$R,215,734,1,,720$R,2206
,5,05,039@MES >

--------
とデータ取りこぼしすぎです。
本当ならこんな感じになるはず。

--------
$GPVTG,115.39,T,,M,0.464,N,0.859,K,A*30

$GPGGA,152925.50,3534.72850,N,13921.16989,E,1,5,3.19,131.9,M,39.3,M,,*62

$GPGSA,A,3,02,13,12,23,04,,,,,,,,3.81,3.19,2.09*0E

$GPGSV,3,1,10,02,42,312,25,17,39,170,,13,54,076,36,25,12,113,*73

$GPGSV,3,2,10,27,07,131,,05,03,305,,20,03,059,,12,11,289,24*73

$GPGSV,3,3,10,23,30,048,43,04,71,013,29*7A

$GPGLL,3534.72850,N,13921.16989,E,152925.50,A,A*6A

$GPZDA,152925.50,10,09,2007,00,00*66

$GPRMC,152925.75,A,3534.72852,N,13921.16984,E,0.261,94.92,100907,,,A*59

$GPVTG,94.92,T,,M,0.261,N,0.483,K,A*01

$GPGGA,152925.75,3534.72852,N,13921.16984,E,1,5,3.18,131.9,M,39.3,M,,*6B

$GPGSA,A,3,02,13,12,23,04,,,,,,,,3.81,3.18,2.09*0F

$GPGSV,3,1,10,02,42,312,25,17,39,170,,13,54,076,37,25,12,113,*72

$GPGSV,3,2,10,27,07,131,,05,03,305,,20,03,059,,12,11,289,24*73

$GPGSV,3,3,10,23,30,048,44,04,71,013,29*7D

$GPGLL,3534.72852,N,13921.16984,E,152925.75,A,A*62

$GPZDA,152925.75,10,09,2007,00,00*61

$GPRMC,152926.00,A,3534.72853,N,13921.16981,E,0.288,107.71,100907,,,A*6D

$GPVTG,107.71,T,,M,0.288,N,0.534,K,A*3D

$GPGGA,152926.00,3534.72853,N,13921.16981,E,1,5,3.18,131.9,M,39.3,M,,*6E

--------

やっぱり、1バイト毎じゃダメですかね。。。

07/09/11
3586
今日の組み込み
SDへの書き込み検証(その2)

前のエントリを見直していてバグを発見(苦笑
あれじゃ、うまくいかないわな。。。

と直してやってみたら
-----------
$GPRMC,154053.75,N7*1027$*0$GPRMC,154054.00A,3,30,97,0$GPRMC,154054.25,,,9AG72,19$GPRMC,154054.503,,8,112,10$GPRMC,154054.755A
02S,2G,P$GPRMC,154055.00,,,10G72,19$GPRMC,154055.25A7F1,91236$GPRMC,154055.50,1N9A
623.9$GPRMC,154055.7546P.2732,7
-----------
こんな感じで所々データ落ちしています。

バグの箇所は敢えて書きません(汗

07/09/11
3587
今日の組み込み
うほ、、、いまさらながら気がついた。。。。

「動作確認用」「本チャン用」の2枚のボードに違いを発見!!

SDのソケット(?)に使われているパーツが違う。。。
ボードのシリアルは連番なのに。。。

「動作確認用」がSDを認識しないのでおかしいなぁと思っていたのですが。。。
まぁ、今のところ片方動けば問題ないのでOKとしましょう。

これ、付け替えられるかな。。。。Rev.3を買うのも良いかも。。。。w
07/09/11
3588
今日の組み込み
どうして、こんなに眠いの♪(挨拶っ。

現状報告。
1.シリアルの115k受信について
 ・sci2.exeを使用して[sci2]のみをconfig.sysに指定して正常動作するのは
  確認出来ました。
 ・この状態で標準入力をreadする場合はどうも16バイトしか読み込めないみたい
2.SDについて
 ・やっぱり、この基板では使えないですね。。。。

やっぱり、こういう時はMLの過去ログが役に立ちますね。

・[elec 03562] Re: SH3でのIRQ3割り込み
 からのスレを読んでいて、
 [elec 03565] Re: SH3でのIRQ3割り込みを使ったCOMドライバーsci2.exe
> 1点だけ心配があります割り込みから抜ける直前の
> > レベル確認のループですがタイムアウト処理が有れば
> > 安心かと思います、PIOCOM1番端子が浮いた場合
> > 無限ループになってしまいますので、
> そうですね。
> 浮いた場合はIRQ3端子ではHighになりますが、
> Breakが入った時にハングしますね。
> 次の更新で直します。

 とカキコが有るじゃないですか。
 ちゃんと配線しないとハングしちゃうのですかね。。
 この投稿は[Tue, 7 Nov 2006 18:16:10 +0900]なので
 対応されているかもしれませんが、タイムアウトのループとかに
 なっていたら、ハングしているのと同じですモンね。
07/09/12
3679
今日の組み込み
シリアルの受信の件は何となく解ったので、
デバッグをしやすくするために液晶を接続してみました。

ブレッドボート上ですが表示出来ました
配線はメーリングリストで報告が有った通りです
07/09/23
3680
今日の組み込み
基板化しました
裏は汚くて「とても公開出来ません」

確認途中で極性間違えて液晶を1つ破壊してしまった(汗
07/09/23
3685
今日の組み込み
纏まった、時間がないと出来ない物に着手。

この前かったStrawberry Linux Co.,ltdの
・XC95108ボード・キット
・PLD−PGMキット
を作成。。。

9V-12Vの電源が無い(安定化電源はあるのでいけるのですが。。)ので動作確認はしていません。

いや、、半田付けがヘタだなぁ。と凹。。。

07/09/24
3710
今日の組み込み
いや、、最近の多機能デジタルマルチメータは本当に「多機能」で、
こんなに安いんですね。。。

Gセンサー(3軸)を使用するためにAD(ADC0808CCN)を使用するために
500KHzが必要だったのですが、そんな遅い(?)オシレータがなく分周器を
使用して1MHz→500KHzにするのですが、
測定方法が無いなぁ。。と思って、買ってしまいました。

温度とか、周波数も計れるし、光量も計れちゃう。。
USBでPCとも繋げられて9千円しない。。。

いや、、、時代は変わったなぁ。。と

多機能デジタルマルチメータ M−6000H(USB接続)(秋月電子)

07/09/30
top..