zhliao2

风雨兼程,一路向北-------fpga (Keep a quiet heart study)

2012年6月6日

ALE/RD/WR/扩展存储器

摘要: 纠结了这么久,现在总算有点儿头绪了,先把它整理到这里先,有几点还是j经常被弄糊涂:地址和数据,地址/数据复用,地址的计算,总线的概念,执行指令跟脉冲的关系,哎呀呀,看来计算机组成和原理不看不行啊,得找个时间瞧瞧,过把瘾了解了解。。。使用ALE信号作为低8位地址的锁存控制信号。 以PSEN信号作为扩展程序存储器的读选通信号,在读外部ROM是PSEN是低电平有效,以实现对ROM 的读操作。由RD和WR信号作为扩展数据存储器和I/O口的读选通、写选通信号。ALE/PROG: 当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE 阅读全文

posted @ 2012-06-06 21:48 zhliao 阅读(5828) 评论(0) 推荐(0)
单片机关于时钟和不同字节不同指令时序(ALE)

摘要: 首先贴上时钟的结构和电路:了解下什么是机器周期和指令周期:各种不同字节不同周期指令的时序(important): 阅读全文

posted @ 2012-06-06 21:12 zhliao 阅读(480) 评论(0) 推荐(0)

2012年6月5日

关于频率(Fmax)

摘要: 原文:http://bbs.ednchina.com/BLOG_ARTICLE_194116.HTM哎呀呀,懵了。。。先转到这先每个CPU都有一个工作频率,FPGA也不例外(当然,只有你的设计应该是时序逻辑),那该频率是根据什么形成的呢?首先,我们来分析16-bit计数器,通过该用例,掌握QuartusII的时序分析器及了解一个时序逻辑频率的概念。源代码如下(QuautusII7.2SP3,EP2C35F484C8):library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_log 阅读全文

posted @ 2012-06-05 21:10 zhliao 阅读(3417) 评论(0) 推荐(0)
【转】时钟抖动和时钟偏移

摘要: 系统时序设计中对时钟信号的要求是非常严格的,因为我们所有的时序计算都是以恒定的时钟信号为基准。但实际中时钟信号往往不可能总是那么完美,会出现抖动(Jitter)和偏移(Skew)问题。所谓抖动(jitter),就是指两个时钟周期之间存在的差值,这个误差是在时钟发生器内部产生的,和晶振或者PLL内部电路有关,布线对其没有影响。除此之外,还有一种由于周期内信号的占空比发生变化而引起的抖动,称之为半周期抖动。总的来说,jitter可以认为在时钟信号本身在传输过程中的一些偶然和不定的变化之总和。0Y:L7J时钟偏移(skew)是指同样的时钟产生的多个子时钟信号之间的延时差异。它表现的形式是多种多样的, 阅读全文

posted @ 2012-06-05 01:13 zhliao 阅读(740) 评论(0) 推荐(0)

2012年6月3日

常用汇编指令

摘要: 阅读全文

posted @ 2012-06-03 01:23 zhliao 阅读(153) 评论(0) 推荐(0)

2012年5月31日

【转】异步复位,同步释放

摘要: 异步复位:module test ( input clk, input rst_n, input data_in, output reg out ); always @ (posedge clk or negedge rst_n) if(!rst_n) out <= 1'b0; else out <= data_in; endmoduleRLT:我们可以看到FPGA的寄存器都有一个异步的清零端(CLR),在异步复位的设计中这个端口一般就是接低电平有效的复位信号rst_n。即使说你的设计中是高电平复位,那么实际综合后会把你的复位信号反向后接这个... 阅读全文

posted @ 2012-05-31 08:32 zhliao 阅读(330) 评论(0) 推荐(0)
【转】单片机的扩展RAM读写时序

摘要: 用的是11.0592MHz的STC89C52做测试,#include <reg52.h>#define uchar unsigned char#define uint unsigned intuchar xdata LD _at_ 0x7fff;void delay(uint cnt){ uint i; for(i=0;i<cnt;i++);}void main(void){ uchar i; delay(1000); while(1) { ... 阅读全文

posted @ 2012-05-31 00:42 zhliao 阅读(710) 评论(0) 推荐(0)

2012年5月22日

数字时钟(数码管显示/键盘可调)

摘要: 有关的硬件原理图:c程序://温馨提示:/*程序还没有调试完成,实际电路板调节时间时时-分-秒都会有闪烁现象,其实我是不知道的,why,也求解释#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#include<intrins.h> //与_nop_有关sbit duan=P2^2; //定义锁存使能端口 段锁存sbit wei=P2^3; // 位锁存sbit key1 = P1^1;sbit key2 = P1^2;sbit key3 = P1^3;sbit key4 = ... 阅读全文

posted @ 2012-05-22 21:28 zhliao 阅读(3251) 评论(1) 推荐(0)
数码显示(用到74ls273)

摘要: 具体的电路图如有疑问可参考另一bloghttp://www.cnblogs.com/Crazy-Didong/archive/2012/04/12/2444446.html也是用到74ls273实现流水灯设计以下程序选择的晶振都是6MHz的,实现的功能是秒和分的实时显示在数码管上,用到了6个数码管 ==>> xx--xx (左分右秒,中间是小横线)流程图:c程序://程序选择的晶振是6MHz#include <stdio.h> #include <reg51.h> #include <absacc.h> #include <intrins. 阅读全文

posted @ 2012-05-22 21:25 zhliao 阅读(798) 评论(0) 推荐(0)
ASCII对照表

摘要: ASCII码表 信息在计算机上是用二进制表示的,这种表示法让人理解就很困难。因此计算机上都配有输入和输出设备,这些设备的主要目的就是,以一种人类可阅读的形式将信息在这些设备上显示出来供人阅读理解。为保证人类和设备,设备和计算机之间能进行正确的信息交换,人们编制的统一的信息交换代码,这就是ASCII码表,它的全称是“美国信息交换标准代码”。八进制十六进制十进制字符八进制十六进制十进制字符00000nul1004064@01011soh1014165A02022stx1024266B03033etx1034367C04044eot1044468D05055enq1054569E06066ack1. 阅读全文

posted @ 2012-05-22 07:37 zhliao 阅读(315) 评论(0) 推荐(0)

2012年5月17日

串行通信

摘要: 本实验选择11.0592晶振,波特率为9600,串行工作方式1( SCON = 0X40 );最近被Verilog代码搞得头有点晕,或许是没有深入了解硬件思想的原因吧,有或许是没有模块化概念,总之,被它磨的信心有点。。。,不说了,这里是单片机啊,额,看来,不管学什么东西,具体的流程还是要去了解并付诸行动的,好吧,先上流程图先(嘻嘻,懒的自己画,直接copy的O(∩_∩)O~)。代码:# include <reg52.h>unsigned char data byData[10] _at_ 0x70; //在数据存储器70H~79H空间开辟数组unsigned char data b 阅读全文

posted @ 2012-05-17 14:25 zhliao 阅读(873) 评论(0) 推荐(0)

2012年5月16日

乘法器的设计

摘要: 以下代码是选自特权同学的《《深入浅出玩转FPGA》》乘法器的设计方法有两种:组合逻辑设计方法和时序逻辑。采用组合逻辑设计方法,电路事先将所有的乘积项全部计算出来,最后加法运算。采用时序逻辑设计方法,电路将部分已经得到的乘积结果右移,然后与乘积项相加并保存和值,反复迭代上述步骤直到计算出最终乘积。好处:利用时序逻辑设计方法可以使整体设计具备流水线结构的特征,能适用在各种实际工程设计中。数据吞吐量使指芯片在一定时钟频率条件下所能处理的有效数据量。假设时钟频率为300MHz,由于芯片完成一次乘法运算需要1个以上的时钟周期,因此,即使芯片采用300MHz的时钟频率,它每秒钟所能处理的有效数据吞吐量也一 阅读全文

posted @ 2012-05-16 17:04 zhliao 阅读(1625) 评论(0) 推荐(0)
FPGA最小系统

摘要: 以下电路参考BINGO设计的最小系统:芯片,电源,外部时钟,复位电路,下载与调试电路,存储器。1 芯片的设计:管脚的兼容性。器件的选择:成本的维护(包括硬件和软件),并非越先进越好。芯片管脚的制定原则:依据PCB布局;专用I/O处理。锁相环管脚的处理(分频和倍频)。2 电源线性电源和开关电源。3 外部时钟(一般用晶振)4 复位电路(一般低电平复位)芯片复位和阻容复位。5 下载与调试电路(JTAG和AS)最小系统测试流程:1 短路/断路测试2 电源电压测试3 下载模式测试4 其他接口依次测试FPGA型号的含义:最小系统的组成电路(部分):主芯片(EPM240GT100C5)【EPM570需要接四 阅读全文

posted @ 2012-05-16 16:25 zhliao 阅读(1600) 评论(0) 推荐(0)

2012年5月14日

VHDL模板

摘要: 摘自alter在线视频的ppt常量-命名相关值-常量声明 CONSTANT <name> : <DATA_TYPE> := <value>; CONSTANT bus_width : INTEGER := 16;-执行代码不能改变它-提高代码的可读性-提高代码的灵活性信号-表示物理互联(线)的信号,实现进程之间的通信(函数)-信号可以在封装,实体和体系结构中进行声明为信号赋值SIGNAL temp : STD_LOGIC_VECTOR (7 DOWNTO 0);-所有比特: temp <= "10101010"; temp < 阅读全文

posted @ 2012-05-14 13:27 zhliao 阅读(866) 评论(0) 推荐(0)

2012年5月13日

VHDL基础

摘要: 行为建模----由其输入输出响应描述的组件-只有电路功能,没有结构-没有专门的硬件目标结构化建模----由底层互联组成和原语描述的组件-电路功能和结构-要求明确的硬件实现寄存器传送级(RTL)----出于综合目的的一类行为建模-硬件是隐含的或者推断的-可综合综合----将HDL译成电路,然后对表征电路进行优化进程----VHDL中执行的基本单元VHDL基础-两种构建方法:综合和仿真-VHDL语言包括保留关键字-语言的大部分对条件不敏感-VHDL声明以;结束-VHDL对空白不敏感。用于提高可读性-VHDL中的注释以"--"开始,到eol结束VHDL设计单元-实体:用于定义模型 阅读全文

posted @ 2012-05-13 15:41 zhliao 阅读(594) 评论(0) 推荐(0)