回答

收藏

[BeMicro Max10 FPGA开发板评测] LedBlink

#其他 #其他 1533 人阅读 | 0 人回复 | 2016-08-29

1,非常感谢爱板网提供的试用机会,时隔四年再次接触FPGA,FPGA已经强得不像实力派!本人为初学者,此文仅供参考。言简意赅,下面开始介绍
2,BeMicro Max10开发板板载资源
          MAX? 10 FPGA (10M08DAF484C8GES)
          板载嵌入式调试器USB-Blaster
50M/24M时钟电路
8MB SDRAM (4Mb x 16) (ISSI IS42S16400)
三轴加速度ADI ADXL362
DAC转换器ADI AD5681
温度传感器ADI ADT7420
热敏电阻/光敏电阻
8个LED/4个用户按键
2个6pin的PMOD接口、2个40pin的IO口扩展接口
1个6pin的模拟输入接口、一个80pin的BeMicro card edge接口

3,LedBlink
开发环境:Quartus Prime 16.0 Lite Edition(注意:从14.0.2开始支持MAX10系列)
驱动安装:初次使用时,设备管理器有黄色感叹号,只需要在设备管理器更新驱动选择安装目录下的驱动目录即可,如 (D:\altera_lite\16.0\quartus\drivers\usb-blaster)
实现功能:LedBlink
开始项目:
a,建立工程项目,选择路径时不要带中文目录
b,硬件连接
可以看出低电平点亮led

led1对应PIN_M2,其余对应原理图
c,本文以Verilog HDL文件为例

d,编写代码(本人为初学者,此代码仅供参考)
延时1S显示(1/50MHz=20ns,20*50000000=1s)
实现功能:LED全亮1s,全灭1s

module ledblink(sys_clk,sys_rstn,led);input sys_clk;input sys_rstn;output [7:0] led;reg [7:0] led;reg [49:0] delay_cnt;always@(posedge sys_clk or negedge sys_rstn)        begin                if(!sys_rstn)                        delay_cnt<=50'd0;                else                        begin                                 if(delay_cnt==50'd49999999)                                        delay_cnt<=50'd0;                                else                                        delay_cnt<=delay_cnt+1'b1;                        end                endalways@(posedge sys_clk or negedge sys_rstn)        begin                if(!sys_rstn)                        led<=8'b11111111;                else                        begin                                if(delay_cnt==50'd49999999)                                        led<=~led;                                else                                 led<=led;                        end        end                endmodule实现功能:流水灯
module ledblink(sys_clk,sys_rstn,led);input sys_clk;input sys_rstn;output [7:0] led;reg [7:0] led;reg [49:0] delay_cnt;always@(posedge sys_clk or negedge sys_rstn)        begin                if(!sys_rstn)                        delay_cnt<=50'd0;                else                        begin                                 if(delay_cnt==50'd49999999)                                        delay_cnt<=50'd0;                                else                                        delay_cnt<=delay_cnt+1'b1;                        end                endalways@(posedge sys_clk or negedge sys_rstn)        begin                if(!sys_rstn)                        led<=8'b11111111;                else                        begin                                if(delay_cnt==50'd49999999)                                        begin                                                led<=led<<1;                                                if(led==8'b00000000)                                                        led<=8'b11111111;                                        end                                else                                 led<=led;                        end        end                endmodulee,编写完代码,先编译一次,方便引脚映射
f,映射硬件引脚

在这里填写对应引脚


然后再次编译工程,无错误,然后开始下载程序

g,下载程序

然后点击“START”,开始下载程序

h,执行结果
全亮,全灭

流水灯

4,小结
BeMicro Max10包括基础的LED、按键功能、各种传感器器件如温度传感器、加速度传感器等、DAC转换器等功能,同时板卡还扩展出众多的IO可供工程师学习开发,对于FPGA的初学者或是脑洞大开的工程师朋友,BeMicro绝对是一个难能可贵的FPGA平台。
关注下面的标签,发现更多相似文章
分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条