论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
下面对图2作几点说明:(1)数据传输时首先进行Address Discovery过程,在此过程中发广播帧,等待对方设备响应,收到响应帧后可以取得对方设备地址。(2)取得对方地址后,进行Connct过程,在此过程中将与对方设备协商传输参数,如波特率、数据包大小、轮转时间片等,之后建立连接。(3)建立完连接即进入Information Transfer过程,进行数据校验,传输。其中按照一定算法进行时间片数据帧收发控制。(4)数据传输完毕后进入Disconnect过程,断开连接。(5)在Address Discovery过程中,有可能发现对方设备地址与本机设备地址有冲突,此时进入Address Conflict Resolution过程,解决完设备冲突后再返回。
图3是一个标准的红外数据传输状态机流程,但在一些嵌入式设计方案中,出于省电等目的,可以不进入Address Discovery过程,也就是简化掉Address Discovery过程而转入Sniff过程。在探查一定时间后,若未收到对方设备响应帧,自动进入休眠状态,若收到对方设备响应帧,则进入正常的连接过程。同时,在连接过程与对方协商传输参数的过程中有一项窗口大小(windows size)参数,它是指定接收方可缓冲多少个帧后再进行接收确认,其数值为1~7。在嵌入式系统存储空间有限的情况下,可以采用默认值1进行数据的简单确认,也就是接收到一个数据帧后立即进行确认。这样既节省了资源又使代码量更小,运行速度更快。
4 嵌入式系统中红外协议实现设计
笔者采用Sitronix公司的ST2204电路板为硬件平台,处理芯片内核为65C02。ST2204电路板使用了集成的8位处理器,寻址能力达到