検索 - みる会図書館

検索対象: FPGAマガジン No.15

FPGAマガジン No.15から 135件ヒットしました。

FPGAマガジン No.15


FPGA マ ガ ジ ン No. 14 知 ら な い と 乗 り 遅 れ る ! XiIinx も AItera も 無 償 時 代 ! 発 売 中 FPGA マ ガ ジ ン 編 集 部 編 B5 判 144 ペ ー シ 定 価 本 体 2 , 200 円 + 税 最 新 C 開 発 ツ ー ル 大 研 究 ハ イ エ ン ド ・ デ ィ ジ タ ル 技 術 の 専 門 誌 い ″ “ 叩 市 ( 。 G ・ A ” ay 0 ・ mm 物 bie Field 0 - 」 知 ら な い と 乗 リ 遅 れ る ! 、 14 ジ ン 本 書 特 集 で は Vivado HLS の イ ン ス ト ー ル か ら , も っ と も 基 本 的 な 演 算 回 路 を C 言 語 で 記 述 し , そ れ を 高 位 合 成 し て x ⅲ nx 社 製 FPGA に 実 装 す る ま で を 詳 し く 解 説 し ま す . パ フ ォ ー マ ン ス を 上 げ る た め に , 入 力 段 や 出 力 段 に レ ジ ス タ を 挿 入 し バ イ プ ラ イ ン を 構 成 す る 方 法 に つ い て も 紹 介 し て い き ま す . さ ら に OpenCL 言 語 で FPGA を 開 発 す る こ と の で き る 高 位 合 成 ツ ー ル Altera SDK fo 「 OpenCL に つ い て も 取 り 上 げ ま す . )( ⅲ nx も A e 「 a も 無 債 時 代 ! 最 新 C 開 発 ツ - ル 大 研 究 を す ぐ , 子 版 あ り 豕 ず 0 。 0 、 0 。 。 0 , 。 0 ~ = い 0 〃 0000 第 1 章 第 2 章 第 3 章 第 4 章 第 5 章 第 6 章 第 7 章 第 8 章 誰 で も 高 位 合 成 を 使 え る 時 代 が よ う や く 到 来 ! Vivad0 HLx の 各 工 テ ィ シ ョ ン と Vivado HLS の イ ン ス ト ー ル 初 め て の 高 位 合 成 ツ ー ル V ⅳ ado HLS の 使 い 方 乗 算 回 路 コ ア の FPGA 開 発 ツ ー ル Vivado へ の 組 み 込 み 高 速 化 の た め の バ イ プ ラ イ ン 化 技 法 C 言 語 で 設 計 す る テ ィ ス プ レ イ ・ コ ン ト ロ ー ラ の 作 成 初 め て の A は e 「 a SDK fo 「 OpenCL 画 像 テ ー タ を ダ イ レ ク ト 入 力 ! OpenCL に よ る カ メ ラ 制 御 & 画 像 処 理 FPGA マ ガ ジ ン バ ッ ク ・ ナ ン バ B5 判 No. 1 ~ 13 : 定 価 : 本 体 価 格 2 , 200 円 十 税 NO. 13 NO. 12 NO. 11 NO. 10 No. 9 No. 8 N07 No. 6 No. 5 NO. 4 No.3 No. 2 No. 1 入 門 も ホ ビ ー も ピ ッ タ リ ! ワ ン チ ッ プ FPGA = MAXI 0 ARM コ ア FPGA><Linux 初 体 験 性 能 UP ! ア ル ゴ リ ズ ム >< 手 仕 上 げ HDL や つ ば り 楽 ち ん ! C 言 語 >< FPGA ハ イ レ ゾ 24 / 32 ビ ッ ト ! オ ー デ ィ オ >< FPGA ア ナ ロ ク ・ ミ ッ ク ス ! FPGAXA-D/D-A 変 換 高 速 ビ デ オ ・ イ ン タ ー フ ェ ー ス >< FPGA USB 3.0 >< FPGA 高 速 Ethernet >< FPGA 高 速 シ リ ア ル ATA><FPGA Linux/Android >< FPGA カ メ ラ >< 画 像 処 理 ><FPGA モ ー タ & ロ ポ ッ ト >< FPGA CQ 出 版 杠 http://shop.cqpub ℃ 0. jp/

FPGAマガジン No.15


FPGA マ カ ジ ン No. 15 [ 己 project p 「 e 「 買 multi_test. ( 第 ロ La systenhdf [ em• ー 5 住 鉢 ー マ マ に , / / mul ℃ 1 test . c / / 2015 / 07 / 2 4 by 阜 工 gee 〉 f.g multi_bd_wrapper-hw-platform_C 0 の 入 力 の 時 に 999 を 入 力 す る と 終 了 す る / / mul こ 1 さ ・ multi_test 〉 = 物 . multi_test. elf - [ a " ル ] #include く 3td10. れ 〉 #include "xmulti apuint . れ ” 》 , Debug #include ” xparameters . わ 物 #include 物 X11 こ ゝ 2e3. れ ” #include 物 X11 iO . れ ” lscriptld #include "xi1 exception . h" README.txt #include XiIinx ・ spec 〉 multi_test-bsp 、 ?int main() { XMu1ti apuint 刈 41u01 ap; 刈 4u1t1 apuint C00f14 ☆ 刈 4u1t1 apPtr; int va1; / / L00 に TJp こ れ e device co figu 工 a こ 10n 刈 4u101 apPcr = 1t1 apuint LookupConfig ( 0 ) : if ( ! 刈 ulti apPtr) { 特 設 高 位 合 成 ツ ー ル >•—>COOO I-JtJ) 図 26 multi test . elf の 生 成 ( 4 ) 乗 算 結 果 が "multi_out = " の 後 に 10 進 数 で 表 示 さ れ る ( 5 ) ( 2 ) に 戻 る Vivado HLS で 生 成 し た IP の ド ラ イ バ 関 数 は SDK で 使 用 で き る の で , mul し 土 test . c を セ ー プ す る と , 自 動 的 に コ ン パ イ ル さ れ , mul に 土 test . el f が 生 成 さ れ ま す ( 図 26 ). 4. ZYBO を 使 っ た 実 機 動 作 確 認 ・ 実 機 で の 動 作 確 認 Digilen 社 の ZYBO*— ド を 用 意 し ま す . 次 の シ ョ ー ト ・ ピ ン の 設 定 を 行 い ま す . ・ JP5 の シ ョ ー ト ・ ピ ン を JTAG に ・ JP7 の シ ョ ー ト ・ ピ ン を USB に PROG/UART の USB マ イ ク ロ B コ ネ ク タ と 開 発 PC を USB ケ ー プ ル で 接 続 し ま す . 準 備 が 完 了 し た の で , 電 源 ス イ ッ チ を ON に し ま し よ う . 実 機 動 作 確 認 の 様 子 を 写 真 1 に 示 し ま す . 次 に XiIinx TooIs メ ニ ュ ー か ら 「 Program FPGA 」 JP5 は JTAG を シ ョ ー ト な ー ー 刈 凵 N ん JP7 は USB を シ ョ ー ト FPGA コ ン フ ィ グ レ ー シ ョ ン 用 USB マ イ ク ロ B ケ ー プ ル 写 真 1 ZYBO*— ド の 設 定 Z 、 ′ 日 C ) P 「 09 m FPGA P 「 0 gram FPGA SpecifythebitstreamandtheELFfiIesthatresidein BRAM n mo HardwareConfiguration H dw ep せ 0 「 1 、 』 ti 卩 「 叩 p , り せ 0 「 m ー 0 Connection: L 侊 謝 Device AutO Detect multi_bd_wrapper. bit ロ Pa 市 Bitstream BMM/MM i SoftwareConfiguration PrO ( e550 「 P 「 0 」 t Ru XlIinx TooIs Generate linkerscript Board Support Package n95 Repositories P 「 「 am FPGA Dump/Restore Da ね FlIe ロ P 「 09 「 am 日 あ h Launch Shell PGA ⅵ ( 已 7 : 国 XMDConsole reated Wlth: V XSDB C0n50 厄 Created On: ロ Create 800t e B 「 ow ” Bitstrean-c b d—wrap p ( ication ormation 二 日 「 0 物 を .. 1 ELF/MEM FiIeto lnitializein 引 k RAM 2 朝 n ( 目 P 「 09 m (b) Program FPGA ダ イ ア ロ グ (a) Program FPGA を 選 択 図 27 FPGA へ の ビ ッ ト ス ト リ ー ム の ダ ウ ン ロ ー ド 4. ZYBO を 使 っ た 実 機 動 作 確 認 1 1 1

FPGAマガジン No.15


ハ イ エ ン ド ・ デ ジ タ ル 技 術 の 専 門 誌 http: ″ fpga ・ cqpub ・ (。 ・ jp/ マ ジ ン リ ア ル タ イ ム 動 画 認 識 No. FieId ProgrammabIe Gate Array 車 に 農 業 ! ? A 塒 代 の チ ャ レ ン ジ ! = 山 手 の ひ ? せ る ! 飆 期 E ロ マ △ : 第 人 洋 0 ARM FPGA で 必 須 ! ロ ジ ッ ク 回 路 制 御 & バ ス 接 続 メ カ ニ ズ ム OP ア ン プ 回 路 用 最 新 ア ナ ロ グ ・ プ ロ グ ラ マ プ ル に analogram CQ 出 版 杠

FPGAマガジン No.15


FPGA マ カ ジ ン No. 15 表 2 本 誌 No. 13 で 使 用 し た フ ァ イ ル の う ち こ れ ら を 置 き 換 え る リ ス ト 2 6 フ レ ー ム 前 の 最 明 値 の 位 置 と の 差 分 を 累 積 す る 回 路 の HDL (SDRAM CTRL . vhd の 一 部 ) 5 ビ 、 ソ ト 右 シ フ ト の 後 , 差 分 を と る diffpix く = ( " 0 0 0 " & pos d s 土 9 ( 9 downto 5 ) ) ( " 000 " & Pos_p_sig(9 downto 5 ) ) ー AbsPos く = no し diffpix(7) & no し diffpix(6) & dnot diffpix(5) & no に diffpix(4) & no に diffpix(3) & not diffpix(2) & no diffpix(l) & not diffpix(0) when diffpix(7) else diffpix(7 downto 0 房 差 分 の 絶 対 値 を と る add AbsPos く = AbsPos + acc AbsPos; ー 差 分 の 絶 対 値 を 累 積 す る process ( RST N, CLK ) 画 面 の 下 半 分 の み で 累 積 す る begin if ( RST N = ー 0 つ then acc AbsPos く = ( Othe rs = > ー 0 リ ′ elsif ( CLK' event and CLK ー 1 ー ) then い わ た ・ と し お VideoProc . qsf VideoProc . vhd VideoProcCore . vhd SDRAM CTRL . vhd L 工 NEOUT CTRL . vhd フ ァ イ ル 名 説 明 ラ イ ン ・ バ ッ フ ア ・ コ ン ト ロ ー ラ ( 出 力 用 ) SDRAM コ ン ト ロ ー ラ 画 像 処 理 コ ア FPGA ト ッ プ ・ モ ジ ュ ー ル ピ ン ・ ア サ イ ン の フ ァ イ ブ ザ ー を 追 加 ) if (CamHsync edge if (VgaLineCount acc AbsPos く = acc AbsPos く = end 土 f ー ー 1 つ then > = 240 and VgaLineCount く 4 8 0 ) then add AbsPos ー (others = > ー 0 つ 一 end 土 f ー end i f ー end process ー MDET edge く = VgaPixCount 判 定 の し き い 値 を 超 え た 瞬 ぎ 1 ・ に な る し き い 値 ( 150 ) ー 1 ー when acc AbsPOS > = 150 and CountV and VgaLineCount 4 8 0 and 7 8 0 e 1 s e ー 0 0 process ( RST N, CLK ) begin 土 f ( RST N ー 0 ー ) then CountV く = elsif ( CLK' event and CLK 画 面 の 下 ( 480 ) と 右 端 ) then ( 780 ) の タ イ ミ ン グ if (MDET edge ー 1 つ then CountV く = " 01111111 ” ・ elsif (VgaLineCount 4 79 and VgaPixCount 780 and CountV / = 0 ) then CountV く = CountV - 1 ー end i f ー end i f ー end process; し き い 値 を 越 え た 瞬 間 か ら 1 27 フ レ ー ム 勘 定 す る カ ウ ン タ ー 1 ー when CountV / = 0 else ー 0 ー MDET く = し き い 値 を 越 え た 瞬 間 か ら 1 27 フ レ ー ム の 期 間 1 に な る 信 号 . こ の 期 間 ブ ザ ー を 鳴 ら す ( 約 2 秒 ) ・ セ ン タ ー ・ ラ イ ン の 動 き 検 出 が で き て い る か 確 認 写 真 3 の よ う に 現 在 の セ ン タ ー ・ ラ イ ン が 赤 で , 6 フ レ ー ム 前 の セ ン タ ー ・ ラ イ ン が 緑 で 塗 ら れ る こ と を 確 認 し ま し よ う . ま た , 赤 と 緑 の 間 隔 が 開 い た 際 に プ ザ ー が 鳴 る こ と も 確 認 し ま す . ブ ザ ー を 鳴 ら す し き い 値 を 変 更 し た い 場 合 は SDRAM CTRL . vhd の 次 の 部 分 を 変 更 し ま す . MDET_edge く = ー リ when acc AbsPos > = 150 and CountV = 0 and VgaLineCount 4 8 0 and VgaPixCount 780 else ー ・ 例 え ば 150 を 75 と す れ ば , 比 較 的 小 さ な 動 き で も プ ザ ー が 鳴 る で し よ う . ま た , 赤 と 緑 の 時 間 差 は 6 フ レ ー ム >< 31.98ms = 192mS で す . 短 く し た い 場 合 は 次 の 部 分 を 変 更 し ま す . 現 フ レ ー ム は FrameCount— 1 で す . 従 っ て 一 7 を 一 2 frame2 read_pl く = FrameCount と す れ ば , 時 間 差 は 1 フ レ ー ム >< 31.98ms = 31.98ms に な り ま す . ( 3 ) 特 集 FPGA キ ッ ト で 体 験 / チ ッ プ 内 電 子 工 作 , ト ラ ン ジ ス タ 術 2016 年 3 月 号 , CQ 出 版 社 . ( 2 ) 特 集 緊 急 実 験 / 5 ド ル レ O コ ン ピ ュ ー タ 上 陸 , ト ラ ン ジ ス タ 技 ス プ レ イ 表 示 , FPGA マ ガ ジ ン No. 13 , CQ 出 版 社 . (I) 岩 田 利 王 : MAX 10 + カ メ ラ ・ モ ジ ュ ー ル で 動 き 成 分 を デ ィ ◆ 参 考 文 献 ◆ が け て く だ さ い . 執 せ ず , 上 手 に 使 い 分 け , あ る い は 併 用 す る こ と を 心 点 を よ く 理 解 し ま し よ う . 1 つ の 技 術 や デ バ イ ス に 固 表 1 に あ る よ う な FPGA/Raspberry Pi の 利 点 / 欠 ・ ど ん な 技 術 に も 向 き 不 向 き が あ る 開 発 す る の が よ い か も し れ ま せ ん . ア ル ゴ リ ズ ム が 固 ま っ て か ら FPGA を 使 っ て HDL で は , ま $Raspberry Pi な ど を 使 っ て c 言 語 で 開 発 し , な り 無 理 が あ り ま す . そ の よ う な 複 雑 な ア ル ゴ リ ズ ム ど を い き な り ハ ー ド ウ ェ ア (HDL) で 開 発 す る の は か 今 回 は セ ン タ ー ・ ラ イ ン 認 識 で し た が , 人 物 認 識 な 運 転 に 近 づ け そ う で す . ハ ン ド ル / プ レ ー キ 操 作 な ど を 連 動 出 来 れ ば 夢 の 自 動 速 や か な 警 告 が 可 能 に な り ま す . 更 な る 応 用 例 と し て FPGA を 使 え ば リ ア ル タ イ ム な 車 線 離 脱 判 定 お よ び に 合 い ま せ ん . し , 車 線 離 脱 判 定 の よ う な 一 刻 を 争 う シ ス テ ム で は 間 タ に は , 表 1 や コ ラ ム に 示 す よ う な 欠 点 が 確 実 に 存 在 Raspberry Pi な ど の シ ン グ ル ・ ボ ー ド ・ コ ン ピ ュ ー ・ リ ア ル タ イ ム 画 像 認 識 な ら や つ ば り FPGA ! 技 術 2015 年 11 月 号 , CQ 出 版 社 . ( 株 ) デ ジ タ ル フ ィ ル タ ー 特 集 車 時 代 の チ ヤ レ ン ジ リ ア タ ム 画 識 2 1 ロ ロ 4 APP 8. Qua us ⅱ プ ロ ジ ェ ク ト の 作 り 方 49

FPGAマガジン No.15


FPGA マ ガ ジ ン No. 15 画 面 の 左 端 で ク リ ア 画 面 の 右 端 で ラ ッ チ VgaPixCount < 1 20 VgaPixCount = 780 特 集 車 に 農 業 < ー 時 代 の チ ャ レ ン ジ ! リ ア ル タ イ ム 動 画 認 識 ↓ enb D フ リ ッ プ D フ リ ッ プ フ ロ ッ プ acc—Y フ ロ ッ プ VgaPixCount が 120 ま で は 0. そ れ 以 降 は abs ー y ー sft が 累 積 さ れ る ( a ) 水 平 方 向 の 累 積 ( 120 で ク リ ア し て 780 で ラ 、 ソ チ す る ) 画 面 の 上 の 方 で ク リ ア 画 面 の 下 の 方 で ラ ッ チ VgaLineCount く 33 VgaLineCount = 495 ↓ enb D フ リ ッ プ D フ リ ッ プ v—add—y フ ロ ッ プ v_acc_y フ ロ 、 ソ プ VgaLineCount が 33 ま で は O. そ れ 以 降 は v ー abs 」 一 sft が 累 積 さ れ る ( b ) 垂 直 方 向 の 累 積 ( 33 で ク リ ア し て 495 で ラ ッ チ す る ) 図 14 動 き 成 分 を 1 画 面 ぶ ん 累 積 す る a b SJ—Sft 十 acc—y 」 atch 1 ラ イ ン ぶ ん の 動 き 量 add—y 1 ピ ク セ ル こ と の 動 き 成 分 v—a b s—y—sft ー ー ー 十 v—acc—y 」 atch 1 フ レ ー ム ふ ん の 動 き 量 acc-y 」 atch を 8ビ 、 ソ ト 右 シ フ ト で 1 / 256 に し た も の MDET が "H" レ ベ ル に な る の を き っ か け に , FPGA を 使 う と , さ ら に 遅 く な り ま す . は SDRAM → SD カ ー ド の SPI 転 送 を 開 始 し ま す . そ SD カ ー ド へ の フ レ ー ム 転 送 が 終 わ る と す ぐ に の 間 FPGA は B_XFERRING と い う 信 号 を "H" レ ベ ル FPGA ポ ー ド の 電 源 は OFF に な り ま す . そ し て , 次 に し て 外 部 の ワ ン チ ッ プ ・ マ イ コ ン に 通 知 し ま す . に PIR が 反 応 す る ま で OFF の 状 態 が 続 き ま す . SPI 転 送 が 終 了 す る と FPGA は B_XFERRING を ・ SD カ ー ド の 画 像 を 再 生 し て 表 示 す る 回 路 も FPGA "L" レ ベ ル に 戻 し , ワ ン チ ッ プ ・ マ イ コ ン は そ れ を 見 に 実 装 さ れ て い る て FPGA の 電 源 を 切 り ま す . SD カ ー ド へ の 転 送 を 複 数 回 終 え た ら , 写 真 3 の よ う に FPGA ポ ー ド の SW2 を 押 し な が ら 電 池 を セ ッ ト ス セ ン サ ・ カ メ ラ を 実 際 に ロ 動 か し て み る ロ LED 照 明 が ON に な る . 最 大 200mA 流 せ る 写 真 1 に 今 回 作 成 し た セ ン サ ・ カ メ ラ を 示 し ま す . 各 部 の 動 き を 説 明 し ま す . ・ 赤 外 線 を 検 出 す る と FPGA と LED が ON に な る 1 手 を か ざ す と PIR が 反 応 し , FPGA ポ ー ド と LED 照 明 の 電 源 が 入 り ま す ( 写 真 2 ) . こ の 際 , HDMI コ ネ ク タ か ら パ ソ コ ン 用 デ ィ ス プ レ イ に つ な い で お け ば 動 画 が 映 り ま す . 手 を 動 か さ す に じ っ と し て い る と , 約 3 秒 で FPGA ポ ー ド と LED 照 明 の 電 源 は OFF に な り ま す . 再 度 手 を か ざ す と ま た ON に な り ま す . ・ 動 き 検 出 す る と 1 フ レ ー ム SD カ ー ド に 転 送 さ れ る カ メ ラ の 前 で 手 を 動 か し て い る と LED 照 明 が 消 灯 し , 撮 影 は 停 止 さ れ ま す . そ の 後 自 動 的 に SDRAM 内 に あ る フ レ ー ム が 1 枚 , SD カ ー ド に 転 送 さ れ ま す . 20 秒 ほ ど で 転 送 は 終 了 し ま す . な お , 使 用 す る SD カ ー ド は Class 10 を 推 奨 し ま す . CIass の 低 い カ ー ド 3 APP 4 FPGA ボ ー ド の 電 源 ON を 示 す LED FPGAfi— ド は 150 ~ 200mA 消 費 す る 写 真 2 P 旧 が 反 応 し た 状 態 7. セ ン サ ・ カ メ ラ を 実 際 に 動 か し て み る 39

FPGAマガジン No.15


FPGA マ カジ ン No. 15 コ ラ ム 1 動 き 検 出 ( フ レ ー ム 差 分 ) の 応 用 事 例 PIR は 太 陽 の 映 り 込 み な ど に 反 応 す る 場 合 が あ り げ る ) ま す . そ の 場 合 , 記 録 し た 画 像 に は 動 物 の 姿 は 写 っ ・ 手 振 れ 補 正 ( フ レ ー ム 差 分 が 少 な く な る よ う に 位 て い ま せ ん ( 無 効 撮 影 ). 頻 繁 に 無 効 撮 影 が 発 生 す 置 合 わ せ す る ) る と 電 池 の 持 続 時 間 に 大 い に 影 響 を 与 え ま す . そ こ ・ 物 体 追 跡 ( 動 き の あ る 方 向 へ カ メ ラ を 向 け る ) で 今 回 の セ ン サ ・ カ メ ラ で は 「 動 き を 検 出 」 し た か ・ 速 度 計 測 ( フ レ ー ム 差 分 の 面 積 ・ 距 離 な ど か ら 判 ど う か を 判 定 基 準 に 加 え ま す . 動 き 検 出 は 「 フ レ ー ム 差 分 」 を と り , そ の 値 が し ・ 未 実 装 部 品 の 検 出 ( リ フ ァ レ ン ス 基 板 画 像 と 比 較 き い 値 を 超 え た か ど う か で 判 断 し ま す . こ の よ う な す る ) 処 理 の 応 用 例 と し て は 次 の よ う な も の が 考 え ら れ ま 動 き 検 出 は 画 像 処 理 で は よ く 出 て く る 技 術 な の す . で , ぜ ひ と も 自 在 に 使 え る よ う 習 得 す る と 良 い で ・ 本 章 で 扱 う セ ン サ ・ カ メ ラ ( PIR の 誤 動 作 を 補 う ) ・ 画 像 圧 縮 ( フ レ ー ム 差 分 を 符 号 化 し て 圧 縮 率 を 上 特 集 車 に 農 業 < ー 時 代 の チ ャ レ ン ジ ! リ ア ル タ イ ム 動 画 認 識 ① マ イ コ ン 十 PIR で イ ノ シ シ 発 見 / た め , PIR の 反 応 を 検 出 す る 部 分 は 超 低 消 費 電 力 が 特 徴 の 小 さ な マ イ コ ン を 使 い , 動 き 検 出 や 録 画 部 の 電 源 Bemicro MAXI 0 (FPGA7fi— ド ) と は OFF に し て お く の が 得 策 で す . カ メ ラ は 眠 っ て い る 0 、 / ・ 製 作 す る セ ン サ ・ カ メ ラ の 構 成 そ こ で 図 1 の よ う な 「 セ ン サ ・ カ メ ラ 」 を 考 え ま す . ZZZ ・ ・ Bemicro そ の 特 徴 は 次 の よ う に な り ま す . MAXIO ・ CMOS カ メ ラ ・ モ ジ ュ ー ル の 制 御 や 動 き 検 出 に は 画 (FPGA) 像 処 理 が 得 意 な FPGA を 使 う microSD ・ ワ ン チ ッ プ ・ マ イ コ ン か ら FPGA ポ ー ド と LED 照 HDMI 明 の 電 源 を ON / OFF 制 御 で き る コ ネ ク タ ・ 焦 電 型 赤 外 線 セ ン サ (PIR) が 反 応 し た ら マ イ コ ン は FPGA*— ド と LED 照 明 の 電 源 を ON ・ カ メ ラ か ら の 画 像 は い っ た ん SDRAM に 格 納 し , 後 に SD カ ー ド に 保 存 ・ 夜 で も 撮 影 で き る よ う に LED 照 明 を 備 え る ・ 動 き 検 出 し た と き の 画 像 を SD カ ー ド に 保 存 製 作 し た セ ン サ ・ カ メ ラ を 写 真 1 に 示 し ま す . ・ FPGA で 作 る セ ン サ ・ カ メ ラ の 動 作 イ メ ー ジ こ の セ ン サ ・ カ メ ラ の 動 作 イ メ ー ジ を 図 2 に 示 し ま す . 乾 電 池 を 長 持 ち さ せ る た め , 普 段 は マ イ コ ン ・ ボ ー ド の み が 電 源 ON に な っ て い ま す . PIR が 何 か に 反 応 し て 始 め て FPGA ポ ー ド と LED 照 明 の 電 源 が HDMI ON に な り ま す . コ ネ ク タ ・ ワ ン チ ッ プ ・ マ イ コ ン の 仕 事 は 主 に 電 源 制 御 図 2 の ① は PIR が イ ノ シ シ に 反 応 し た 様 子 で す . そ ③ 自 宅 に 持 ち 帰 っ て の 信 号 が マ イ コ ン ・ ポ ー ド 上 の ワ ン チ ッ プ ・ マ イ コ ン 再 生 MSP430 ( テ キ サ ス ・ イ ン ス ツ ル メ ン ツ 社 ) に 送 ら れ , 即 座 に FPGA ボ ー ド BeMicro MAX 10 (Arrow 社 ) と LED 照 明 の 電 源 を 入 れ ま す . ・ 動 き 検 出 し た 時 だ け S D カ ー ド に 保 存 す る FPGA ポ ー ド は CMOS カ メ ラ ・ モ ジ ュ ー ル か ら の 画 像 を SDRAM に 8 フ レ ー ム ぶ ん た め 込 み , フ レ ー ム ハ ッ / 赤 外 線 に 反 応 PIR 農 作 物 〇 V7670 MSP430 イ ノ シ シ マ イ コ ン と 曰 R は 常 に 起 き て い る . PIR が 反 応 し た ら 即 座 に FPGA ボ ー ド と LED 照 明 の 電 源 を 入 れ る DEO-EXTI()D カ ー ド & HD Ⅵ ア ダ ブ タ ) ② FPGA で 動 き 検 出 FPGA で 「 動 き 検 出 」 し た 場 合 の み SD カ ー ド に 保 存 ( PIR だ け で は 無 効 撮 影 が 多 く な る た め ) 何 か 動 い た / OV7670 の 画 像 が FPGA に 送 ら れ る イ ノ シ シ プ ロ ロ ー グ 1 Bemicro ト , 1 MAXIO (FPGA) PI R OV7670 MSP430 ボ ー ド 農 作 物 microSD ム シ ャ ム シ ャ マ イ コ ン が が FPGA ポ ー ド の 電 源 を ON に す る DEO-EXTI()D カ ー ド &HDMI ア ダ ブ タ ) こ い つ が 犯 人 か / 3 APP 4 つ HDMI → D Ⅵ 変 換 ア ダ ブ タ を 介 し て パ ソ コ ン 用 デ ィ ス プ レ イ へ 図 2 FPGA 十 CMOS カ メ ラ ・ モ ジ ュ ー ル で 作 る セ ン サ ・ カ メ ラ の 動 作 イ メ ー ジ 1. 画 像 処 理 で 定 番 の 技 術 「 動 き 検 出 」 を 使 っ た セ ン サ ・ カ メ ラ 31

FPGAマガジン No.15


FPGA マ カジ ン No. 15 表 1 セ ン サ ・ カ メ ラ の 主 要 部 品 部 品 名 製 造 元 ま た は 販 売 元 価 格 ( 執 筆 時 ) マ イ コ ン ・ ポ ー ド PSC A M02 デ ジ タ ル フ ィ ル タ ー ( 注 ) 未 定 FPGA ポ ー ド BeMicro MAX 10 Arrow $ 30 SD カ ー ド &HDMI ア ダ ブ タ ・ ポ ー ド DEO-EXTI CQ 出 版 社 7714 円 CMOS カ メ ラ ・ モ ジ ュ ー ル CAMERA30W-OV7670 aitendo 2980 円 PIR ( 赤 外 線 セ ン サ ) SB412A 秋 月 電 子 通 商 500 円 電 池 ボ ッ ク ス ( 単 3 >< 3 ) SBH-331AS 秋 月 電 子 通 商 90 円 LED 照 明 低 電 圧 LED 豆 電 球 69816 ア ー テ ッ ク 311 円 >< 2 個 MicroSD カ ー ド 8G バ イ ト , ク ラ ス 10 東 芝 880 円 注 : h む し p : / / d 土 9 土 む alfil に er. com で 販 売 予 定 . ま た , Ogaki Mini Maker Fair2016 ( 12 月 3 日 ~ 4 日 , 岐 阜 県 大 垣 市 ) に て 販 売 お よ び デ モ を 行 う 予 定 . 特 集 車 業 時 代 の チ ヤ で 使 い 切 っ て し ま う ). 今 回 製 作 す る セ ン サ ・ カ メ ラ lnstruments 社 ) で マ イ コ ン か ら 電 源 が ON/OFF さ れ レ と 同 様 に , PIR を 接 続 し た 外 付 け マ イ コ ン で 電 源 を ま す . ン ON / OFF 制 御 す る こ と に な り ま す . ・ FPGA は 電 源 投 入 後 す ぐ に カ メ ラ を 操 作 す る ジ し か し こ の 構 成 で 実 際 に 使 っ て み る と , 重 大 な 欠 点 FPGA は 12C (lnter-lntegrated Circuit) と い う 2 線 に 気 付 く は す で す . 式 の シ リ ア ル 通 信 で CMOS カ メ ラ ・ モ ジ ュ ー ル リ ・ Raspbe 「 Ⅳ Pi の OS の 立 ち 上 が り に は 1 分 か か る ア CAMERA30W-OV7670 (aitendo 社 ) の レ ジ ス タ を 設 そ の 原 因 は Raspberry Pi の 立 ち 上 が り の 悪 さ に あ 定 し た 後 , 画 像 デ ー タ を 受 け 取 り ま す . デ ー タ は タ り ま す . OS が 立 ち 上 が る ま で 1 分 程 度 か か る の で , RGB565 と い う フ ォ ー マ ッ ト で , 8 ビ ッ ト ・ バ ス に 多 イ 図 3 に 示 す よ う に , カ メ ラ が 動 作 す る 頃 に は 動 物 が 目 重 化 さ れ て い ま す . そ れ は FPGA 内 で デ コ ー ド さ れ , ム の 前 か ら 去 っ て し ま う 可 能 性 が あ り ま す . FPGA*— ド 上 の SDRAM に 溜 め 込 ま れ ま す . 画 Raspberry Pi の よ う な シ ン グ ル ・ ポ ー ド ・ コ ン ・ FPGA は 動 き 検 出 し た と き の み SD カ ー ド に 書 く 認 ピ ュ ー タ の 性 能 は 今 後 も 向 上 し ま す が , そ れ に つ れ FPGA は 動 き 検 出 の 後 , SDRAM 内 の 画 像 デ ー タ を 識 て , 搭 載 さ れ る OS も 複 雑 化 し て く る で し よ う . 従 っ ド に 転 送 し ま す . SPI (serial Peripheral SD カ て こ の 問 題 は , OS を 載 せ て 使 う ポ ー ド の 宿 命 と も い え そ う で す . 通 常 は ワ ン チ ッ プ ・ マ イ ・ FPGA の コ ン フ ィ グ レ ー シ ョ ン に か か る の は わ ず コ ン だ け 動 作 . か 数 ms 電 流 1 OO 以 A 以 下 そ れ に 対 し FPGA は 電 源 投 入 後 す ぐ ( 数 ms ) に 動 作 赤 外 線 セ ン サ が 反 応 し た ら す る の で , PIR が 動 物 に 反 応 し た 瞬 間 の 画 像 を と ら え FPGA7fi— ド と LED を ON る こ と が で き ま す . こ の よ う に , FPGA に は 3 秒 間 動 き が な い と き は Raspberry Pi に は な い 「 立 ち 上 が り の 良 さ 」 と い う 利 即 電 源 を OFF に す る ( 無 効 撮 影 & 節 電 対 策 ) 点 が あ り , 本 章 で FPGA を 採 用 し た 理 由 は そ こ に あ FPGAfi— ド と LED は り ま す . 電 流 を 消 費 す る の で 〇 N な お 次 章 で は , FPGA の も う ー っ の 利 点 で あ る 「 レ の 期 間 は 最 小 限 に す る イ テ ン シ の 少 な さ 」 に 焦 点 を あ て て 解 説 し て い ま す . 動 き 検 出 し た ら B_XFERRING を " H " に す る 3. セ ン サ ・ カ メ ラ の シ ス テ ム 構 成 も う 照 明 は 必 要 な い ( 画 像 は SDRAM 内 に ・ マ イ コ ン は イ ネ ー ブ ル 付 き DC-DC コ ン バ ー タ で あ る の で ) 電 源 を ON / OFF す る 図 4 に セ ン サ ・ カ メ ラ の プ ロ ッ ク 図 を , 主 要 部 品 を 1 フ レ ー ム 転 送 に 20 秒 か か る 表 1 に 示 し ま す . ワ ン チ ッ プ ・ マ イ コ ン (MSP430) の 電 源 は 入 れ つ ば な し で す が , ロ ー ・ パ ワ ー ・ モ ー ド で B_XFERRING が "L" に 使 用 す る の で , 消 費 電 流 は 通 常 100 A 以 下 で す . な っ た ら 電 源 を 切 る FPGA ポ ー ド (BeMicro MAXIO) と LED 照 明 は イ ネ ー プ ル 付 き DC-DC コ ン バ ー タ LM2775 (Texas 図 5 セ ン サ ・ カ メ ラ の フ ロ ー チ ャ ー ト 型 番 ロ ー ・ パ ワ ー ・ モ ー ド プ ロ ロ ー グ ー no 赤 外 線 検 出 ? yes FPGAfi— ド & LED 照 明 電 源 ON 動 き 検 出 ( 3 秒 以 内 ) yes LED 照 明 電 源 OFF SD カ ー ド に 1 フ レ ー ム 転 送 (SPI) FPGAX— ド 電 源 OFF no 3 APP 4 33 3. セ ン サ ・ カ メ ラ の シ ス テ ム 構 成

FPGAマガジン No.15


FPGA マ ガ シ ン No. 15 」 Vvado HLS Directive Editor Directive FINTERFACE Destination ( ◎ source FiIe 0 Directive Flle Options m 。 (optional): 部 (optional): p 物 (optional): を 」 Ⅵ 、 do HLS Directive Edltor ロ 「 t ⅳ e 特 設 高 位 合 成 ツ ー ル >•—>(000 X-Jtn INTERFACE Destination ◎ る ou 「 ( eFi 厄 ( 0 Directive File Options 匚 こ = コ clock name(optional): nu m ー 爬 記 ー 0 。 域 " di 。 9 ( 。 pti 。 。 酬 こ : こ こ : こ : こ ] num-writ ・ -outstandng ( 。 p 。 。 毋 匚 : こ : こ こ : : : : コ Cancel Help ;s—axilite ロ mode (optional): 減 e 「 (opüonal): depth (optional): 5 axilite ロ bundle (optional): clock n 聞 ( 。 内 。 n 酬 : num-write-outstancfing (optional): 匚 こ : こ : : こ : こ : ] Help Cancel OK (b) プ ロ 、 ソ ク ・ レ ベ ル の イ ン タ ー フ ェ ー ス の 設 定 を AX14-Lite に 変 更 」 Vvado HLS Directive Editor Directive INTERFACE ◎ 町 ( e File 〇 Directive FiIe Options mode (optional): register(optional): depth (optional): 四 代 ( 「 u ⅳ ) : multi in0 。 幵 (optional): offset (optional): AX14LS ndle (optional): AX14LS (c) multi 」 nO の 工 NTERFACE 指 示 子 を 変 更 」 Mvado HLS Directive Editor 「 t ⅳ e INTERFACE Destination Destination ◎ source File 〇 Directive File Options mode (optional): e 「 (optional): depth (optional): bundle (optional): 匚 こ こ : 二 コ clock name (optional): num-writ ・ ー8域"di09 (optional): [ こ こ : こ 〕 : : : : こ ] Help bundle (optional): 匚 ー clock n (optional): num-write-outstanding (optional): 匚 : こ : こ : : 〕 : : : : : ] Ls-axiIite ロ 3 axilite ロ multi inl (optional): multi out AX14LS AX14LS 1 Cancel OK (d) multi 」 nl の 工 NTERFACE 指 示 子 を 変 更 Help Cancel OK (e) multi_out の INTERFACE 指 示 子 を 変 更 3 2. Vivado HLS を 使 っ た 旧 コ ア の 作 成 87

FPGAマガジン No.15


DDR4/DDR5 メ モ リ FPGA マ カ ジ ン No. 15 DDR3 メ モ リ D 1 ↓ CC ↓ D2 CC ↓ ↓ D3 CC ↓ ↓ D4 CC ↓ D5 CC ↓ HWI HW2 HW3 HW4 D 1 D2 D 1 D3 D2 DI D4 D3 D2 D 1 D4 D3 D4 D2 D3 D4 ・ 均 一 な 演 算 を 空 間 的 に 並 列 実 行 ・ 均 - な 演 算 器 る , つ ま り パ イ プ ラ イ ン を 組 む こ と が で き ま す . も さ ら に FPGA で は , 演 算 器 を 時 間 的 に 並 列 に 並 べ ・ バ イ プ ラ イ ン と 自 由 な 配 線 資 源 が 使 え る す る ロ ジ ッ ク で も 高 性 能 化 を 達 成 で き ま す . た 選 択 回 路 を 組 め る の で , if-then-else 文 を 多 用 と は ご 法 度 で す が , FPGA だ と マ ル チ プ レ ク サ を 使 っ ま す . 特 に GPGPU で は if-then-else 文 を 書 く で , 用 途 ご と に 適 切 な 演 算 器 を 必 要 な 分 だ け 構 成 で き FPGA は プ ロ グ ラ マ プ ル な 演 算 器 で あ る と い え る の ハ ー ド ウ ェ ア 的 に 固 定 し た 演 算 器 で あ る の に 対 し て , 途 ご と に 構 成 で き る カ ス タ ム 演 算 器 で す . GPGPU は 図 2 (b) を 見 て く だ さ い . FPGA の 利 点 の 一 つ は 用 な の で し よ う か ? も 珍 し く あ り ま せ ん . と な る と , FPGA の 利 点 と は 何 と , あ っ と い う 間 に 動 作 周 波 数 が 200MHz を 切 る こ と を 書 い た と し て , そ の ロ ジ ッ ク が 少 し で も 複 雑 に な る が 出 回 っ て き た と こ ろ で す . 頑 張 っ て 手 書 き で HDL メ モ リ も DDR3 SDRAM で , よ う や く DDR4 SDRAM 一 方 で 普 及 し て い る FPGA ボ ー ド は 価 格 も 高 く , ・ G PG PU と 比 較 し た FPGA の メ リ ッ ト す . い ア プ リ ケ ー シ ョ ン も 広 が る ・ ・ ・ と い う 好 循 環 な 状 況 で 安 い = 参 入 し や す い の で ユ ー ザ 数 が 増 え , そ れ に 伴 普 及 し て い ま す . レ ン ス は 3000 人 以 上 ! ア カ デ ミ ッ ク で も GPGPU は 大 加 者 が 300 人 な の に 対 し , GPGPU の ト ッ プ ・ カ ン フ ァ す . 実 際 に , FPGA の ト ッ プ ・ カ ン フ ァ レ ン ス で は 参 さ ら に GPGPU ユ ー ザ は FPGA ユ ー ザ の 10 倍 い ま レ ー タ と い う こ と で し よ う . 安 い の で 消 費 電 力 さ え 目 を つ ぶ れ ば 魅 力 的 な ア ク セ ラ ベ ス ト マ ッ チ し ま す . さ ら に GPGPU は FPGA よ り も ピ ン グ な ど は 画 素 ご と に 独 立 し て い る の で GPGPU に も 得 意 と し て お り , 例 え ば , 画 像 の テ ク ス チ ャ ・ マ ッ と し て い ま す . つ ま り , 依 存 性 の な い 並 列 計 算 を と て コ ア を 使 っ て 同 時 並 列 に 均 一 な 処 理 を 行 う こ と を 得 意 図 2 GPGPU と FPGA の 違 い (a) GPGPU ・ 帯 域 ・ 動 作 周 波 数 が 高 い ・ ワ ー プ ・ ダ イ バ ー ジ ェ ン ト ( if 文 は ダ メ ) ・ 特 定 の 演 算 を 時 間 的 に 並 列 実 行 ( 要 は パ イ プ ラ イ ン ) ・ カ ス タ マ イ ズ し た 演 算 器 ・ 帯 域 ・ 動 作 周 波 数 は 低 い (b) FPGA し , FPGA の オ ン チ ッ プ ・ メ モ リ を 使 っ て 深 い パ イ プ ラ イ ン を 組 む こ と が で き れ ば , FPGA と メ モ リ の 狭 帯 域 に 渡 さ れ る デ ー タ は パ イ プ ラ イ ン の 入 出 力 だ け に な り ま す . 従 っ て , 狭 帯 域 ・ 低 周 波 動 作 を 隠 蔽 で き , 高 周 波 数 動 作 や 頻 繁 な I / O ア ク セ ス に 伴 う 電 力 浪 費 も 抑 え る こ と が で き ま す . Altera SDK for OpenCL で 低 消 費 電 力 か つ 高 性 能 な 計 算 を す る と き は , 深 い パ イ プ ラ イ ン を オ ン チ ッ プ で 行 う , と い う の が 設 計 の ポ イ ン ト に な る で し よ う . も う ー っ の FPGA の 利 点 は , カ ス タ ム な 配 線 資 源 を 使 え る と い う こ と で す . 特 に 全 コ ア を 通 し た 通 信 ( ワ ー プ ・ ダ イ バ ー ジ ェ ン ト と い う ) が 発 生 す る よ う な ア プ リ ケ ー シ ョ ン で あ れ ば , GPGPU は お 手 上 げ で す . 対 し て FPGA な ら 配 線 を 引 け ば よ い の で 通 信 も 問 題 に な り ま せ ん . 従 っ て , FPGA + Altera SDK for OpenCL で は , こ れ ら の こ と が 起 こ り う る ア プ リ ケ ー シ ョ ン を 実 装 す る の が 最 適 と 考 え ら れ ま す . AItera SDK for OpenCL の 導 入 ・ 開 発 用 PC の メ モ リ 筆 者 が 今 回 使 用 し た 開 発 環 境 を 表 1 に , FPGA*— ド を 写 真 1 に 示 し ま す . 環 境 に 関 し て , い く つ か ポ イ ン ト が あ る の で 説 明 し ま す . ま す , ホ ス ト PC 環 境 で す が , プ ロ セ ッ サ ・ パ ワ ー は 思 っ た ほ ど 影 響 し ま せ ん で し た . そ の 代 わ り に 大 容 量 の メ モ リ が 必 要 で す . 推 奨 に よ る と 32G バ イ ト と な っ て い ま す が , 実 際 に 使 用 し た 感 じ で は 64G バ イ ト , 可 能 で あ れ ば 128G バ イ ト 欲 し い と こ ろ で す . 合 成 時 間 も ざ ら に 数 日 か か り ま す . と な る と , 大 容 量 メ モ リ を 詰 め て 安 定 動 作 す る ワ ー ク ス テ ー シ ョ ン が ど う し て も 必 要 と な り ま す . ソ フ ト ウ ェ ア 環 境 に 関 し て は Windows で Visual Studi 。 を 使 う 方 法 も あ り ま す が , 公 式 に サ ポ ー ト し て 2 AItera SDK fO 「 OpenCL の 導 入 125

FPGAマガジン No.15


FPGA マ カ ジ ン No. 15 リ ス ト 1 し 。 p . qsf の 定 義 部 分 行 番 号 は 説 明 の た め に 入 れ て い る 2 : # Fi1es and basic settings 4 : set 910ba1 assignment -name FAMILY "Cyc10ne 5 : set 910ba1 assignment -name DEVICE 5CSXFC6D6F31C6 (a) デ ノ ヾ イ ス 定 義 ( 太 字 は 修 正 点 ) 9 2 : # = 93 : # Pin Assignments 94 : # = 95 : # G10ba1 clock and reset 96:set loca に 土 on assignment PIN AC18 -to fpga clk 50 97:set instance assignment -name 工 0 STANDARD " 1 . 5 ー セ 0 fpga clk 50 ~ 中 路 ~ 765 : set instance assignment -name GLOBAL S 工 GNAL OFF -to the system ー fpga sdramlpo lumemphy ー uread datapathlreset n fif0 write side[3] ー に ag _system fpga sdram_p0 766 : set instance assignment -name GLOBAL_S 工 GNAL OFF ー し 0 the_system ー fpga sdramlp() ー umemphyl uread datapath ー reset n fif0 wraddress [ 3 ] - し ag _system fpga sdram_p0 (b) ピ ン ・ ア サ イ ン 定 義 Window 」 で パ ー テ ィ シ ョ ン と LogicLock の Window を リ ア が あ り ま す の で , こ を 全 て コ メ ン ト ア ウ ト し て 右 下 に タ ブ と し て 表 示 さ せ ま し よ う . こ の Window で , し ま い ま し よ う . ま た こ れ に 伴 い , c5soc お よ び T 叩 階 層 を 残 し て 下 位 階 層 を 消 去 し ま す ( 図 4 ). 既 存 c5soc-sharedonly に 入 っ て い る acl iface の BSP を 修 正 す る 際 も , こ の よ う に パ ー テ ィ シ ョ ン partition ・ qxp と い う フ ァ イ ル も 消 去 し ま す L 。 gicL 。 ck 領 域 の 消 去 が 必 要 な 場 合 が あ り ま す . ( リ ス ト 2 ). SoCKit の ほ う は , こ れ ま た 面 倒 な の で し 。 p. qsf を ・ Qsys フ ァ イ ル を 見 て み る 手 修 正 し ま す . Partitions と コ メ ン ト の 入 っ て い る 工 次 に qsys フ ァ イ ル を 開 い て み ま す . QuartusPrime S を 鼾 こ h 8 員 町 を 00E E OM 0 E こ 0 ・ ル A SCSXFC 第 F 引 こ 6 ・ D に 0 円 叩 - -. Lay . NetBtType 員 加 ns 。 円 叩 い Y を 口 を 0 N を 物 こ れ L 獸 0 い い 0 : 製 R 電 い し 02- 。 は ” 0 ” 、 5 5 に 0 ・ 20 「 第 れ め 円 0 F 電 を 駅 ー 第 5 日 淋 謝 5 に 第 ー ch 、 ・ ct 0 ゆ 0 (a) Design Partitions window で Top の 下 の 階 層 を 消 去 (b) LogicLock Regions window で Root Region の 下 の 階 層 を 消 去 図 4 Chip P ぬ nne 「 の 操 作 リ ス ト 2 セ op. qsf の / ヾ ー テ ィ シ ョ ン 定 義 部 分 3 0 : # = 31 : # partitions 3 2 : # = 33 : se し 910ba1 assignment -name PARTITION NETLIST TYPE SOURCE -section id Top 34 : set 910ba1 assignment -name PARTITION FITTER PRESERVATION LEVEL PLACEMENT AND ROUTING ー section id Top ~ 中 略 ~ 72 : set 910ba1 assignment -name LL RECT X75 YO -width 15 -height 82 -section id acl iface_region 73 : se し 910ba1 assignment -name PARTITION IGNORE SOURCE F 工 LE CHANGES ON -section id acI iface partition So し 「 Po 引 ・ Syn 市 ” を CreateNewDesonPartitøn D ~ 層 を De 、 n % on R 獸 Co 。 [ oc 日 No 面 & 炉 物 爾 め n ope 臧 地 [ 。 水 L 。 改 Reg6:n ・ system_acl 0 Re 冊 nd 日 ⅱ 0 0 3 物 第 D 0 編 - ・ R 0 宿 町 nd 飜 め n 1 し 03 愴 H 0 Ⅳ い 0 - 。 ( k 35 加 5 3 BSP を 移 植 し て み る 1 17