电子课程设计报告——基于fpga的vga游戏设计内容摘要:

场扫描的时序图 8 end else begin // if(H_ContH_TOTAL) if(H_ContH_TOTAL1) H_Cont = H_Cont+139。 b1。 else H_Cont = 0。 // Horizontal Sync if(H_Cont==H_FRONT1) // Front porch end oVGA_HS = 139。 b0。 if(H_Cont==H_FRONT+H_SYNC1) // Sync pulse end oVGA_HS = 139。 b1。 end end // Vertical Generator: Refer to the horizontal sync always@(posedge oVGA_HS or negedge iRST_N) begin if(!iRST_N) begin V_Cont = 0。 oVGA_VS = 1。 end else begin // if(V_ContV_TOTAL) if(V_ContV_TOTAL1) V_Cont = V_Cont+139。 b1。 else V_Cont = 0。 // Vertical Sync if(V_Cont==V_FRONT1) // Front porch end oVGA_VS = 139。 b0。 if(V_Cont==V_FRONT+V_SYNC1) // Sync pulse end oVGA_VS = 139。 b1。 end end 9 四 、 PS/2 鼠标接口模块的设计 4 .1 PS/2 鼠标通信 协议 4 .1 .1 引脚定义 如图 即为 PS/2 鼠标接口引脚 定义: PS/2接口连接器引脚定义 4 .1 .2 PS/2 协议概述 PS/2 通信协议是一种双向同步串行通信协议。 通信的两端通过 CLOCK(时钟脚 )同步,并通过国 DATA(数据脚 )交换数据。 任何一方如果想抑制另外一方通信,只需要把 CLOCK 拉到低电平。 如果是 PC 机和 PS/2 设备间的通信,则 PCji机必须做主机,也就是说, PC 机可以抑制 PS/2 设备发送数据,而 PS/2 设备则不会抑制 PC 机发送数据,也即主机总是在总线上有优先权。 一般两设备间传输数据的最大时钟频率是 33kHz,大多数 PS/2 设备工作在 1020kHz。 推荐值在15kHz 左右,也就是说, CLOCK 高、低电平的持续时 间都为 40us。 每一数据帧包含 11— 12 位,具体含义如表 5所示。 PS/2通信数据帧格式 数据 含义 1个起始位 总是逻辑 0 8个数据位 (LSB)地位在前 1个奇偶校验位 奇校验 1个停止位 总是逻辑 1 1个应答位 仅用在主机对设备的通信中 10 4 .1 .3 PS/2 设备到主机的通信 PS/2到主机的通信时序如图 11所示。 数据在 PS/2时钟的下降沿读取, PS/2的时钟频率为 10—。 对于 PS/2设备,一般来说从时钟脉冲的上升沿到一个数据转变的时间至少要有 5us;数据变化到下降沿的时间至少要有 5us,并且不大于25us,这个时序非常重要应该严格遵循。 主机可以再第 11个时钟脉冲停止位之前把时钟线拉低,使设备放弃发送当前字节,当然这种情况比较少见。 在停止位发送后设备在发送下个包前应该至少等待 50us,给主机时间做相应的处理。 不过主机处理接收到的字节时一般会抑制发送 (主机在收到每个包时通常自动做这个 )。 在主机释放抑制后,设备至少应该在发送任何数据前等 50us。 设备到主机的通信 4 .1 .4 主机到 PS/2 设备的通信 首先 PS/2 设备总是产生 , 时钟信号如果主机要发送数据它必须首先把时钟和数据线设置为请求。 发送状态如下示: (1)通过下拉时钟线至少 100 微秒来抑制通讯 ; (2)通过下拉数据线来应用请求发送然后释放时钟。 设备应该在不超过 10 毫秒的间隔内就要检查这个状态。 当设备检测到这个状态 , 它将开始产生时钟信号 , 并且时钟脉冲标记下输入八个数据位和一个停止位。 主机仅当时钟线为低的时候改变数据线 , 而数据在时钟脉冲的上升沿被锁存 ,这在发生在设备到主机通讯的过程中正好相反。 在停止位发送后 , 设备要应答接收到的字节 , 就把数据线拉低并产生最后一个时钟脉冲 , 如果主机在第 11 个时钟脉冲后不释放数据线 , 设备将继续产生时钟脉冲直到数据线被释放 , 然后设备将产生一个错误。 通信时序图如图 12,图 13所示。 主机也可以再第 11个时钟脉冲应答位前中止一次传送,只要下拉时钟线至11 少 100us[8]。 主机到设备的通信 4 .2 PS/2 鼠标的工作模式 PS/2鼠标的四种工作模式是: Reset模式,当鼠标上电或主机发复位命令(0xFF)给它时进入这种模式; Stream模式 鼠标的默认模式,当鼠标上电或复位完成后,自动进入此模式,鼠标基本上以此模式工作; Remote模式,只有在主机发送了模式设置命令 (0xF0)后,鼠标才进入这种模式; Wrap模式,这种模式只用于测试鼠标与主机连接是否正确。 4 .3 PS/2 鼠标的数据包结构 标准的 PS/2鼠标采用如表 6所列的 3字节数据包格式发送位移和按键信息给主机。 三字节数据包格式 字节 D7 D6 D5 D4 D3 D2 D1 D0 Byte1 Y溢出位。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。