2012年7月29日日曜日

ジョギング 7回目(2012/07/29)

今日はヒサビサに万博一周コースに行ってきました。
万博までが遠い。。

歩き始めたところで活動量計を見ると、30分、4.2km
Googleマップで見ると、4.9km、ズレは14.3%
前回のズレも13.5%なので、ダイタイ一定してるかな。。

2012年7月27日金曜日

ZigBee 再立上げ

かなり放置してたXBeeですが、良い本を入手したので、再立上げ
まず、起動確認。

シリアルの設定忘れた。。いろいろやって、結局9600bps

とりあえず、メモ

2台あるうちのこいつはSerial Numberの下2桁がEA
以前のキャプチャ画像を見ると、もう1つの下2桁はFA



◆ユニバーサル基板のXBee(XB1とする)
  • タイプ:XBP24BZ7
  • firmware version:288C
  • ユニバーサル基板
  • Serial Number:13A200406F4BEA
  • シリアルのボーレート:9600bps
  • ZIGBEE END DEVICE AT


(XB1のModem Configuration)
PAN IDを0から7に変更した。Modem Configurationでは、変更した属性は青字になるらしい。
緑と黒は???




◆ブレッドボードのXBee(XB2とする)
  • タイプ:XBP24BZ7(同じ)
  • firmware version:208C
  • ブレッドボード
  • Seral Number:13A200406F4BFA
  • シリアルのボーレート:9600bps
  • 設定:ZIGBEE COORDINATOR AT

(以前)
(今回 ※バージョン下がった?)

(XB2のModem Configuration)


今日はココまで。。。


 -----------------------------------------------------------------------
2012/07/26

今日は Associated Indicator として、赤いLEDを接続しました。

・COODINATORの場合、1秒間隔で点滅
・ROOTERの場合、0.5秒間隔で点滅

らしいです。
確かに1秒間隔っぽかったです。

回路図アップ



2012年7月17日火曜日

RX62N/SH-2A RS232C通信

PCと通信(RS232C)したい。うちのPCにはシリアル(RS232C)が付いてないので、以下の部品を使用した。

USBシリアル変換モジュールのジャンパ設定が分かりにくかったので、メモ。
  • J1:1-2間ショートすると3.3V、2-3間をショートすると5V
  • J2:ショートするとUSBバスから電源供給、オープンだと外部から電源供給
RX62Nは3.3Vであり、外部(RX62Nとか)から電源供給してもいいけど、接続しているUSBバスから供給が楽チン。というわけで、J1は1-2間ショート、J2はショートの設定。

とりあえず、9600bpsの設定で動作確認。




送信は確認できました。受信はデバッガのレジスタに値がセットされているのが確認できました。

簡単そうに書いてるけど、実は意外に時間かかりました。RX62Nのシリアルの設定で、シリアル受信許可とシリアル送信許可のレジスタビットがあるんだけど、片方ずつセットすると後にセットしたほうが反映されない。ハードウェアマニュアルを見ると、注:とかって小さく書いてる。。。分かりにくい。。

動画が見えにくかったので再アップ。

回路図(というほどのものではない)を作ってみたのでアップ。


-----------------------------------------------------------------------
転送レートを、
  • 9600bps
  • 19200bps
  • 38400bps
  • 57600bps
  • 115200bps
  • 230400bps
  • 460800bps
  • 921600bps
と、順番にあげてみました。
すると、460800bps、921600bpsで文字化けするようになりました。


FT232RLのマニュアルには300kbps~460kbpsとあったので、まぁ妥当かな。
230400bps(230kbps)を使うようにしたいと思います。

-----------------------------------------------------------------------
2012/1/2
前々からターミナルの文字に色が付けれたらと思ってました。
Linuxで使うときは色が付けれるのだから、可能なはず、と思い、ググッてみると、ありました!


(1) エラーの場合は赤い背景色に白文字にしました。
(2) 時間計測の結果は青い背景色に白文字にしました。

ちなみに、画像のエラーはSDカードがVer2.00に対応してないため、CMD8でillegal commandが返ってくるので、問題があるわけではありません。また、時間計測については、初期化が59msだったことを示します。

さて、やり方ですが、
VT100仕様のエスケープシーケンスを文字列の先頭に加えるだけです。
(1)の場合は、"\x1b[44m\x1b[37m"を先頭に加えます。
(2)の場合は、"\x1b[41m\x1b[37m"を先頭に加えます。
それぞれ、デフォルトに戻すときは(改行の手前とかに)"\x1b[0m"を入れておきます。

詳しいエスケープシーケンスについてはググると出ます。
参考にさせてもらったサイト:http://www35.atwiki.jp/futoyama/m/pages/98.html?guid=on


-----------------------------------------------------------------------
2012/7/15

460800bpsで文字化けしてた件ですが、FTDI社のFT232Rや、FT232Hはボーレート変換を変更できるようです。
Windowsでは921600bpsが最高のボーレート設定ですが、そもそも、その設定(名)に対して自由にボーレートを割り当てることができます。
FTDI社提供のWindowsのドライバの中に、ftdiport.infというファイルがあり、その内容を改変することで、速いボーレートを設定することができるようになります。
そもそも、460800bpsで文字化けしていたのは460800bpsという設定と、マイコンのボーレートが合わないためでした。
とりあえず、1500000bps(1.5Mbps)、3000000bps(3Mbps)が設定として簡単なので、やってみました。
見事、1.5Mbpsでのシリアル通信に成功しました。USBのデバッグでフルでログ出力しても遅くなりません!
詳しくはFTDI社のHPでAN232B-05_BaudRates.pdfというファイルがダウンロードできるので、それを参照。。

2012年7月16日月曜日

SH-2A LAN

LANしたくなったので、モジュールを載せました。

  • ユニバーサルLANモジュールキット AX88796搭載(LF-A1-K) 2940円
  • スペーサー 50円ぐらい x2
  • ソケット 2列x7、2列x13 それぞれ50円ぐらい
外部バスの半田付けはまた来週。。

2012年7月15日日曜日

ジョギング 6回目(2012/07/15)

今日はイズミヤに向かって走りました。
Le Sucre-Coeur ル・シュクレ・クール 前まで行って、戻ってきました。
30分超えて走り続けるのは大変やなぁ。。。

歩き始めたところで見ると、32分、4.5km
Googleマップでルート検索すると、5.2km
結構ズレがあるなぁ。しかし、Googleマップはすごいなぁ。

2012年7月7日土曜日

ジョギング 5回目(2012/07/07)

今回は前回と逆周りで街をぐるっとまわりました。
ミリカヒルズの新しい道を走りました。
前に、イオンが出来るって言うてたなぁ。

2012年7月1日日曜日

SH-2A USB SDカード R/W

GWの成果、その2です。

RX62Nで実現してたUSB SDカード R/WをSH-2Aにも適用しました。エンディアンの違いの吸収など少し手こずりましたが、ワリとあっさりできました。

とりあえずドライブ認識、ファイルのリード/ライトなどはできてますが、いくつか残課題が残ってますので、列挙。

  • SH-2AはHighSpeedに対応してますが、現状はFullSpeedに設定(RX62NはFullSpeedのみ対応)
  • ドライブ認識はするのですが、Windows上でいつものバルーンが出ません。。理由不明。
  • 1回目は普通に動作するけど、デバッガ止めて、ビルドし直して、再スタートさせたとき、再認識しない。RX62Nでは再認識したような気が。。D+プルアップの解除のやり方が悪いかな。。
  • RX62Nでも実現してなかった機能だけど、SDカードの挿抜検出ができない。
  • 同じくRX62Nでも実現してなかったUSB FIFOのデータ転送のDMA化。
  • RX62Nで修正しきれなかった不具合の対策で、バルク転送中のコントロール転送の取り逃し不具合。SH-2Aではまだ発生してないけど修正してもない。
  • CrystalDiskMarkの計測と、速度改善。
少しずつ対応していきましょ。

-----------------------------------------------------------------------
2012/07/01

更新を怠ってましたが、USB R/Wの速度改善してました。

まず、USB R/Wは当然ですがUSBを使用します。
デバッガのI/FとしてUSBが使えないので、シリアル(UART/RS232C/SCIF)を使用したデバッガI/Fを使用しています。
また、SH-2Aは高速内蔵RAMを使わないと遅くなるのですが、SCIF版のデバッガでは高速内蔵RAMを使用すると暴走します。。
その解析をしてました。ある程度解決したので、ようやく速度改善できました。

CristalDiskMarkを使って計測したかったのですが、あまりにUSB R/Wが遅いため、完走までにめちゃめちゃ時間がかかる。。(10分くらい。。) ので、HDBENCHで実施とします。

  • 改善前 : R:155KB/s、W:111KB/s、C:126KB/s
  • USB HighSpeed対応 : R:312KB/s、W:249KB/s、C:231KB/s
  • USB FIFOサイズ64byte→512byte : R:542KB/s、W:382KB/s、C:313KB/s
  • ReadのみUSB側のDMA対応 : R:753KB/s、W:400KB/s、C:391KB/s
  • USB BUSWAIT最適化 : R:953KB/s、W:452KB/s、C:442KB/s
  • SDとUSB間の内部バッファ5KB→64KB : R:1089KB/s、W:669KB/s、C:534KB/s
  • 計測用のシリアルログ無効化 : R:1290KB/s、W:1167KB/s、C:797KB/s




USBのDMAはRead側のみ対応してます。Write側の対応はこれから。。。面倒。。
一応、CrystalDiskMarkの結果も貼り付け