论文部分内容阅读
本文重点研究IrDA(InfraredDataAssociation,红外数据协会)协议栈在嵌入式环境下的编程实现,将程序写入目标芯片,使其通过目标板上的红外收发器与移动通信设备(手机)的红外口能建立红外链路通道,实现正常的数据传输,为后续将此嵌入式目标元件应用于汽车发动机故障诊断作准备。
IrDA协议栈主要包括三层:物理层(IrPHY)、链路建立协议层(IrLAP)、链路管理协议层(IrLMP),每一层均建立在它的下一层之上,而其它的高级协议层均是在这三层的基础上建立的,从而使建立和保持无差错数据传输成为可能。本论文对各协议层内部的数据结构和运作过程进行了细致的分析,并提出了简化红外协议的两种方法,一种是采用精简的协议(IrLite),一种是采用带协议的芯片MCP2150,并对两种方法的优缺点进行了论述。
根据物理层规则及要求,并综合考虑了硬件性能和总体成本以及后续实际应用所需条件之后,选择了Atmel公司生产的ATmega128作为整个系统的核心处理器,选择了和当前软硬件环境配套的红外收发器件(HSDL-3002),红外编码/解码器(HSDL-7001),从而搭建了整个红外通信系统的硬件平台。此外,根据各协议层规则及精简要求,通过编写通信协议程序实现红外通信系统的软件平台。
调试整体程序,并在实际应用中进一步改进。提出结合汽车发动机故障诊断系统,利用KWP2000协议与汽车随车诊断系统OBD-Ⅱ建立连接,实时读取汽车发动机的状态信息,这是汽车故障诊断领域与日益全民化的移动通信领域相结合的一次创新尝试。