现在位置: 首页 > techbulo发表的所有文章
  • 09月
  • 08日
FPGA开发 ⁄ 共 643字 评论 2 条 ⁄ 阅读 24 次
最近项目中使用到了18B20温度传感器,平台使用的altera的FPGA,由于温度对系统的稳定运行很重要。要时刻检测,低于某个温度要开启加热,考虑到使用软件读要占用CPU时间,决定把读取18B20温度写到硬件中去。 18B20的时序还是比较简单的,网上有详细的资料介绍,在此只是记录一下调试过程: 写完时序下载到FPGA之后,读到的数据全是FFFF,开始以为时序写的不对,对照着18B20时序看了好久感觉没问题,最后没有办法使用示波器查看读写波形: 18B20-ERR 通过查看波形,复位信号等都正常,接着发送命令,发送CC命令时,通过查看图中红框处......
阅读全文
  • 08月
  • 11日
FPGA开发 ⁄ 共 2261字 暂无评论 ⁄ 阅读 10 次
1.几个示例 (1)控制LEDS。 (2)获得来自外部的开关信息。 (3)控制显示设备。 (4)与外部设备通讯。 注意PIO可以连接至片外与外部设备交互,亦可直接与FPGA内部逻辑相连接。 2.PIO所具有的功能 (1)输入 此种只能设置PIO为输入,此时对direction、interruptmask或者edgecapture三个寄存器的读写均无效。 (2)输出 此种只能设置PIO为输入,此时对direction、interruptmask或者edgecapture三个寄存器的读写均无效。 (3)双向 可三态控制。通过设置direction寄存器控制PIO的方向。当为高时,PIO为输出状态;为低时,PIO为输入......
阅读全文
  • 07月
  • 26日
工具配置 ⁄ 共 696字 暂无评论 ⁄ 阅读 31 次
(仅供自己记录之用) 步骤: 首先安装好Quartus 1.修改i2c_opencores.c文件 #include "sys/i2c_opencores_regs.h" #include "sys/i2c_opencores.h" 2.将 i2c_opencores.h   i2c_opencores_regs.h两个文件放到D:\altera\13.0sp1\nios2eds\components\altera_hal\HAL\inc\sys 目录 3. 将i2c_opencores.c文件放到D:\altera\13.0sp1\nios2eds\components\altera_hal\HAL\src 4.修改D:\altera\13.0sp1\nios2eds\components\altera_hal\HAL\src下的component.mk文件 加入i2c_opencores.c 5.修改D:\altera......
阅读全文
  • 07月
  • 24日
基础知识 ⁄ 共 1128字 暂无评论 ⁄ 阅读 19 次
YCbCr是DVD、摄像机、数字电视等消费类视频产品中,常用的色彩编码方案。YCbCr 有时会称为 YCC.。Y'CbCr 在模拟分量视频(analog component video)中也常被称为 YPbPr。YCbCr不是一种绝对色彩空间,是YUV压缩和偏移的版本。 正如几何上用坐标空间来描述坐标集合, 色彩空间用数学方式来描述颜色集合。常见的3 个基本色彩模型是RGB , CMYK和YUV。   YCbCr 则是在世界数字组织视频标准研制过程中作为ITU - R BT1601 建议的一部分, 其实是YUV经过缩放和偏移的翻版。其中Y与YUV 中的Y含义一致, Cb , Cr 同样都指色彩, 只是在表示方法上......
阅读全文
  • 07月
  • 04日
FPGA开发 ⁄ 共 2523字 暂无评论 ⁄ 阅读 35 次
首先介绍下AS、PS、JTAG三种模式的区别。 AS模式: 烧到FPGA的配置芯片里保存的,FPGA器件每次上电时,作为控制器从配置器件EPCS主动发出读取数据信号,从而把EPCS的数据读入FPGA中,实现对FPGA的编程,该方法适用于不需要经常升级的场合; PS模式:EPCS作为控制器件,把FPGA当做存储器,把数据写人到FPGA中,实现对FPGA的编程。可以采用微控制器(单片机、ARM等)或者CPLD,该模式可以实现对FPGA在线可编程,升级方便; JTAG:直接烧到FPGA里面的,由于是SRAM,断电后要重烧,适用于调试; .pof文件可以通过AS方式下载; .sof文件或......
阅读全文
  • 06月
  • 06日
常见问题 ⁄ 共 327字 暂无评论 ⁄ 阅读 72 次
STM32使用Keil环境,前天J-Link驱动升级到新版本后,发现悲剧了,每次下载完程序,KEIL都会出现停止工作,只能强行关闭,然后重新打开,原因很明显肯定和j-lng有关,查找了一番说是我的盗版J-Link被检查出来了。 keil 解决方案: 下载链接里的文件,并解压放到现在的Keil\ARM\Segger目录下,将两个dll文件替换成以前能用的老版本对应文件,完美解决这个问题。 文件下载地址 (压缩包内有使用说明): http://download.csdn.net/detail/techbulo/9861875 
阅读全文
  • 06月
  • 03日
裸机开发 ⁄ 共 254字 暂无评论 ⁄ 阅读 125 次
在一个项目中,使用了STM32,数据结构比较复杂,采用动态内存分配,一开始程序运行老是异常,调试查找原因,发现是使用malloc分配内存空间时不成功造成的,经分析原因在于Startup_stm32fxx.s文件中定义的堆空间太小导致的,如下图: malloc 因为malloc是在堆空间中分配内存,设置的大小小于需要分配的空间是肯定是要失败的,我把堆大小改为10K就OK了。
阅读全文
近几天把uoot移植到板子上做测试,打算做个在线升级。经测试uboot对QSPI Flash的读取没有问题,应用程序已能够成功加载启动,当我修改了uboot的环境变量下次启动时发现并没有生效,这就奇怪了,于是使用如下命令测试了一下flash的擦除: erase error 于是上网查了一下,在赛灵思官网上查到了原因及解决办法: error solution 原文地址 : http://www.xilinx.com/support/answers/60539.html 错误原因:由于选用的flash是按扇区擦除的。每个扇区256K,命令中擦除的长度不是256K的倍数。 解决方案:按照扇区的大小的倍数进行擦除。 er......
阅读全文
一、Windows无法正常驱动USB-Blaster Win7、Win8、Win10操作系统安装USB-Blaster驱动程序过程中无外乎两个问题: 1、Windows无法安装USB-Blaster。 2、文件的哈希值不在指定的目录文件中. 下面以上提供两个问题的完整解决办法,Win7、Win8、Win10系统的解决过程是类似的,只是界面不一样而已。 问题一:Windows无法安装USB-Blaster no 解决办法: 1、进入,计算机–>>设备管理器。 2、找到设备USB-Blaster,此时是带有黄色感叹号的。 driver 3、右键,更新驱动程序软件。 4、要选择“浏览计算机以查找驱动程序软件(R)”,如选择......
阅读全文
  • 04月
  • 21日
FPGA开发 ⁄ 共 3102字 暂无评论 ⁄ 阅读 38 次
三、        并发代码 VHDL中并发描述语句有WHEN和GENERATE。除此之外,仅包含AND, NOT, +, *和sll等逻辑、算术运算操作符的赋值语句也是并发执行的。在BLOCK中的代码也是并发执行的。 从本质上讲,VHDL代码是并行执行的。只有PROCESS, , PROCEDURE内部的代码才是顺序执行的。但是当它们作为一个整体时,与其他模块之间又是并行执行的。并发代码称为“数据流”代码。 通常我们只能用并发描述语句来实现组合逻辑电路,为了实现时序逻辑电路,必须使用顺序描述语句。事实上,使用顺序描述语句可以同时实现组合逻辑电路和时序逻辑电路。 ......
阅读全文
  • 04月
  • 19日
FPGA开发 ⁄ 共 2444字 暂无评论 ⁄ 阅读 42 次
二、        运算操作符和属性 1.       运算操作符 l  赋值运算符 赋值运算符用来给信号、变量和常数赋值。 <=    用于对SIGNAL类型赋值; :=     用于对VARIABLE,CONSTANT和GENERIC赋值,也可用于赋初始值; =>    用于对矢量中的某些位赋值,或对某些位之外的其他位赋值(常用OTHERS表示)。 例: SIGNAL x: STD_LOGIC; VARIABLE y: STD_LOGIC_VECTOR(3 DOWNTO 0);  –最左边的位是MSB SIGNAL w: STD_LOGIC_VECTOR(0 TO 7);  –最右边的位是MSB x <= ‘1’; y := “0000”; w <= “1000_0000”;  – LSB位......
阅读全文
  • 04月
  • 17日
FPGA开发 ⁄ 共 2267字 暂无评论 ⁄ 阅读 36 次
一、        数据类型 1.用户自定义数据类型 使用关键字TYPE,例如: TYPE my_integer IS RANGE -32 TO 32; –用户自定义的整数类型的子集 TYPE student_grade IS RANGE 0 TO 100; –用户自定义的自然数类型的子集 TYPE state IS (idle, forward, backward, stop); –枚举数据类型,常用于有限状态机的状态定义 一般来说,枚举类型的数据自动按顺序依次编码。 2.子类型 在原有已定义数据类型上加一些约束条件,可以定义该数据类型的子类型。VHDL不允许不同类型的数据直接进行操作运算,而某个数据类型的子类型......
阅读全文

×