Renesas Rulz - Japan
  • User
    Join or Sign In
  • Site
  • Search Japan.RenesasRulz.com
  • User
  • Renesas Rulz
  • FAQ
  • パートナー
  • 半導体セミナ
  • eラーニング
  • ヘルプ
  • More
  • Cancel
  • かふぇルネ
  • がじぇるね
  • Groups
  • English Community
  • More
  • Cancel
がじぇっとるねさすコミュニティ
がじぇっとるねさすコミュニティ
GR-SAKURA フォーラム GR-SAKURAを使ったus単位でのデータログ
  • Forums
  • Blog
  • Files
  • がじぇっとるねさす ゆーざー会 - Wiki
  • Tags
  • More
  • Cancel
  • New

 

 チャレンジプログラム

 GR-SAKURA

 GR-KURUMI

 SNShield

 Web Compiler

 IDE for GR

 その他

 

 作り方使い方資料

 イベント関連

 作品記事

 体験記事

 その他

 

 ライブラリ

 ツール

 その他

  • Date rdglp
    rdglp
  • Date 2019/11/26 2:28
  • Replies 3 replies
  • Subscribers 284 subscribers
  • Views 186 views
Options
  • Share
  • More
  • Cancel
Related Tags
  • Ehternet
  • ethernet
  • gr-sakura
  • GR-SAKURA GR-KURUMI I2C
  • gr-sakura rtc
  • GR-SAKURA SDMMC
  • GR-SAKURA 液晶 aitendo
  • i2c
  • lcd
  • mruby
  • sd_card
  • sdmmc
  • SDカード
  • serial
  • spi
  • udp
  • USB仮想シリアル
  • webコンパイラ
  • Windows8 serial com driver
  • がじぇっとルネサス
  • がじぇるね
  • シリアル
  • タイマ割込み
  • ネットワーク
  • ライブラリ
Related

GR-SAKURAを使ったus単位でのデータログ

0.1 msごとにアナログ信号を読み取りその値をSDカードに保存するデータロガー的な機能をGR-SAKURAに実装しようと考えています。

タイマ割込みを使って処理する方法が良いかと考えたのですが、タイマの割込み時間の最小単位が1 msなので実装ができません。

 

過去にus単位で処理を実行するプログラムについてのフォーラムがあったのですが日付が古いせいかファイルをダウンロードすることができませんでした。https://japan.renesasrulz.com/gr_user_forum_japanese/f/gr-citrus/3977/sec

 

そもそも0.1 msごとにSDカードに書き込む処理ができるのかどうか(処理時間の問題など)という点と

可能ならばどのようにして実装すればよいのかという点について

何かご教授いただければ幸いです。

 

マイコン初心者なのでなにか不備がありましたらすみません。よろしくお願いします。

  • Cancel
  • Reply
  • Okamiya Yuuki
    Okamiya Yuuki
    • 0
    • 2019/11/26 3:20
    一度所望のデータがSDに書けるかどうか、delayMicrosecondsで試してみていただいてもいいでしょうか。
    マイクロ秒単位のタイマーは考えます。少しお時間ください。
  • @chobichan
    @chobichan
    • 0
    • 2019/11/26 4:59
    0.1msに2byteのアナログデータを書き込むなら、20Kbyte/secなのでスペック的には行けそうな気がしますよね。
    ただ、本当に0.1ms毎に書き込みを行うと、割込みのオーバーヘッド+書込みのオーバーヘッドで苦しくなりそう。
    ADCからDMAでRAM上にバッファして、512byte単位で書き込む方が行けそうな気がします。
  • Okamiya Yuuki
    Okamiya Yuuki
    • 0
    • 2019/12/3 3:52

    がじぇるね岡宮です。

    ひとまずMsTimer2を0.01msから指定できるように拡張しようと思います。

    以下、変更後のMsTimer2です。IDE for GRを使用されている場合、「hardware\arduino\rx63\libraries\MsTimer2」に上書きコピーすれば、反映されます。

    今週から来週にかけてGRボード用のSDKをアップデートしますが、その際に含めたいと考えています。

    MsTimer2.cpp

    MsTimer2.h

     

    以下、確認したサンプルです。

    #include <Arduino.h>
    #include <MsTimer2.h>

    void flash() {
    static boolean output = HIGH;
    static int count;

    count++;
    if (count > 10000) { // 0.1ms*10000=1sec
    Serial.println(millis());
    digitalWrite(PIN_LED0, output);
    output = !output;
    count = 0;
    }
    }

    void setup() {
    Serial.begin(9600);
    pinMode(PIN_LED0, OUTPUT);

    MsTimer2::set(0.1, flash); // 0.1ms period
    MsTimer2::start();
    }

    void loop() {
    }
サイト使用条件
プライバシーポリシー
お問い合わせ
© 2010-2019 Renesas Electronics Corporation. All rights reserved.