导航:首页 > 电器电路 > 内存应用电路

内存应用电路

发布时间:2022-06-11 22:32:06

① 电脑内存条电路怎么学

内存条的电路。。。参见数字电路

② 求解:外存与内存间数据交换的具体过程

摘 要: 直接内存存取(DMA)是DSP芯片中用于快速数据交换的重要技术,对AD公司的浮点系列芯片ADSP2106x中的DMA的应用进行了详细介绍,并给出实际应用中的一些例子。
关键词: DMA 浮点系列芯片ADSP2106x
1 DMA概述
直接内存存取(DMA)对计算机系统是非常重要的。它可以使CPU在运行指令的同时,系统能实现从外部存储器或设备中存取数据,也可以在CPU不参与的情况下,由专用的DMA设备存取数据。
对于浮点DSP芯片来讲,DMA的作用更是重要。众所周知,DSP芯片主要是面向实时的信号处理,其核心的运算部件具有很高的运算速度,常以MFLOPS(每秒百万次浮点运算)来衡量。ADSP2106x为120MFLOPS,但该速度是以存储在芯片内部存储器中的程序和数据为前提的。在DSP内部往往采用多总线的哈佛结构,数据总线和程序总线相互独立,即指令的存取和数据的存取并行不悖;另外在ADSP2106x内部还有各种接口总线,用以提高数据的流通能力。但在芯片的外部,所有的总线都合并在一起了。因此为了发挥DSP核心运算单元的高速运算能力,首先必须把程序和数据传输到芯片的内存中,这通常需要DMA操作来实现。
另一方面,DSP系统总要与各种外部信号打交道,它从外部输入数字信号,经过各种算法的处理后,再输出给其他设备。不仅如此,对于浮点DSP系统,数据的输入和输出常常是连续不断的。试想,如果用DSP的核心部件来完成数据的输入和输出,它高速的运算能力又如何发挥得出来呢?所以,浮点系列的DSP芯片大都把DMA控制部分直接集成到了芯片上,用DMA来完成数据的输入和输出。
高效的DSP系统通常采用图1所示的结构。在内存中开辟出四块缓存区,两个作为输入缓存,两个作为输出缓存,用来实现输入、输出的乒乓切换。核心处理单元直接从输入缓存中取数运算,然后把运算结果写入输出缓存;而数据从外部接口的输入和输出则完全由DMA来实现,不需核心处理单元的参与。只要核心处理单元的运算速度和DMA的数据率满足要求,图1所示的结构就可以完成连续的数据流输入和输出。当然,从外部看,数据的输入和输出是连续的,但在芯片内部却是分段处理的。分段处理虽然带来一些误差,但只要缓存的数据足够长,就可以使误差降到允许的范围。因为间隔越长,前后数据间的相关性越小,相互间的影响就越小,故分段处理是可行的。由于分段处理,也给DSP芯片的结构带来了一个重要影响,那就是尽可能地增加其内部存储器的容量。对于ADSP21060,其内部的SRAM容量达4Mbit,可以满足大多数分段处理的需要。
下面首先对ADSP2106x中的DMA做概要介绍,然后对几种典型的DMA操作进行详细分析。
2 ADSP2106x中的DMA
ADSP2106x中的片内DMA控制器可以同时控制10个通道的DMA,完成下列类型的数据传输操作:
·内存外存或外部存储器映射设备
·内存其他ADSP2106x的内存
·内存主机接口
·内存串行口
·内存Link口
·内存外部设备
·外存外部设备
丰富的数据流向可以使ADSP2106x实现对各种外设的接口;另外,由于ADSP2106x的内存是双口SRAM,因此在进行上述DMA操作的同时,核心处理单元仍可以读写内存,使DMA操作与内部运算处理达到高度的并行性。当然,应尽量避免二者同时对同一内存地址进行读写。
每个DMA通道都有一个(或两个)用FIFO实现的数据缓存器,最大的缓冲深度为6级,用以提高DMA数据传输率。所有的DMA数据传输都是通过这10个数据缓存器来完成的,这些缓存器如表1所示。其中通道1、3、6、7都是两个缓存器共用一个DMA通道。所有数据缓存器作为I/O寄存器被映射到内存的前256个地址中。
DMA的编程是通过内部核心处理单元或外部主机对片内有关的I/O寄存器设置来实现的,这些I/O口寄存器也被映射到内存的前256个地址上。与DMA操作有关的I/O寄存器除了前面的数据缓存器外,主要还包括:
·DMA控制寄存器:DMAC6~9,LCTL,STCTL0~1,SRCTL0~1。
·地址-计数寄存器:II0~9,IM0~9,C0~9,EI6~9,EM6~9,EC6~9。
·链式操作指针寄存器:CP0~9。
·二维操作寄存器(也可作DMA通用寄存器):GP0~9,DA0~5,DB0~5。
·DMA状态寄存器:DMASTAT。
DMA设置传输过程一般如下:
(1)设置对应通道的地址-计数寄存器。
(2)设置对应通道的DMA控制寄存器,并将其中的DMA使能位设为有效。
(3)开始DMA数据传输。
(4)DMA传输结束后,产生对应的中断,程序对中断进行处理。
3 几种常用的DMA操作
在基于ADSP2106x的DSP系统的开发过程中,最常用到以下几种DMA操作:内存与外存、内存与主机、内存与外设、内存与Link口间的数据交换。
3.1 内存与外存间的DMA
内存与外存间的DMA传输可用DMA通道6~9这四个通道中的任一个。这里用一个例子来说明,假如要把内存地址0x26000~0x263ff中的1024个数用DMA通道6传送到外存0x400000~4003ff中,可用下面的编程来实现:
/*设置内存地址-计数寄存器*/
R0=0x26000;
DM(II6)=R0; /*设置内存起始地址*/
R0=1
DM(IM6)=R0; /*设置内存地址增加值*/
R0=1024;
DM(C6)=R0 /*设置内存读数次数*/
/*设置外存地址-计数寄存器*/
R0=0x400000;
DM(E16)=R0; /*设置外存起始地址*/
R0=1;
DM(EM6)=R0; /*设置外存地址增加值*/
R0=1024;
DM(EC6)=R0; /*设置外存写数次数*/
R0=0x0205;
DM(DMAC6)=R0;;/*设置DMA控制寄存器
DMAC6*/
/*设置为Master和从内存读数方
式,并使能DMA*/
/*DMA通道6开启DMA传数操作*/
这里需要说明两点:(1)I/O寄存器不能用立即数来直接赋值,而要通过通用寄存器R0~15或USTAT0~1来赋值;(2)在ADSP2106x中,由于数据的宽度有8、16、32和48几种方式,通过DMA传输时,内存和外部接口上的宽度可以不同,因此对应的读写次数可能不同,故内部计数器和外部计数器要分别设置。
对于外部存储器映射设备,其接口地址是固定的,此时内存与该外设间DMA的编程更加简单。比如某外设的地址设在0x400000,要把内存0x26000~0x263ff中的1024个数用DMA通道6传送到该外设接口上,只需把上面程序中的EM6设为0即可。
3.2 内存与主机间的DMA
在ADSP2106x芯片上包含了一个主机(host)接口,可以使其方便地与通用16位或32位计算机相连接,此时,通用计算机就作为ADSP2106x的主机,它可对ADSP2106x的片内存储器进行访问。通常情况下,为了减少主机对ADSP2106x寻址的地址线根数,以降低硬件复杂性,主机往往只对ADSP2106x的I/O寄存器(有256个)寻址,寻址的地址线只需8根1。BittWare公司的ADSP2106xEZ-LAB开发板即采用了此种方式。在这种情况下,主机与ADSP2106x内存间的数据交换大多是通过DMA完成的。下面通过运行在微机上的一段C语言程序来说明,此时EZ-LAB板插入微机的ISA总线插槽上,微机作为ADSP2106x的主机,ADSP2106x的I/O寄存器可由微机通过ISA总线上的I/O口来访问。该程序把数据d[1024]通过DMA通道6加载到ADSP2106x内存0x26000~0x263ff中。具体程序如下:
#injclude"conio.h"
#include "def21060.h" /*ADSP I/O寄存器地址定义文件*/
#include :stdio.h"
#define ADDR 0X402 /*定义ADSP地址线对应
的ISA总线I/O口地址*/
#define DATA 0x404 /*定义ADSP数据线对应
的ISA总线I/O口地址*/
main()
 {int n,d[1024];
/*设置ADSP中DMA通道6的地址-计数寄存器及控制寄存器*/
outpw(ADDR,II6); /*寻址起始地址寄存器II6*/
outpw(DATA,0x6000);/*设置II6的低16位*/
outpw(DATA,0x2); /*设置II6的高16位*/
outpw(ADDR,IM6); /*寻址地址增加寄存器IM6*/
outpw(DATA,1); /*设置IM6的低16位*/
outpw(DATA,0); /*设置IM6的高16位*/
outpw(ADDR,C6); /*寻址计数寄存器C6*/
outpw(DATA,1024); /*设置C6的低16位*/
outpw(DATA,0); /*设置C6的高16位*/
outpw(ADDR,DMAC6); /*寻址DMA控制寄存器
DMAC6 */
outpw(DATA,0x41);/*设置DMAC6的低16位*/
outpw(DATA,0); /*设置DMAC6的高16位*/
/*ADSP的DMA通道6设为16/32位模式,
并开启就绪,等待微机传数*/
/*微机向DMA通道6的数据缓存器EPB0中连续写入数据d[.]*/
outpw(ADDR,EPB0); /*寻址DAM通道6的数
据缓存器EPB0*/
for(n=0;n<1024;n++)
 {outpw(DATA,d[n]); /*写数据d[n]*/
outpw(DATA,0); /*高16位写0*/
}
}
对以上程序需要说明的有两点:(1)ADSP2106x的地址线和数据线是通过ISA总线上两个I/O口地址(ADDR和DATA)来访问的;(2)ISA总线为16位,而ADSP2106x的I/O寄存器和内存的数据都为32位,因此微机要用高、低16位分别传输,同时把DMA6设置为16/32位模式。关于EZ-LAB的详细情况可参见文献[1]。
3.3 内存与外设间的DMA
对于某些外部设备,其输入或输出是与某个外部时钟同步的,而与ADSP2106x的读写时钟不相干。当这样的设备与ADSP2106x接口时,通常的做法是在接口端加FIFO或双口RAM,把ADSP2106x的读写与该外设的输入或输出时钟隔离开来。但ADSP2106x芯片本身提供了更灵活、更高效的方式,即DMA通道7和8的握手DMA方式(Handshake),可以完全省去FIFO或RAM,其典型应用电路如图2所示。
图中以8位数据线宽度为例,以DMA通道7为输出,对应的握手信号为DMAR1和DMAG1;以DMA通道8为输入,对应的握手信号为DMAR2和DMAG2。整个电路只用到了最常用的74273和74374芯片,外设的读写时钟最高可达40MHz。在这种握手DMA方式中,外设不占用ADSP2106x的外部地址总线。关于上面电路的详细情况,在此不再赘述。
下面给出设置握手DMA的对应程序。这里假设要从外设2中输入1024个数据到内存0x26000~0x264ff中,则需对DMA通道8进行如下编程:
/*设置内存地址-计数寄存器*/
R0=0x26000;
DM(II8)=R0; /*设置内存起始地址*/
R0=1;
DM(IM8)=R0; /*设置内存地址增加值*/
R0=1024;
DM(C8)=R0; /*设置内存写数次数*/
/*设置外存计数寄存器*/
R0=1;
DM(EM8)=R0; /*设置外存地址增加值*/
R0=1024;
DM(EC8)=R0; /*设置外存输入次数*/
R0=0x401;
DM(DMAC8)=R0; /*设置DMA控制寄存器
DMAC8*/
/*设置为Handshake和向内存写数方式,并使能DMA*/
/*DMA通道8开启,等待外设的输入时钟,每接 收到一个时钟,输入一次*/
对上面程序需要说明的是:虽然电路中没有用到外存地址,但外存计数寄存器EM7和EC7也必须设置。
如果要向外设1中输入数据,则需要对DMA7进行类似的编程。
3.4 内存与Link口间的DMA
ADSP2106x具有很强的并行工作能力,不需加任何外部仲裁电路,6片ADSP2106x和一个主机就可以很方便连在一起并行工作。它们之间的数据交换既可以通过共享的外部数据、地址总线来实现,也可采用点对点的Link口来完成。6个Link口是ADSP2106x芯片所独有的高速数据接口;每个Link口包含4根数据线、一个时钟线和一个应答信号线,最高的数据传输率为40Mbyte/s。
用Link口进行片间数据交换,通常情况下都要采用DMA方式,这样才能将其优点充分发挥。在使用DMA方式进行Link口通讯时,除了要进行地址-计数寄存器的设置外,还要进行传输速率选择寄存器(LCOM)和缓存-口配对寄存器(LAR)的设置;最后设置DMA控制寄存器LCTL,并开启DMA操作。
假设有两片ADSP2106x,它们相互间用Link5口相连;我们要把第一片内存0x26000~0x263ff中的1024个数用Link5口传输到第二片的内存0x23000~0x23fff处,则两片ADSP2106x的DMA编程设置如下:
/*第一片*/
r0=0X3f000;
dm(LCOM)=r0; /*把Link口设为2x clock*/
r0=0xfff7f;
dm(LAR)=r0; /*link port5--> link buffer2,
对应DMA通道4*/
r0=0X26000;
dm(II4)=r0; /*设置起始地址*/
r0=1024;
dm(C4)=r0; /*设置读数次数*/
r0=1;
dm(IM4)=r0; /*设置地址增加值*/
r0=0Xb00;
dm(LCTL)=r0; /*enable output DMA*/
/*第二片*/
r0=0X3f000;
dm(LCOM)=r0; /*把Link口设为2x clock*/
r0=0xfff7f;
dm(LAR)=r0; /*link port5-->link buffer 2,对
应DMA通道4*/
r0=0x23000;
dm(II4)=r0; /*设置起始地址*/
r0=1024;
dm(C4)=r0; /*设置读数次数*/
r0=1;
dm(IM4)=r0; /*设置地址增加值*/
r0=0x300;
dm(LCTL)=r0; /*enable input DMA*/
对于上面的两段程序,应分别加载到两片ADSP2106x中。需要说明的是:Link Buffer 2对应DMA通道4。如果把其他的Link Buffer与Link口5配对,则需设置与该Buffer对应的DMA通道。
ADSP2106x中DMA操作功能强大,形式多样,除了本文所介绍的部分外,还有链式DMA、二维DMA等,因此要全部掌握并熟练应用是有一定难度的。通过对各种DMA的应用,可以使数据进出芯片变得更加流畅,也可以使其核心处理单元的运算能力发挥到极致
(本文转自电子工程世界:http://www.eeworld.com.cn/designarticles/embed/200605/2612.html)

③ 台式电脑主板内存供电电路原理以及它和其他电路之间的关系求详解

说实话..这些东西你就是学会了也不能修理,,因为现在的东西都是集成的..坏了修不划算..或是不能修...主板上能修的就是换换电容..各种接口....其次其他没法修理的..我简单的说下电脑工作原理吧...主板相当人的身体....一切原件都在这个载体上运行,运行的过程就是首先CPU进行数据计算处理...通过内存条这个渠道也就是血管..把硬盘中的数据进行不断交换处理计算,,通过显卡处理成图像显示到显示器...其中电源做到一个供能作用....这就完成了一轮运行....其中有一个很小的集成程序就是BIOS烤死的在主板上的..也是能进行修改的..但是很危险...在配置一个纽扣电源组合成一个很微小的BIOS基础系统..这就是电脑最简单的系统..最根本的系统的...你慢慢理解吧...,说简单也简单,说复杂也复杂....

④ 内存条的电路问题

后面没有集成块的叫单面内存,很常见的,没有问题,只要主板能够识别就可以用。放心吧。

⑤ 内存条电路图

你不可能求到

这是商业机密

⑥ 内存供电电路

内存供电电路好像应该在主板上吧,这个东东提供两组电压一组是工作电压,一组终端电压,各主板设计不一样怎么可能只有5个器件?
知之为知之,不知为不知,内存电路实际上并不复杂,只是你要有一定的电路基础和经验!

⑦ 笔记本ddr3内存颗粒运用原理图

笔记本上面的DDr3的内存颗粒是使用,是内存条里面的这个颗粒,识别到内存里面的数据进行储存到颗粒里面进行使用数据处理之后运行软件。

⑧ 电脑常识:内存的功能是工作原理是

内存是电脑中的主要部件,它是相对于外存而言的。我们平常使用的程序,如Windows操作系统、打字软件、游戏软件等,一般都是安装在硬盘等外存上的,但仅此是不能使用其功能的,必须把它们调入内存中运行,才能真正使用其功能,我们平时输入一段文字,或玩一个游戏,其实都是在内存中进行的。通常我们把要永久保存的、大量的数据存储在外存上,而把一些临时的或少量的数据和程序放在内存上,当然内存的好坏会直接影响电脑的运行速度。内存就是存储程序以及数据的地方,比如当我们在使用WPS处理文稿时,当你在键盘上敲入字符时,它就被存入内存中,当你选择存盘时,内存中的数据才会被存入硬(磁)盘。在进一步理解它之前,还应认识一下它的物理概念。 内存工作原理 1.内存寻址 首先,内存从CPU获得查找某个数据的指令,然后再找出存取资料的位置时(这个动作称为“寻址”),它先定出横坐标(也就是“列地址”)再定出纵坐标(也就是“行地址”),这就好像在地图上画个十字标记一样,非常准确地定出这个地方。对于电脑系统而言,找出这个地方时还必须确定是否位置正确,因此电脑还必须判读该地址的信号,横坐标有横坐标的信号(也就是RAS信号,Row Address Strobe)纵坐标有纵坐标的信号(也就是CAS信号,Column Address Strobe),最后再进行读或写的动作。因此,内存在读写时至少必须有五个步骤:分别是画个十字(内有定地址两个操作以及判读地址两个信号,共四个操作)以及或读或写的操作,才能完成内存的存取操作。 2.内存传输 为了储存资料,或者是从内存内部读取资料,CPU都会为这些读取或写入的资料编上地址(也就是我们所说的十字寻址方式),这个时候,CPU会通过地址总线(Address Bus)将地址送到内存,然后数据总线(Data Bus)就会把对应的正确数据送往微处理器,传回去给CPU使用。 3.存取时间 所谓存取时间,指的是CPU读或写内存内资料的过程时间,也称为总线循环(bus cycle)。以读取为例,从CPU发出指令给内存时,便会要求内存取用特定地址的特定资料,内存响应CPU后便会将CPU所需要的资料送给CPU,一直到CPU收到数据为止,便成为一个读取的流程。因此,这整个过程简单地说便是CPU给出读取指令,内存回复指令,并丢出资料给CPU的过程。我们常说的6ns(纳秒,秒-9)就是指上述的过程所花费的时间,而ns便是计算运算过程的时间单位。我们平时习惯用存取时间的倒数来表示速度,比如6ns的内存实际频率为1/6ns=166MHz(如果是DDR就标DDR333,DDR2就标DDR2 667)。 4.内存延迟 内存的延迟时间(也就是所谓的潜伏期,从FSB到DRAM)等于下列时间的综合:FSB同主板芯片组之间的延迟时间(±1个时钟周期),芯片组同DRAM之间的延迟时间(±1个时钟周期),RAS到CAS延迟时间:RAS(2-3个时钟周期,用于决定正确的行地址),CAS延迟时间 (2-3时钟周期,用于决定正确的列地址),另外还需要1个时钟周期来传送数据,数据从DRAM输出缓存通过芯片组到CPU的延迟时间(±2个时钟周期)。一般的说明内存延迟涉及四个参数CAS(Column Address Strobe 行地址控制器)延迟,RAS(Row Address Strobe列地址控制器)-to-CAS延迟,RAS Precharge(RAS预冲电压)延迟,Act-to-Precharge(相对于时钟下沿的数据读取时间)延迟。其中CAS延迟比较重要,它反映了内存从接受指令到完成传输结果的过程中的延迟。大家平时见到的数据3—3—3—6中,第一参数就是CAS延迟(CL=3)。当然,延迟越小速度越快。

⑨ 哪个型号的主板是完整的内存供电电路

解释下:
完整的内存供电电路也采用电容、电感和场效应管(MOS管)组成。其中内存电压需要1.8V(DDR2为例)核心电压和3.3V输入和输出(I/O)电压供两路电压,这样才能保证内存的超频性能,至少也能保证多条内存同时运行的稳定。判断主板是否采用了独立供电并不难,因为完整的内存供电电路提供1.8V和3.3V两路电压,这样主板的内存供电就需要两个电感(当然若干电容和MOS管也必不可少)。部分主板仅配备单个电感,这个电感为内存提供1.8V核心电压,而内存所需要的3.3V输出输入电压则由主机电源直接提供。因此电源能否提供稳定纯净的电流则变得更加重要,而且这类主板在同时使用四条内存时,其稳定性会大打折扣。最简陋的内存供电并没有采用独立供电设计,所需电压均由电源所提供。这类主板一般仅配备两条内存插槽,因为如此简单的供电几乎不可能同时为四条内存提供必需的电压,同时这类主板的内存超频性能几乎为零。

不知道你要的是DDR2/DDR3 台式机/笔记本,没法推荐
不过你自己判断下,超频比较厉害的主板,都有。

阅读全文

与内存应用电路相关的资料

热点内容
维修费表格模板 浏览:724
临汾盛欣家具厂地址在哪里 浏览:260
小米售后服务店 浏览:963
哪里有维修油墨三辊机 浏览:102
大黑豹防水是什么品种 浏览:339
家电出口美国需要什么认证 浏览:259
星级以下酒店家具配套多少钱 浏览:261
玉林万和燃气售后电话号码 浏览:805
免砸砖防水注入什么胶 浏览:724
深圳大中华红木家具展 浏览:854
设备维修类合同什么税 浏览:909
家电城东门怎么样 浏览:112
oppo手机的售后服务中心在哪里 浏览:634
家电商场开业怎么搞活动 浏览:30
中国家用电器研究院安徽陈袁鑫 浏览:921
进场维修需要哪些安全 浏览:711
家电维修失误造成损失 浏览:24
铝模卷材怎么防水 浏览:293
南京万家乐燃气灶售后电话多少钱 浏览:728
中国有多少家电蚊香液生产厂家 浏览:272