連載
オンボードされた温湿度センサーからFPGAで値を得る:MAX 10 FPGAで学ぶFPGA開発入門(12)(5/7 ページ)
FPGA「MAX 10」搭載開発ボード「MAX 10 NEEK」には各周辺機器が備えられており、そこにはTI製の温湿度センサーも含まれる。サンプルプログラムを元に、オンボードされたデバイスの制御を試みる。
// -------------------------------------------------------------------- // Copyright (c) 2010 by Terasic Technologies Inc. // -------------------------------------------------------------------- // // Permission: // // Terasic grants permission to use and modify this code for use // in synthesis for all Terasic Development Boards and Altera Development // Kits made by Terasic. Other use of this code, including the selling // ,duplication, or modification of any portion is strictly prohibited. // // Disclaimer: // // This VHDL/Verilog or C/C++ source code is intended as a design reference // which illustrates how these types of functions can be implemented. // It is the user's responsibility to verify their design for // consistency and functionality through the use of formal // verification methods. Terasic provides no warranty regarding the use // or functionality of this code. // // -------------------------------------------------------------------- // // Terasic Technologies Inc // 356 Fu-Shin E. Rd Sec. 1. JhuBei City, // HsinChu County, Taiwan // 302 // // web: http://www.terasic.com/ // email: support@terasic.com // // -------------------------------------------------------------------- #ifndef TERASIC_INCLUDES_H_ #define TERASIC_INCLUDES_H_ #include <stdio.h> #include <stdlib.h> // malloc, free #include <string.h> #include <stddef.h> #include <unistd.h> // usleep (unix standard?) #include "sys/alt_flash.h" #include "sys/alt_flash_types.h" #include "io.h" #include "alt_types.h" // alt_u32 #include "altera_avalon_pio_regs.h" //IOWR_ALTERA_AVALON_PIO_DATA #include "sys/alt_irq.h" // interrupt #include "sys/alt_alarm.h" // time tick function (alt_nticks(), alt_ticks_per_second()) #include "sys/alt_timestamp.h" #include "sys/alt_stdio.h" #include "system.h" //#include <fcntl.h> //#include "debug.h" #define DEBUG_DUMP /*printf */ double temp; double rh; typedef int bool; #define TRUE 1 #define FALSE 0 #endif /*TERASIC_INCLUDES_H_*/
List 3
// -------------------------------------------------------------------- // Copyright (c) 2010 by Terasic Technologies Inc. // -------------------------------------------------------------------- // // Permission: // // Terasic grants permission to use and modify this code for use // in synthesis for all Terasic Development Boards and Altera Development // Kits made by Terasic. Other use of this code, including the selling // ,duplication, or modification of any portion is strictly prohibited. // // Disclaimer: // // This VHDL/Verilog or C/C++ source code is intended as a design reference // which illustrates how these types of functions can be implemented. // It is the user's responsibility to verify their design for // consistency and functionality through the use of formal // verification methods. Terasic provides no warranty regarding the use // or functionality of this code. // // -------------------------------------------------------------------- // // Terasic Technologies Inc // 356 Fu-Shin E. Rd Sec. 1. JhuBei City, // HsinChu County, Taiwan // 302 // // web: http://www.terasic.com/ // email: support@terasic.com // // -------------------------------------------------------------------- #ifndef TERASIC_INCLUDES_H_ #define TERASIC_INCLUDES_H_ #include <stdio.h> #include <stdlib.h> // malloc, free #include <string.h> #include <stddef.h> #include <unistd.h> // usleep (unix standard?) #include "sys/alt_flash.h" #include "sys/alt_flash_types.h" #include "io.h" #include "alt_types.h" // alt_u32 #include "altera_avalon_pio_regs.h" //IOWR_ALTERA_AVALON_PIO_DATA #include "sys/alt_irq.h" // interrupt //#include "sys/alt_alarm.h" // time tick function (alt_nticks(), alt_ticks_per_second()) //#include "sys/alt_timestamp.h" #include "sys/alt_stdio.h" #include "system.h" //#include <fcntl.h> //#include "debug.h" #define DEBUG_DUMP /*printf */ double temp; double rh; typedef int bool; #define TRUE 1 #define FALSE 0 #endif /*TERASIC_INCLUDES_H_*/ /* * "Hello World" example. * * This example prints 'Hello from Nios II' to the STDOUT stream. It runs on * the Nios II 'standard', 'full_featured', 'fast', and 'low_cost' example * designs. It runs with or without the MicroC/OS-II RTOS and requires a STDOUT * device in your system's hardware. * The memory footprint of this hosted application is ~69 kbytes by default * using the standard reference design. * * For a reduced footprint version of this template, and an explanation of how * to reduce the memory footprint for a given application, see the * "small_hello_world" template. * */
List 4
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「MAX 10 NEEK」でストップウォッチを開発し、内蔵メモリから起動する
アルテラのFPGA「MAX 10」を搭載した開発ボード「MAX 10 NEEK」にはLEDやフラッシュメモリなどの各周辺機器が備えられている。今回はLEDを使ったストップウォッチを開発し、内蔵メモリから起動する。 - 「MAX 10 NEEK」に搭載されたDDR3メモリを使う
MAX10搭載開発ボード「MAX 10 NEEK」には各周辺機器が備えられており、その中にはDDR3メモリも含まれる。ソフトコアCPU「Nios II」からの利用も含めて手順を紹介する。 - 「MAX 10 NEEK」へソフトコアCPUを組み込む
周辺機器の充実したMAX10搭載開発ボード「MAX 10 NEEK」に、ソフトコアCPU「NIOS II」を組み込み、ソフトコアCPUからボード搭載LEDの制御までを紹介する。 - 周辺機器の充実した「MAX 10 NEEK」で本格的な開発を目指す
FPGA開発において周辺機器(回路)は見落とせない要素の1つ。タッチパネルや各種出入力などを備えた「MAX 10 NEEK」を導入して、本格的な開発を目指す。 - FPGAのソフトコアCPUをベンチマークで測定する
FPGA「MAX10」に「NIOS II」と呼ばれるソフトIPコアを導入することで、ソフトコアCPUを構築できる。ではその処理能力はどれほどか。ベンチマークソフトで測定してみよう。