広島工業大学紀要研究編
第 51 巻（2017）45-48

論文

低消費電力エッジノードプロセッサの研究
明弘＊・鬼追近藤一雅＊＊（平成28年11月１日受付）

A Study on Low Power Consumption Edge Node Processors
Akihiro KONDO and Kazumasa KIOI
（Received Nov. 1, 2016）

Abstract
A novel edge node processor has been studied. As a ﬁrst step, a memory controller and a processor have been implemented on an FPGA successively. Experimental results using the FPGA and anArduino are given in this paper.
Key Words: Low Power, edge node processor, FPGA, Arduino

Raspberry Pi［４］との互換性を有するものを実装する。すで１．はじめににセンサやアクチュエータを処理するデバイスとして普及

近年，「モノのインターネット」を意味する IoT から，「あしており，数多くのアプリケーションが開発されているらゆるモノのインターネット」を意味する IoE（Internetアーキテクチャを使うことで，様々な特定用途機能を実現［１］of Everything）へと考え方が広がってきているする。

。これに伴い，IoE 機器によって集めたデータの管理や処理をそその第一歩として，FPGA ボード上に Altera 社製 Niosの周縁部（エッジ）で行うエッジコンピューティングといII プロセッサ［５］とメモリコントローラ回路［６］を実装し動う考え方の重要性が増し，エッジノードプロセッサとして作確認を行った。また，Arduino と FPGA ボードとの接多くのアーキテクチャが提案されている［２］。

続インタフェース設計に先立って，８ビットのパラレル通信インタフェースの設計・試作を行った。本稿では，そのIoE 機器にはスマートフォンやウェアラブルデバイスな実験内容について報告する。

どモバイル環境下にあるものが多数存在し，これらの機器を扱う場合，バッテリからの電源供給が不可避である。そのためエッジノードデバイスには省電力化が必須となる。
この実現には余分な計算は行わない特定用途に特化したプ

２．エッジノードプロセッサ構想
我々は，特定用途の処理を行えるエッジノードプロセッロセッサの導入が望まれる。

サの実現を目指して開発を進めている。図１にエッジノー

そこで我々は，様々な特定用途の処理を行える低消費電ドプロセッサの構想図を示す。

力エッジノードプロセッサの実現を目指して研究を進めて

エッジノードプロセッサの実装には FPGA を用いる。

いる。エッジノードプロセッサの実装には回路が再構成可

FPGA の特徴である“回路の再構成が可能”という点を能である FPGA を用いる。特定用途機能のブロックを再活かし，Arduino や Raspberry Pi の複数のデバイスとの構成することでシステム全体としての省電力化を図る。

互換性を有するエッジノードプロセッサの実現を目指してエッジノードプロセッサには，安価で扱いやすく，オープ設計を進めている。

［３］ン ソ ー ス で あ り， 電 池 駆 動 が 可 能 な Arduino＊＊＊

広島工業大学大学院工学系研究科情報システム科学専攻＊＊＊

広島工業大学情報学部情報工学科

今回，第１段階として，メモリコントローラ回路とや― 45 ―

近藤明弘・鬼追一雅

用いて形成する。RDA および WRA コマンドは４つの信号と ADDR［10］の５つの信号を用いて形成する。
表１

図１

新規エッジノードプロセッサの構想図

SDRAM の制御コマンド

コマンド

バンク
アクティブ

Precharge 付

Precharge 付

略号ACT

RDA

WRA

読み出し

書き込み

nCS

000nRAS

011nCAS

100nWE110

ADDR［10］

設定値あり

11

Nios II プロセッサを FPGA に実装した上でメモリテストを行い，組み込みロジックアナライザによって波形を観測

図３は読み出しのタイミングチャートである。１回の読した。第２段階として Arduino と FPGA ボード間のパラみ出しは６クロックで行う。ACT コマンドにより ROWレル通信インタフェースによる接続テストを行った。

ア ド レ ス を 出 力 し， ２ ク ロ ッ ク 後 に RDA コ マ ン ド と

３．
3.1

COL アドレスを出力する。アドレスを出力する際，バンSDRAM コントローラ回路の実装クアドレス（BA）も出力する。CAS レイテンシを２に設実装システム定しているので，２クロック後に読み出しデータが出力さ

図２は実装した SDRAM システムのブロック図である。

れる。

システムの実装には Terasic 社の FPGA ボードである DE０［７］を 用 い た。FPGA に SDRAM コ ン ト ロ ー ラ 回 路 とAltera 社製の組み込み用途プロセッサアーキテクチャである Nios II プロセッサを実装し，動作の確認テストを行った。動作確認は Altera 社製の組み込みロジックアナライザである SignalTap II を用いて，PC モニタ上で SDRAMの動作波形を観測し行った。

図３
図２

3.2

SDRAM システムのブロック図

読み出しのタイミングチャート

図４は書き込みのタイミングチャートである。書き込み

SDRAM のコマンドとタイミングチャート

は５クロックで行う。読み出しと同様に ACT コマンドに

表１に SDRAM の読み出し・書き込み時に使用する制

よって ROW アドレスを出力した２クロック後に WRA御コマンドを示す。それぞれの動作はバンクアクティブ

コマンドによって COL アドレスを出力する。その際に（ACT）コマンドによって開始される。その後，Precharge

BA も出力する。書き込みデータは WRA コマンドと同時付きの読み出し（RDA），書き込み（WRA）コマンドによっに出力する。て SDRAM の制御が行われる。
コマンドは nCS，nRAS，nCAS，nWE，４つの信号を― 46 ―

低消費電力エッジノードプロセッサの研究力されている。同じタイミングで「DRAM_DQ」にデータ“01FCh”が出力されている。BA が変化しているため，ACT，WRA コマンドが与えられた際「DRAM_BA」に“3h”が出力されている。

図６

書き込みの波形観測結果

４．パラレル通信インタフェースの設計・試作
次に，Arduino と FPGA ボードとの接続インタフェー
ス設計のための予備検討として，パラレル通信インタフェースの設計・試作を行った。回路の実装には同じく
図４DE0 を用いた。また，Arduino のハードウェアに Arduino書き込みのタイミングチャート

Uno［８］を用いた。図７に DE0-Arduino Uno 間パラレル通信実験の構成を示す。

3.2

メモリテストと結果

実 験 は Arduino Uno の デ ジ タ ル I/O ピ ン と DE0 のSDRAM システム上で SDRAM の書き込み・読み出し

GPIO ピンを８本ずつ接続して行った。Arduino Uno の動を行うテストを実施し，Altera 社製の組み込みロジックア

作電圧は 5.0V であるが，DE0 の動作電圧は 3.3V である

ナライザである SignalTap II を用いて SDRAM の動作波ため直接接続して通信を行うことが出来ない。そのため，形を観測した。

電圧のレベルを変換するロジックレベルコンバータ（LLC） を 用 い て 接 続 を 行 っ た。 今 回 は TI 社 製 の

図５は読み出しの波形観測結果である。図３の読み出し

TXB0108［９］を搭載した８CH 双方向 LLC を用いた。のタイミングチャート通り，クロック -2 で ACT コマン
ド が 与 え ら れ，ROW ア ド レ ス“001h” が「DRAM_ADDR」に出力されている。クロック 0 で RDA コマンドが与えられ，「DRAM_ADDR」に COL アドレス“00Ah”が出力されている。その２クロック後のクロック 2 から「DRAM_DQ」 に デ ー タ“4074h” が 出 力 さ れ て い る。
「DRAM_BA」 の 波 形 に 変 化 は な い。 こ れ は BA のDefault 値を“０ h”に設定しており，読み出し時の BA

図７ DE0 – Arduino Uno 間通信インタフェースの構成模式図も“０h”のため変化がないからである。
4.1
4.1.1

実験方法と結果
実験１: Arduino Uno から DE０へのデータ送信

実験１では Arduino Uno から８ビットのデータを DE0へ送信する。送信データは Arduino IDE のシリアルモニ
図５

タへ入力した文字の ASCII コード（７ビット）にパリティ読み出しの波形観測結果データ（１ビット）を付加した８ビットのデータである。
パリティデータは送るたびに‘0’と‘1’を交互に送信す

図６は書き込みの波形観測結果である。図４の書き込みる。のタイミングチャート通り，クロック -2 で ACT コマンドが与えられ，「DRAM_ADDR」に ROW アドレス“7FFh”

送られたデータは FPGA に実装したデコーダによってが出力されている。クロック 0 で WRA コマンドが与えDE0 上の７セグメント LED へ表示させる。デコーダで認られ，「DRAM_ADDR」に COL アドレス“0FEh”が出識できる文字は英数字のみとし，半角・全角の区別はしな― 47 ―近藤明弘・鬼追一雅

いものとする。それ以外の文字データが送られてきた場合３．まとめは何も表示しない。また，パリティデータが‘0’のときはセグメント HEX0 に，‘1’のときは HEX1 に表示する。

Arduino や Raspberry Pi との互換性を有した特定用途

図８は実験１を実施している様子である。本実験ではの処理を行えるエッジノードプロセッサの実現を目指して研究を進めている。

Arduino IDE のシリアルモニタへ英数字を１文字ずつ入力その第一歩として，メモリコントローラ回路と Nios IIして送信を行い，DE0 の７セグメント LED へ表示されるのを確認した。

プ ロ セ ッ サ を FPGA 実 装 し 動 作 確 認 を 行 っ た。 ま た，

DE0 と Arduino Uno との間で８ビットのパラレル通信テストを行った。
今後は Arduino Uno と DE0 間の双方向通信を SPI やI2C などのシリアル通信によって行えるよう改善する。さらに，エッジノードプロセッサの省電力化を目指して特定用途機能のブロックを再構成可能なプロセッサの開発研究を行う。

文

献［1］Sophie V. Vandebroek,“Three Pillars Enabling theInternet of Everything: Smart Everyday Objects,
図８

Information-Centric Networks, and Automated Real-

実験１：DE0 側のデータ受信例

Time Insights, ”Proc. International Solid-State
4.1.2

実験2: DE０から Arduino Uno へのデータ送信

Circuits Conference 2016 (ISSCC 2016 ), pp. 1₄ - 20 ,実験２では DE0 から８ビットのデータを Arduino Uno

2016.

へ送信する。DE0 の８つのトグルスイッチの ON/OFF 状［2］中道理，「エッジコンピューティングの破壊力」，日経態を８ビットの送信データとする。同時に，このデータをエレクトロニクス，2015 年 11 月号，pp.45-57, 2015.

DE0 の７セグメント LED へ表示させる。

［3］ Arduino,“ Arduino – Introduction, ”[Online].

送られたデータは Arduino IDE のシリアルモニタへ２

Available: https://www.arduino.cc/en/Guide/進数と 16 進数で表示させる。受信するタイミングは，シリアルモニタから Arduino Uno へ任意のデータを送信しIntroduction. [Accessed: 14- Jun- 2016].
［4］Raspberry Pi Foundation,“What is a Raspberry Pi?,”たときに行うものとする。

[Online]. Available: https://www.raspberrypi.org/help/

図９は送られたデータを Arduino で受信し , シリアルモ

what-is-a-raspberry-pi/. [Accessed: 14- Jun- 2016].

ニタで表示している画面である。本実験では DE0 のトグ［5］Altera Corporation,“Nios II proccessor - Overview,”

ルスイッチを操作して“00000000”から“11111111”まで[Online]. Available: https://www.altera.com/products/の信号を Arduino Uno へ送信し，シリアルモニタへ表示

processors/overview.html. [Accessed: 22- jun- 2016].

されるのを確認した。

［6］小林優，「FPGA ボードで学ぶ組込みシステムの開発入門［Altera 編］」，技術評論社，pp.26₃-290, 2011［7］Terasic Inc.,“Altera DE0 Board,”[Online]. Available:

http://de0.terasic.com/. [Accessed: 22- Jun- 2016].
［8］Arduino,“Arduino – ArduinoBoardUno,”[Online].

Av a i l a b l e : h t t p s : / / w w w. a r d u i n o . c c / e n / M a i n /ArduinoBoardUno. [Accessed: 16- Jun- 2016].
［9］ Texas Instruments, “8 -BIT BIDIRECTIONAL

VOLTAGE-LEVEL TRANSLATOR WITH AUTODIRECTION SENSING AND ±15-kV ESD
図９

実験２：Arduino 側のデータ受信例

PROTECTION, ”Texas Instruments Incorporated,2011.

― 48 ―