- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
9.1 PS/2基础9.1.1 PS/2端口的物理接口 除了数据线和时钟线之外,PS/2端口还包括电源线(VCC)和地(GND)。电源由主系统提供,VCC是5 V供电,数据和时钟线是开漏极的。不过现在大部分的键盘和鼠标支持3.3 V供电,所以在S3开发板上针对PS/2接口有两个电源供电,一个是5 V,针对老的计算机,另外一个是3.3 V供电,针对新的计算机,可以通过跳线来选择。另外,大家不必担心电平匹配的问题,FPGA的引脚是支持PS/2端口的5 V电平的。 9.1.2 PS/2接口主从设备通信协议 PS/2设备与其主系统之间通过包的方式进行通信。基本的从设备到主系统的数据传输协议如图9-1所示,其中,数据与时钟信号分别标为ps2d和ps2c。 数据以串行比特流传输,其格式与UART的非常相似,传输从开始位开始,然后进行8位的数据和奇偶校验,最后是停止位。与UART不同的是时钟信息由单独的时钟信号线提供,每次ps2c的下降沿时刻数据线ps2d上的数据开始有效并可以存取。时钟信号ps2c的周期在60到100 μs之间(约10~16.7 kHz),而且要求ps2d信号在ps2c信号来临之前已经保持稳定的时间为5 μs,同时在ps2c下降沿结束之后同样保持有5μs的稳定时间。按照前面讲述的数字电路术语,就是建立时间和保持时间都是5 μs。 图9-1 PS2的端口时序图 9.1.3 PS/2接收模块设计 基于PS/2端口的接收系统设计与UART的接收模块很相似,只是在采样过程中不需要过采样。根据PS/2的协议,信号ps2c的下降沿为接收数据的参考点。子系统包含一个下降沿检测电路,其功能是当检测到ps2c信号下降沿来临时,生成一个时钟宽度的脉冲信号,同时接收器从串行线移位一位数据并存储下来。 在这里要注意,下降沿检测过程中需要考虑杂波的干扰,因而需要增加滤波电路来过滤毛刺,其代码如下: always @(posedge clk, posedge reset) filter-reg = filter-next ; ...//1-bit 移位寄存器 assign filter-next = {ps2c, filter-reg [7:11]}; //滤波器assign f_ps2c_next = (filter_reg= =8 bllllllll) ? lbl: (filter_reg= =8 ? 1b0: f-ps2c-reg; 滤波电路主要包含一个8位的移位寄存器电路,另外还有判断部分。当8位数据全部为1或0时,对应返回值为1或0,因此小于8个时钟周期的信号变化都会当作毛刺被忽略,而通过滤波器的信号输出到下降沿检测电路中。 接收电路的ASMD流程图如图9-2所示,接收器一开始处于idle状态,系统包含了一个rx_en的控制寄存器,用来使能或停止接收操作,目的是为了双向传输操作的控制。在本系统中,由于键盘为单向操作,可以固定设置为1(仅用来做接收操作)。 当检测到下降沿并且rx_en信号为有效时,状态机将起始位移入并进入数据传输状态dps。由于接收数据模式固定,所以连续移入10 bit数据,而不是分数据、校验和停止三个状态移入数据。然后状态机进入置位状态,多余一个时钟用来完成停止位的移位操作,并置位psrx_done_tick信号一个时钟周期。具体滤波电路和ASMD状态机描述如程序9-1所示。 图9-2 PS/2 接收部分状态机流程图 【程序9-1】 PS/2接收程序。 module ps2_rx ( input wire clk, reset, input wire ps2d, ps2c, rx_en, output reg rx_done_tick, output wire [7:0] dout ); //状态机信号声明 localparam [1:0] idle = 2b00, dps = 2b01, load = 2b10; //信号声明 reg [1:0] state_reg, state_next; reg [7:0] filter_reg; wire [7:0] filter_next; reg f_ps2c_reg; wire f_ps2c_next; reg [3:0] n_reg, n_next; reg [10:0] b_reg, b_next;
您可能关注的文档
- 数控机床与编程课件作者郑堤主编第一章节绪论.ppt
- 数控机床与数控编程技术课件作者廖建刚倪祥明主编1数控铣床加工中心概述.ppt
- 汽车概论第2版课件作者王中亭主编第二章节.ppt
- 数控机床与数控编程技术课件作者廖建刚倪祥明主编2基本编程思路.ppt
- 数控机床与数控编程技术课件作者廖建刚倪祥明主编3基本指令.ppt
- XilinxFPGA设计基础VHDL版含光盘课件作者李云松全书第5章节.ppt
- 数控机床与数控编程技术课件作者廖建刚倪祥明主编4刀具半径补偿功能.ppt
- 数控机床与数控编程技术课件作者廖建刚倪祥明主编5子程序.ppt
- 数控机床与数控编程技术课件作者廖建刚倪祥明主编7孔加工.ppt
- 数控机床与数控编程技术课件作者廖建刚倪祥明主编8简化编程.ppt
- 汽车概论第2版课件作者王中亭主编绪论.ppt
- XilinxFPGA设计与实践教程课件作者赵吉成第6-10章节第10章节.ppt
- XilinxFPGA设计与实践教程课件作者赵吉成第11-16章节第11章节.ppt
- 汽车电工电子基础课件作者储克森第三章节线性动态电路的分析.ppt
- 汽车概论课件作者蔡兴旺第2章节历史名车欣赏.PPT
- XilinxFPGA设计与实践教程课件作者赵吉成第11-16章节第12章节.ppt
- XilinxFPGA设计与实践教程课件作者赵吉成第11-16章节第13章节.ppt
- 汽车电工电子基础课件作者储克森第一章节直流电路.ppt
- XilinxFPGA设计与实践教程课件作者赵吉成第11-16章节第14章节.ppt
- XilinxFPGA设计与实践教程课件作者赵吉成第11-16章节第16章节.ppt
最近下载
- 2024年中级注册安全工程师-矿山-考前资料.pdf VIP
- 2025年高级工具钳工《理论知识》考试真题(新版解析).pdf VIP
- 红色资源讲解员服务规范 DB32 T 5069-2025.pdf VIP
- 第9课+水墨井冈+++课件+2025-2026学年赣美版(2024)初中美术八年级上册.pptx VIP
- 《习作:“漫画”老师》优质教案(第一课时).docx VIP
- 第7课+中国传统色++课件+2025-2026学年赣美版(2024)初中美术八年级上册.pptx VIP
- 查理和巧克力工厂.ppt VIP
- 第7课 中国传统色 课件 2025赣美版美术八年级上册.pptx
- 医美整形面部美学设计及微整产品知识课件.ppt
- 第一财经商业数据中心&自然堂:2024中国女性肌肤衰老趋势变化报告.pdf VIP
文档评论(0)