2009 年度成果報告書:ZEAL-C01 の動作電力評価 田中 康一郎 † 田中 竜司 ‡ 富永 晃司 ‡ † 九州産業大学 情報科学部 ‡ 九州産業大学大学院 情報科学研究科 1 はじめに 本研究室では,ZEAL を用いた無線通信システム に関する研究を行っている.前回は ZEAL-C01 の動 作電力調査結果について報告したが,今回は精度の 高い測定器を用いた動作電流の測定結果を示す. 2 評価環境 動作電流の評価は,本大学で開発した ITT-2(図 2)[1] を用いて行った.図 2 に示すように,ITT-2 に は Bluetooth モジュールを搭載できるインタフェー スが搭載されており,ZEAL-C01 や ZEAL-S01 を利 用することができる. また ITT-2 では,ZEAL を制御する IC として, FPGA (Field Programmable Gate Array) と MCU (Microcontroller Unit) の2つを選択することができ る.FPGA には Xilinx 社の Virtex-5 (XC5VFX30T), MCU には Texas Instruments 社の MSP430 (FG4618) が搭載されており,ジャンパーピンによって ZEAL との接続を選択できる. ITT-2 は,ZEAL と FPGA の動作電流を測定でき るように配慮して設計した.これにより,測定器を 使用することで,ZEAL と FPGA の動作電流を測定 することが可能である. 今回の測定には,2機種の測定器を使用した.従来 からの評価に用いている測定器は,三和電気計器のデ ジタルマルチメータである (PC-5000) である.この デジタルマルチメータは,PC との接続を行える接続 ケーブルである KB-USB2 とソフトウェア (PC Link Plus) と共に利用することで測定結果を PC に保持す ることができる.もう一つの測定器は,KEYENCE 社の NR-500 シリーズであり,こちらも PC に測定 結果を保存できる. 図 3: 測定環境 (PC-5000) 図 4: 測定環境 (NR-500) 上田 晋寛 † 図 1: ITT-2 の写真 DDR2 DDR2 DDR2 DDR2 LEDs 1.8V, 3.3V(F) 16 16 16 16 General-Purpose Config. Mem. JTAG XCF16PV048 LEDs SWs Clock (VariClock) FPGA TXD RXD 3 XC5VFX30T 3.3V(Z) RTS CTS Header 3.3V(M) Vin EN5311QI ADin1 ADin2 TXD ADref+ RXD MCUADref- M430FG4618 RTS CTS 0.9V, 1.0V 1.8V,2.5V 3.3V(F) SWs XTAL (32.678kHz) 0.9V EN5336QI 1.0V FPGA Enable ZEAL Enable EN5336QI 1.8V EN5335QI 3.3V(M) JTAG 2.5V EN5335QI LED TXD RXD Bluetooth TXD RXD RS-232C ZEAL Mode SW 3.3V(F) TPC8107 3.3V(Z) TPC8107 RTS CTS 図 2: ITT-2 の構成 回路設計 3 ZEAL の動作電流を測定するために,FPGA 用の 制御回路を設計した.この回路は,SystemVerilog 設 計言語で記述している.回路の動作は,バイナリで 0x30(アスキー文字の”0”) から 3(アスキー文字の”3”) までの値を繰返し送信している.図 5∼9 に評価のた めのサンプルコードを図 10 にシミュレーション結果 を示す. top_ZEAL.sv 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ‘include "define.sv" module top_ZEAL( input logic output logic ); logic rst,clk,cts, txd out_clk,cts_reg; z_clk z_clk (.in_clk(clk),.*); ZEAL_control ZEAL (.clk(out_clk),.cts(cts_reg),.*); // Input buffers always_ff@(posedge clk) begin cts_reg = cts; end endmodule // top_ZEAL 図 5: 評価回路のトップファイル z_clk.sv 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ‘include "define.sv" module ZEAL_control( input logic output logic ); logic [4:0] logic [7:0] clk,rst,cts, txd = ‘StopBit state = 0; data_reg = 0; always_ff@(posedge clk)begin if (rst) begin txd = ‘StopBit; state = 0; data_reg = 0; end else begin unique case(state) 0: begin txd = ‘StopBit; if (~cts) begin state = 1; end end 1: begin txd = ‘StartBit; state = 2; end 2,3,4,5,6,7,8: begin txd = data_reg[state-2]; state++; end 9: begin txd = data_reg[state-2]; state = 0; data_reg++; data_reg[7:2] = 6’h0c; end endcase // case(state) end // else: !if(rst) end // always_ff@ (posedge clk) endmodule // ZEAL_control ‘include "define.sv" module z_clk( input logic in_clk, output logic out_clk ); 図 7: 評価回路の動作回路 integer clk_count = 0; always_ff@(posedge in_clk)begin out_clk = 0; if (clk_count >= ‘ICYCLE) clk_count = 0; else if (clk_count >= ‘ICYCLE/2) out_clk = 1; clk_count++; end // always_ff@ (posedge in_clk) endmodule // z_clk 図 6: 評価回路の通信用のクロック生成回路 4 ZEAL_control.sv 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 評価結果 ZEAL-C01 の測定結果を図 11∼図 16 に示す.測 定に用いた ZEAL-C01 のファームウェアのバージョ ンは,2.0.2.1 である.またボーレートは 115,200bps とし,スレーブとして用いた.動作電力を測定した ZEAL の状態としては,(1) 電源投入直後,(2) 送信 時(未接続時),(3) 送信時(接続時)の 3 つである. tb_top_ZEAL.sv 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 module tb_top_ZEAL; logic logic rst,clk,cts; txd; top_ZEAL ZEAL(.*); initial begin rst = 1; clk = 0; cts = 1; #1000000 rst = #1000000 cts = #1000000 cts = #1000000 cts = #1000000 rst = #100000 $stop; 0; 0; 1; 0; 1; end always #5 clk = ~clk; endmodule // tb_top_ZEAL 図 8: 評価回路のテストベンチファイル 図 10: シミュレーション結果 define.sv 1 2 3 4 5 6 7 8 9 10 11 あったものの大きな違いが確認できた.電源投入直後 に関しては,どのレベルも測定器間の違いは大きく ‘ifndef __define_sv ‘define __define_sv ‘define MHz ‘define BaudRate ‘define ICYCLE 16 // Clock Frequency 115200 ‘MHz*1000000/‘BaudRate ‘define StartBit ‘define StopBit 0 1 ‘endif 図 9: 評価回路の設定ファイル 具体的には,(2) の状態は ZEAL に対して,”BTA” なかった.未接続時共に近い結果ではあったものの, NR-500 の方が若干動作電流が低いことが確認でき た.最後に実際の通信時は,PC-5000 の結果では不 十分であることが確認された.接続時 PC-5000 では, 全てのレベルで一定の動作電流を示していたが,実 際には大きく変動しており,最大電流値は PC-5000 の 1.5 倍程度は想定しておかないといけないことが 確認できた. コマンドを送信することで待ち受け状態とし,さら に FPGA からのデータの送信も既に行っているがマ スタ側の Bluetooth 機器とは接続されていない状態 5 まとめ であり,(3) の状態は実際にマスタ側の Bluetooth 機 本稿では,ZEAL-C01 の動作電流測定の結果を示 器にデータ送信をしている状態である.今回のマス した.従来のディジタルマルチメータに加えて,高速 タ側の Bluetooth 機器には,Bluetooth 通信を備え アナログ測定ユニットを利用した測定した結果,接 た PDA を用いた. 続時の動作電流値は大きく変動しており,その最大 NR-500 と PC-5000 では,測定周期が大きく異な る,PC-5000 はテスターであるため 1 秒間に数回の データしか測定することができないが,NR-500 は 1usec の周期で測定することが可能である. NR-500 と PC-5000 の測定結果は,傾向は同様で 値はディジタルマルチメータの 1.5 倍程度まである ことが確認できた. 現在,FPGA 制御の Bluetooth 無線通信システム と共に,MCU 制御による Bluetooth 無線通信シス テムも正常に稼働中であり,用途に応じて使い分け 図 11: スタンダードレベル (NR-500) 図 12: スタンダードレベル (PC-5000) 図 15: 低消費電力レベル (NR-500) 図 16: 低消費電力レベル (PC-5000) を行い研究開発を行っている.予定では,2010 年 6 月 24∼26 日に福岡県北九州市の西日本総合展示場 新館で開催される第 50 回西日本総合機械展に ZEAL を搭載したシステムを出展する予定である. 参考文献 図 13: 高速レベル (NR-500) 図 14: 高速レベル (PC-5000) [1] Tanaka, R. and Tanaka, K.: A Power Consumption Analysis of General-Purpose Bluetooth Wireless Communication Modules, in Proceedings of the 24th International Technical Conference on Circuits/Systems, Computers and Communications (ITC-CSCC 2009), pp. 618 – 621 (2009).
© Copyright 2024 Paperzz