NXP半导体(原Philips半导体)于20多年前发明了一种简单的双向二线制串行通信总线,这个总线被称为Inter-IC或者I2C总线。目前I2C总线已经成为业界嵌入式应用的标准解决方案,被广泛地应用在各式各样基于微控器的专业、消费与电信产品中,作为控制、诊断与电源管理总线。多个符合I2C总线标准的器件都可以通过同一条I2C总线进行通信,而不需要额外的地址译码器。
上传时间: 2014-12-27
上传用户:ifree2016
一、DVCC-51NET实验仪系统部分原理系统部分原理图如下图所示,系统部分由CPU8XC51、上电复位电路、低位地址锁存器74LS373、地址译码器74LS138、仿真插座、全部总线(P0口作数据总线D0~D7、经74LS373锁存输出的低位地址线A0~A7、P1口、P2口作高位地址总线A8~A15、P3口)引出插孔、用户晶振插座等组成。CPU8X51位置在仿真调试用户实验程序时,用于接入小仿真器;对调试好的实验程序,可以由专用编程器写入CPU8X51芯片后直接插入该位置,即可独立运行用户实验程序。
上传时间: 2014-12-27
上传用户:alex wang
多功能高集成外围器件6. 1 多功能高集成外围器件82371PCI的英文名称:Peripheral Component Interconnect (外围部件互联PCI总线);82371是PCI总线组件。ISA是:Industry Standard Architecture(工业标准体系结构)IDE是 (Integrated Device Electronics)集成电路设备简称PIIX4PIIX4器件(芯片)的特点1、是一种支持Pentium和PentiumII微处理器的部件。2、82371对ISA桥来说,是一种多功能PCI总线。3、对可移动性和桌面深绿色环境均提供支持。4、电源管理逻辑。5、被集成化的IDE控制器。6、增强了性能的DMA控制器。(7)基于两个82C59的中断控制器。(8)基于82C54芯片的定时器。(9)USB(Universal Serial Bus)通用串行总线。(10)SMBus系统管理总线。(11)实时时钟(12)顺应Microsoft Win95所需的功能其芯片的逻辑框图如图6-1所示。 PIIX4芯片逻辑框图6.1.1 概述PIIX4芯片是一个多功能的PCI器件,图6-2 是82371在系统中扮演的角色。(续上图)1. PCI与EIO之间的桥(PIIX4芯片)桥是不对程的,是各类不同标准总线与PCI总线连接,82371AB桥也可理解为一种总线转换译码器和控制器,桥内包含复杂的协议总线信号和缓冲器。(1).在PCI系统内,当PIIX4操作时,它总是作为系统内各种模块的主控设备,如USB和DMA控制器、IDE总线和分布式DMA的主控设备等,而且总是以ISA主控设备的名义出现。(2). 在向ISA总线或IDE总线进行传送操作的传送周期期间作为从属设备使用,并对内部寄存器译码。PIIX4芯片(桥)的配置(1).可以把PIIX4芯片配置成整个ISA总线,或ISA总线的子集,也可扩展成EIO总线。在使用EIO总线时,可以把未使用的信号配置成通用的输入和输出。(2).PIIX4可直接驱动5个ISA插槽;(3).能提供字节-交换逻辑、I/O的恢复支持、等待状态的生成以及SYSCLK的生成。(4).提供X-BUS键盘控制器芯片、BIOS芯片、实时时钟芯片、二级微程序器等的选择。2. IDE接口(总线主控设备的权利和同步DMA方式)IDE接口为4个IDE的设备提供支持,比如IDE接口的硬盘和CD-ROM等。注意:目前硬盘接口有5类:IDE、SCSI、Fibre Channel、IEEE1394和USB等。IDE口几乎在PC机最多,因为便宜。SCSI多用于服务器和集群机。IDE的PIO IDE速率:14MB/s;而总线主控设备IDE的速率:33MB/s在PIIX4芯片的IDE系统内,配有两个各次独立的IDE信号通道。3. 具有兼容性的模块—DMA、定时器/计数器、中断控制器等(1)在PIIX4内的两各82C37 DMA控制器经逻辑的组合,产生7个独立的可编程通道。通道[0:3]是通过与8个二进位的硬件连线实现的。通过以字节为单位的计数进行传送。而通道[5:7]是通过16个二进位的连线实现的,以字为单位的计数进行传送。(2)DMA控制器还能通过PCI总线,处理旧的DMA的两个不同的方法提供支持。(3)计数/定时器模块在功能上与82C54等价。(4)中断控制器与ISA兼容,其功能是两个82C59的功能之和。
上传时间: 2013-11-19
上传用户:3到15
第6章 定时与计数技术6.1 概 述1.定时 定义:提供的时间基准。 分类:内部定时、外部定时。2.计数 定时与计数本质上是一致的。 计数的信号随机,定时的信号具有周期性。3.应用分时系统切换任务的时间基准、测速、计数6.1.2 定时方法1.软件定时 通过软件指令周期方法定时,如执行循环程序。 增加CPU负担,通用性差,一般用于短延时。2.不可编程硬件定时 采用中小规模IC构成。 不增加CPU负担,成本低,定时值不可改变。3.可编程硬件定时 采用可编程计数器完成,软件可改变计数值。 可编程定时/计数器:实质上定时和计数本质上都是脉冲计数器,定时计的是内部基准时钟源产生的脉冲,计数是计外部脉冲。6.1.3 定时/计数器基本原理1.内部逻辑CPU接口: 片选、低端地址线、读写控制线、数据线外设接口: 时钟、控制、输出内部逻辑: 端口地址译码器、各种寄存器2.工作过程 设初值、控制(计数)、输出
上传时间: 2013-11-07
上传用户:yuzsu
1 概述由于在某些通讯设计应用中,需要扩展更多的串口数量,比如车床监控、纺织仪器检测和网状连接的数据采集等应用。为此成都国腾微电子有限公司推出的GM814x 可以满足多个同类产品的并联扩展,并且能简单的实现电路连接和程序控制,主MCU 可以识别数据的来源和指定和某个GM814x 通信。2 应用说明2.1 CS 与SPI 的数据通信GM814x 的CS(片选)引脚可用于控制SPI 总线时钟有效性,CS 低电平有效,内部下拉。CS 有效时,允许芯片的时钟接收和数据收发;无效时,SCLK、DIN 和DOUT 均为高阻状态,GM814x 不响应SPI 上的数据收发,但能正常收发子串口数据和产生相应中断。2.2 应用建议当使用GM814x 的应用需要扩展4 个以上的串口数量时,就需要使用2 片以上的GM814x。扩展的方式也有多种。方式一:将多个GM814x 的SPI 接口接在主MCU 的SPI 总线上,然后将所有GM814x 的中断进行线与后连接到MCU 的IRQ 上,同时将各GM814x 的IRQ 输出又连接到MCU的IO,以便MCU响应中断后检测是具体哪一个GM814x 输出的中断,然后再拉低对应的CS,拉高其它GM814x的CS,并执行通信操作。方式二:如果扩展的GM814x 数量较多,采用上述扩展方式可能会占用MCU较多的IO 资源,则可以将GM814x 的中断输出连接到具有OC 输出的与门芯片上,再输出到MCU 的中断输入。同时又将所有的GM814x 的中断输出进行编码输入到MCU,以供其判断产生中断的是哪一个GM814x。方式三:将所有GM814x 的中断输出连接到优先编码器进行编码输出,同时编码器也能输出低电平信号给MCU 作为中断响应。MCU 检测编码数据以获知产生中断的GM814x,然后进行数据通信处理。这种方式电路最简单,占用MCU 的IO 资源也最少。 举例:使用MCS51 单片机扩展8 片GM814x。本电路中,采用了上述提到的第三种扩展方式。通过普通的MCS51 单片机扩展最多8 片GM814x,可扩展最多32 个标准串口。为了节省MCU的IO 资源,电路中增加了一片8-3 线优先编码器74LS348 和一片3-8 线译码器74HC138。8 片GM814x 的IRQ 中断通过一片74LS348 输出中断源向量,同时产生GS 低电平信号到MCS51 的外部中断0 上,MCS51 响应中断后,可查询A0~A2 的值确定产生中断的GM814x,然后MCU 使能74HC138,输出对应的ABC 信号选中产生IRQ 信号的GM814x,再进行SPI 总线上的数据通信。 示例程序:本示例程序使用C 语言描述,仅供参考。 由于74LS348 是优先编码器,多个中断同时产生的时候,74LS348 的编码只会指示输入编号上最高的IRQ,MCU 无法直接获知是否其它的GM814x 也产生了中断。同时GM814x 在自己的中断申请后,数据传输到第8bit 时会自动清除,所以数据接收完后如果MCU 的中断引脚仍然为低,则表示还有其它GM814x 的中断申请,故必须在处理完当前中断后继续查询新的中断向量。这就是上述示例程序中while 循环的目的。 以上应用建议仅供设计者参考,不代表最终实现方式,更可靠和实际的实现方式可由设计者根据自己的实际情况确定。l 示例中的数据、参数和标志字命名不代表实际产品的特性,请参考实际产品的数据手册来获取你所需要的数据。
上传时间: 2013-10-26
上传用户:suicoe
Turbo码是一种低信噪比条件下也能达到优异纠错性能的信道编码。早期为了强调Turbo码接近香农限的优异性能,研究的码字长度非常大[1~2],存在译码复杂度大、译码时延长等问题。突发数据通信以传输中小长度的数据报文业务为主,所以突发通信中的Turbo码的码长也是中等长度以下的。本文面向突发数据通信中的信道编码应用,研究了短帧长Turbo码编译码算法的FPGA实现。实现中采用了优化的编译码算法,以降低译码复杂度和译码延时。最后仿真和测试了Turbo译码器的纠错性能和吞吐量。
上传时间: 2013-12-09
上传用户:yuchunhai1990
通用阵列逻辑GAL实现基本门电路的设计 一、实验目的 1.了解GAL22V10的结构及其应用; 2.掌握GAL器件的设计原则和一般格式; 3.学会使用VHDL语言进行可编程逻辑器件的逻辑设计; 4.掌握通用阵列逻辑GAL的编程、下载、验证功能的全部过程。 二、实验原理 1. 通用阵列逻辑GAL22V10 通用阵列逻辑GAL是由可编程的与阵列、固定(不可编程)的或阵列和输出逻辑宏单元(OLMC)三部分构成。GAL芯片必须借助GAL的开发软件和硬件,对其编程写入后,才能使GAL芯片具有预期的逻辑功能。GAL22V10有10个I/O口、12个输入口、10个寄存器单元,最高频率为超过100MHz。 ispGAL22V10器件就是把流行的GAL22V10与ISP技术结合起来,在功能和结构上与GAL22V10完全相同,并沿用了GAL22V10器件的标准28脚PLCC封装。ispGAl22V10的传输时延低于7.5ns,系统速度高达100MHz以上,因而非常适用于高速图形处理和高速总线管理。由于它每个输出单元平均能够容纳12个乘积项,最多的单元可达16个乘积项,因而更为适用大型状态机、状态控制及数据处理、通讯工程、测量仪器等领域。ispGAL22V10的功能框图及引脚图分别见图1-1和1-2所示。 另外,采用ispGAL22V10来实现诸如地址译码器之类的基本逻辑功能是非常容易的。为实现在系统编程,每片ispGAL22V10需要有四个在系统编程引脚,它们是串行数据输入(SDI),方式选择(MODE)、串行输出(SDO)和串行时钟(SCLK)。这四个ISP控制信号巧妙地利用28脚PLCC封装GAL22V10的四个空脚,从而使得两种器件的引脚相互兼容。在系统编程电源为+5V,无需外接编程高压。每片ispGAL22V10可以保证一万次在系统编程。 ispGAL22V10的内部结构图如图1-3所示。 2.编译、下载源文件 用VHDL语言编写的源程序,是不能直接对芯片编程下载的,必须经过计算机软件对其进行编译,综合等最终形成PLD器件的熔断丝文件(通常叫做JEDEC文件,简称为JED文件)。通过相应的软件及编程电缆再将JED数据文件写入到GAL芯片,这样GAL芯片就具有用户所需要的逻辑功能。 3.工具软件ispLEVER简介 ispLEVER 是Lattice 公司新推出的一套EDA软件。设计输入可采用原理图、硬件描述语言、混合输入三种方式。能对所设计的数字电子系统进行功能仿真和时序仿真。编译器是此软件的核心,能进行逻辑优化,将逻辑映射到器件中去,自动完成布局与布线并生成编程所需要的熔丝图文件。软件中的Constraints Editor工具允许经由一个图形用户接口选择I/O设置和引脚分配。软件包含Synolicity公司的“Synplify”综合工具和Lattice的ispVM器件编程工具,ispLEVER软件提供给开发者一个简单而有力的工具。
上传时间: 2013-11-17
上传用户:看到了没有
C++完美演绎 经典算法 如 /* 头文件:my_Include.h */ #include <stdio.h> /* 展开C语言的内建函数指令 */ #define PI 3.1415926 /* 宏常量,在稍后章节再详解 */ #define circle(radius) (PI*radius*radius) /* 宏函数,圆的面积 */ /* 将比较数值大小的函数写在自编include文件内 */ int show_big_or_small (int a,int b,int c) { int tmp if (a>b) { tmp = a a = b b = tmp } if (b>c) { tmp = b b = c c = tmp } if (a>b) { tmp = a a = b b = tmp } printf("由小至大排序之后的结果:%d %d %d\n", a, b, c) } 程序执行结果: 由小至大排序之后的结果:1 2 3 可将内建函数的include文件展开在自编的include文件中 圆圈的面积是=201.0619264
标签: my_Include include define 3.141
上传时间: 2014-01-17
上传用户:epson850
卷积码的C源程序,包括编码器和译码器。 还有一个是循环荣誉校验的vhdl]源码。
上传时间: 2015-04-15
上传用户:qq21508895
源代码\用动态规划算法计算序列关系个数 用关系"<"和"="将3个数a,b,c依次序排列时,有13种不同的序列关系: a=b=c,a=b<c,a<b=v,a<b<c,a<c<b a=c<b,b<a=c,b<a<c,b<c<a,b=c<a c<a=b,c<a<b,c<b<a 若要将n个数依序列,设计一个动态规划算法,计算出有多少种不同的序列关系, 要求算法只占用O(n),只耗时O(n*n).
上传时间: 2013-12-26
上传用户:siguazgb