ZEAL-C01の動作電流評価

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).