上一页 1 ··· 3 4 5 6 7 8 下一页
摘要: 引子以前版本的sys/alt_irq.h,我在这里就不多说了;此处仅浅析9.1版本的增强版的sys/alt_irq.h。浅析1 增强版的API表1 增强版的HAL中断的API 2 先前的HAL中断APIalt_irq_register() alt_irq_disable() alt_irq_enable() alt_irq_disable_all() alt_irq_enable_all() alt_irq_interruptible() alt_irq_non_interruptible() alt_irq_enabled() 3 写ISR(1)使用增强版中断API注册ISRic_id为中断 阅读全文
posted @ 2010-05-13 17:02 _安德鲁 阅读(7951) 评论(2) 推荐(3)
摘要: 本文借一小例,来示范在FSM中如何延时。案例(1)fsm_with_delay_demo.v(2)QII综合的FSM 图1 QII综合的FSM(3)实验现象该例中,FSM有两个状态,S0持续1s,S1持续4s,然后循环交替。假设案例中的LED是送1亮,送0灭,那么LED灭1秒亮4秒,如此循环交替。分析众所周知,FSM有三种写法:1个always块;两个always块;三个always块。其中1个a... 阅读全文
posted @ 2010-05-12 17:28 _安德鲁 阅读(3154) 评论(0) 推荐(3)
摘要: 0 引子近日,我在萧大哥的博客里闲逛,渐知μC/OS-II用途甚广,使用方便;于是就照虎画猫,写几篇博文。1 范例(1) ucos_ii_test.c(2)运行结果 2 解析从OSTaskCreateExt()的源代码中,可知pData就是所能传递的参数。第48行,传递整型变量iA的地址;但是pdata却是空型指针。为了匹配存储内容,在第99行,将从&iA开始的存储区域强制转化为整型... 阅读全文
posted @ 2010-05-10 09:45 _安德鲁 阅读(2628) 评论(2) 推荐(4)
摘要: 转门金瑞兄的博文:http://www.cnblogs.com/menjr/archive/2010/05/04/1727226.html关于DMA传输的实验。在系统运行时,当需要传输大量数据时,可以采用DMA的方式进行传输,以解脱出CPU来处理其他命令。Nios II中的DMA传输有以下三种形式:1、 存储器到存储器这种情况下需要同时打开发送通道和接收通道,而且源地址和目标地址都是自增的。2、 ... 阅读全文
posted @ 2010-05-09 08:58 _安德鲁 阅读(3928) 评论(2) 推荐(1)
摘要: 转CalmBright兄的博文:http://www.cnblogs.com/CalmBright/archive/2009/07/19/1526569.htmlAbstract 在用NIos II 调试sdram遇到了其容量计算的问题,现介绍如下 Introduction 问题1:什么是DRAM、SRAM、SDRAM? 答:名词解释如下 DRAM--------动态随即存取器,需要不断的刷新,才... 阅读全文
posted @ 2010-05-09 08:22 _安德鲁 阅读(4779) 评论(0) 推荐(2)
摘要: 硬件:艾米电子EP2C8 FPGA-Nios开发板 板载8MB SDRAM和EPCS4软件:QII+NII SBTE 9.1 SP1一 硬件部分:构建SOPC平台1 新建QII工程及其他(1)新建QII工程图1-1 新建QII工程(2)选择器件 图1-2 选择器件(3)其他设置 图1-3 将不用管脚设置为三态输入 图1-4 将AS配置芯片设置为EPCS42 构建Nios II软核(1)打开SOPC Builder,新建软核系统。 图2-1 新建软核系统由于我想将SDRAM跑到125MHz,那么先修改一下软核输入时钟的频率为125Mhz。 图2-2 修改软核输入时钟频率(2)添加处理器及存储器配 阅读全文
posted @ 2010-05-07 15:03 _安德鲁 阅读(6333) 评论(14) 推荐(5)
摘要: Ch 1 导言1.1 Avalon属性及参数1.2 信号类型1.3 接口时序1.4 相关文档Ch 2 时钟接口2.1 时钟输入(Sink) 2.1.1 属性 2.1.2 信号类型 2.1.3 associatedClock接口2.2 时钟输出(Source) 2.2.1 属性 2.2.2 信号类型Ch 3 Avalon-MM接口3.1 导言3.2 从端3.3 从端接口属性3.4 从端时序 3.4.... 阅读全文
posted @ 2010-05-05 11:04 _安德鲁 阅读(3382) 评论(0) 推荐(2)
摘要: 此处以我所写的MAX7219为范例,从HDL接口描述到C语言软件编程,分析两种表面不一样、但实质是一样的寄存器映射方法,找出其中联系与区别。方法1 使用Altera提供的API1. 使用HDL描述Avalon-MM接口代码1 Amy_S_max7219_avalon_interface.v<;p>在这里,使用了3个寄存器,并通过avs_address来寻址。从50~52行,可以看出,这... 阅读全文
posted @ 2010-04-22 09:20 _安德鲁 阅读(4583) 评论(3) 推荐(4)
摘要: 本文简单描述如何使用Memory Test模板来测试RAM和Flash,此处以SDRAM和EPCS为例。使用环境:Altera Quartus 9.1 SP1 + Nios II 9.1 Software Build Tools for Eclipse SP1步骤1 在SOPC Builder中配置RAM和FLash 图1 例化epcs控制器和sdram控制器注意观察epcs控制器和sdram控制器的起始和终止地址。此处epcs controller,例化为epcs,起始地址是0x01002090,终止地址是0x01002097;sdram controller,与epcs类似。当然也可查看之 阅读全文
posted @ 2010-04-21 21:44 _安德鲁 阅读(7070) 评论(1) 推荐(2)
摘要: 本文简单描述如何使用watchdog_timer服务,并给出一个简单范例。使用环境:Altera Quartus 9.1 SP1 + Nios II 9.1 Software Build Tools for Eclipse SP1步骤1 在SOPC Builder中例化Interval Timer核:1. 在SOPC Builder中例化Interval Timer核,命名为watchdog_timer。图1 例化Interval Timer核2. 配置Interval Timer核 图2 配置Interval Timer核在Hardware options的预设置处,选择Watchdog。注 阅读全文
posted @ 2010-04-19 17:15 _安德鲁 阅读(3216) 评论(1) 推荐(2)
摘要: 本文简单描述如何使用timestamp_timer服务,来测试usleep(1*1000*1000)到底用了多长时间。使用环境:Altera Quartus 9.1 SP1 + Nios II 9.1 Software Build Tools for Eclipse SP1步骤1 在SOPC Builder中例化Interval Timer核:1. 在SOPC Builder中例化Interval Timer核,命名为timestamp_timer。图1 例化Interval Timer核注意:命名为timestamp_timer只是为了和BSP中timestamp_timer一致,也可以命名 阅读全文
posted @ 2010-04-18 12:13 _安德鲁 阅读(5252) 评论(0) 推荐(5)
摘要: 本文简单描述如何使用sys_clk_timer服务,来控制led每100ms开关一次。使用环境:Altera Quartus 9.1 SP1 + Nios II 9.1 Software Build Tools for Eclipse SP1步骤1 在SOPC Builder中例化Interval Timer核:1. 在SOPC Builder中例化Interval Timer核,命名为sys_clk_timer。 图1 例化Interval Timer核注意:命名为sys_clk_timer只是为了和BSP中sys_clk_timer一致,也可以命名为其他名称。 图2 BSP中的相关设置2. 阅读全文
posted @ 2010-04-18 08:23 _安德鲁 阅读(4211) 评论(0) 推荐(4)
摘要: 转特权(吴厚航)哥的博文。http://blog.ednchina.com/ilove314/955999/message.aspxSDRAM时钟相移估算 《Quartus II Handbook Version 9.0 Volume 5:Embedded Peripherals》中Section I的1. SDRAM Controller Core部分提出了如何估计SDRAM数据有效信号窗口,并... 阅读全文
posted @ 2010-04-06 21:27 _安德鲁 阅读(1063) 评论(0) 推荐(4)
摘要: 概述:此处,我以Lcd12864(ST7920)作为范例,进行粗浅讲解,望各位网友踊跃拍砖。0 软硬件环境软件:Altera Quartus II 9.1 + Nios II 9.1 Software Build Tools for Eclipse硬件:艾米电子EP2C8开发板(EP2C8Q208C8 + 16 bit SDRAM 64MB + EPCS4)1 硬件部分1.1 Avalon-MM接口(读作:阿窝龙妹妹接口)Avalon Memory-Mapped接口,简称为 Avalon-MM接口,用于在存储映射系统中描述主从元件(component)的读/写接口。 图1.1 Amy_S_lc 阅读全文
posted @ 2010-03-25 08:07 _安德鲁 阅读(15506) 评论(15) 推荐(7)
摘要: 图1 KEY原理图 图2 LED原理图key_led.vkey_debounce.vHDL思路图3 按键抖动如图3所示,按键在按下和释放的时候都会有一定的抖动。本代码仅消除了按下抖动,没有对释放抖动进行处理。代码中使用了一个计数器来实现延时。只要这个计数器正常计数到20'hF_FFFF,我们就采样一个值key_samp2,并将其锁存进key_samp2_locked。一旦有下降沿来临,就输出按键改... 阅读全文
posted @ 2010-03-13 11:54 _安德鲁 阅读(7605) 评论(0) 推荐(3)
摘要: 1 偶数分频(1)2的幂分频案例I 二分频i: div_2.vii:RTL视图(QII综合结果) 图1 二分频的RTL视图iii:仿真波形(QII仿真结果) 图2 二分频的仿真波形案例II 四分频i:div_4.vii:RTL视图(QII综合结果) 图3 四分频的RTL视图iii:仿真波形(QII仿真结果) 图4 四分频的仿真波形(2)不是2的幂分频案例I 六分频i:div_6.vii:RTL视图... 阅读全文
posted @ 2010-02-08 23:20 _安德鲁 阅读(8645) 评论(8) 推荐(7)
摘要: 自从Altera公司推出Nios II 9.1 Software Build Tools for Eclipse(简称Nios II 9.1 SBTE),许多新特性的引入,令众多使用者感到欣慰,尤其是在编译的速度上。但是Nios II 9.1 SBTE并不完美,譬如说无法调用用户自定义外设的HAL文件、无法使用Flash Programmer正常固化程序到EPCS。2010年2月27日,Alter... 阅读全文
posted @ 2010-02-05 23:29 _安德鲁 阅读(2603) 评论(9) 推荐(1)
摘要: 范例流水灯 图1 流水灯范例实现步骤步骤1:在Quartus II中,单击File->Convert Programming Files..。打开编程文件转换程序,如图2所示。图2 编程文件转换程序界面在此界面中。在Programming file type:标签后选择JTAG Indirect Configuration File (.jjc);在Configuration device:... 阅读全文
posted @ 2010-01-28 11:19 _安德鲁 阅读(14060) 评论(1) 推荐(3)
摘要: 示范程序seg7_test.v此例化文件共需要17个管脚。接下来我和大家一起讨论使用QII分配管脚的两种常用方法。 方法一:Import Assignments步骤1:使用记事本或类似软件新建一个txt文件(或csv文件),按如下格式编写管脚分配内容(不同的开发版,其内容也不同,本文以我使用的艾米电子2C8开发版为范例)。注意:To和Location两个关键字中间有一个半角逗号。 图1 pin.t... 阅读全文
posted @ 2010-01-18 12:44 _安德鲁 阅读(40577) 评论(0) 推荐(8)
摘要: 情况描述自从装了91,就发现通过NII的Flash Programmer编程后,上电无法正常复位,也就是说无法固化程序到EPCS中(或其他Flash器件)。本来我以为是我的EPCS出问题了,但是在QII中,用AS模式可以烧写POF文件,能够上电正常复位。这样EPCS的问题就可以排除,但是实在无解。解决方法多次跟朋友讨论,得知大家都出现了这种情况。于是改用90的NII,Flash编程成功。 阅读全文
posted @ 2010-01-03 19:23 _安德鲁 阅读(4079) 评论(6) 推荐(1)
摘要: 摘抄自刘海成老师的《AVR单片机原理及测控工程应用》,P35。1. 用“与”操作实现快速求余运算,例如:可以改为:说明:位操作只需要一个指令周期即可完成,而大部分的C编译器的“%”运算均是调用子程序来完成的,代码长、执行速度慢。通常,只要是求2n方的余数,均可使用位操作的方法来代替。2. 用“与”操作实现增1过限自归零的if语... 阅读全文
posted @ 2009-12-22 22:08 _安德鲁 阅读(756) 评论(1) 推荐(1)
摘要: 本文列举两种可行的方法,在WPS上实现代码语法高亮。其中,第二种方法也可以用到其他编辑软件,譬如Word之类。本文重点讨论第二种方法。方法1在WPS官网下载语法高亮插件。http://www.wps.cn/addons/ThreadView/wdid-6538.htm 图1 WPS语法高亮插件演示方法2推荐使用。前期准备下载Notepad++。http://notepad-plus.sourcef... 阅读全文
posted @ 2009-12-13 11:34 _安德鲁 阅读(14889) 评论(1) 推荐(5)
摘要: 引子在Nios II上调了好几天的I2C,PCF8563都没有被正常驱动,很是伤感。干脆先用51驱动试试。首先要解决的便是显示问题,用Max7129来驱动七段数码管。仿真环境硬件部分:Proteus 7.5 SP3软件部分:Keil uVision4Proteus仿真图 图1 Proteus仿真图Keil工程图2 Keil工程源代码main.c#include "max7219.h"int main(void){ Max7219_Init(); while(1) { Max7219_WriteData(1, 2); Max7219_WriteData(2, 0); Max7 阅读全文
posted @ 2009-12-11 10:24 _安德鲁 阅读(3969) 评论(0) 推荐(1)
摘要: 数据的有效性 SDA数据线必须在SCL时钟线的高电平周期保持稳定,在SCL时钟线的低电平周期才可改变高低电平。 图1 I2C总线的位传输   起始和停止条件 起始条件(S):SCL时钟线保持高电平时,SDA数据线从高电平向低电平切换; 停止条件(P):SCL时钟线保持高电平时,SDA数据线从低电平向高电平切换。 图2 I2C总线的起始和停止条件   字节格式 发送到S... 阅读全文
posted @ 2009-12-06 11:20 _安德鲁 阅读(2644) 评论(0) 推荐(1)
摘要: 注:本文所述皆为查询方式的比对,中断方式下请读者自习研究比对。范例:/dev/jtag_uartUnix类型 图1 系统库属性设置源代码:编译结果:Info: (hello_nios.elf) 2608 Bytes program size (code + initialized data). Info: 8189 KBytes free for stack + heap.ANSI C 图2 系统... 阅读全文
posted @ 2009-12-06 09:21 _安德鲁 阅读(573) 评论(1) 推荐(1)
上一页 1 ··· 3 4 5 6 7 8 下一页