




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、键盘输入分频发声装置课程设计说明书(2010/2011学年第一学期)课程名称 : dsp课程设计 题 目 : 键盘输入分频发声装置 专业班级 : 通信工程070-1班 学生姓名 : xxx 学 号 : xxxxxxx 指导教师 :谢万新、李丽宏、侯华、付佳、王鹏设计周数 : 2周 设计成绩 : 2010 年 12月29日18键盘输入分频发声装置1、设计目的12、系统分析12.1、设计任务12.2、设计要求13、tms320f2812芯片介绍13.1 tms320f2812芯片的简介13.2 关于tms320f2812参数23.3管脚的定义和说明23.4 f2812结构图44、系统整体设计54.
2、1、硬件设计组成框图54.2、总体电路图65、 单元电路设计75.1、2*3键盘电路设计75.2、时钟源电路设计75.3、复位电路设计85.4、电源转换电路设计85.5、蜂鸣器的设计96、元器件选择97、 运行描述108、软件设计118.1程序流程图118.2程序代码119、 课程设计总结1710、 参考文献181、设计目的dsp课程设计是对课程所学理论知识的深化和提高。目的是能综合应用所学知识,设计与制造出具有简单功能的小型键盘输入发声装置。 能够较全面地巩固和应用dsp课程中所学的基本理论和基本方法,初步掌握小型dsp系统设计的基本方法,并学会用c语言对dsp系统进行编程及dsp试验箱和相
3、关软件的运用。 培养独立思考、独立收集资料、独立设计规定功能的单片机系统的能力;培养分析、总结及撰写技术报告的能力,本次课程设计目的在于:1、学习用键盘控制 dsp管脚输出频率,从而控制蜂鸣器发声。2、学习dsp的c语言编程方法。3、学习dsp程序的调试及编写,及运用观察变量的方法查看程序的运行情况。2、系统分析2.1、设计任务本次设计名为键盘输入分频输出装置,要求用六个按键,组成3行3列键盘,用扫描按键的方法控制蜂鸣器发出对应的声音从而实现按键控制蜂鸣器发出不同频率的声音。2.2、设计要求硬件部分:1、 按照系统设计要求绘制(3行3列按键及分明器)电路图。2、 按照电路图统筹安排各元器件在电
4、路板上的分布,并焊接电路板。3、 了解各引脚功能,将电路板与tms320f2812相关引脚相连接。软件部分:1、 搞清楚各个引脚功能,调入引脚头文件。2、 了解了各引脚控制的行列后,编写键盘扫描程序。3、 编写延时程序,实现按键去抖。最终实现键盘输入分频输出,并由蜂鸣器发出不同频率的响声。3、tms320f2812芯片介绍3.1 tms320f2812芯片的简介本设计需要dsp实验箱,.dsp芯片是一种具有特殊结构的嵌入式微处理器,现在芯片一般都具有哈佛结构的并行总线体系,流水线操作功能,快速的中断处理和硬件i/o支持,低开销循环及跳转的硬件支持,单周期硬件地址产生器,单周期硬件乘法器以及一套
5、适合数字信号处理的指令集。tms320f2812作为使用的dsp芯片。它包含33个电源引脚(为使器件正常运行,所有电源引脚必须正确连接且不能悬空),时钟源模块,dsp有六种信号可以使dsp控制器复位。所以在设计的初期,我把它分成了四个模块。它们分别是:电平转换部分、晶振和复位部分、键盘部分和液晶显示。其中复位采用电源复位的方式,由引脚poreset引起。为了可靠复位,其中高电平的有效时间至少6个cpu时钟周期。 3.2 关于tms320f2812参数tms320f2812的具体参数如下:1、主处理芯片:tms320f2812,运行速度为150m。2、工作速度可达150mips。3、片上的ram
6、 18*16bit。4、片上扩展ram 存储空间64k16bit。5、自带的16路12bita/d,最大采样速率12.5msps。6、4路的dac7617转换,100k/s,12bit。7、两路uart串行接口,符合rs232标准。8、16路pwm输出。9、1路can接口通讯。10、片上128*16bit flash.自带128位加密位。11、设计有用户可以自定义的开关和测试指示灯。12、4组标准扩展连接器,为用户二次开发提供条件。13、具有ieee1149.1相兼容的逻辑扫描电路该电路仅用于测试和仿真。 14、4层板设计工艺,工作稳定可靠。15、具有自启动功能设计,可以实现脱机工作。16、可
7、以选配多种应用接口板,包括语音板,网络板等。3.3管脚的定义和说明p1接口主要是扩展评估板上空闲的dsp外设引脚,以便于定制用户的硬件环境。注意:由于这组引脚是直接来自于f2812 dsp芯片,因此,这些引脚为ttl 3.3v标准,其输出最高电压为3.3v,如果要接入5v器件,外接时时要注意电平转换。(在扩展板上使用3.3v-5v兼容器件与扩展接口连接)。表1 管脚的定义及管脚的说明管脚号管脚名说明1+5v电源有power提供+5v电源2+5v电源有power提供+5v电源3pwm1pwm1输出引脚4pwm2pwm2输出引脚5pwm3pwm3输出引脚6pwm4pwm4输出引脚7pwm5pwm5
8、输出引脚8pwm6pwm6输出引脚9pwm7pwm7输出引脚10pwm8pwm8输出引脚11pwm9pwm9输出引脚12t1pwmt1输出引脚13t2pwmt2输出引脚14t3pwmt3输出引脚15t4pwmt4输出引脚16t1ctrp定时器1比较输出17gnd地线18gnd地线19t2ctrp定时器2比较输出20tt3ctrp定时器3比较输出21t4ctrp定时器4比较输出22c1ctrip比较器1比较输出23c2ctrp比较器2比较输出24c3ctrp比较器3比较输出25tdira定时器计数方向选择信号a26tckina定时器时钟输入a27scitxb异步串口tx端b28scirxb异步串
9、口rx端b29spsimaspi从收主发端30spsomaspi主发从收端31spiclkaspi时钟32spisteaspi slave设备发送始能33gnd地线34gnd地线3.4 f2812结构图图1 icetek-f2812-a实物图左上脚为p1端口,右下角脚为p4端口。tms320f2812引脚图图 2 tms320f2812引脚图4、系统整体设计4.1、硬件设计组成框图主 控 制 器蜂鸣器键盘阵列系统复位时钟振荡电平转换 图3硬件组成框图4.2、总体电路图总体电路图如图4所示:图4 总体电路图其中pwm1-pw3是输入引脚,pwm4-pwm5是输出引脚,pwm6是蜂鸣器输出引脚,x
10、tal1和xtal2为晶振输入引脚,vcc接电源(+5v),reset复位引脚,gnd接地,mp/mc接入存储器。如果是低电平接片内存储器,高电平接片外存储器。5、 单元电路设计5.1、3*3键盘电路设计3*3键盘电路如图5所示图5 3*3键盘电路键盘工作原理:从图中可以看出,当一个键被按下时,按键对应的行线和列线的状态均为低电平,其他键对应的均为高电平,具体来讲,把行线相连的引脚均设为输入方式,把列线相连的引脚均设为输出方式。程序首先把所有列线上输出低电平,然后调用扫描程序逐列读取列线上的输入,如果没有键按下,行线将一直保持全1的状态,否则相应的行线上将出现低电平并被程序所获知。然后检测按键
11、所在的列,延时一段时间后,程序逐渐发出扫描码,即扫描的列为0,其他行为1。如果没有任何一条输入的行线为低电平,则说明扫描的列线上没有按键被按下接着扫描下一列。如果在某一列上发0可以在行线上收到不全为1的输入,即表明该行是按键所在的行,从而可以确定按键所在的位置。5.2、时钟源电路设计时钟源可以由两种方式产生:一种是利用内部振荡器与外部无源晶振产生;另一种是利用外部有源晶振产生。本系统选择的是前者。而且上在实验箱内部。时钟振荡电路如图6所示,时钟电路主要使用的是dsp的内部振荡器,外接6mhz的晶振产生时钟。图6 最小系统框图5.3、复位电路设计图7 复位电路复位电路(如图7)由电容,电阻和按钮
12、开关组成,可实现上电复位和手动复位功能。当加载电源时,电源电压通过rc串联电路对电容c进行充电,充电时间常数为t=rc。当充电时间超过5t时,电容c1上的电压接近电源电压,复位完成。对于本系统来说,要求复位时间超过6个系统时钟周期。所以,c1和r1的值,应该根据所用芯片的工作频率来定,否则,系统无法正常工作。另外,按钮s1用于手动复位,r2和s1串联作为电容c1的放电回路,当s1按下,c1的放电回路接通,芯片的复位端接地,芯片处于复位状态。放开s1,c1的放电电路断开。由于c1上的电压已经放完,所以,c1通过电源再次充电,完成复位动作。放电的时间远远小于充电时间,否则,电路无法正常工作。5.4
13、、电源转换电路设计电源电路(如图8)是各种电子设备的核心电路,电子设备的小型化和低成本化使电源电路向轻薄和高效率方向发展,因此在设计电路时选择一款合适的电源电路芯片是首要任务。本课程设计要求电压控制在3.3v左右,因此在设计中加入了电压转换电路,将5v电压转换为3.3v电压。在实际操作中采用了使用电源箱调节电压达到3.3v左右。图8电源转换电路图5.5、蜂鸣器的设计蜂鸣器设计(如图9所示)的总体思想:由dsp的固定的头文件初始化各个端口的功能,置相应的端口为i/o功能,并设置其为输入或输出功能,依次扫描键盘,如果有电平由高电平向低电平调变则由相应的延时参数延时产生不同的频率,输出到蜂鸣器上,从
14、而发出不同的响声。蜂鸣器由dsp通用i/o管脚输出控制,由管脚s13控制蜂鸣器的输出频率,dsp的i/o管脚直接驱动外部蜂鸣器工作。在实际的连接当中,9个按钮的引线依次接p1口的管脚3管脚11。蜂鸣器的引线接p4口的管脚25。正5v电源接p1口的管脚1。地线接p1口的管脚17。程序直接运行即可。图9 蜂鸣器电路图6、元器件选择元气件的选择主要是限流电阻的选择,根据按键工作电流(0ma)以及dsp工作电压(3.3v),因此可以选择3.3k以上的电阻作为上拉电阻,本系统中我们选择4.7k。同时由于外接电源是5v的,而芯片工作电压是3.3,因此也需要一个电阻用于压降,在此我们也选择4.7k电阻。元器
15、件清单如表2所示。表2 电路元件配置表元件名称参数个数电阻4.7k5蜂鸣器给定1发光二极管1tms320f2812芯片给定1dsp系统试验箱给定1按钮给定9排针8除表中所列元器件外,还需导线若干以及供电源一个。7、 运行描述在运行时,首先应先在计算机上安装上ccs软件,然后把程序加载到example中进行调试,如果调试出现错误,要进行修改。若程序正常通过,则可将电路板与计算机相连,然后安装电路板的驱动,驱动安好后,将焊接好的电路与电路板相连,注意针引脚的相连,在本设计中用的是电路板的pwm1、pwm2、pwm3、pwm4、pwm5、pwm6针口,注意不要连错。同时还要注意dsp用的是3.3v的
16、电压,注意电压的调节。一切硬件连接好后,即可将软件下载到dsp芯片中,运行,查看结果。将按键按下后都会发出不同的声音,但由于电路存在一定的干扰,有的按键按下后时响时不响。键盘分频发声装置基本制作成功。8、软件设计8.1程序流程图根据硬件设计思想和硬件图的总体设计,画出软件实现流程图程序流程图是人们对解决问题的方法、思路或算法的一种描述。它采用简单规范的符号,画法简单,并且结构清晰,逻辑性强。经过对硬件部分的分析,理论上技术的实现,基于分块设计的思想可以得出基本程序实现思路。初始化程序以后,将管脚定义为i/o口方式,并且定义管脚的输出输入端,接入高电平。若给入高电平,设置行列值。例如。将行设置为
17、输入端,列设置为输出端。首先先判断是否有键按下,无键按下时(加入一段延时程序),有键按下时,给行值,对列值进行判断,如果循环成立,则能确定是哪个按键按下。开 始检测输入口是否为低电平是否返回主程序初始化设置送行扫描信号蜂鸣器不发声检测是哪列按下输出高电平给prd赋值调用中断图10程序流程图8.2程序代码程序如下:#include dsp281x_device.h / dsp281x headerfile include file#include dsp281x_examples.h / dsp281x examples include fileinterrupt void inter(void
18、);/中断申明 无返回值void delay(unsigned int ndelay);/子程序声明uint16 jishu=0,new1,a1,a2;#define number 8unsigned int music1number2= 162,1480,144,1480,129,1480,121,1480,108,1480,97,1480,86,1480,81,1480;/*#define nmusicnumber 40/宏定义 二维数组(一段音乐)的位数unsigned int musicnmusicnumber2= 182,480,151,480,135,480,121,480,135
19、,480,151,480,182,480,0,480,182,480,151,480,135,480,121,480,135,480,151,480,182,480,0,480,182,240,151,240,135,240,121,240,135,240,151,240,182,240,0,240,182,240,151,240,135,240,121,240,135,240,151,240,182,240,0,240,182,1920,151,1920,135,1920,121,1920,135,1920,151,1920,182,1920,0,1920 ;*/void main(void
20、) /int j=0,count=0; initsysctrl();/初始化系统管脚语句 dint;/关中断 initpiectrl();/初始化pie寄存器 ier = 0x0000;/寄存器复位 中断使能寄存器 包含所有可屏蔽中断使能位 ifr = 0x0000;/寄存器复位 中断标志寄存器 用于识别和清楚未屏蔽中断位 initpievecttable();/初始化pie向量表 eallow; pievecttable.tint0 = &inter;/指定中断服务子程序地址 edis; eallow; gpiomuxregs.gpamux.all=0x0000;/工作方式设置为i/o gp
21、iomuxregs.gpadir.all=0x0007;/pwm1-pwm3为输出, gpiomuxregs.gpbmux.all=0x0000; gpiomuxregs.gpbdir.all=0x0001; edis; cputimer0regs.prd.all=new1; cputimer0regs.tpr.all = 0;/tpr-预定标计数器,16位,pic(8-15位),tddr(0-7位)取值(0-15),可位操作,cputimer0regs.tim.all = 0;/tim-计数寄存器cputimer0regs.tprh.all = 0;/tprh-高16位,一般不用,付0cpu
22、timer0regs.tcr.bit.tss = 1;/tcr-控制寄存器,位操作 tss位停止寄存器cputimer0regs.tcr.bit.soft = 1;/soft遇到软件中断直接运行cputimer0regs.tcr.bit.free = 1;cputimer0regs.tcr.bit.trb = 1;/重装载位prd值cputimer0regs.tcr.bit.tie = 1;/一直请求中断cputimer0.interruptcount = 0; startcputimer0();/0-计数器重新工作,1-停止 ier |= m_int1;/0x0001 中断1piectrlr
23、egs.pieier1.bit.intx7 = 1;/向量控制寄存器,第一组里的第七个,1-开中断eint; /防止可屏蔽中断影响 ertm; / 防止事件相互影响 /gpiodataregs.gpbdat.bit.gpiob0=1; while(1) gpiodataregs.gpadat.bit.gpioa0=0; gpiodataregs.gpadat.bit.gpioa1=0; gpiodataregs.gpadat.bit.gpioa2=0;if(gpiodataregs.gpadat.bit.gpioa3=1)&(gpiodataregs.gpadat.bit.gpioa4=1)&
24、(gpiodataregs.gpadat.bit.gpioa5=1) new1=0; delay(296); a1=0;a2=0;/if(gpiodataregs.gpadat.bit.gpioa0=0)|(gpiodataregs.gpadat.bit.gpioa1=0)|(gpiodataregs.gpadat.bit.gpioa2=0) gpiodataregs.gpadat.bit.gpioa0=0; gpiodataregs.gpadat.bit.gpioa1=1; gpiodataregs.gpadat.bit.gpioa2=1;if(gpiodataregs.gpadat.bit
25、.gpioa3=0)&(gpiodataregs.gpadat.bit.gpioa4=1)&(gpiodataregs.gpadat.bit.gpioa5=1) new1=56700;/new1=music100*350; delay(music101*201); a1=0;a2=1; if(gpiodataregs.gpadat.bit.gpioa3=1)&(gpiodataregs.gpadat.bit.gpioa4=0)&(gpiodataregs.gpadat.bit.gpioa5=1) new1=music110*350; delay(music111*200); a1=0;a2=1
26、; if(gpiodataregs.gpadat.bit.gpioa3=1)&(gpiodataregs.gpadat.bit.gpioa4=1)&(gpiodataregs.gpadat.bit.gpioa5=0) new1=music120*350; delay(music121*200); a1=0;a2=1; gpiodataregs.gpadat.bit.gpioa0=1; gpiodataregs.gpadat.bit.gpioa1=0; gpiodataregs.gpadat.bit.gpioa2=1;if(gpiodataregs.gpadat.bit.gpioa3=0)&(g
27、piodataregs.gpadat.bit.gpioa4=1)&(gpiodataregs.gpadat.bit.gpioa5=1) new1=music130*350; / gpiodataregs.gpbdat.bit.gpiob0=0; delay(music131*200); / gpiodataregs.gpbdat.bit.gpiob0=1; a1=0;a2=1; if(gpiodataregs.gpadat.bit.gpioa3=1)&(gpiodataregs.gpadat.bit.gpioa4=0)&(gpiodataregs.gpadat.bit.gpioa5=1) ne
28、w1=music140*350; delay(music141*200); a1=0;a2=1; if(gpiodataregs.gpadat.bit.gpioa3=1)&(gpiodataregs.gpadat.bit.gpioa4=1)&(gpiodataregs.gpadat.bit.gpioa5=0) new1=music150*350; delay(music151*200); a1=0;a2=1; gpiodataregs.gpadat.bit.gpioa0=1; gpiodataregs.gpadat.bit.gpioa1=1; gpiodataregs.gpadat.bit.g
29、pioa2=0;if(gpiodataregs.gpadat.bit.gpioa3=0)&(gpiodataregs.gpadat.bit.gpioa4=1)&(gpiodataregs.gpadat.bit.gpioa5=1) new1=music160*350; delay(music161*200); a1=0;a2=1; if(gpiodataregs.gpadat.bit.gpioa3=1)&(gpiodataregs.gpadat.bit.gpioa4=0)&(gpiodataregs.gpadat.bit.gpioa5=1) new1=music170*350; delay(mu
30、sic171*200); a1=0;a2=1; if(gpiodataregs.gpadat.bit.gpioa3=1)&(gpiodataregs.gpadat.bit.gpioa4=1)&(gpiodataregs.gpadat.bit.gpioa5=0) new1=music170*350; delay(music171*200); a1=0;a2=1; cputimer0regs.prd.all=new1; interrupt void inter(void) piectrlregs.pieack.all=pieack_group1;/中断应答寄存器重装值 cputimer0regs.
31、tcr.bit.tif=1;/定时器中断标志位 cputimer0regs.tcr.bit.trb=1;/重装载 gpiodataregs.gpbset.bit.gpiob0=1; if(jishu=0) gpiodataregs.gpbdat.bit.gpiob0=a1;/将与蜂鸣器相连的引脚置低,蜂鸣器发声 /delay(music101*50); jishu=1; else gpiodataregs.gpbdat.bit.gpiob0=a2;/将与蜂鸣器相连的引脚置高,蜂鸣器停止发声 jishu=0; void delay(unsigned int ndelay) int i,k=0;for ( i=0;indelay;i+ ) k+;9、 课程设计总结为期两个星期的dsp课程设计即将接近尾声,而我也从中学到了很多的东西,虽然课程设计即将结束,但它对我们每位学生的影响将是终生的。课程设计不但巩固了我们课堂上学到的知识,同时加强了我们的动手能力,培养了我们的自学能力以及团队意识。这些都是我将来参加工作之后最有利的筹码。两个星期的课程设计,刚开始拿到课程设计的计划书的时候,还什么也不懂。发现自己是一头的茫然,先不说如果去按照要求设计电路了,就是连最基本的用哪些器件都不是很清楚而且任务书上所提到的器件具体参数什么的都不知道,因为这些在课本中很少注意到,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 等式性质说课课件
- 心理技能全套课件资源
- 心理学意识基础知识课件
- 抽成合同协议书范本
- 童诗白模拟电子技术课件
- 建设工程维修协议书范本
- 几方安全协议书范本
- 牛奶合作合同协议书范本
- 个人转让协议书范本大全
- 2025年娱乐、游览用船舶项目发展计划
- 《旅游学概论》第七章
- 矿用风动风机风机说明书
- 旅游规划资料清单
- 儿科运用PDCA降低留置针非计划拔管率品管圈成果汇报书
- 老年人清洁照护(老年专科护理课件)
- GA/T 1202-2022交通技术监控成像补光装置通用技术条件
- 人民医院普外科临床技术操作规范2023版
- 2020年新高考全国卷Ⅰ山东卷西班牙语高考试题含答案
- 举一反三- 三年级奥数 - 第37讲 面积计算
- 2023年中山大学附属第二医院护士招聘考试历年高频考点试题含答案解析
- 《艺术导论》课程教学大纲
评论
0/150
提交评论