DSP2812讲义7(研究生2013)模数转换器(ADC)_第1页
DSP2812讲义7(研究生2013)模数转换器(ADC)_第2页
DSP2812讲义7(研究生2013)模数转换器(ADC)_第3页
DSP2812讲义7(研究生2013)模数转换器(ADC)_第4页
DSP2812讲义7(研究生2013)模数转换器(ADC)_第5页
已阅读5页,还剩122页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、F2812模/数转换器(ADC)模数转换器模块的结构2812的ADC模块是一个12位分辨率的、具有流水线结构的模数转换器,具有16个通道。对于每个序列发生器,一旦转换结束,已选择采样的通道值就会被保存到各个通道的结果寄存器中去。总共有16个结果寄存器ResultReg0ResultReg15,用于分别保存16个通道的转换结果。2812内部内部ADC的特点的特点模数转换模块应用实例ADCINA2ADCINA3程序设计F2812硬件电路设计F2812封装形式与引脚定义引脚说明不同硬件模块的设计1.时钟电路F28x系列的芯片提供了两种不同的产生时钟方案:利用电路板上的内部晶体振荡器或者利用外部时钟。

2、基本外部输入的时钟频率是在20MHz-35MHz范围内。芯片上的时钟锁环既(PL L)可以来倍频输入的时钟频率连接到CLKIN引脚上的外部时钟可以和CPU工作的最大频率是一样的。CPU工作频率的范围很大,将来的所有外设的时钟信号都是从CPU时钟信号得来。一般来说对于时钟信号而言发生概率最大的频率被选择为获取最大的运行速度然而电源的消耗是和CPU的时钟频率成线性关系.内部晶振和外部晶振时钟产生电路首先要考虑的是利用内部的晶振还是外部时钟源,或其它系统中的其它设备。一个基本的选择标准是成本问题。一个晶振和内部振荡需要的一些器件通常要比外部振荡器便宜,因此利用晶振和内部的振荡电路是最好的选择。除非需

3、要系统的其它设备来提供同样的时钟。因为不推荐使用利用外加的器件和振荡电路连接在一起的方法,所以唯一的选择是利用F28xx时钟输出或利用宽脉冲调制时钟连接到系统中其它设备时钟发生器。然而DSP芯片不是经常在晶体的频率下工作,所以如果系统中的其它设备需要同样的时钟利用外部振荡器是比较简单的,通常也是大家喜欢采用一种方法。F28xx/F28xxx芯片的内部振荡电路能够把晶振和X1、X2引脚直接相连,X1引脚通常是数字参考电压(VDD) , X2引脚是内部振荡的输出,晶振直接和X1 , X2引脚直接相连,如果引脚X2不用,必须悬空。F281x芯片有相同的引脚X1和XCLKIN。a. 利用内部振荡器图3

4、显示了利用晶振来连接的外部电路上拉电容的大小根据等式而定。它和两个外部电容有关。外部时钟的模式控制着是否使用内部的晶振。当使用内部的振荡器时选择让内部的晶振可用的时钟模式。有效的负载电容C(Load),在振荡电路中是C1和C2并联的等效电容。正确的有效负载电容对于正确的运行频率是非常重要的对于不同的负载电容的值都有不同的晶振与其对应但是内部的数字控制器振荡器对于太高或太低的负载电容是没法工作的可以从晶振的厂商的数据手册得到更多的信息。并联谐振模式需要的负载电容大概是12pF等效电阻是30-60W。由于PCB板布局和数字控制器焊锡的兼容性问题,有效的C1和C2的值一般不大于5 pf。布局电路板也

5、是非常重要的方面。如果想要得到准确的频率控制器那么准确的离散电容值要根据利用频率计数器测量的电容和频率的准确关系来定。b.利用外部振荡器为了选择合适的外部振荡器需要考虑频率、稳定性、时效性、上升和下降时间、占空比、信号电平等问题设计者必须考虑到时钟偏差的问题。必须注意事项是,只有F28xxx芯片能接收VDD (1.8 V/1.9 V)或者3.3 V的外部时钟的电压,F281x时钟信号应该在0和电压值之间变换。F280 x和F28xxx连接外部振荡器的输出如图4所示X1或XCLKIN引脚必须连接地如果它们都被悬空的话,那么CLKOUT引脚的频率就会不正确,数据控制器也不能正常工作。F281x芯片

6、设备选择外部时,钟振荡器的电压时电压范围在0 -V DD (0 - 1.8V/1.9V)之间。2.电源电路设计采用双电源供电3.通用输入/输出(GPIO) 绝大部分是多功能复用引脚,通过GPIOMUX寄存器来选择配置具体的功能。 可以独立操作也可以作为外设I/O信号(通过GPxMUX寄存器配置)使用。 如果引脚工作在数字量I/O模式,通过方向控制寄存器(GPxDIR)控制数字量I/O的方向,并可以通过量化寄存器(GPxQUAL)量化输入信号,消除外部噪声信号 GPIO多路复用器的各寄存器如下:通用输入/输出(GPIO)GPIO A 功能选择控制寄存器功能选择控制寄存器GPIO B 功能选择控制

7、寄存器功能选择控制寄存器GPIO D功能选择控制寄存器功能选择控制寄存器GPIO E功能选择控制寄存器功能选择控制寄存器GPIO F功能选择控制寄存器功能选择控制寄存器GPIO G功能选择控制寄存器功能选择控制寄存器GPIO A 方向控制寄存器方向控制寄存器GPIO B方向方向控制寄存器控制寄存器GPIO D方向方向控制寄存器控制寄存器GPIO E方向方向控制寄存器控制寄存器GPIO F方向方向控制寄存器控制寄存器GPIO G方向方向控制寄存器控制寄存器GPIO A 输入量化寄存器输入量化寄存器GPIO B 输入量化寄存器输入量化寄存器GPIO D 输入量化寄存器输入量化寄存器GPIO E 输

8、入量化寄存器输入量化寄存器C28xGPIO寄存器结构 如果多功能引脚配置成数字I/O模式,芯片将用寄存器来对相应的引脚进行操作。 GPxSET寄存器设置每个I/O信号 GPxCLEAR寄存器清除每个I/O信号 GPxTOGGLE寄存器反转触发各个I/O信号 GPxDAT寄存器读写各个I/O信号。 GPIO数据寄存器如下GPIO A 数据寄存器数据寄存器GPIO B 数据寄存器数据寄存器GPIO D 数据寄存器数据寄存器GPIO A 置位寄存器置位寄存器GPIO B 置位寄存器置位寄存器GPIO D 置位寄存器置位寄存器GPIO A 清零寄存器清零寄存器GPIO B 清零寄存器清零寄存器GPIO

9、 D 清零寄存器清零寄存器GPIO A 取反寄存器取反寄存器GPIO B 取反寄存器取反寄存器GPIO D 取反寄存器取反寄存器GPIO E 数据寄存器数据寄存器GPIO F 数据寄存器数据寄存器GPIO G 数据寄存器数据寄存器GPIO E 置位寄存器置位寄存器GPIO F 置位寄存器置位寄存器GPIO G 置位寄存器置位寄存器GPIO E 清零寄存器清零寄存器GPIO F 清零寄存器清零寄存器GPIO G 清零寄存器清零寄存器GPIO E 取反寄存器取反寄存器GPIO F 取反寄存器取反寄存器GPIO G 取反寄存器取反寄存器 GPIO的数据输入功能和外设输入功能的路径总是畅通的,而数字输

10、出功能和外设输出功能要通过多路开关切换。 引脚的输出缓冲器总是连回到输入缓冲器,所以作为数字I/O使用时,输出数字信号可能会传到外设输入,从而意外触发中断。 因此,当引脚配置成数字I/O时,引脚相应的外设功能(包括中断)必须被禁止。GPIO的功能选择框图C28xGPIO功能框图 10MUX Control Bit0 = I/O Function1 = Primary FunctionPinPrimaryPeripheralFunctionI/O DATBit (R/W)InOutI/O DIR Bit0 = Input1 = OutputGPxMUXGPxDIRGPxDATGPxSETGPxC

11、LEARGPxTOGGLEQUALPRDreservedSome digital I/O andperipheral I/O inputsignals include an Input Qualificationfeature多路复用器的寄存器 GPIO口通过功能控制、方向、数据、设置、清除和反转触发寄存器来控制 1.GPxMUX功能选择寄存器,配置I/O工作在外设操作模式或数字量I/O模式。在复位使所有GPIO配置成I/O功能。 如果GPxMUX.bit=0,配置为I/O功能; 如果GPxMUX.bit=1,配置为外设功能。 IO的输入功能和外设的输入通道总是被使能的,输出通道是GPIO和外

12、设公用的。因此,引脚如果配置成为IO功能,就必须屏蔽相应的外设功能,否则,将会产生随机的中断信号。 2.GPxDIR方向控制寄存器,用来配置IO的方向(输入/输出)。复位时,所有GPIO为输人。 如果GPxDIR.bit=0,引脚配置为数字量输人; 如果GPxDIR.bit=1,引脚配置成数字量输出。 3.GPxDAT数据寄存器,如果IO配置为输入,反映当前经过量化后IO输人信号的状态。如果IO配置为输出,向寄存器写值设定IO的输出。 如果GPxDAT.bit=0,且设置为输出功能,将相应的引脚拉低; 如果GPxDAT.bit=1,且设置为输出功能,将相应的引脚拉高。 4.GPxSET设置寄存

13、器,是只写寄存器,任何读操作都返回0。如果相应的引脚配置成数字量输出,写1后相应的引脚将被拉高,写0时没有影响。 如果GPxSET.bit=0,没有影响; 如果GPxSET.bit=1,且引脚设置为输出,将相应的引脚置成高电平。 5.GPxCLEAR清除寄存器,是只写寄存器,任何读操作都返回o。如果相应的引脚配置成数字量输出,写1后相应的引脚将被拉低,写0时没有影响。 如果GPxCLEAR.bit=0,没有影响; 如果GPxCLEAR.bit=1,且引脚设置为输出,将相应的引脚置成低电平。 6.GPxTOGGLE反转触发寄存器,是只写寄存器,任何读操作都返回0。如果相应的引脚配置成数字量输出,

14、写1后相应的引脚信号将被取反。写0时没有影响。 如果GPxTOGGLE.bit=0,没有影响; 如果GPxTOGGLE.bit=1,且引脚设置为输出,将相应的引脚取反。 7.GPxQUAL量化寄存器 每个I/O接口都有一个输入量化寄存器,该寄存器可读可写,可以设置D7D0位改善输入信号,去除噪声。D7D00 x00与与SYSCLKOUT同步同步0 x01QUALPRD=SYSCLKOUT/20 x02QUALPRD=SYSCLKOUT/40 x03QUALPRD=SYSCLKOUT/60 xFEQUALPRD=SYSCLKOUT/5080 xFFQUALPRD=SYSCLKOUT/510 当G

15、PIO作为数字I/O时,GPxQUAL寄存器用来量化采样周期。 如采样窗口是6个采样周期宽度,那么只有6个采样数据相同时输出才会改变。 这个功能可以有效的消除毛刺脉冲(干扰信号)对输出信号的干扰4.3 GPIO应用举例88LED点阵控制4.3.1 硬件电路设计74164为串行输入并行输出移位寄存器。设计中,选择两片74164分别控制点阵模块的行和列,控制数据从DSP端口输出。其中,GPIOF0输出数据与U1的74164的A端口相连,GPIOF1与B口连接,两个端口用来输出对点阵进行显示控制的数据,GPIOF2输出模拟时钟脉冲信号,与74164的CLK引脚相连,GPIOF3连接CLR清零端。DS

16、P F2812的GPIOB0-GPIOB3与另外一片74164的A、B、CLR、CLK对应相连。4.3.1.1 88点阵内部电路点阵内部为排列的88个发光二极管,每一个二极管都在行线和列线的交点处,要同时受到行和列的控制才能点亮。二极管阵列的正向端分别由COL1-COL8端口控制,负向端通过端口ROW1-ROW8控制。在驱动某个点阵点点亮时,需要同时控制该发光二极管正端接高电平,负端接低电平即可。例如:要使得COL4和ROW4交点处二极管点亮,则需要在端口COL端输入数据:00001000(08H),在ROW端输入:00001000(08H)。4.3.1.2 串行输入并行输出移位寄存器7416

17、4功能CLEAR为清零端,CLOCK为时钟脉冲输入端,A、B端口为串行输入数据引脚, Q0Q7为数据输出引脚。从真值表可以看出,CLEAR为逻辑低电平时,无论其他引脚电平信号如何,从QA-QH端口输出均为低电平,实现输出清零。 A、B输入信号为相与的关系,相与后的结果送入内部RS触发器。在CLOCK脉冲信号的上升沿,采样输入脚A、B相与后的结果,作为内部RS触发器的输入信号,根据输入数据触发输出,从QA端口输出。在QA端口输出更新数据时,QB端口输出数据为QA端口更新前的QAn,QC端口输出数据为QBn,依次类推。4.3.2 程序设计主程序主要包括系统初始化、中断向量初始化、设置GPIO端口、

18、控制数据传输几个步骤。4.3.2.1 设置GPIO端口的配置函数void Gpio_select(void)EALLOW; GpioMuxRegs.GPBMUX.all=0 x0000; /设置B组端口为GPIO功能 GpioMuxRegs.GPBDIR.all=0 xFFFF; / 设置B组端口为输出端口 GpioMuxRegs.GPFMUX.all=0 x0000; /设置F组端口为GPIO功能 GpioMuxRegs.GPFDIR.all=0 xFFFF ; / 设置F组端口为输出端口 EDIS; 需要注意:EALLOW在DSP28_Device.h头文件中,通过“#define EAL

19、LOWasm( EALLOW)”在C语言主函数中嵌入汇编语言指令,汇编指令“EALLOW”其含义为开放存储器映像寄存器,设置该命令后,可以对MMR内容进行修改。当需要配置或修改MMR内容时,必须先写入EALLOW汇编指令。反之,如果不首先写入EALLOW汇编指令,无法完成对相应MMR内容的修改。EDIS:为结束修改MMR的汇编命令。当MMR配置完成后,需要写入该命令。4.3.2.2 控制数据串行输出函数void sendto1(unsigned char kdab) unsigned char i; CLK1=0; /控制时钟脉冲引脚输出设置为低电平 for(i=0;i1; /数据右移,提取下

20、一位串行数据 74164为串行输入/并行输出移位寄存器,控制点阵的数据需要从DSP的gpio端口串行输出。为满足74164工作时序,采用GPIO端口模拟74164的工作时序。从DINC输出串行输出数据,同时,在CLK1脚模拟控制脉冲信号。 4.3.2.3 输出字符与字模阵列在点阵模块中字符的显示,应用字模生成软件获得显示字符的字模,采用动态扫描的控制方式显示。以在点阵模块显示字符“中”为例,首先采用字模提取软件获得字符的字模。“中”字的字模组合为“10H,FEH,92H,FEH,10H,10H,10H,10H”。在控制显示时,采用动态扫描的显示方式。首先将字模中二进制数10H送入点阵模块的行扫

21、描数据输入端口,然后在列扫描线上输出控制第一行点阵二极管点亮的数据“0111 1111”,则点阵中第一行的第四个二极管点亮,显示“中”字上面的一点。接下来,将“FEH” 送入点阵模块的行扫描数据输入端口,然后在列扫描线上输出控制第二行点阵二极管点亮的数据“1011 1111”,此时,第二行的1-7二极管点亮,显示出“中”字的上面一横,之前第一行的第四个二极管灭。继续,行端口输入“92H”,列端口输入控制第三行二极管点亮的控制信号“1101 1111”,于是,在第三行上1、4、7二极管亮,其他行灭。依次类推,直到第八行显示。在编写程序中,采用数组数组dispdata存放行值,用数组dispbit

22、存放列值。dispdata8=0 x10,0 xFE,0 x92,0 xFE,0 x10,0 x10,0 x10,0 x10, dispbit8=0 x7f,0 xbf,0 xdf,0 xef,0 xf7,0 xfb,0 xfd,0 xfe,用两个函数sendto1(dispbit)和sendto2(dispdata)分别发送数据,由此显示出字模。调整延时程序void DELAY() unsigned long k,j; for(k=0;k10;k+) for(j=0;j100;j+);由于扫描速度很快,扫描8列的数据在人眼看来是同时的,所以就可以看到8_8LED字模中显示的字模。4.3.3

23、参考主程序:#include DSP28_Device.h#include DSP28_Globalprototypes.h/*端口GPIOF0用DINA表示,“#define”为宏定义,以下程序中用字符“DINA”代表成员变量GpioDataRegs.GPFDAT.bit.GPIOF0,增加程序的可读性。其他端口定义用法相同。*/#define DINA GpioDataRegs.GPFDAT.bit.GPIOF0 #define DINB GpioDataRegs.GPFDAT.bit.GPIOF1#define CLK2 GpioDataRegs.GPFDAT.bit.GPIOF2#de

24、fine CLEAR2GpioDataRegs.GPFDAT.bit.GPIOF3#define DINC GpioDataRegs.GPBDAT.bit.GPIOB0#define DIND GpioDataRegs.GPBDAT.bit.GPIOB1#define CLK1 GpioDataRegs.GPBDAT.bit.GPIOB2#define CLEAR1 GpioDataRegs.GPBDAT.bit.GPIOB3/*程序中引用的函数定义*/void delay_loop(void); /点阵动态显示控制的延时程序void Gpio_select(void); /GPIO端口设置程

25、序void sendto1(unsigned char kdab); /串行数据输出函数,输出行扫描数void sendto2(unsigned char dat); /串行数据输出函数,输出列扫描数void DELAY(void); /*定义变量数组*/unsigned char dispdata8=0 x10,0 xFE,0 x92,0 xFE,0 x10,0 x10,0 x10,0 x10;/显示字符“中”字的行扫描数组unsigned char dispbit8=0 x7f,0 xbf,0 xdf,0 xef,0 xf7,0 xfb,0 xfd,0 xfe/显示字符“中”字的列扫描数组

26、unsigned char kdab;unsigned char kdat;4.3.3 参考主程序:/*主程序*/void main(void) unsigned char i;InitSysCtrl(); /系统初始化函数InitPieCtrl(); /初始化PIE模块到默认状态InitPieVectTable();Gpio_select(); /设置端口函数/*初始化74164各控制引脚*/CLEAR2=0; /74164进行清零操作CLEAR1=0; /74164进行清零操作CLEAR2=1; /74164复位CLEAR1=1; /74164复位CLK1=1; /74164的CLOCK引

27、脚置为高电平CLK2=1; /74164的CLOCK引脚置为高电平DINA=1; /74164数据输入端口置为高电平DINB=1; /74164数据输入端口置为高电平DINC=1; /74164数据输入端口置为高电平DIND=1; /74164数据输入端口置为高电平while(1) sendto1(dispbit0);sendto2(dispdata0);DELAY();sendto1(dispbit1); sendto2(dispdata1);DELAY();sendto1(dispbit2);sendto2(dispdata2); DELAY();sendto1(dispbit3);sen

28、dto2(dispdata3); DELAY(); /*GPIO端口配置函数*/void Gpio_select(void)EALLOW; GpioMuxRegs.GPBMUX.all=0 x0000; /设置B组端口为GPIO功能 GpioMuxRegs.GPBDIR.all=0 xFFFF; / 设置B组端口为输出端口 GpioMuxRegs.GPFMUX.all=0 x0000; /设置F组端口为GPIO功能 GpioMuxRegs.GPFDIR.all=0 xFFFF ; / 设置F组端口为输出端口 EDIS; /*行扫描数据串行输出函数*/void sendto1(unsigned

29、char kdab) unsigned char i; kdab=dab; CLK1=0; /控制时钟脉冲引脚输出设置为低电平 for(i=0;i1; /数据右移,提取下一位串行数据 /*列扫描数据串行输出函数*/void sendto1(unsigned char kdab) unsigned char i; kdab=dab; CLK1=0; /控制时钟脉冲引脚输出设置为低电平 for(i=0;i1; /数据右移,提取下一位串行数据 =外部扩展接口外部扩展接口外部扩展接口XINTF(ExternalInterface) F2812的XINTF采用异步非复用总线结构 XINTF采用16位数据

30、总线,可提供1M字的寻址空间,用于扩展外部存储器或并行的外设接口芯片。 F2812不支持I/O空间,当用户需要对片外设备进行操作时,可以使用XINTF接口,也可以使用哪个GPIO进行扩展外部接口有哪些线? 片选信号线 数据总线 地址总线 读写使能信号线、以及其他信号线。外设接口描述 外部接口(XINTF)映射到5个独立的存储空间Zone0、Zone1、Zone2、Zone6、Zone7、 当访问相应的存储空间时,就会产生一个片选信号;XINTF的5个空间共有3个片选引脚。 其中Zone0、Zone1共用XZCS0AND1。 Zone6、Zone7共用XZCS6AND7。 Zone2单独使用片选

31、信号。 每个空间都可以独立地设置访问等待、选择、建立以及保持时间,同时还可以使用XREADY信号来控制外设的访问。 外部接口的访问时钟频率由内部的XTIMCLK提供 XTIMCLK可以等于SYSCLKOUT或SYSCLKOUT/2。3.2.1外设接口描述,16位数据总线位数据总线19位地址总线位地址总线写信号,低电平有效写信号,低电平有效读信号,低电平有效读信号,低电平有效读写控制信号读写控制信号外设准备好,高电平有效外设准备好,高电平有效设定为微处理器模式或微计算机模式设定为微处理器模式或微计算机模式低电平有效,有效时表明低电平有效,有效时表明外设请求外设请求XINTF释放外部释放外部总线,

32、即将地址、数据总总线,即将地址、数据总线和宣统信号置为高祖状线和宣统信号置为高祖状态态时钟输入引脚时钟输入引脚当当XINTF准许准许XHOLD的的DMA请求时,该引脚输出请求时,该引脚输出低电平,表明扩展的外设低电平,表明扩展的外设可以驱动外部总线执行可以驱动外部总线执行DMA操作操作外部接口的访问1.Zone2和Zone6 Zone2和Zone6共享外部19条地址总线。 Zone2的片选信号为XZCS2, Zone6的片选信号为XZCS6AND7 因为两个区域采用不同的片选信号,所以对这两个区域的访问可以采用不同的时序。2.Zone0和Zone1 Zone0和Zone1共用一个片选信号XZC

33、S0AND1,采用不同的内部地址。 Zone0的寻址范围是0 x0020000 x003FFF, Zonel的寻址范围是0 x0040000 x005FFF。 如果希望区分两个空间,需要增加其他控制逻辑在访问Zone0时,XA13=1,XA14=0;在访问Zonel时,XAl3=0,XA14=1。外部接口的访问3.Zone7 Zone7是独立的地址空间,复位时,XMP/MC=1,Zone7空间映射到0 x3FC000。 复位后,通过改变寄存器XINTCNF2中的MP/MC控制位,使能或屏蔽Zone7空间。 如果XMP/MC=0,则Zone7不能映射到0 x3FC000存储空间,而片上的ROM将

34、映射到该存储空间。 Zone7的映射与MC/MC有关,而Zone0,Zonel,Zonc2,Zone6总是有效的存储空间,与XMP/MC状态无关。外部接口的访问 如果用户需要建立自己的引导程序,存放在外部空间,可以使用Zone7空间进行程序的引导。引导成功后,通过软件使能内部的ROM,以便可以访问存放在ROM中的数学表。 BootROM映射到Zone7空间时,Zone7空间的存储器仍然可以访问。这是因为Zone7和Zone6空间公用一个片选信号XZCS6ANDCS7。外部接口的访问 XINTF配置寄存器组3.2.3外部接口配置寄存器组XINTF0时序寄存器时序寄存器XINTF1时序寄存器时序寄

35、存器XINTF2时序寄存器时序寄存器XINTF6时序寄存器时序寄存器XINTF7时序寄存器时序寄存器XINTF配置寄存器配置寄存器XINTF块控制寄存器块控制寄存器XINTF修正寄存器修正寄存器外部接口的应用 F2812片内提供了较大容量的Flash存储器,可以用来固化用户程序,一般用户无需再扩张非易失的程序存储器。 但是由于Flash芯片的存取速度较慢,直接从Flash中运行用户程序时需要插入一定的等待周期,降低了DSP的执行速度。 目前的DSP芯片均提供了上电引导功能,即上电时DSP内部固化的引导程序根据选定的引导模式,自动将用户代码从程序存储器Flash中加载到片内高速SARAM或扩展的

36、SRAM中,然后在RAM中高速运行。 由于片内RAM无需插入等待状态,因此,通常将用户程序加载到片内RAM中运行。 当片内RAM容量不能满足需要时,或者需要保存较多的用户数据时,统称需要扩展外部存储器。 由于DSP采用统一寻址方式,扩展的SRAM即可以用作程序存储器,上电时将部分代码从慢速的Flash存储器中加载到SRAM存储器中执行,也可以用于保存用户数据。 例:通过XINTF扩展一片SRAM芯片CY7C1021V33,容量64KW,访问周期12ns,采用3.3V电源供电。外部接口的应用CY7C1021V33真值表BLE BHED8D15D0D7工作模式工作模式HXXXX高阻状态高阻状态高阻

37、状态高阻状态后备模式后备模式LLHLL数据输出数据输出数据输出数据输出16位读位读LH高阻状态高阻状态数据输出数据输出低低8位读位读HL数据输出数据输出高阻状态高阻状态高高8位读位读LXLLL数据输入数据输入数据输入数据输入16位写位写LH高阻状态高阻状态数据输入数据输入低低8位写位写HL数据输入数据输入高阻状态高阻状态高高8位写位写OECSWE DSP与SRAM的接口电路如图。3.3VAB15AB0DB15DB0XRDXWEXZCS6AND7F2812 XINTFAB15AB0DB15DB0VCCVSSCSOEWEBLEBHECY7C1021V33o F2812采用采用16位位数据方式访问数据方式访问SRAM,地址空,地址空间位于间位于Zone6.o DSP高位地址高位地址A18A16未参加未参加译码,通常取译码,通常取A18A16=000o SRAM地址范围地址范围o 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论