ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:114.29KB ,
资源ID:14136635      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-14136635.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DSP与外部存储器和键盘接口电路设计.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

DSP与外部存储器和键盘接口电路设计.docx

1、DSP与外部存储器和键盘接口电路设计天津城市建设学院课程设计任务书2012 2013 学年第 一 学期 控制与机械工程 学院 电气工程及其自动化 专业 2 班级课程设计名称: DSP原理及应用 设计题目: DSP与外部存储器和键盘接口电路设计 完成期限:自 2012 年 12 月 17 日至 2012 年 12 月 22 日共 1 周设计依据、要求及主要内容(可另加附页):一、课程设计的目的通过本课程设计,锻炼学生查阅资料、方案比较、运用知识的能力。使学生掌握C54系列DSP 芯片的结构、原理和典型应用,并且能够熟悉DSP的开发流程和基本的设计方法,既巩固所学的基础理论知识, 又为学生日后从事

2、开发设计奠定基础。 二、课程设计的内容及要求 选择合适的器件,了解元器件的工作原理,进行DSP与外部存储器和键盘接口电路设计,完成1、外部存储器RAM与DSP接口电路设计2、3X5阵列键盘与DSP接口电路设计3、编写键盘驱动程序4、书写设计说明书三、参考资料:1、吴冬梅 张玉杰 北京大学出版社 DSP技术及应用2、戴明桢 周建江 北京航天航空大学出版社 TMS320C54X DSP结构、原理及应用3、王安民 陈明欣 清华大学出版社 TMS320C54X XDSP实用技术4、苏涛.DSP实用技术 .西安:西安电子科技大学出版社 指导教师(签字): 教研室主任(签字): 批准日期: 年 月 日摘要

3、20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,DSP的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念。 本次设计在CCS开发平台上利用C语言设计矩阵键盘控制接口电路。要求设计一个35矩阵键盘,一共有三个模块,分别为:扫描电路模块、时钟产生模块、键盘译码电路和按键标志位产生电路。扫描模块中是为了产生扫描信号,来利用扫描信号来扫描键盘中是否有按键按下。键盘译码电路和按键标志位产生电路也是为了配合扫

4、描模块来扫描电路中是否有按键按下,而且还要求它来产生按键标志信号,以便和外部电路握手。时钟产生电路是为了产生不同频率的信号,来驱动上面两个电路的运转。通过对课题的分析研究,掌握了DSP语言编程方法,同时也增强了个人的学习能力和动手能力。关键词:C54x;DSP;存储空间;程序存储器;数据存储器;扩展;芯片TMS320C5402;矩阵键盘扫描。1. 外部存储器RAM与DSP接口电路系统设计 4.1 存储空间的分配 41.3 程序存储器 71.3 数据存储器 82 35阵列键盘与DSP接口电路系统设计 102.1 35阵列键盘设计原理 102.3 电路设计 112.3 编写键盘驱动程序 123 心

5、得体会 164 参考资料: 161. 外部存储器RAM与DSP接口电路系统设计通常,C54x的总存储空间为192K字。这些空间可分为3个选择的空间:64K字的程序存储空间、64K字的数据存储空间和64K字的I/O空间。所有的C54x DSP片内都有随机存储器(RAM)和只读存储器(ROM)。RAM有两种类型:单寻址RAM(SARAM)和双寻址RAM(DARAM)。表1-1列出了各种C54x DSP片内存储器的容量。C54x DSP片内还有26个映象到数据存储空间的CPU寄存器和外围电路寄存器。C54 DSP结构上的并行性及在片RAM的双寻址能力,使它能够在任何一个给定的机器周期内同时执行4次存

6、储器操作,即一次读两个操作数和写一个操作数。我们可以将双寻址DARAM和单寻址SARAM配置为数据存储器或程序存储器。与片外存储器相比,片内存储器具有不需要插入等待状态、成本和功耗低等优点,但片外存储器具有较大存储空间能力。表1-1 C54x DSP片内程序和数据存储器(单位:K字)存储器类型C541C542C543C545C546C548C549C5402C5410C5402ROM28K2K2K48K48K2K16K4K16K0程序ROM20K2K2K32K32K2K16K4K16K0程序/数据8K 0016K16K016K4K00DARAM5K 10K10K6K6K8K8K16K8K32K

7、SARAM0000024K24K056K168K1.1 存储空间的分配C54xDSP的存储空间可以分成3个可单独选择的空间,即程序、数据和I/O空间。在任何一个存储空间内,RAM、ROM、EPROM、EEPROM或存储器映象外设都可以驻留在片内或片外。这三个空间的总地址范围为192K字。程序存储器空间存放要执行的指令和执行中所用的系数表,数据存储器存放执行指令所要用的数据,I/O空间与存储器映象外围设备相接口也可以作为附加的数据存储空间。在C54x中,片内存储器的形式有DARAM、SARAM和ROM 3种,取决于芯片的型号。RAM总是安排到数据存储空间,但也可以构成程序存储空间,ROM一般构成

8、程序存储空间,也可以部分安排到数据存储空间。C54x通过3个状态位,可以很方便地“使能”和“禁止”程序和数据空间中的片内存储器。1)MP/MC位若MP/MC=0,则片内ROM安排到程序空间;若MP/MC=1,则片内ROM不安排到程序空间。2)OVLY位若OVLY=1,则片内RAM安排到程序和数据空间;若OVLY=1,则片内RAM只安排到数据存储空间。3)DROM位当DROM=1,则部分片内RAM安排到数据空间;当DROM=0,则片内RAM不安排到数据空间。DROM的用法与MP/MC的用法无关。上述三个状态位包含在处理器工作方式状态寄存器(PMST)中。图1.1以C5402为例给出了数据和程序存

9、储区图,并说明了与MP/MC、OVLY及DROM 3个状态位的关系。C5402可以扩展程序存储空间。采用分页扩展方法,使其程序空间扩展到1024K字。为此,设有20根地址线,增加了一个额外的存储器映像寄存器程序计数器扩展寄存器(XPC),以及6条寻址扩展程序空间的指令。C5402中的程序空间分为16页,每页64K字,如图1.2所示。图1.1 C5402存储器图 注:.当时,页的低字是可以获得的。.当时,则片内映射到所有程序空间页的低字。图1.2 C5402扩展程序存储器图1.3 程序存储器多数C54xDSP的外部程序存储器可寻址64K字的存储空间。它们的片内ROM、双寻址RAM(DARAM)以

10、及单寻址RAM(SARAM),都可以通过软件映象到程序空间。当存储单元映像到程序空间时,处理器就能自动的对它们所处的地址范围寻。如果程序地址生成器(PAGEN)发出的地址处在片内存储器地址范围以外,处理器就能自动地对外部寻址。表1-2列出了C54x DSP可用的片内程序存储器的容量。由表可见,这些片内存储器是否作为程序存储器,取决于软件对处理器工作方式状态寄存器(PMST)的状态位MP/MC和OVLY的编程。表1-2 C54x DSP的片内程序存储器器件ROM(MP/MC=0)DARAM(OVLY=1)SARAM(OVLY=0)C54128K5KC5422K10KC5432K10KC54548

11、K6KC54648K6KC5482K8K24KC54916K8K24KC54024K16KC541016K8K56KC542032K168K为了增强处理器的性能,对片内ROM再细分为若干块,这样,就可以在片内ROM的一个块内取指的同时,又在别的块中读取数据。当处理器复位时,复位和中断向量都映像到程序空间的FF80。复位后,这些向量可以被重新映像到程序空间中任何一个128字页的开头。这就很容易将中断向量表从引导ROM中移出来,然后再根据存储器图安排。 C54x DSP的片内ROM容量有大有小,容量大的片内ROM可以吧用户的程序代码编进去,然而片内高2K字ROM中的内容是由TI公司定义的,这2K字

12、程序空间中包含如下内容:(1)自举加载程序。从串行口、外部存储器、I/O接口或主机接口自举加载。(2)256字A律压扩表。(3)256字u律压扩表。(4)256字正弦函数值查找表。(5)中断向量表。 图1.3所示为C54x DSP片内高2K字ROM中的内容及其地址范围。如果MP/MC=0,则用于代码的地址范围F800hFFFFh被映射到片内ROM。C548、C549、C5402、C5410和C5420可以在程序存储器空间使用分页的扩展存储器,允许访问最高达8192K字的程序存储器。为了扩展程序存储器,上述芯片应该包括以下的伏加特征:(1)23位地址线代替16位的地址线(2)一个特别的存储器映射

13、寄存器,即程序计数器扩展器存器(XPC);(3)6个特别的指令,用于寻址扩展程序空间。 C541/545/546 C542/543/548/549/5402/5410图1.3片内ROM程序存储器映射扩展程序成初器的页号由XPC寄存器设定。XPC映像到存储单元001Eh,在硬件复位时,XPC初始化为0。C548、C549、C5402、C5410和C5420的程序存储器空间被组织为128页,每页长度为64K字长,此时片内RAM不映射到程序空间(OVLY=0)。当片内RAM安排到程序空间(OVLY=1)时,每页程序存储器分为两部分:一部分是公共的32K字,另一部分是各自独立的32K字。公共存储区为所

14、有页共享,而每页独立的32K字存储区只能按指定的页号寻址,如图2.17所示。如果片内ROM被寻址(MP/MC=0),它只能在0页,不能映像到程序存储器的其他页。为了通过软件切换程序存储器的页面,有6条专用的影响XPC值的指令。(1)FB:远转移。(2)FBACC:元转移到累加器A或B指定的位置。(3)FCALA:元调用累加器A或B指定的位置的程序。(4)FCALL:远调用。(5)FRET:远返回。(6)FRETE:带有被使能的中断的远返回。以上指令都可以带有或不带有延时。1.3 数据存储器 C54x DSP的数据存储器容量最多达64K字。除了单寻址和双寻址RAM(SARAM和DARAM)外,C

15、54x还可以通过软件将片内ROM映像到数据存储空间。表1-3列出了各种C54x可用的片内数据存储器的容量。表1-3各种C54x 可用的片内数据存储器的容量器件程序/数据ROM(DROM=1)DARAMSARAMC5418K5KC54210KC54310KC54516K6KC54616K6KC5488K24KC5498K8K24C54024K16KC541016K8K56KC542032K168K当处理器发出的地址处在片内存储器的范围内时,就对片内的RAM或数据ROM(当ROM设为数据存储器时)寻址。当数据存储器的地址产生器发出的地址不在片内存储器的范围内时,处理器就会自动地对外部数据存储器寻址

16、。数据存储器可以驻留在片内或片外。片内DARAM都是数据存储空间。对于某些C54xDSP,用户可以通过设置PMST寄存器的DROM位,将部分片内ROM映像到数据存储空间。这一部分片内 ROM及可以在数据空间使能(DROM=1),也可以在程序空间使能(MP/MC=0)。复位时,处理器将DROM位清0。对数据ROM的单操作数寻址,包括32位长字操作数寻址,单个周期就可完成。而在双操作数寻址时,如果操作数驻留在同一块内则要2个周期;若操作数驻留在不同块内则只需要1个周期就可以了。 为了提高处理器性能 ,片内RAM也细分为若干块。分块以后,用户可以再同一周期内从同一DARAM中取出两个操作数,将数据写

17、入另一块DARAM中。C54x DSP中DARAM前1K数据存储器包括存储器映象CPU寄存器和外围电路寄存器、32字暂存器以及896字DARAM。寻址存储器映象CPU寄存器,不需要插入等待周期。外围电路寄存器用于对外围电路的控制和存放数据,对它们寻址,需要2个机器周期。表1-4列出了存储器映像CPU寄存器的名称及地址。表1-4存储器映像CPU寄存器地址CPU寄存器名称地址CPU寄存器名称0IMR(中断屏蔽寄存器)12AR2(辅助寄存器2)1IFR(中断标志寄存器)13AR3(辅助寄存器3)25保留(用于测试)14AR4(辅助寄存器4)6ST0(状态寄存器0)15AR5(辅助寄存器5)7ST1(

18、状态寄存器1)16AR6(辅助寄存器6)8AL(累加器A低字)17AR7(辅助寄存器7)9AH(累加器A高字)18SP(堆栈指针)AAG(累加器A保护位)19BK(循环缓冲区长度寄存器)BBL(累加器B低字)1ABRC(块重复寄存器)CBH(累加器B高字)1BRSA(块重复起始地址寄存器)DBG(累加器保护位)1CREA(块重复结束地址寄存器)ET(暂时寄存器)1DPMST(处理器工作方式寄存器)FTRN(状态转移寄存器)1EXPC(程序计数器扩展寄存器,仅C548以上型号)10AR0(辅助寄存器0)11AR1(辅助寄存器1)1E1F保留2 35阵列键盘与DSP接口电路系统设计2.1 35阵列

19、键盘设计原理设计一个35的行列式键盘。2812的8个I/O口与之相连,这里按键的识别方法是扫描法。 键被按下时,与此键相连的行线电平将由于此键相连的列线电平决定,而行线的电平在无按键按下时处于高电平状态。如果让所有的列线也处于高电平,那么键按下与否不会引起行线电平的状态变化,时钟为高电平。所以,让所有的列线处于高电平是无法识别出按键的。现在反过来,让所有的列线处于低电平,很明显,按键所在的行电平将被拉成低电平。根据此行电平的变化,便能判断此行一定有按键被按下,但还不能确定是哪个键被按下。假如是5键按下,为了进一步判定是哪一列的键被按下,可在某一时刻只让一条列线处于低电平,而其余列线处于高电平。

20、那么,按下键的那列电平就会拉成低电平,判断出哪列为低电平就可以判断出按键号码。2.3 电路设计具体电路设计如图2.1 ,图中用到了TMS320C5402芯片。关于TMS320系列中同一代芯片具有相同的CPU结构,但是片内存储器和片内外设的配置是不同的。TMS320C54x DSP具有如下的优点:1) 具有哈佛结构的CPU,具有高度的并行性;2) 包含定点,浮点,多CPU;3) 主要用于实时处理;4) 灵活的指令集;5) 高速;6) 并行;7) 性价比高;8) c编程。TMS320C54x DSP芯片的总体结构如下: 从上图可以看出,DSP芯片具有计算,存储,和通信的功能。这恰好与数字思想是吻合

21、的。只要对数字比特进行运算和存储及传输就能完成任何复杂的功能,这就是数字化的思想。在此CPU充当计算功能,而片内存储起数据缓存作用,另外片内外围电路则是传输通道。除上述结构特征外,DSP芯片还具有适合于数字信号处理的特点:1)改进的哈佛结构。冯诺依曼结构,其特点是程序和数据共用一个存储空间。统一编址依靠令计数器提供的地址进行区分。由于对数据和程序进行分时读写,执行速度慢。哈佛结构是程序和数据具有独立的存储空间,有着各有的独立总线。由于可同时对数据和程序进行寻址,它大大地提高了数据处理能力。改进型哈佛结构是在数据总线和程序总线之间建立交叉连接。这样允许数据存放在程序存储器内,另外指令可存储在CA

22、CHE中。2)流水线操作。一个指令是分为取指令、译码、取操作数、执行。显然是顺序的,但如果有多条这样的流水同时进行,将会大大减少指令执行时间。3)采用硬件乘法器。4)一套专门为数字信号处理而设计的指令系统。5)快速的指令周期。6)良好的多机并行运行特性,提供了并行运行的通信接口。一个相对完备的DSP系统框图如下所示DSP系统具有如下特点:1)精度高,相比R/L/C网络只要提高A/D和D/A的精度将有效提高整体精度。2)可靠性强。由数字电路的特点所决定。3)集成度高。4)接口方便。对于系统集成接口设计是关键。5)灵活性好。可编程。6)保密性好。图2.1 3x5键盘电路图2.3 编写键盘驱动程序#

23、includeexp3_2407.hunsigned int num=0;/*初始化函数声明与定义*/void sys_ini() /*关总中断*/ asm( setc INTM); /*抑制符号位扩展*/ asm( clrc SXM); /*累加器中结果正常溢出*/ asm( clrc OVM); /*禁止看门狗*/ * WDCR=0x00E8; /*配置时钟锁相为4倍频CLKOUT=4*10=40M*/假设外部精振为10MHz * SCSR1=0x8104; /使能EVA模块时钟 /*清除所有中断标志,写1清0*/ * IFR=0xFFFF;void timer1_ini() /定时器1的

24、初始化程序 /*使能int2中断*/定时器1为INT2优先级 * IMR=0x0002; /*使能T1PINT中断*/ * EVAIMRA=0x0080; /*清EVA中断标志*/ * EVAIFRA=0xFFFF; /*连续增计数模式,预分频为8,定时器计时使能,内部时钟,定时器1比较使能*/ * T1CON=0x134C; /*1ms产生一次中断*/ * T1PER=0x1388; /0x1388=5000(D)/(40/8)/1000 ms /*计数器清零*/ * T1CNT=0x0000; /*开总中断*/ asm( clrc INTM); void IO_ini() *MCRA=0X

25、0000; /配置A端口0-7为通用IO *PADATDIR=0X0F80; /A端口低三位为输出状态,高五位为输入状态/*中断服务子程序声明与定义*/interrupt void nothing() /哑中断子程序 return; interrupt void timer1() /定时器1中断子程序 /*记中断次数50次,产生50ms延时*/ if (num=50) num=0; unsigned char Tmp; /定义临时变量 Tmp=keyj(); if(Tmp!=0xf0) delay(5000); if(keyj()=Tmp) KeyValue=key(); else num+;

26、 /*计数器清零*/ * T1CNT=0x0000; /*清EVA中断标志*/ * EVAIFRA=0xFFFF; /*功能函数*/unsigned char key() unsigned char x=0xff; *PADATDIR=0X0006; /扫描第一行 if(*PADATDIR &0x00f8)=0xf0) x=1; else if(*PADATDIR &0x00f8)=0xe8) x=2; else if(*PADATDIR &0x00f8)=0xd8) x=3; else if(*PADATDIR &0x00f8)=0xb8) x=4; else if(*PADATDIR &0

27、x00f8)=0x78) x=5; else *PADATDIR=0X0005; /扫描第二行 if(*PADATDIR &0x00f8)=0xf0) x=6; else if(*PADATDIR &0x00f8)=0xe8) x=7; else if(*PADATDIR &0x00f8)=0xd8) x=8; else if(*PADATDIR &0x00f8)=0xb8) x=9 else if(*PADATDIR &0x00f8)=0x78) x=10; else *PADATDIR=0X0003; /扫描第三行 if(*PADATDIR &0x00f8)=0xf0) x=11; els

28、e if(*PADATDIR &0x00f8)=0xe8) x=12; else if(*PADATDIR &0x00f8)=0xd8) x=13 else if(*PADATDIR &0x00f8)=0xb8) x=14 else if(*PADATDIR &0x00f8)=0x78) x=15; unsigned char keyj() unsigned char x; x=(*PADATDIR &0x00f0); return x;/*main函数*/void main() sys_ini(); IO_ini(); time1_ini(); while(1) 3 心得体会 通过这次课程设计我更好的学习dsp开发环境ccs软件.了解了TMS320F2812DSP芯片的结构,和键盘的矩阵扫描.独立自主的完成实验更是锻炼了我的能力.课设过程中遇到好多难题,有的是自己不能解决的有的是自己解决不了的.自己会得就多花费点时间把它弄懂弄会.不会的就在网上查点资料,就会和同学交流讨论,实在解决不了了就找老师答疑.总而言之,这次课设给我带来了很多很多,我会很把握这样的机会,学以致用.4 参考资料:1、吴冬梅 张玉杰 北京大学出版社 DSP

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2