PS/2接口的嵌入式软件编程方法

  • 嵌入式软件
  • 接口
  • 夏有乔木
  • LV2工程师
  • |      2017-05-28 16:49:10
  • 浏览量 928
  • 回复:2
3 PS2接口的嵌入式软件编程方法 PS2设备主要用于产生同步时钟信号和读写数据。 31 PS2PC机发送一个字节 PS2PC机发送一个字节可按照下面的步骤进行: (1)检测时钟线电平,如果时钟线为低,则延时50μs (2)检测判断时钟信号是否为高,为高,则向下执行,为低,则转到(1) (3)检测数据线是否为高,如果为高则继续执行,如果为低,则放弃发送(此时PC机在向PS2设备发送数据,所以PS2设备要转移到接收程序处接收数据); (4)延时20μs(如果此时正在发送起始位,则应延时40μs); 5)输出起始位(0)到数据线上。这里要注意的是:在送出每一位后都要检测时钟线,以确保PC机没有抑制PS2设备,如果有则中止发送; 6)输出8个数据位到数据线上; 7)输出校验位; 8)输出停止位(1); 9)延时30μs(如果在发送停止位时释放时钟信号则应延时50μs); 通过以下步骤可发送单个位: 1)准备数据位(将需要发送的数据位放到数据线上); 2)延时20μs 3)把时钟线拉低; 4)延时40μs 5)释放时钟线; 6)延时20μs 32 PS2设备从PC机接收一个字节 由于PS2设备能提供串行同步时钟,因此,如果PC机发送数据,则PC机要先把时钟线和数据线置为请求发送的状态。PC机通过下拉时钟线大于100μs来抑制通讯,并且通过下拉数据线发出请求发送数据的信号,然后释放时钟。当PS2设备检测到需要接收的数据时,它会产生时钟信号并记录下面8个数据位和一个停止位。主机此时在时钟线变为低时准备数据到数据线,并在时钟上升沿锁存数据。而PS2设备则要配合PC机才能读到准确的数据。具体连接步骤如下: 1)等待时钟线为高电平。 2)判断数据线是否为低,为高则错误退出,否则继续执行。 3)读地址线上的数据内容,共8bit,每读完一个位,都应检测时钟线是否被PC机拉低,如果被拉低则要中止接收。 4)读地址线上的校验位内容,1bit 5)读停止位。 6)如果数据线上为0(即还是低电平),PS2设备继续产生时钟,直到接收到1且产生出错信号为止(因为停止位是1,如果PS2设备没有读到停止位,则表明此次传输出错)。 7 输出应答位。 8) 检测奇偶校验位,如果校验失败,则产生错误信号以表明此次传输出现错误。 9)延时45 μs,以便PC机进行下一次传输。 读数据线的步骤如下: 1)延时20μs 2)把时钟线拉低 3)延时40μs 4)释放时钟线 5)延时20μs 6)读数据线。 下面的步骤可用于发出应答位; 1)延时15μs 2)把数据线拉低; 3)延时5μs 4)把时钟线拉低; 5)延时40μs 6)释放时钟线; 7)延时5μs 8)释放数据线。
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:2
13580826064 2017-05-30
学习了--------
0   回复
举报
发布
麻省理工 2017-05-30
:lol:lol:lol:lol:lol:lol:lol:lol:lol
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子