时钟信号

iic与spi这两种通讯协议

ぃ、小莉子 提交于 2019-11-30 07:57:29
IIC vs SPI 现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral Interface)的身影。原因是这两种通信协议非常适合近距离低速芯片间通信。Philips(for IIC)和Motorola(for SPI) 出于不同背景和市场需求制定了这两种标准通信协议。IIC 开发于1982年,当时是为了给电视机内的CPU和外围芯片提供更简易的互联方式。电视机是最早的嵌入式系统之一,而最初的嵌入系统是使用内存映射(memory-mapped I/O)的方式来互联微控制器和外围设备的。要实现内存映射,设备必须并联入微控制器的数据线和地址线,这种方式在连接多个外设时需大量线路和额外地址解码芯片,很不方便并且成本高。为了节省微控制器的引脚和和额外的逻辑芯片,使印刷电路板更简单,成本更低,位于荷兰的Philips实验室开发了 ‘Inter-Integrated Circuit’,IIC 或 IIC ,一种只使用二根线接连所有外围芯片的总线协议。最初的标准定义总线速度为100kbps。 经历几次修订,主要是1995年的400kbps,1998的3.4Mbps。有迹象表明,SPI总线首次推出是在1979年,Motorola公司将SPI总线集成在他们第一支改自68000微处理器的微控制器芯片上

同步时序逻辑电路、异步时序逻辑电路都是什么呢?

你离开我真会死。 提交于 2019-11-30 07:41:17
   时序逻辑电路 分为同步时序逻辑电路和异步时序逻辑电路两大类:   在 同步时序逻辑电路 中有一个公共的时钟信号(共享的系统时钟 Sys_Clk)(从一到多,可以理解为时钟树 Clock Tree),电路中各记忆元件受它严格的统一控制,只有在该时钟信号有效沿(上升沿或者下降沿)到来时,记忆元件的状态才会发生变化,从而使得时序电路的输出发生变化,并且一个时钟信号有效沿只对应一次记忆元件的状态和电路输出状态的改变。也就是说,改变后的状态将一直保持到下一个时钟脉冲的到来,此时无论外部输入 X 有无变化,状态表中的每个状态都是稳定的。(比如 D 触发器,只有当上升沿到来时,寄存器才把 D 输入端的数据(高低电平)传到 Q 输出端。)   同步时序逻辑中最基本的储存元件是触发器。   同步逻辑是时钟之间有固定的因果关系。   同步时序逻辑的核心逻辑用触发器实现,电路的主要信号、输出信号灯都由某个时钟沿驱动产生。可以很好的避免毛刺,利于器件移植,有利于 STA、验证设计时序性能。   在 异步时序逻辑电路 中不存在单一的主控时钟,其工作节奏不一致,主要是用于产生地址译码器、FIFO 和异步 RAM 的读写控制信号脉冲。除了可以使用带时钟的触发器外,还可以使用不带时钟的触发器和延迟元件作为存储元件。由于异步电路没有统一的时钟,所以状态变化的时刻是不稳定的

FIFO

主宰稳场 提交于 2019-11-30 07:01:20
FIFO是一种先入先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常方便,但缺点是只能顺序的写入数据、读出数据,其内部地址是由内部读写指针自动加1完成,不能像普通存储器那样由地址线读取或者写入某个地址。 FIFO一般用于不同时钟域之间的数据传输,比如FIFO的一端是AD数据采集,另一端是计算机的PCI总线,假设AD采集的速率是16位100K sps,那么每秒的数据量为100K x 16bit=1.6Mbps,而PCI总线的速度为33MHZ,总线宽度是32bit,其最大传输速率为1056Mbps,在两个不同的时钟域间采用FIFO作为数据缓冲。另外对于不同宽度的数据接口也可以用FIFO,例如单片机的8位数据输出。 FIFO的分类根据FIFO工作的时钟域,分为同步FIFO和异步FIFO。同步FIFO是指读写时钟为同一时钟。在时钟沿来临时同时发生读写操作。异步FIFO是指读写时钟不一致,读写时钟相互独立。 FIFO设计的难点在于怎么判断FIFO的空满状态。为了保证数据正确的写入和读出,而不发生溢出或读空的状态出现,必须保证FIFO在满的情况下,不能进行写操作。在空的状态下不能进行读操作。 同步FIFO的实现代码: 1 module fifo( //信号定义---读、写、data_in,data_out,clk,复位,空,满 2 input [7:0] datain

关于模拟化数字化仪的触发和同步

人盡茶涼 提交于 2019-11-30 00:11:28
介绍 数字化仪用于将电信号转换为一系列测量值,然后输出为幅度值随时间变化的数字数组。为了使这些信息有用,时间信息通常与特定参考点相关,参考点通常是触发位置。触发点可以是从测量信号中引用,也可以来自其他外部源。触发功能是将时间测量值与特定的已知时间点联系起来。对于重复信号,触发器必须稳定才能将一次采集的测量结果与其他采集进行比较。当将多个数字化仪或相关的采集仪器集成到一个多通道系统中时,只有当所有通道都参考公共时间轴时,才能得到较好的数据。这要求系统的数据采集元件与由同一事件触发的所有数字化仪通道的时间同步。本应用笔记将重点介绍触发和同步的相关内容。 触发 触发是仪器采集和数字化信号的基本功能。最常见的触发方法是使用数字化仪某个通道的输入信号。基本原理是检测到波形上的定义点,并将此“触发事件”标记为已采集数据上的一个已知位置。图1提供了一个基本的边沿触发的例子。信号源是输入通道,触发事件发生在波形上升沿越过 500mV 的触发电平时。当触发事件发生时,已采集信号上的位置被标记为时间轴上的零时间点,如图中的光标位置所示。如果信号是重复的,每次进行新采集时,数字化仪都会在同一点触发,从而实现稳定的显示。 图1 信号波形,电平和时序的范围变化较大,所以要求数字化仪触发电路非常灵活。图2显示了 M4i.4451系列数字化仪的触发“引擎”的框图。它提供了现代数字化仪支持的多种触发条件的示例。

MII、RMII、GMII接口的详细介绍

我怕爱的太早我们不能终老 提交于 2019-11-29 21:32:54
概述: MII (Media Independent Interface(介质无关接口)或称为媒体独立接口,它是IEEE-802.3定义的以太网行业标准。它包括一个数据接口和一个MAC和PHY之间的管理接口。 数据接口包括分别用于发送器和接收器的两条独立信道,每条信道都有自己的数据、时钟和控制信号。MII数据接口总共需要16个信号。 管理接口是个双信号接口:一个是时钟信号,另一个是数据信号。通过管理接口,上层能监视和控制PHY。MII (Management interface)只有两条信号线。 MII标准接口用于连接Fast Ethernet MAC-block与PHY。表明在不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常工作。在其他速率下工作的与MII等效的接口有:AUI(10M 以太网)、GMII(Gigabit 以太网)和XAUI(10-Gigabit 以太网)。 MII总线 在IEEE802.3中规定的MII总线是一种用于将不同类型的PHY与相同网络控制器(MAC)相连接的通用总线。网络控制器可以用同样的硬件接口与任何PHY进行连接。 MII相关接口介绍: 以太网媒体接口有:MII RMII SMII GMII 所有的这些接口都从MII而来,MII是(Medium Independent Interface)的意思,是指不用考虑媒体是铜轴、光纤

移位寄存器的 IP核调取及应用

六眼飞鱼酱① 提交于 2019-11-29 13:20:25
写在前面的话 做很多图像算法的时候 , 我们经常需要用到模板运算 (如 sobel 图像边缘检测、中值滤波、均值滤波等等),处理这些问题的时候,我们可以借助 altera 提供的移位寄存器 IP 核来简化我们的设计,从而提高设计效率。本节,梦翼师兄和大家一起学习这个适合用于模板运算的移位寄存器 IP 核的用法。 功能要求 假设数据在一个ROM中以如下图所示的方式存放,列加行的值作为该数的地址(如e的地址就是8+1=9)。 address 0 1 2 3 4 5 6 7 0 a d g j m p aa bb 8 b e h k n q dd cc 16 c f i l o r ee ff 24 s t u v w rr gg hh …… y z uu vv ww qq ii jj 在图像处理领域,要实现Sobel或者均值滤波等算法,则需要按照3*3矩阵的格式提取数据,如下图所示:(现在想要每次取出3列数据为一组,如第一列数据:a、b、c 第二列数据:d、e、f 第三列数据:g、h、i) 解决方案:在这儿我想给大家介绍一个叫做Shift_register的 IP 核来实现这种功能,而且还有很重要的一点就是我们可以利用这种方法来实现流水线操作,我们暂且就将其看做是移位寄存的 “FIFO”吧。 如果我们将该IP 核配置成如下图所示的两个 “FIFO”

进阶项目(5)DDS程序设计

限于喜欢 提交于 2019-11-29 12:31:55
写在前面的话 DDS是直接数字式频率合成器(Direct Digital Synthesizer)的英文缩写。与传统的频率合成器相比,DDS具有低成本、低功耗、高分辨率和快速转换时间等优点,广泛使用在电信与电子仪器领域,是实现设备全数字化的一个关键技术。 项目需求 设计一个相位和频率可调的波形(正弦波)发生器。 项目 分析 问题 1:什么是波形发生器? 波形发生器是一种数据信号发生器,在调试硬件时,常常需要加入一些信号,以观察电路工作是否正常。加入的信号有:正弦波、三角波、方波和任意波形等等。 问题 2:什么是相位可调? 相位 (phase)是对于一个 波 ,特定的时刻在它 循环 周期中的 位置 :一种它是否在 波峰 、 波谷 或它们之间的某点的标度。相位描述信号波形变化的 度量 ,通常以度 (角度)作为单位,也称作 相角 。 当信号波形以周期的方式变化,波形循环一周即为 360°。那么相位可调也可以简单的理解为:改变初始相位。 问题 3:什么是频率可调? 频率,是单位时间内完成 周期性变化 的 次数 ,是描述周期运动频繁程度的量,常用符号 f 或 ν 表示,单位为秒分之一,符号为 s -1 。频率可调也就是改变单位时间内完成周期性变化的次数。 系统 架构 我们 应该先把完整的波形数据放在 rom 里面,然后用一个控制器把 rom 里面的数据读出来,设计架构图如下: 模块功能介绍

读写储存器RAM IP核的调取及应用

白昼怎懂夜的黑 提交于 2019-11-29 12:26:51
写在前面的话 在很多时候 , 我们需要将采集得到的数据先存储起来 ,等到了需要的时候再调用。如果是这种情况,那么就要求我们的存储器必须可读可写。本节,梦翼师兄就和大家一起学习 FPGA 可读写存储器 IP 核 -RAM 的使用。 项目 需求 设计一个 RAM 控制器,该控制器负责对 RAM 进行读写操作,首先将数据写入 RAM ,然后再将数据全部读出。如果读出的数据和写入的数据完全一致,说明我们的操作和设计正确。 操作步骤 在右侧的 IP 核搜索区,输入 ram ,在菜单栏找到并双击【 RAM : 1-PORT 】 选择语言类型为 Verilog ,并命名,点击【 OK 】 设置 ram 的存储深度和每一个存储空间的比特位数,然后点击【 NEXT 】 把 【q output port】 前面的对钩取消掉(如果不取消掉就会在输出端口生成寄存器,输出就会慢一拍,这里我们不需要它慢一拍),然后点击 【NEXT】 一直点击【 NEXT 】,直到如下界面,选择 my_ram_inst.v ,点击【 Finish 】,完成对 ram 的设置 顶层架构设计 RAM 是可读写的存储器,我们用一个控制模块 向ram 中写入数据,然后读出。 模块功能介绍 模块名 功能描述 Ram_control Ram控制器,对my_ram进行读写 My_ram ram存储器IP核 ram 系统顶层模块

只读储存器ROM IP核设计

守給你的承諾、 提交于 2019-11-29 11:06:08
写在前面的话 在项目设计中,我们通常需要使用一些固定的数据。如果是使用单片机,那么在数据量比较大的情况下,这些数据就必须存储在外挂的存储芯片中 。那么,使用 FPGA呢?在数据量不是特别大的情况下,我们可以将这些数据存储到FPGA片内的存储器中,这样既节约了板级成本,又可以保证数据不容易受到外界干扰。那么本节,梦翼师兄和大家一起学习FPGA只读存储器IP核-ROM的设计。 项目需求 设计一个 ROM控制器,该控制器负责输出0-255递增的地址数据,将此地址总线连接到ROM地址输入端,查看ROM输出的数据是否正确 操作步骤 由于 ROM 是只读存储器 , 也就是说 , 我们不能对其内部写入外部数据 , 那么 , 我们 就需要 创建一个 ROM 的数据初始化文件 mif 文件( mif 文件用来存放初始数据) 定义位宽和深度(这里我们选择位宽为 8 位,深度为 256 ) 填充数据(在这里我们用软件自带的一种的填充数据的方式,填充上 0 到 255 ,大家自己在项目中应用的时候,应该填充上自己所需要的初始值)。 mif 文件建立成功(地址从 0 到 255 ,数据从 0 开始,每次增加 1 ,所以此时的 mif 文件中存放的是 0 到 255 )。 在右侧的 IP 核搜索的编辑区,输入 rom ,在菜单栏找到并双击 rom (在这里我们使用单端口的 rom ,双端口的 rom

单片机综合练习 - 多功能时钟

大兔子大兔子 提交于 2019-11-29 06:33:27
结合前几天来写过的文章, 今天总算写了一个功能较多的应用 - 多功能时钟, 集时钟, 秒表, 温度计一体. 基础文章: 1. 单片机练习 - DS18B20温度转换与显示 2. 用C51编写单片机延时函数 3. 单片机练习 - 定时器 4. 单片机练习 - 计时器 实验板: TX-1B实验板 6位数码管与单片机的连接电路图 按键S2, S3与单片机的连接电路图: 其中S2与P3.4连, S3与P3.5连接... DS18B20与单片机连接电路图: 具体按键功能分配请看源代码注释部分: 多功能时钟 1 // 多功能时钟, 精确到小数0.01秒, 即10ms 2 // 功能: 时钟, 秒表, 温度计 3 4 /**/ /* 5 S5键为功能选择键, 上电默认使用时钟功能 6 功能顺序为: 时钟, 温度计, 秒表 7 8 mode = 1. 时钟(每次掉电后都要重新设置时间) 9 1)当选中时钟功能时, 具体按键功能如下: 10 11 2)可设置时分秒, 时利用发光二极管显示, 分秒用数码管显示 12 13 3)时钟: 采用定时器0计时, 工作方式1 14 15 mode = 2. 时钟设置模式 16 当选中时钟设置模式 17 S2为位选, S3为增加选中位的值 18 S4确定更改, S5放弃更改, 进入秒表模式 19 20 mode = 3. 秒表 21 1)当选中秒表功能时,