论文部分内容阅读
OTG协议是USB2.0的补充协议,可应用于嵌入式设备,使之兼备USB主机和设备双重功能。增强其便携性,拓宽应用范围。实现OTG功能关键之一在于实现OTG接口控制芯片,配合驱动程序构成OTG上层应用开发的基础。设计OTG接口控制芯片,依照设计流程,首先从相关协议入手,进行了系统级设计。主要是对系统软硬件进行划分,规划硬件功能,制定接口信号和相关时序。再根据规格利用硬件描述语言编写代码描述电路。通过验证保证了描述电路功能符合协议要求。最后使用综合工具将其转化为实际电路并利用FPGA平台进行了测试。设计电路时不仅要考虑面积与功耗等影响,更重要必须保证设计完全正确。进行电路设计时参考了很多指导性原理和经验,从源头增强设计鲁棒性。其次对设计进行充分验证也是保障的必要手段之一。针对OTG控制器,设计并使用了一专用验证平台,使验证环境更逼近真实,能提高验证效率和覆盖率,得到更加可靠的结果。使用硬件描述语言描述电路,尤其是状态机时,利用可循规律,设计实现了一软件,该软件能自动生成状态机RTL代码,提高了设计效率。OTG接口控制芯片内包含主机控制器和设备控制器,设备控制器电路实现USB协议设备功能。由外部处理器运行驱动程序调度,完成数据传输,并与主机交互。基于Linux的设备控制器驱动程序总称为USB Gadget驱动,分之为三层结构。底层USB设备控制器驱动封装特定硬件控制器细节,中间层提供标准接口与上层驱动通信,上层驱动则完成特定USB设备功能如大规模存储等。基于这种驱动架构的特点,对设备控制器底层驱动程序的原理和构架进行了研究和探讨。分析OTG接口控制芯片大规模存储功能测试结果,OTG接口控制器实现了预期USB设备控制器功能。为进一步应用OTG功能开发奠定基础。