DCDCコンバータ

秋月電子の5V出力コイル一体型昇圧DCDCコンバータ

2.5V→5Vで5V側が13mAなのに2.5V側が190mA程度になる。単純計算すると(5*13)/(2.5*190)=14%の効率・・・

4V→5Vだと5V側20mA、4V側36mAで69%。あまり低電圧で使わない方がよいかも?

Posted in 未分類 | Leave a comment

ATmega328での外部クロック入力によるカウントの上限値

ATmega328は外部クロックによるカウンターの利用ができるが、純粋なカウンターでなく、システムクロックに依存したエッジ検出によりカウントされている。そのため計測可能な周波数上限もシステムクロックに依存する。上限は半分で推奨は2.5で割った値以下である。

例)システムクロックが20MHzの場合。

上限→20÷2=10MHz

推奨→20÷2.5=8MHz

The external clock must be guaranteed to have less than half the system clock
frequency (fTn < fclk_I/O/2) given a 50% duty cycle. Since the edge detector uses sampling, the maximum
frequency of an external clock it can detect is half the sampling frequency (Nyquist sampling theorem).
However, due to variation of the system clock frequency and duty cycle caused by the tolerances of the
oscillator source (crystal, resonator, and capacitors), it is recommended that maximum frequency of an
external clock source is less than fclk_I/O/2.5.

cf.http://www.atmel.com/ja/jp/devices/ATMEGA328P.aspx 187p.参照

Posted in AVR | Leave a comment

フリップフロップのクリア、プリセット

データやクロックにかかわらず、「クリアは出力QをLにする。プリセットはHにする。」と考えるとよい。

※クリア、プリセットを同時に使う場合の真理値もあるが通常使用の範囲でないと思われる。

cf.http://toshiba.semicon-storage.com/jp/product/logic/detail.TC7WH74FU.html

Posted in 未分類 | Leave a comment

TWE-Lite-2525A.2を動かすまでの手順。

OTA(遠隔設定)対応とあるが、動かすまでに大分つまづいたので手順をまとめておく。

ver 1.5.3 (2015/6/12 リリース)
2015/6/13 以降に出荷される TWE-2525A(リビジョン2) 基板に書き込まれています。 http://mono-wireless.com/jp/products/TWE-Lite-2525A/firmware_update.html

まず受信側の装置が必要だ。今回はToCoStickを準備した。以降、親装置と呼ぶ。

1.TWE-Lite-2525Aを組み立てる。

公式URL:http://mono-wireless.com/jp/products/TWE-Lite-2525A/assemble.html

リビジョン2の場合、「※ 電池ボックスの向きはどちらでも構いません。」とあるが写真の通りにつけた方がよい。なぜならば、ピンヘッダをつける場合、逆向きだと電池の出し入れの時に邪魔になるからだ。

2.親装置に設定用のファームウェアを書き込む。

TWE-Lite プログラマを使用。

書き込むファームウェアはver 1.5.3 (2015/6/12 リリース) (http://mono-wireless.com/jp/products/TWE-Lite-2525A/firmware_update.html)。

ファームウェア(書き込み用ファイル) (143KB)
を解等してでてくる「Samp_Monitor_EndDevice_Input_JN5164_CNFMST_1_5_3.bin」。

※Rev2のファームが1.5.3だったためあわせる必要があった。今後の出荷では変更の可能性がある。

書き込み方法は割愛。

書き込み後は一度ToCoStickを抜き差しする必要があるので注意!

3.TWE-Lite-2525Aの設定を行う。

公式URL:
http://mono-wireless.com/jp/products/TWE-ZERO/OTA/index.html
http://mono-wireless.com/jp/products/TWE-Lite-2525A/manual_Samp_monitor.html

ターミナルで親機に接続する。

TeraTermの場合、は公式URLの動画を参考。
TinyTerminalの場合、「tt port=親機のポート番号,,115200」と入力。

接続できたらエンターを入力。

以下のような表示がでる。

[[2J[[H--- CONFIG/Samp_Monitor V1-05-3/SID=0x81006cf0/LID=0x00/RC=10000 ---
 a: set Application ID (0x67726305)
 i: set Device ID (--)
 c: set Channels (15)
 x: set Tx Power (13)
 d: set Sleep Dur (500) ←送信間隔設定。ms単位
 w: set Sensor Wait Dur (0)
 m: set Sensor Mode (0x35)
 p: set Sensor Parameter (0)
 P: set Sensor Parameter2 ( )
 k: set Enc Key (0xA5A5A5A5)
 o: set Option Bits (0x00000001) ←00000011の場合、00000001に変更する必要があるもよう。
---
 S: save Configuration
 R: reset to Defaults
 *** POWER ON END DEVICE NEAR THIS CONFIGURATOR ***

ショートカット: 設定できる内容 (現在の設定値)
↑のフォーマットで一覧になっているが、大事なことはこれはあくまで親機に保存されている「子機に書き込み用の値」 であって、これが既に子機に書き込まれているというわけではない。

大文字Sでsaveとあるが、これもあくまで親機にその設定値を保存する操作だ。

実際に子機に書き込むには親機の近くで子機の電源を入れる必要がある。

その時に大事なことは親機にかなり子機を近づけてから電源を入れる必要がある。(環境によるだろうが、それこそ数センチぐらい)

もし遠い場合は「!LQI」という表示がでてエラー扱いになる。

成功した場合は、↓のような表示が即座にでる。

!INF REQUEST CONF FR 810208D0
>>> TxCmp Ok(tick=56644,req=#6) <<<
!INF ACK CONF FR 810208D0
SUCCESS 810208D0

これで子機の設定は完了。

4.親機を受信モードにする。

現状の親機は設定用のファームなので受信用のファームに書き換える必要がある。
(なんとも面倒だが仕方ない)

ターミナルを切断したあと、TWE-Lite プログラマで書き込む。
対象のファームウェアは「Samp_Monitor_Parent_JN5164_1_5_3.bin」だ。

書き換え後、再度親機を抜き差しして、ターミナルに接続する(設定などは同じ)。

成功すれば下記のような出力が見られるはずだ。

::rc=80000000:lq=183:ct=0376:ed=810208D0:id=0:ba=2870:a1=1288:a2=0653:x=-001:y=-
013:z=-087
::rc=80000000:lq=183:ct=0377:ed=810208D0:id=0:ba=2870:a1=1290:a2=0651:x=-002:y=-
013:z=-087
::ts=11
::rc=80000000:lq=183:ct=0378:ed=810208D0:id=0:ba=2870:a1=1290:a2=0653:x=-001:y=-
013:z=-086
::rc=80000000:lq=180:ct=0379:ed=810208D0:id=0:ba=2870:a1=1288:a2=0653:x=0000:y=-
014:z=-087
::ts=12
::rc=80000000:lq=180:ct=037A:ed=810208D0:id=0:ba=2870:a1=1288:a2=0653:x=-002:y=-
014:z=-086

以上。

所感

TOCOSの製品はモノはいいのだが、説明が今一つわかりにくい。設定などで躓いてしまったらメーカ、ユーザともにもったいないことになる。もう一がんばりして欲しいところだ。

Posted in TOCOS, メモ | Leave a comment

Raspberry PI 2 benchimark

cf.http://blog.studiok-i.net/raspberry-pi/766.html

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: raspberrypi: GNU/Linux
   OS: GNU/Linux -- 3.18.11-v7+ -- #781 SMP PREEMPT Tue Apr 21 18:07:59 BST 2015
   Machine: armv7l (unknown)
   Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968")
   CPU 0: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)

   CPU 1: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)

   CPU 2: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)

   CPU 3: ARMv7 Processor rev 5 (v7l) (0.0 bogomips)

   02:13:33 up 39 min,  1 user,  load average: 0.69, 1.28, 0.72; runlevel 2

------------------------------------------------------------------------
Benchmark Run: Sat Jul 25 2015 02:13:33 - 02:41:58
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        2985758.5 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                      496.4 MWIPS (10.0 s, 7 samples)
Execl Throughput                                364.8 lps   (29.7 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         70336.8 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           19934.0 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        187237.8 KBps  (30.0 s, 2 samples)
Pipe Throughput                              165768.7 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  33598.6 lps   (10.0 s, 7 samples)
Process Creation                               1229.6 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1205.7 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    334.5 lpm   (60.2 s, 2 samples)
System Call Overhead                         403760.3 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    2985758.5    255.8
Double-Precision Whetstone                       55.0        496.4     90.3
Execl Throughput                                 43.0        364.8     84.8
File Copy 1024 bufsize 2000 maxblocks          3960.0      70336.8    177.6
File Copy 256 bufsize 500 maxblocks            1655.0      19934.0    120.4
File Copy 4096 bufsize 8000 maxblocks          5800.0     187237.8    322.8
Pipe Throughput                               12440.0     165768.7    133.3
Pipe-based Context Switching                   4000.0      33598.6     84.0
Process Creation                                126.0       1229.6     97.6
Shell Scripts (1 concurrent)                     42.4       1205.7    284.4
Shell Scripts (8 concurrent)                      6.0        334.5    557.6
System Call Overhead                          15000.0     403760.3    269.2
                                                                   ========
System Benchmarks Index Score                                         171.1

------------------------------------------------------------------------
Benchmark Run: Sat Jul 25 2015 02:41:58 - 03:10:32
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       11925376.9 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1985.5 MWIPS (10.0 s, 7 samples)
Execl Throughput                               1359.0 lps   (29.7 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        115187.5 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           32877.5 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        315024.9 KBps  (30.0 s, 2 samples)
Pipe Throughput                              656931.2 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 130014.7 lps   (10.0 s, 7 samples)
Process Creation                               2836.6 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2681.5 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    353.0 lpm   (60.3 s, 2 samples)
System Call Overhead                        1559450.1 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   11925376.9   1021.9
Double-Precision Whetstone                       55.0       1985.5    361.0
Execl Throughput                                 43.0       1359.0    316.1
File Copy 1024 bufsize 2000 maxblocks          3960.0     115187.5    290.9
File Copy 256 bufsize 500 maxblocks            1655.0      32877.5    198.7
File Copy 4096 bufsize 8000 maxblocks          5800.0     315024.9    543.1
Pipe Throughput                               12440.0     656931.2    528.1
Pipe-based Context Switching                   4000.0     130014.7    325.0
Process Creation                                126.0       2836.6    225.1
Shell Scripts (1 concurrent)                     42.4       2681.5    632.4
Shell Scripts (8 concurrent)                      6.0        353.0    588.3
System Call Overhead                          15000.0    1559450.1   1039.6
                                                                   ========
System Benchmarks Index Score                                         441.4
Posted in 未分類 | Leave a comment

デバッグウィンドウの自動スクロールについて

出力ウィンドウにフォーカスをあてると、自動スクロールがとまることがある。

出力ウィンドウを一番下までスクロールしてからフォーカスを外すと自動スクロールが再開する。

Posted in VB.NET, Visual Studio, メモ | Leave a comment

esxiでの4TB HDDの認識エラー

esxi5.0で4TB HDDを認識させようとしたらwinで-128mbの認識。freenasで0の認識。

esxi6.0にアップグレードすると問題解消。

Posted in メモ | Leave a comment

VPNで拠点間接続でLAN内にサーバをおく場合の注意点(PPTPの場合)

ルータはPR-500KI

  • PPTPならばポート 1723をVPNサーバに向ける。
  • GRE(プロトコル47番)の設定は不要のもよう。
  • LAN側静的ルーティングエントリに宛先アドレス→ゲートウェイが相手側のLAN内アドレス→VPNサーバとなるエントリを追加する。
VPNサーバはRTX1000
  • RTX1000ではppp ipcp ipaddress on をしろという設定例が多いが、つけるとエラーログが山ほど出力され、接続が確立できない。

※ちなみにシリアルのリバースは単に2,3を入れ替えたもの。5の接続は必須。

Posted in メモ | Leave a comment

XPathメモ

ルート以下を検索 //
自己ノード以下を検索 .//

Posted in メモ | Leave a comment

LPCマイコンのSPIについて

ユーザマニュアルには下記のようにあるが、受信オーバラン分のデータは上書きされないもよう。

ARM の仕様
では、これが発生した場合、前回のフレームデータが新しいフレーム
データによって上書きされます。
UM_LPC111x_UM_Rev.00.15_Japanese P.183

SPI通信では戻りのデータがいらない場合が多々あるので、逐一読みだしていては速度が非常に遅くなる。なので戻りが不要な時は単に送信に徹し、戻りが必要になる送信の直前に受信バッファを空にするするのがベスト。

また、inlineやfor,ifでも残念ながら遅延原因になるようなのでマクロなどでなるべく一括で送信されるように記述するのがベター。

さらなる高速化のためには16bit送信で2バイト分をまとめて送る方法など考えられるがかなり煩雑な実装になると思われる。

Posted in NXP, メモ | Leave a comment