FPGA —— LED控制】的更多相关文章

第一次接触新东西的时候,难免会磕磕碰碰,不过遇到问题不要着急,慢慢来.原因总归是我们自己引起的,一步步找到问题的根源,然后彻底解决它,避免下次再犯. 在开始之前先分享一下工具:(Quartus II 9.0.Quartus II 13.0.Quartus II 13.1.Quartus II 15.0.相应版本的器件库.Modulesim) 链接:https://pan.baidu.com/s/1RfwdpcfD5gmHJvndAgxh0A提取码:0q8x  接下来进入正题 目标:创建 Quar…
实验现象:在控制台打印按键值,并且通过按键控制相应的LED亮灭. 1.代码 input_subsys_drv.c #include <linux/module.h> #include <linux/version.h> #include <linux/init.h> #include <linux/fs.h> #include <linux/interrupt.h> #include <linux/irq.h> #include &l…
BBB板第四课:简单LED控制实验 学习BBB板的终于目的是想像单片机一样做控制,但控制思路全然不一样(Linux下控制硬件设备实质就是对相关设备虚拟文件的读写).研究了几天头都大了还是没有进展,网上好多博客文章.也没有个统一的说法,预计都是BBB板的年份不同,以及安装的系统版本号不同.最后选择榜样,从最基础的单命令控制IO接口開始做. 达到目标:从GPIOportP8.12和P8.11引脚输出0或1 这节课用到两个命令,cat和echo,详细的用法网上非常多,最简单的理解:cat 用来查看文件…
一.STM32F103C8 引脚分布 二.LED的共阴.共阳接法 这里应该是七段数码管的接法. 限流电阻选择为470,在Multism中仿真,也需要接入,否则会出现闪烁情况.或者直接更改属性. 三.消除按钮的机械振动 1.键的特性 键盘是由若干独立的键组成,键的按下与释放是通过机械触点的闭合与断开来实现的,因机械触点的弹性作用,在闭合与断开的瞬间均有一个抖动过程 . 2.去抖动的方法 (1)硬件去抖动,主要是通过滤波电路. (2)软件去抖动,延时函数. 四.按钮控制灯 1.一对一 每一个按键的电…
现在终于进入到蓝牙SPI的环节了, 下面还要研究I2C, 所以第一步, 先点灯, 就是GPIO控制吧. 参考一下LEd的初始化: void HalLedInit (void){#if (HAL_LED == TRUE)  HalLedSet(HAL_LED_ALL, HAL_LED_MODE_OFF);  // Initialize all LEDs to OFF.  // Set LED GPIOs to outputs.  LED1_DDR |= LED1_BV;#if (!defined…
前面我们编写了hello world的程序,接下来继续研究GPIO功能,通过GPIO来控制LED的亮灭,这在单片机中应该算是十分简单的一个程序了,但是在Linux系统中控制GPIO没有那么简单,难点就在于GPIO地址的获取,也是我一直在纠结的问题. 一.GPIO地址         我看了中嵌的嵌入式开发视频,里面使用三星2440控制LED的亮灭,但是驱动程序中没有写清楚具体的底层是如何实现的,这也是我查找的重点.我首先翻阅了树莓派CPU(bcm2835)的芯片手册,查到了GPIO的物理地址:…
基于arm + linux的嵌入式软件开发,基本上的内容主要是:u-boot的移植,kernel的裁剪和相关驱动程序的设计,root-fs的制作,应用程序的设计,其中,应用程序主要包含两方面的内容:Gui的设计和逻辑控制程序的实现.在整个开发中,具有相当代码量的部分也就这么两个方面:驱动程序.应用程序.一般的开发板都有相关配套的底层驱动程序例程,开发者可稍加修改在工程项目中加以使用(其实我不知道这样是不是会触犯什么只是产权之类的东东,先凑着用吧). 第一,驱动程序的设计. 很容易想到,Led在板…
对于熟悉Intel FPGA的老(gong)司(cheng)机(shi)来说,外部存储器的控制早已是轻车熟路,但是对于新手,DDR3/DDR2 的IP使用也许并没有那么简单,不过没关系,骏龙的培训网站(www.fpgadesign.cn)上有免费的视频教程可以帮助大家快速的熟悉DDR3/DDR2 IP核的使用.今天我来分享下在使用DDR3/DDR2的IP时常有新手遇到的两个错误的解决办法. 1.Error (165050): The assigned location PIN B13 for D…
硬件平台: FriendlyARM Tiny4412 Cortex-A9 操作系统: UBUNTU 14.04 LTS 时间:2016-09-20  21:56:48 本次实验使用的是 安卓APP + NDK库 + Linux底层驱动. 一. 首先在 Android Studio 上编写APP. 对软件进行布局. <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android…
1.实验目的 1.学习和掌握如何将一个驱动程序添加到Kconfig,编译到内核. 二.实验内容 1.编写EduKit-IV试验箱Linux操作系统下LED灯的驱动: 2.编写EduKit-IV试验箱Linux操作系统下LED灯的应用程序. 三.主要仪器设备 1.Ubuntu12.04系统. 2.英培特eduk4-s3c2410试验平台 四.操作方法和实验步骤 在终端中输入命令设置环境变量 source /usr/local/src/EduKit-IV/Mini2410/set_env_linux…
LED 12接口 使能 <--- OE A ---> 行选择信号 N B ---> 行选择信号 N C ---> 行选择信号 N CLK ---> 时钟信号 N LAT/ST ---> 锁存信号 N R ---> 红色数据 N G ---> 绿色数据 GND D ---> 行选择信号 LED 08接口 N A ---> 行选择信号 N B ---> 行选择信号 N C ---> 行选择信号 使能 <--- OE D --->…
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> int main(void) { FILE *p=NULL;  int i=0;  p = fopen("/sys/class/gpio/export","w");  fprintf(p,"%d",38);  fclose(p);  p = f…
1.学习目的 本例程主要是让 SoC FPGA 初学者了解 HPS/ARM 如何跟 FPGA 交互.“My First HPS-FPGA”工程演示了实现方法的细节.这个工程包括 Quartus II 工程和 ARM C 工程,它演示了 HPS/ARM 是如何去控制 FPGA 端的 LED. 2.关于DE1-SOC的AXI总线(详细AXI总线协议看链接,这里不做详细介绍) 在 Altera SoC FPGA 中,HPS 和 FPGA 之间的协议通信主要是通过 AXI -bridge. AXI br…
1基础理论部分 1.1分频 分频,是的,这个概念也很重要.分频是指将一单一频率信号的频率降低为原来的1/N,就叫N分频.实现分频的电路或装置称为“分频器”,如把33MHZ的信号2分频得到16.5MHZ的信号,3分频得到11MHZ的信号,10分频得到3.3MHZ的信号. 分频主要是相对于主晶振来说,用不到那么高的频率,开发板一般根据具体需要会加入晶振,一般若是功耗较高可选用50MHz,其他情况可以相对调整,如24MHz等等.那么分频的典型应用,二分频,四分频,八分频,还有任意分频. 对于分频,我们…
CGI程序(Common Gate Way Interface) 在服务器外部供服务器调用的程序,CGI程序与服务器配合后能让服务器完成更强大的功能. 1.浏览器通过HTML表单或超链接请求指向一个CGI应用程序的URL. 2.服务器收发到请求. 3.服务器执行指定所CGI应用程序. 4.CGI应用程序执行所需要的操作,通常是基于浏览者输入的内容. 5.CGI应用程序把结果格式化为网络服务器和浏览器能够理解的文档(通常是HTML网页). 6.网络服务器把结果返回到浏览器中. 移植CGI库 1.解…
1.实验准备 在PC 机D:盘下创建文件夹qt-led,将光盘qt_led_exp 文件夹下的images 文件夹拷贝到E:盘下qt-led 文件夹qt-led 内 2.新建工程 新建一个Empty QT4 Project 工程,如下: 点击:File >>> New File >>> Empty Qt4 xxx 保存到D:盘下,起名叫qt-led,如下所示: 3.添加资源文件(图像) 右键点击工程文件qt_led->add new…->Qt Resourc…
芯航线——普利斯队长精心奉献 课程目标: 1.了解并学会FPGA开发设计的整体流程 2.设计一个二选一选择器并进行功能仿真.时序仿真以及板级验证 实验平台:芯航线FPGA开发板.杜邦线 实验内容: 良好的文件夹设置以及工程管理是一个好的FPGA设计的基础,在学习之初就建立俩良好的习惯,会少走一些弯路.因此我们首先在新建的工程文件夹下面,分别建立如图2-1所示的子文件夹. 图2-1 FPGA工程子文件夹 上图中,prj为工程文件存放目录:rtl为verilog可综合代码存放目录:testbench…
基于FPGA的红外遥控解码与PC串口通信 zouxy09@qq.com http://blog.csdn.net/zouxy09 这是我的<电子设计EDA>的课程设计作业(呵呵,这个月都拿来做大作业了,各种大作业,能发上来和大家分享的我会发上来,否则博客太冷清了).之前没有学过FPGA,但要掌握基础的Verilog编程也不是很困难.不过altium公司的NanoBoard2开发板的确也不敢恭维啊,提供的资料不够详细.所以搞定这个东西也花了我一周的时间.需要整个FPGA端和PC端的工程的可以发邮…
FPGA设计中,最重要的设计思想就是状态机的设计思想!状态机的本质就是对具有逻辑顺序和时序规律的事件的一种描述方法,它有三个要素:状态.输入.输出:状态也叫做状态变量(比如可以用电机的不同转速作为状态),输出指在某一个状态的特定输出,输入指状态机中进入每个状态的条件.根据状态机的输出是否和输入有关,可分为摩尔(Moore)型状态机和米勒型(Mealy)状态机:摩尔型状态机的输出只取决于当前状态,而米勒型状态机的输出不仅取决于当前状态,还与当前输入有关.通常,我们描述状态机有三种方法:状态转移图.…
实验现象: 1.先烧写ARM程序,然后烧写FPGA程序. 2.打开串口精灵,会接收到字符GINGKO. 3.通过串口精灵发送命令可以控制ARM·LED和FPGA·LED. 核心代码: int main(void) { /* USER CODE BEGIN 1 */ int i; ]; ]; /* USER CODE END 1 */ /* MCU Configuration----------------------------------------------------------*/ /…
实验现象: 1.先烧写ARM程序,然后烧写FPGA程序. 2.打开串口精灵,通过串口精灵给ARM发送数据从而给FPGA发送数据 ,会接收到字符HELLO. 3.通过串口精灵发送命令可以控制ARM·LED和FPGA·LED. 命令格式LEDR\CR\LF ARM·LED.FPGA·LED亮LEDG\CR\LF ARM·LED.FPGA·LED亮LEDB\CR\LF ARM·LED.FPGA·LED亮 核心代码: int main(void) { /* USER CODE BEGIN 1 */ in…
实验现象: 1.先烧写ARM程序,然后烧写FPGA程序. 2.打开串口精灵,通过串口精灵给ARM发送数据从而给FPGA发送数据 ,会接收到字符GINGKO. 3.通过串口精灵发送命令可以控制ARM·LED和FPGA·LED. 命令格式 LEDR\CR\LF ARM·LED.FPGA·LED亮 LEDG\CR\LF ARM·LED.FPGA·LED亮 LEDB\CR\LF ARM·LED.FPGA·LED亮 核心代码: int main(void) { /* USER CODE BEGIN 1 *…
###### [该随笔中部分内容转载自小梅哥] ######### 独立按键消抖自古以来在单片机和FPGA中都是个不可避免的问题,首先,解释一下什么叫做按键抖动,如图,按键在按下和松开的那个瞬间存在大概20ms的机械抖动: 下面就是本篇的第一个重点 —— 什么时候需要按键消抖设计?如果是像复位按键这样,短时间内可以多次触发,就完全不需要设计消抖,但是如果是要设计按下按键使LED状态翻转,或者按下按键计数一次的话,就必须要设计消抖模块,否则就会带来不可预知的错误,因为在按下按键的那个时刻,可能已经…
PWM的全称为Pulse-Width Modulation(脉冲宽度调制),即调节脉冲的占空比.当输出的脉冲频率一定时,输出的脉冲占空比越大,相当于输出的有效电平越大,这样也就简单实现了由FPGA来控制模拟量. 设计原理框图: 按键消抖,首先采用状态机实现,用状态机做键盘消抖,很好用,不必等待延时,当检测到有按键按下或弹起时能发出相应的键盘消息.设置状态机有 4中状态,A0,A1,A2,A3状态转换图如下: 检测这几个管脚是否为低电平,来判断按键是否被按下 AO: 初始时位于A0状态,当扫描发现…
LED调光基础: ☆:LED照明调光控制信号的方式有两种: 1. 通过PWM信号控制LED灯具开关电源的占空比从而实现调光: 2. 通过调光控制信号和交流电源供电线合用的两线式或三线式(例如LED相控调光) 3. 调光控制信号和交流电源供电线分离调光(0-10V,ADLI,DMX512,KNX等). ☆:LED智能家居通讯协议: 1. wifi(项目最开始的时候用这个吧,比较熟悉,而且速度很快(快于下面的三个,就是不够安全)) 2. ZigBee(功耗1/10,网状网络) 3. ZigBee L…
按理说‘高大上’的FPGA,多出现在航天航空(如火星探测器).通信(如基站.数据中心).测试测量等高端应用场景.但麦迪却也发现,近期,在很多创客的作品内部都有FPGA的影子.这或许也从侧面看出,打从总理先生的“双创”态度以来,开发者们踊跃的态度,创客们的智能硬件作品已经不再是小打小闹,更多的向尖端技术靠拢,也更贴近产业化应用. 但毕竟,FPGA在开发者心目中有着‘开发入门难’.‘贵’等等初印象,对于FPGA在创客作品中的开发与应用,麦迪想从两个角度和大家探讨:“何时考虑在自己的设计中应用FPGA…
Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本不同,是为物联网设备专门设计的,硬件也不仅仅限于x86架构,同时可以在ARM架构上运行. 上一篇文章我们详细介绍了Raspberry安装Win 10 IoT Core系统及搭建开发环境的过程,如果还不熟悉安装搭建过程可以参考  Win10 IoT C#开发 1 - Raspberry安装IoT系统及搭建开发环境(http://www.cnblogs.com/cloudtech/p/5562120…
/**************************************************************************** * 文件名: main.c * 内容简述: * * 演示的是3个蓝色LED(LED1-LED3) 轮流闪烁 定义: LED1-LED3 ---V6——V8 V6----- PB5-LED1 V7----- PD6-LED2(仅V2,V2.1 V3板) V8----- PD3-LED3(仅V2,V2.1 V3板) 基于MDK版本: 3.8 基于…
一.准备工作:      将上一节搭建的工程模板复制一份,命名为"1.blink",这作为我们开发的第一个程序. 二.程序编写:      板子上只有一个可控制的LED,就是LED0,在按键的旁边.打开原理图,可以看到LED的电路如下图: 通过原理图可以看出,LED和MCU的PB14相连接,当PB14输出低电平的时候,LED就会被点亮,为高电平的时候被熄灭. 下面开始编写LED驱动程序,首先在"Drivers"文件夹创建一个"drv_led.c"…
样品谈到最后一个驱动程序LED数码管,采用了最简单的解决方案之一,对于每一个LED高低电平控制,这样的好处是每个LED控制可检.避免短路造成的错觉,因为,但是对于数字的变化是,它是多余的写,因此,这种试图通过一组方法,来实现. //设置阴极接口 int d1 = 1; int d2 = 2; int d3 = 3; int d4 = 4; int d5 = 5; int d6 = 6; int d7 = 7; //设置阳极接口 int a = 8; int b = 9; int c = 10;…