PS接口键盘的输入识别电路设计方案报告说明书_第1页
PS接口键盘的输入识别电路设计方案报告说明书_第2页
PS接口键盘的输入识别电路设计方案报告说明书_第3页
PS接口键盘的输入识别电路设计方案报告说明书_第4页
PS接口键盘的输入识别电路设计方案报告说明书_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

PAGE0-

ﻩﻩ课程设计(报告)任务书(理工科类)Ⅰ、课程设计(报告)题目:Ⅱ、课程设计(论文)工作内容一、课程设计目标1.培育综合运用知识和独立开展实践创新的能力;2.把PS/2的传输协议理解的更透彻一些;3.将VerilogHDL语言运用的更加娴熟。二、讨论方法及手段应用1。将任务分成若干模块,查阅相关论文资料,分模块调试和完成任务;2.学习PS2键盘协议;3。分模块实验箱调试。三、课程设计预期效果1.完成实验环境搭建;2.以通用的PS2键盘为输入,设计一个能够识别PS2键盘输入编码的电路,并把键值通过数码管显示;3。至少能够识别0~9的数字键。同学姓名:吴韬专业班级:09级自动化摘要PS/2键盘是一种常用的计算机输入设备,只需稍加改动,便可很便利的应用在各种嵌入式系统中.本文提出了一种利用FPGA来设计PS/2接口的方法,结果表明此方法有容易实现模块化和移植性强的特点。【关键词】PS/2接口嵌入式系统FPGAABSTRACTPS/2keyboardisageneralinputofcomputesystem.Itcanbeeasilyequippedwithvariousembeddedsystems。ThispaperdescribesanewmethodtodesignPS/2interfacewithFPGA。Theresultindicatesthatthedesignhasthefeaturesofeasymodularizationandpowerfultransplantablecapability。【Keywords】PS/2interface;embeddedsystem;FPGA第一章系统设计第一节课题目标及总体方案键盘作为嵌入式系统的一种最常用人机接口设备,在嵌入式系统中有着相当广泛的应用。但开发者一般均采纳自行设计的简易矩阵键盘,这类键盘仅仅是按行、列排列起来的矩阵开关,往往需要单独设计并制作,通用性不强。当需要较多的按键时,则会占用较多的I/O端口,在软件上则要进行上电复位按键扫描及通信处理,而且还要加上按键的去抖动处理,增大了系统的软硬件开销。而PS/2键盘,内嵌自动去除按键抖动的设计,自动地识别键的按下与释放,软硬件可发简便,价格廉价,稳定牢靠,将PS/2键盘作为嵌入式系统的输入设备已经成为可行的方案。而目前关于PS/2键盘掌握的应用大部分采纳单片机掌握,与单片机相比,FPGA具有比单片机更加灵敏,集成度更高,容易移植等特点。本文在分析PS/2协议和PS/2键盘工作原理与特点的基础上,给出了在ALTERACyclone系列EPIC6Q240C8上对PS/2键盘接口的实现方法。其次节PS/2接口协议简介PS/2物理特性PS/2设备接口用于很多现代的鼠标和键盘,它最初由IBM开发,最常见的为6脚mini-DIN,其引脚结构和外形如图1所示。图1PS/2硬件接口外形图PS/2设备有主从之分,现在广泛使用的PS/2键盘鼠标均工作在从设备方式下。PS/2接口的时钟与数据线都是集电极开路结构,必须外接上拉电阻,一般上拉电阻设置在主设备中,主从设备之间的数据通信采纳双向同步方式传输,时钟信号一般由从设备产生。二、数据包的结构键盘的状态每转变一次,键盘至少会发出三个字节的数据包,在有键按下时会向主机发送该键的通码(MakeCode),当键释放时发送断码(BreakCode)。例如:键“A”的通码为0x1C,键“A”的断码为:0xF0,0x1C,因此当要传送键“A”时,键盘发送的数据包的代码是:0x1C,0xF0,0x1C。接口的时序规律PS/2协议是一种双向半双工串行通信协议,时钟信号由键盘产生,最大时钟频率为33kHz,推举频率在15kHz.通信两端通过Clock同步,通过Data交换数据,任何一方如果想禁止另一方通信时,只需将Clock拉到低电平.其传输时序依据传输的方向不同分为发送和接收两个不同时序规律,图2是从键盘到主机的时序图.其中:Start:起始位,总为‘0’(低电平)Data0~Data7:8位数据位(低位在前,高位在后)Parity:奇偶校验位(为奇校验)Stop:停止位,总为‘1'(高电平)当键盘要向主机通信时,键盘总是首先检查时钟线是否为高电平,如果不是则表明是主机正在通信,必须缓冲要发送的数据直到重新获得总线的掌握权(键盘有16个字节的缓冲区),即等到时钟线是高电平才能发送数据。而且从键盘到主机的数据只能在时钟的下降沿时才能被读取。当主机到键盘进行通信时,主机会首先把时钟线和数据线设置为“恳求发送”状态。简略方式为:首先下拉时钟线至少100μs来抑制通信,然后下拉数据线“恳求发送",最后释放时钟.在此过程中,键盘在不超过10μs的间隔内就会检查这个状态。当键盘检查到这个状态时,就开头产生时钟。和键盘发送的数据读取方式不一样,主机发送的数据必须在时钟的上升沿读取.结果与商量第一节PS/2接口的规律仿真本次设计采纳了自上而下的模块设计方法,考虑需要设计以下几部分模块:串并转换模块,分拣接收模块,掌握模块,封装发送模块等。这几部分的规律关系如图3所示:串并转换模块主要是接收和发送传输数据,能够把串行数据转变成所需要的并行数据。分拣接收模块功能是把串并转换模块传过来的数据包依据肯定的要求进行分拣提取,从而得到有用的信息。掌握模块是设计的核心,PS/2接口是半双工串行总线,因此其发送和接收不能同时进行,需要掌握模块对其时序进行严格的掌握。掌握模块负责协调整个设计的全过程,在本设计中采纳了状态机的设计思路。封装发送模块和分拣接收模块类似,只不过是把要传送的命令数据转变成PS/2协议要求的发送数据包的格式.整个设计的流程图如图4所示:当系统上电或复位时,主设备首先向键盘发送初始化信号,在得到键盘的应答信号后,系统进入到了总线空闲状态,可以进行数据的发送和接收,但主设备拥有更高的优先级,正处在接收状态时如果得到发送恳求,会中断数据接收,直接进入数据发送状态。其次节硬件验证硬件验证在JH-FPGA0233实验箱实现,在系统中用到复位电路,电源电路,FPGA芯片,程序下载电路,PS/2接口电路,数码显示电路等。选取Cyclone系列EPIC6Q240C8型FPGA器件进行综合,将综合后的配置文件下载到开发板之后,系统上电,PS/2设备初始化后在实验箱正确观察到了键盘的输入。图5(接收数字,显示ASCII码) 图6(接收字母,显示ASCII码)ﻬ心得体会课程设计完成了,在这个过程中我学到了很多东西。首先FPGA的硬件验证表明,设计的各个模块成功地实现了复位后的数据传送过程,达到了预期的目标。VerilogHDL语言的通用性决定了其具有移植性强的特点,对实际的应用具有肯定的参考价值.本文作者创新点:本文所作的讨论是在利用单片机实现PS/2接口的基础上,重新用FPGA实现了对PS/2接口的掌握。该方法较传统的单片机实现方法具有实现简洁,移植性强,便于集成等特点。ﻬ参考文献[1]张琴,向先波,徐国华.PS/2键盘在基于PIC单片机的远程多温度点巡检 ﻩ系统中的应用机械与电子,2006(8):40-42。[2]苗新法,王秀华.PS/2键盘在嵌入式系统中的应用讨论[J].兰州交通ﻩﻩ高校学报(自然科学版),2007(1).[3]刘勇,王玉晶,曲斌,于洋.一种嵌入式PC非标准键盘的设计ﻬ附录程序:/`timescale1ns/1psmoduleps2(clk,rst_n,ps2_clk,ps2_data,ps2_byte);inputclk,rst_n,ps2_clk,ps2_data;output[7:0]ps2_byte;//²¶×½Ï½µÑØregps2_clk0,ps2_clk1,ps2_clk2;wireneg_ps2_clk;always@(posedgeclkornegedgerst_n)if(!rst_n)beginps2_clk0〈=1'b0;ps2_clk1<=1’b0;ps2_clk2<=1'b0;endelsebeginps2_clk0<=ps2_clk;ps2_clk1<=ps2_clk0;ps2_clk2<=ps2_clk1;endassignneg_ps2_clk=ps2_clk2&~ps2_clk1;//°´ÕÕʱÐò½øÐÐÈ¡Êýreg[7:0]ps2_byte_r;//ouputps2_byte¶ÔÓ¦µÄ¼Ä´æÆ÷±äÁ¿reg[7:0]temp_data;//Êý??»º³å±äÁ¿reg[3:0]num;always@(posedgeclkornegedgerst_n)if(!rst_n)begintemp_data<=8'b0;num<=1'b0;endelseif(neg_ps2_clk)//µ±Ï½µÑØʱ£¬³ö·¢Ê¼þbegincase(num)4'd0:num<=num+1;//¿ªÊ¼×´Ì¬4’d1:beginnum<=num+1;temp_data[0]〈=ps2_data;end4'd2:beginnum<=num+1;temp_data[1]〈=ps2_data;end4'd3:beginnum<=num+1;temp_data[2]〈=ps2_data;end4'd4:beginnum〈=num+1;temp_data[3]<=ps2_data;end4’d5:beginnum<=num+1;temp_data[4]<=ps2_data;end4'd6:beginnum<=num+1;temp_data[5]<=ps2_data;end4'd7:beginnum<=num+1;temp_data[6]〈=ps2_data;end4'd8:beginnum〈=num+1;temp_data[7]〈=ps2_data;end4'd9:num<=num+1;4'd10:num〈=0;default:;endcaseend//¼ì²âÊÇ·ñËÉÊÖregkey_f0;always@(posedgeclkornegedgerst_n)if(!rst_n)key_f0〈=0;elseif(num==4’d10)//¸Õ´«ÍêÒ»¸ö×Ö½ÚµÄÊý¾Ýbeginif(temp_data==8'hf0)key_f0<=1;elsebeginif(!key_f0)//??ps2_byte_r<=temp_data;else//??key_f0<=0;endend//ÕÒ³ö¶ÔÓ¦µÄASCIIÂëreg[7:0]ps2_asc;always@(ps2_byte_r)case(ps2_byte_r)8’h15:ps2_asc〈=8'h51;//Q8’h1d:ps2_asc<=8'h57;//W8'h24:ps2_asc<=8'h45;//E8'h2d:ps2_asc<=8'h52;//R8'h2c:ps2_asc〈=8'h54;//T8'h35:ps2_asc〈=8’h59;//Y8’h3c:ps2_asc〈=8'h55;//U8’h43:ps2_asc<=8'h49;//I8'h44:ps2_asc〈=8'h4f;//O8'h4d:ps2_asc<=8’h50;//P8'h1c:ps2_asc〈=8'h41;//A8'h1b:ps2_asc〈=8'h53;//S8'h23:ps2_asc<=8'h44;//D8'h2b:ps2_asc〈=8'h46;//F8'h34:ps2_asc〈=8'h47;//G8'h33:ps2_asc〈=8'h48;//H8'h3b:ps2_asc〈=8’h4a;//J8'h42:ps2_asc<=8’h4b;//K8’h4b:ps2_asc<=8’h4c;//L8’h1a:ps2_asc<=8'h5a;//Z8'h22:ps2_asc<=8'h58;//X8'h21:ps2_asc<=8’h43;//C8'h2a:ps2_asc<=8'h56;//V8’h32:ps2_asc<=8'h42;//B8’h31:ps2_asc<=8'h4e;//N8’h3a:ps2_asc<=8'h4d;//Mendcase//½«¶ÔÓ¦µÄASCIIÂëËͳöassignps2_byte=ps2_asc;endmodule//////////////////////////////////////////////////////////////////////////////////moduledigitron(clk,rst_n,sm_cs1,sm_cs2,sm_cs3,sm_cs4,sm_db,ps2_byte);inputclk,rst_n;input[7:0]ps2_byte;outputsm_cs1,sm_cs2,sm_cs3,sm_cs4;output[6:0]sm_db;//¼ÆÊý£¬2^24=16*10^6;¼´16*10^6*20ns=0.32s=320msreg[19:0]cnt;always@(posedgeclkornegedgerst_n)if(!rst_n)cnt<=25'b0;elsecnt〈=cnt+1’b1;reg[3:0]shi,ge;always@(posedgeclkornegedgerst_n)if(!rst_n)beginshi<=4’d0;ge<=4'd0;endelseif(cnt==19'hf_ffff)beginshi<=ps2_byte/16;ge<=ps2_byte%16;endparameterseg0=7’hc0,seg1=7’hf9,seg2=7’ha4,seg3=7'hb0,seg4=7'h99,seg5=7'h92,seg6=7'h82,seg7=7'hf8,seg8=7'h80,seg9=7’h90,sega=7'h88,segb=7'h83,segc=7’hc6,segd=7'ha1,sege=7’h86,segf=7’h8e;//segf=7'hff;reg[3:0]num;reg[6:0]sm_dbr;always@(num)case(num)4'h0:sm_dbr<=seg0;4’h1:sm_dbr〈=seg1;4'h2:sm_dbr〈=seg2;4'h3:sm_dbr<=seg3;4'h4:sm_dbr〈=seg4;4'h5:sm_dbr<=seg5;4'h6:sm_dbr<=seg6;4’h7:sm_dbr〈=seg7;4’h8:sm_dbr<=seg8;4'h9:sm_dbr〈=seg9;4’hA:sm_dbr〈=sega;4'hB:sm_dbr<=segb;4’hC:sm_dbr<=segc;4'hD:sm_dbr〈=segd;4'hE:sm_dbr<=sege;4'hF:sm_dbr<=segf;default:;endcaseassignsm_db=sm_dbr;regsm_cs2_r,sm_cs1_r;always@(clkorshiorge)beginif(cnt[19])beginsm_cs2_r=0;sm_cs1_r=1;

温馨提示

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

评论

0/150

提交评论