2011年12月30日金曜日

ZigBee 立上げ

ZigBeeについて調査。

  • ZigBee Allianceから認証取得したDigi International社のモジュールが有名
  • XBee ZB(低出力型)とXBee-PRO ZB(高出力型)がある
  • 更に、アンテナ種別として3つ(使い分け不明だが、チップアンテナ2つで良さそう)
    • チップアンテナ:PCBアンテナにランニングチェンジ?
    • ワイヤーアンテナ:
    • U.FLコネクタ(外付けアンテナ):いいアンテナらしい
  • 親側(コーディネータ)をPCにUSB接続して、子側からのデータをシリアルでPCにtera termで受信する例がWebでよく掲載されている。しかし、これとXBee ZBを2個買うと、1700*2+2495=5895円!!高い。。USBシリアル変換でもいけそうなので、代用
  • XBeeの動作モードは2つ
    • 透過モード:UARTと同じで経路を無線にできるモード、非常に簡単らしい。
    • APIモード:透過モードより複雑なことが出来るらしい。

うーん、まだまだ調査が必要だが、シリアル(UART)を無線に置き換えるだけなら、お金をかければ簡単にできる模様。

-----------------------------------------------------------------------
後日、ラッキーなことに、おもちゃ買ってもらったので、追加部品の検討。



-----------------------------------------------------------------------
2011/12/30
秋月の変換基板を購入
  • XBeeProRFモジュール(PCBアンテナタイプ) (おもちゃ) x2
  • USBケーブル(Aオス-ミニBオス) (おもちゃ) x2
  • XBee用2.54mmピッチ変換基板 (300円) 秋月電子通商 x2
  • ピンソケット(メス) 1x10(10P) (40円) 秋月電子通商 x4
  • 丸ピンICソケット(24P)[600mil] (70円) 秋月電子通商 x2
  • USBケーブル(Aオス-ミニBオス)[1.5m](A-miniB) (110円) 秋月電子通商
 


    とりあえず、PCと繋ぐ用のモジュール作成完了。

    Digi社HPから設定アプリケーションのダウンロード。
    Support -> Diagnostics, Utilities and MIBs
    XCTU 32-bit ver. 5.2.7.5 installer

    インストールして、PC-USBシリアル変換-XBeeと接続して、アプリ起動。
    XBeeは工場出荷時に9600bpsに設定されているらしい。

    通信テスト
    OK。

    アドレス設定(それぞれ相手のアドレスを設定) ボーレート:115200bps
     設定完了。
    うまくいかないので、いろいろやってたら、9600bpsに落ちてた。
    微妙にteraterm同士で通信はできました。

    -----------------------------------------------------------------------
    2012/1/2
    USBシリアル変換のジャンパ設定を追記
    • J1:2-3間をショート(1-2間ショートでTXD、RXDを3.3V、2-3間ショートで5V)
    • J2:ショート(ショートでUSBから電源供給、オープンで外部から電源供給)



    2011年12月18日日曜日

    RX62N 基板

    ユニバーサル基板で作成中です。まだまだ途中だけど、疲れた。。。




    -----------------------------------------------------------------------
    途中経過です。


    -----------------------------------------------------------------------
    やっと、一次完成版!次はXBeeも付ける!





    2011年12月16日金曜日

    RX62N 疑問点

    RX62Nマイコン基板でいろいろやってみてますけど、いくつか分かってないところがあるので、ひとまず列挙。追加の疑問と、解決したらその内容も追記していきます。

    [割込み取り逃しの件]
    • やりたいこと:DMAを使ったシリアル出力(RS232C) → WindowsXP TeraTerm
    • 環境:Interface付属のRX62N基板、HEW使用、SCI2版
    • 手順:リセット解除 → スタートアップ → main() → setpsw_i() → DMAC2初期化 → UART0初期化 → 文字列出力用に"SCI0 initialize done"をRAMに設定 → DMA起動設定 → SCI0.SCR.BYTE    = 0xF0; → しばらくしてブレーク(1)
    • DMAC2初期化詳細
      • 途中省略
      • ICU.DMRSR2 = 216; //  DMA起動要因をTXI0に設定
      • IEN( DMAC, DMAC2I ) = 1; // 割込み許可
      • IPR( DMAC, DMAC2I ) = 5; // 割込み優先レベル設定
    • UART0初期化詳細
      • 途中省略
      • IEN( SCI0, TXI0 ) = 1; // 割込み許可
      • IPR( SCI0, TXI0 ) = 1; // 割込み優先レベル設定
    •  DMA起動設定詳細
      • DMAC2.DMTMD.BIT.DCTG    = 1; // 転送要求選択(周辺モジュール)
      • DMAC2.DMTMD.BIT.SZ    = 0; // 8bit転送
      • DMAC2.DMTMD.BIT.MD    = 0; // 転送モード設定(ノーマル転送)
      • 途中省略
      • DMAC2.DMCSL.BIT.DISEL = 0; // 起動要因の割込みを発生させない
      • DMAC2.DMINT.BIT.DTIE    = 1; // 転送終了割込み許可
      • DMAC2.DMCNT.BIT.DTE    = 1; // DMAC起動許可
    • 割込み関数定義済み、割込み関数でブレーク(2)
    • しかし、割込み発生せず、 (1)のブレークでストップ
    • レジスタを見てみると、IR = 1、IEN = 1、PSW.I = 1 の状態


    [その他]
    • CN2の38ピン、CN3の40ピンに5Vがきてるが、JP1が最初から繋がってないのはなぜか?
    • USB接続でHEWがよく固まる。。なぜか?
      • 1つ便利なやり方発見。リセットスイッチを押す時間が短いとうまくいかないが、長い時間押して離すと、USBの抜き差しと同じ効果あり。固まる現象がおさまるわけではないが、いちいち抜き差ししなくてよくなった。
      • 知人が素晴らしいアイディアを創出。スイッチで外部割込みを行い、デバッガを止める方法。シリアルでも可能だが、シリアルはコマンド受信で使用しているので、常に受け付けるようにしていないため、スイッチの外部割込みを採用。
    • ブレークの一覧表示はどうやってするの?
    • RX62Nに限らないが、配線するリードで絶縁できるもの(本ブログでは青いリードを使用)って、一般的に何が使われるの?秋月にもスズメッキ線は売られてるが、それ以外は見当たらない。今使ってる青いリードは少し太くて扱いにくい。 
    • これもRX62Nとは関係ないけど、シリアルでデータを表示する際、ASCIIも表示させてるが、制御コードの場合は表示が崩れる。そのため、ASCIIコード表を見て、0x1F以下、0x7Fは'.'に変換するようにしているが、CR(0x0D)、いわゆる'\n'はCR(0x0D)+LF(0x0A)に変換しており、データで0x0Dがきた場合と区別がつかない。まぁデータの場合とそれ以外とをフラグでも立てて分岐してやればいいのだけど、もっとスマートな方法はないものか。



      2011年12月3日土曜日

      ARM Cortex-M3 調査

      R社マイコンでしばらく遊んでるけど、そろそろARMにも手を出したい。いくつか調査したのでメモ。


      うーむ、どれにするか。

      2011年11月20日日曜日

      RX62N LCD制御

      LCD制御を試す。
      FPGAでは既に実施済みだけど、マイコンでもやってみる。
      • 3.3V動作LCDキャラクタディスプレイモジュール (800円) 秋月電子通商
      LCDのマニュアルを見ると、FPGAで制御したLCDと同じ方法っぽかったので、Verilogからソースを流用すると、そんなに苦労なく出来ました。しかし、8bit制御は配線が大変なので、4bit制御にソースをそのうち変更しよう。。。


      写真だと紫が見えるけど、実際はキレイなブルーです。
      秋月のHPの画像も参考に貼り付け。

      LCDについて情報整理と考察を行います。
      • LCDコントローラは昔の日立HD44780に互換で作られている場合が多い
        • FPGA(Spartan3A)もHD44780互換と明記されていた
      • 4bitモードを使用した場合に未使用端子(DB4~DB7)の処理は?
        • 内部的にプルアップされてるらしい(抵抗ではなくFETらしい)
      • 今回使用したLCDはSC1602BBWB-XA-LB-Gという型番
        • 2列で2x7の14ピンが出ているが、ブレッドボード接続に不向き、1列が使いやすい

      2011年11月6日日曜日

      RX62N 7セグLED制御

      ポート制御を使って、7セグLEDを制御してみる。

      ブルーの7セグLEDを購入していたが、データシートを見ると順電圧がTYPで3.5V。。3.3Vでは光らないのでは。。

      • 高輝度ブルー7セグメントLED表示器(カソードコモン)C-551UB (200円) 秋月電子通商

      USBから供給される5V電圧もあるけど、Interface付録RX62Nマイコン基板のパターンを半田ショートしないといけない(らしい)。半田ショートしてしまうと元に戻せない?ので、なぜ最初から供給されてないかの理由が分かってないため、気が進まない。

      ひとまず、3.3Vで光るかどうか実験。抵抗無しは危険そう(LEDは0Ω)なので、とりあえず小さい抵抗を付けて実験。




      普通に光りましたな。

      続いて、まじめに全部抵抗つけて確認。
      またもや普通に光りましたな。しかし、配線が汚い。。


      もうちょっと見栄えを考えた配置を考えなければ。

      2011年11月5日土曜日

      RX62N ポート制御

      簡単なポート制御をやってみる。

      RX62Nのマニュアル(ハードウェア編)を見ると、ポートは周辺回路との兼用端子になっている場合がほとんどであり、ポートとして使用するには何らかの機能設定レジスタに設定してやればよい、と思って探すが、よく分からない。。ま、ブロック図を見ると、他は入力端子なので、出力設定しておけば、どっちに設定されてても問題なさそう。

      回路図とWebページを頼りに使いやすそうなところとして、ポート4を選択。理由はA/Dコンバータ入力と割込み入力との兼用端子であり、周辺回路として使うことはなさそうと考えたため。

      設定レジスタとしては、以下の4つ
      • データディレクションレジスタ(DDR)
        • 初期値:00h(全て入力)
        • 入力:1、出力:0
      • データレジスタ(DR)
        • 初期値:00h
        • 出力データ格納
      • ポートレジスタ(PORT)
        • 初期値:不定
        • ポートの端子状態を反映
      • 入力バッファコントロールレジスタ(ICR)
        • 初期値:00h(全て無効)
        • ポートを入力設定にする場合に有効にしなければならないらしい
      ひとまず、P40を使って、基板に付属しているLEDと同じタイミングでLEDをON/OFFしてみる。


       簡単にできました。

      2011年11月1日火曜日

      ブレッドボード

      今日は少し早く帰れたので、購入したブレッドボードを使ってみた。
      • EIC-102J(600円) 16cm x 5.5cm 秋月電子通商 ※ジャンプワイヤケース:16.5cm x 6cm
      • ブレッドボード・ジャンパーワイヤ(オス-メス) 15cm(青) (300円) 秋月電子通商
      RX62Nの3.3VとGNDを使って、抵抗200ΩをかましてLEDを光らせた。

      3.3V - Vf = 200Ω * I

      Vfは低くても1.6Vとして、1.7V / 200Ω = 8.5mA



      LEDと抵抗200Ωは大昔にシリコンハウス?で購入したもの。

      ブレッドボード便利すぎ。

      続いて、手持ちの75Ω入れた場合を考えると、1.7V / 75Ω = 22.7mA

      む、ちょっと危険。ま、やってみよ。

      普通にいけました。データシートないので、これ以上はわからんか。。

      2011年10月30日日曜日

      はんだこて

      はんだこては、学生時代に授業で作ったものと電子工作用のはんだ1mmを使っていたが、2.54mmピッチのはんだ付けには少し難しく、新調することに。

      コーナンに行くと、HAKKO(白光)と、goot(太洋電機)というメーカーのものが置いてあった。
      Webで調べると、はんだは0.8mm~1.0mmくらいとか書かれていた。1.0mmは持ってたので、もう少し細いものが欲しかった。

      購入は、
      ※本当はCXR-31のほうが良さそう(22W)だったが、置いてなかったので、まぁいいかと。

      早速、帰って使ってみよう。

      持ってた はんだこて(右) と CXR-41(左) とを比較


      ついでに、 新しく買ったはんだ(右)と持ってたはんだ(左)を比較



      写真ではあまり違いは分かんないかなぁ。クリックして大きくして見ると分かりやすい。

      はんだこてを置く台も購入しました。



      2011年10月29日土曜日

      RX62N LEDピコピコ

      2011/10/25
      Interface 2011年5月号 付録のRX62Nマイコン基板(正式型名:R5F562N7BDFB)
      を使って、電子工作の基本を修得したいと思います。

      準備として、
      • RX62Nマイコン基板用の部品セット(1030円) 若松通商
      を購入しました。

      続いて、ボードに、
      • 起動モードを設定する ピンヘッダ を半田付け
      • ついでにリセット用のピンヘッダも半田付け
      • ジャンパセット
      します。

      Flash Development Toolkit 4.07 Basic(FDT)
      で、「USB版シリアル接続HEWモニタ」プログラムをROMフラッシュに転送します。

      ジャンパを外して、
      まずはサンプルプログラムをRAM実行。
      ※サンプルプログラムはCQ出版のRX62Nマイコン基板特設ページから最新版がダウンロードできます


      LEDがピコピコしました。

      続いて、ReleaseコンフィグレーションからROM化を試します。
      同じく、LEDピコピコしました。(同じなので画像は省略)

      2011年9月9日金曜日

      hanaso

      http://www.hanaso.jp/

       2011/8/T より hanasoに入会し、オンライン英会話スクールを始めました。

      講師の人柄の良さが、hanaso は非常に良いです。
      他のオンライン英会話スクールも、いくつか体験しましたが、
      ひどいところも少なくありません。

      初心者の方も安心して始められると思います。