西東京市にいる組み込みおやじ-電子工作、回路設計、ファーム TIPS

このブログは令和デバイス株式会社の菅原が、電気電子、電子工作、組み込みソフトウェアなどで、自分が苦労したところや面白い気づきなどを記事にしていきます。電子工作やマイコンに親しむ人が少しでも増えたらという思いでつづります。
やっぱり、電子工作が好きなんですよ。
宇宙開発セミナーに参加
0

    今日は コール田無で宇宙開発セミナーに参加してきた。

    といっても 非常に小規模なもので、西東京市で 大日本宇宙航空開発研究機関株式会社 を起業された 澤社長が実物のロケットや飛行のシミュレーション、データなどを交えて説明していた。

     

    ロケットというと 小さいのでもホリエモンロケットを想像するけど、もっともっと小さくて 2mぐらいの小さくて原始的なロケットの話だ。

    日本では飛行体の規制が厳しくて許可をとるのも一苦労だけど、アメリカだと ロケットで町おこししているようなところもあり、人も何もない広大な砂漠があるので、比較的低予算で打ち上げられるそうだ。

    どこまでの高度まで打ちあがったかが一つの基準になるそうだ。

    最近は 電子制御技術が進んできて、以前よりも格段に高く打ち上げられるようになったとのこと

     

    実際の基板を見せてもらった。外観だけでみると 小型のマイコンに GPS,加速度センサー、ジャイロセンサー ブザー、発火装置などが組み込まれているだけのようです。 Arduino 等でオープンなソースも発表されている。

     

    西東京発のロケット。これから仲間を増やして盛り上げていくそうだ。

    事業もうまく軌道に乗るといいと思った。

     

     

     

    | 令和デバイス-菅原 | 西東京市 | 21:25 | comments(0) | trackbacks(0) |
    Xport カスタマイズ メモ
    0

      JUGEMテーマ:組み込み開発

       

      最近 Xport のカスタマイズをする必要に迫られた。

      ちょっと特殊な開発環境でもあるので、メモしておく

       

       

      XPORT は ご存じの人が多いと思うけど、LANのコネクタのような形状をしていて、LANとシリアル変換できる装置だ。

      シリアルポートさえあれば非力なマイコンからでも制御できるので、産業用の装置などに採用されている。

      代わりとなる製品で有名なものはない。中華の製品でそっくりなのがあるけど、評価はまだしていない。

      XPORTが嫌ならば、自分で LANのICをたたかないといけないし、MACアドレスをどうするかという問題もあり、そこまで速度もいらないし開発費もかけられないということであれば、これしかないであろう。微妙にバージョンアップしているようだけどかなりの

      ロングセラーといえる。

       

      当初 Xportのカスタマイズをするために Xportの販売代理店にいろいろと相談した。

      いろいろと勘違い思い違いもあったが、私が勘違いするということはほかの人も勘違いするだろうとのことで、参考になれば幸いです。ただ、私も初心者なので間違えるていることもあるかもしれない。間違いに気づいたら後から修正します。


       

      ◆Xportのカスタマイズは 販売代理店が提供する

       

      実は XPORTは購入時に入れてあるアプリケーションを入れ替えることができる。RS485対応にしたりと、あまり数は多くないけど、いくつかのアプリケーションがLantronixで公開されている。

      導入してからもしばらくはLantronixのプログラムをカスタマイズするのかと思いこんでした。

      しかし、説明はすべて日本語だし、サンプルプログラムを走らせてみると 販売代理店の名前やロゴが随所に出てくる。

      そう、カスタマイズの開発環境は 販売代理店が開発したもののようだ。

       

      そのため Webの設定画面も違う。

      最初はがっかりしたけど、資料もサポートも日本語なので、これはこれでよいと思う。質問すればたいてい翌日には回答が得られる。


       

      購入したXPORT05とはインストールされているブートローダーが違う。ブートローダーが違うということは アプリケーションだけ変更するということはできない。

      このブートローダーはシリアル経由でダウンロードするため、基板に実装する前にブートローダーとアプリケーションをダウンロードしなくてはならない。あるいは 実装する基板に シリアル通信ポートを切り替えられるようにして DeviceInstallerやターミナルソフトでアクセスできるようにしておかなければならない。

       

      一旦ブートローダーとDeviceInstallerに対応したアプリケーションを入れてしまえば DeviceInstallerでプログラムを更新することができる。(ハングアップしていなければ)

       

       

      ◆開発環境がめちゃ古い

       

      開発環境は Borland C++ だったりする。また リアルタイムOSとして uItron4.0を採用している。

      CygwinでCUIで開発することとなる。

       

      コンパイラが 16ビットアプリなので、 XPで動く。

      Window7では Vertial PCとして XPモードがあるので、これで開発することができる。

      Window10 では無理っぽいです。

       

      当然 eclipseみたいな統合開発環境はない。自分でなんとかするか、 CUIで頑張ることとなる。

       

      Window7 で開発する場合、64ビットより 32ビットのほうが良いのではないかと思う。

      TFTPソフトを使ってアプリの更新ができるけど、 64ビットではうまくファイルの受け渡しができなかった。しかたなく32ビットのWindows7のPCを引っ張り出してためしたらすんなりうまくいった。

       

      また、Web上を検索しても Xportをカスタマイズしたブログなどの記事は見つからない。

      頼りは代理店の技術サポートだけになる。先人の試行錯誤など記事があれば参考になるのにと思う。

      まあ、ほとんどの人は標準で使っていると推測される。標準の XPORTの完成度は高いともいえる。

       

      windows7 のサポート終了も間近となっているが、その後どうするのかちょっと心配。

       

       

      | 令和デバイス-菅原 | XPORT | 23:32 | comments(0) | trackbacks(0) |
      an-r01an0339ju0205-rx-can RX63系で CAN0が動作しないことがある報告
      0

        JUGEMテーマ:組み込み開発

         

        RX600 シリーズ CAN アプリケーションプログラミングインタフェース

        an-r01an0339ju0205-rx-can 

        R01AN0339JU0205
        Rev.2.05
        2018.02.07

        にて。。

         

        RX63 の CANのマイコンで不具合があります。RX62系はありません。

         

        RX630 で 以下のようにCAN0のポートを PD1,PD2にしたところ 動作しませんでした。

         

        config_r_can_rapi.h 

        #define CAN0_RX_PORT PD2
        #define CAN0_TX_PORT PD1

         

        実機でデバッグ中にレジスタを見てみると CAN0のレジスタに書き込みされていませんでした。

         

         

        原因を探ったところ以下のところに不具合がありました。

         

        r_can_api.h 

        78行目から

        /******************************************************************************
        Definitions Used to make the port pin selection logic work 
        ******************************************************************************/
        #define    P14        14
        #define    P15        15
        #define    P32        32
        #define    P33        33
        #define    P54        54
        #define    P55        55
        #define    P66        66
        #define    P67        67

         

        とあります、 PD1,PD2の設定がありません。

         

        PD1,PD2の設定がないところだと 以下のような記述の場合

         

        #if (CAN0_RX_PORT) && (CAN0_RX_PORT == P33)

         

        #elif (CAN0_RX_PORT) && (CAN0_RX_PORT == PD2 )    

          ここを有効としたい

        #else     

          しかしここが有効となっていた

        #endif    

        PD2が #defineされていないので #else以下が有効となってしまいました。

        すなわち、 ポートが設定されていないので CANは使わないという解釈がされていました。

         

         

        そこで

        #define      PD2        132
        #define      PD1        132

         

        と追加したところ 動作するようになりました。

         

        PD2,PD1に設定する値は 他のポート設定と重複しなければOKです。

         

        今回 北斗電子のHRSBRX630Bで開発していました。

        HRSBRX630B は PD2,PD1をCANのポートとして 回路設計しています。同じようにはまることがありませんように。

         

         

         

        | 令和デバイス-菅原 | Renesas RXマイコン | 20:59 | comments(0) | trackbacks(0) |
        会社設立となりました
        0

          JUGEMテーマ:組み込み開発

           

          いままで個人事業として活動してきましたが、活動内容が大きくなってきたこともあり、法人化することとなりました。

           

          新組織名

          令和デバイス株式会社

          令和元年5月8日設立 !

          ということで、新しい時代の幕開けに 新しい組織となりました。

           

          このブログは 今まで通り継続していくこととなります。

           

          会社設立にともない ビーコンの業務はすべて 新会社が引き継ぎます。

           

           

          | 令和デバイス-菅原 | このブログについて | 05:26 | comments(0) | trackbacks(0) |
          nRF52 SPIのMISOピンをプルアップ設定にする
          0

            JUGEMテーマ:組み込み開発

             

            nRF52でADCをSPI通信で動かしているが、一点問題がでてきた。MISOピン(マイコンから見ると受信データ)のプルアップをしていないため、SSピンが LOでないときに MISO ピンがオープンになってしまう。

            nRF5xのIOポートは個別に プルアップ、プルダウン等の設定にできるのだけど、 Nordicから提供されているSPIのライブラリではMISOピンが プルアップ設定になっていないようだ。

            ライブラリを活用しているので、ライブラリで提供されている関数で行うのが美しい。

            かといって、MISOをプルアップにするオプションは見当たらなかった。

            そこで、 ペリフェラルの設定を直接変えることとした。

            青文字が追加した部分。

             

              nrf_drv_spi_config_t spi_config = NRF_DRV_SPI_DEFAULT_CONFIG;
                
                spi_config.ss_pin   = SPIM0_SS_PIN;
                spi_config.miso_pin = SPIM0_MISO_PIN;
                spi_config.mosi_pin = SPIM0_MOSI_PIN;
                spi_config.sck_pin  = SPIM0_SCK_PIN;
                spi_config.frequency    = NRF_DRV_SPI_FREQ_250K;                     
                spi_config.mode = NRF_DRV_SPI_MODE_1;

                APP_ERROR_CHECK(nrf_drv_spi_init(&spi, &spi_config, spi_event_handler,NULL));
                

                NRF_P0->PIN_CNF[SPIM0_MISO_PIN] |= (GPIO_PIN_CNF_PULL_Pullup<<GPIO_PIN_CNF_PULL_Pos);
             

            これにより、プルアップが効いて、SSがLO以外の時でも オープンになる事はなくなった。

             

            | 令和デバイス-菅原 | nRF5x Nordic | 10:58 | comments(0) | trackbacks(0) |
                123
            45678910
            11121314151617
            18192021222324
            25262728293031
            << August 2019 >>
            + RECOMMEND
            + RECOMMEND
            + SELECTED ENTRIES
            + RECENT COMMENTS
            + RECENT TRACKBACK
            + CATEGORIES
            + ARCHIVES
            + つぶやき
            + MOBILE
            qrcode
            + LINKS
            + PROFILE