(2009级)
题 目 | |
学 院 | 电子信息学院 |
专 业 | 电子信息工程 |
班 级 | 09047511、09047512 |
学 号 | 0904116、09041216 |
学生姓名 | 郭鹰鸿、阮宇静 |
金折网指导教师 | 黄继业 |
完成日期 | 2010年06月 |
| |
一、引言………………………………………(3)
1.PS2背景
2.PS2键盘通信
3.电子琴的设计目的及意义低温脱硝催化剂
4.VGA原理
二、PS2键盘控制模型电子琴顶层点子通电路的设计
…………………………………………………(5)
三、PS2键盘控制电子琴各模块的设计与仿真
1.锁相环及分频器fdiv的设计仿真………………………(7)
2.PS2通信模块的设计……………………………………(8)
3.模块CODE3的设计仿真…………………………………(9)
4.模块F_CODE的设计……………………………………(12)
5.模块DECL7S的设计仿真………………………………(15)
6.模块RAM的设计…………………………………………(16)
7.模块ROM的设计…………………………………………(17)
8.模块shizhong的设计…………………………(19)
9.模块VGA的设计…………………………………………(20)
10.模块SPEAK的设计…………………………………(21)
11.MUX21的设计仿真………………………………………(22)
四、PS2键盘控制模型电子琴的硬件测试
…………………………………………………(23)
五、结论
无人驾驶小车
…………………………………………………(24)
六、致谢
…………………………………………………(25)
参考文献
◆引言
一、本课题研究内容与意义:
1.PS2背景:
PS2协议:PC机最常采用的PS2借口为min-DIN 6pin的连接器,如图1所示:
PS2设备有主从之分,主设备采用Female插座,从设备采用Male插头,现在广泛实用的PS2键盘鼠标均在从设备方式下工作。PS2接口的时钟与数据线都是集电极开路结构。主从设备之间数据通信采用双向同步串行方式传输,时钟信号由从设备产生。 a.从设备到主设备的通信
当从设备向主设备发送数据时,首先检查时钟线,以确认时钟线是否为高电平。如果是高电平,从设备就可以开始传输数据;反之,从设备要等待获得总线的控制权,才能开始传输数据。传输的每一帧由11位组成,发送时序及每一位的含义如图2所示。
每一帧数据中开始位总是为0,数据校验采用奇校验方式,停止位始终为1。从设备到主设备通信时,从设备总是在时钟线为高时改变数据线状态,主设备在时钟下降沿读入数据线状态。如表1所示:
2.PS2键盘通信
目前,键盘有许多种,PS2键盘是当今PC机最常用的种类,这里仅涉及最常用的键盘,也就是6引脚发送数据的键盘。键盘通信时需要四根连接线:电源线、地线、时钟线CLK、数据线DATA。
DATA和CLK是可双向通信的I/O线,也就是说,通过这两根线,即可以把主机的数据发送到PS2设备,又可以把设备的数据发向主机。在无键按下时,DATA和CLK一直处于高电平状态。但有键按下时,键盘先检查CLK,看它是否处于处于高电平,如果是处在低电平,说明主机无空闲接受数据,这时键盘将会把数据放在自己的缓冲区,直到CLK重新被拉高。键盘CLK首先产生下降沿,这时已在数据线上产生信号,如:起始位总是为0,之后每
一个时钟周期时钟电平为高时数据线上加将要输出的电平,在时钟的下降沿它将被主机读取。
3.电子琴的设计目的及意义
从古代到现代,音乐一直是人类一种重要的娱乐和释放方式,陶冶情操,丰富生活。所以设计出一个电子琴,可以让人们抒发心中的感情,陶冶情操,更好的体会生活的乐趣。另外,这也可以作为儿童音乐启蒙的玩具,所以此电子琴的设计意义重大。
4.VGA原理
◆PS2键盘控制模型电子琴顶层电路的设计
如图所示,该图是电子琴顶层设计电路。按实现功能电路主要分成这几个模块:
1)锁相环、用宏模块搭建的22位.23位.24位计数器、用Verilog写的时钟分频模块fdiv:
1 提供25MHz的时钟信号驱动VGA显示
2 与24位计数器结合提供1Hz给数字时钟用以计时
3 与23位计数器结合提供2MHz给CNT138T与rom_qupu以控制节奏
4 与22位计数器结合提供4MHz给cnt10b以控制RAM的地址
5 与fdiv结合提供1MHz给SPEAK
2)模块PS2_2:PS2通信模块,将键盘输出码转换为ASCII码,只处理字母
3)二进制编码器CODE3:
对照物根据键盘码的ASCII码,用verilog写高、中、低三个音阶的分别对应的键盘字母代码,与F_CODE模块相对应,以此来扩大音域
4)模块F_CODE:
1 模块F_CODE的功能首先是为模块SPKER提供决定所发音符的分频预置数,而此数在SPKER输入口停留的时间即为此音符的节拍长度。
2 同时,F_CODE把CODE3中音符的代码转化为音符频率所对应的数值
3 与模块DECL7S结合显示音符
4 H[3..0]显示0,1,2表示高、中、低三个音阶
5)模块DECL7S:
7段译码显示模块,在数码管上显示1,2,3,4,5,6,7音符
6)模块RAM:
与模块cnt10b结合记录弹奏的乐曲
7)模块ROM:
与模块cnt138b结合可自动播放储存的音乐
8)模块shizhong:
可记录弹奏时间
9) 模块VGA:
显示按键的位置,当音乐响时同步显示对应的音的键盘位置
10)模块SPEAK
输出每一个音符的音调
11)模块MUX21