本文档简要介绍了TOPPERS / ASP集成实时操作系统的体系结构和功能,然后介绍了OHCI协议并分析了OHCI下的重要数据结构。后,在硬件平台ARM7TDMI LPC2478下,TOPPERS / ASP下的USB主控制器驱动程序。USB主控制器驱动程序实时操作系统OHCI TOPPERS / ASP LPC2478中图分类号:TP2文献标识码:A产品货号:1007-9416(2013)12-0003-02 USB技术发展简介,USB主机是在内置字段中输入的PC字段。是,大多数内置USB主机都依赖于没有操作系统的系统[1,5]或基于Linux的操作系统[4]。复杂的应用中,很难确保系统可靠性和实时性能。OHCI是由康柏,微软和美国国家半导体等公司联合开发的USB主机接口标准,后者定义了硬件和软件的USB主机。本文中,PLC2478硬件平台的USB主控制器与OHCI标准完全兼容。TOPPERS / ASP基于TOPPERS,包括简化的操作系统内核,多任务处理,裁剪,实时性能,开源和可移植性。
广泛应用于集成技术领域。文档基于TOPPERS / ASP嵌入式实时操作系统,为LPC2478硬件平台设计并实现符合OHCI标准的USB主机控制驱动程序,以确保实时可靠性和性能。入式系统相关技术准备TOPPERS / ASP TOPPERS操作系统(Toyohashi开放平台,用于嵌入式实时系统,开放式实时嵌入式平台)是一个多嵌入式实时操作系统,中间件开发工具和软件,可以在多个领域使用综合平台[6]。TOPPERS / ASP是TOPPERS的主要发展之一。是为嵌入式系统设计的抢占式多任务内核,以及具有静态配置的开源操作系统。Toppers / asp主要由内核,系统初始化,接口库和配置器组成。心是Toppers / asp的主要部分,负责任务管理,任务之间的通信和同步,以及中断。统的初始化主要是为了确保软件和硬件的必要初始化,以确保Toppers / asp的操作;接口库提供系统服务作为外部函数,并将系统调用作为外部函数转换为接口程序,用于内核识别管理;配置程序通过配置文件配置系统,并将其转换为Toppers / asp可识别的系统信息。[7] OHCI标准根据OHCI标准,HC和HCD之间有两个信息交换通道:工作寄存器组和主机控制器通信区(HCCA)。组工作寄存器是位于主机控制器内的一组寄存器。HCD通过操作工作寄存器集来管理主机控制器。关工作寄存器组的详细说明,请参见OHCI规范[3]的第7章。HCCA是256字节长的系统共享存储区,主要用于确定数据是否正在传输。
OHCI规范中,有两个重要的数据结构:端点描述符(ED)和传输描述符(TD)。ED和TD的详细定义详见OHCI规范的第4章[3]。ED包含有关HC使用的端点的信息,包括端点地址,波特率和最大数据包大小。点必须发送的数据被分成TD队列并连接到相应的ED。有ED构成ED队列,并指定ED队列的指针。HCCA。过这种方式,HCD组织使用的数据结构并处理传输。
计和实现主机控制器驱动程序(HCD)本文利用操作系统提供的任务管理机制将整个USB主机系统实现为TOPPERS / ASP的高优先级任务。外,USB枚举也作为一项任务出现,允许操作系统自动分配和释放相关的系统资源。HCD是HC的硬件抽象,其管理和控制故障HC并且为USBD提供操作接口。本驱动程序功能包括:硬件管理,数据传输和链表管理,枚举设备和总线监控。下是从这些方面实施HCD。过直接与HC操作寄存器通信并在HCCA中建立端点描述符列表头指针来执行HC管理操作。
主要包括USB主机的硬件启动,硬复位,端口复位和启用传输。关具体实现,请参阅LPC2478用户手册和OHCI主控制器关联的注册表说明。表的数据传输和管理根据OHCI协议,通过USB端口发送和接收数据的主要任务是创建端点描述符(ED)和传输描述符列表(TD)。ED列表控制数据传输的方向,TD列表完成特定数据的输入和传输。USB需要传输数据时,首先找到USB设备的ED节点,然后根据要发送的数据填写ED结构,提取信息,完成TD结构,并将TD结构绑定到发送ED节点。许HC自行删除的数据。TD将数据发送到USB数据总线。TD传输完成之后,HC统一将TD置于TD完成队列中并定期生成WDH(WritebackDoneHead)中断以允许HCD处理。
USB主机控制器中断处理LPC2478微控制器通过读取该寄存器来记录USB主机中断状态寄存器中的中断状态,该寄存器决定当前中断。关LPC2478中断的详细信息,请参阅LPC2478用户手册。OHCI规范[3]定义了与HC中断相关的寄存器,并详细说明了每个寄存器的操作。HCD使用HC的中断中断使能和中断禁止寄存器,以及通过读取中断状态寄存器HC的值和值的控制来控制各种HC中断的激活和去激活。断使能寄存器HC,确定当前中断。相应地对待它。
本文中,中断处理功能不执行实际的数据处理,只将相应的消息发送到操作系统管理的消息列表,在监视程序中统一处理。USB主机(见图1)。USB设备枚举任务本文中描述的USB设备枚举是作为TOPPERS / ASP任务实现的。动程序中提供了USB_EnumDev(void)枚举任务函数。USB设备连接到HC端口时,USB Host Monitoring任务会调用此函数来启动枚举任务,恒温阀芯该任务在枚举完成并释放相应的系统资源后完成。举过程生成的任何错误都将作为消息发送到操作系统的消息列表,该消息列表在USB主机监控任务中一致地处理。USB设备的枚举任务流如图2所示.USB主机监控任务在此设计中,USB主控制程序被分配给TOPPER / ASP实时操作系统。
以通过实时操作系统启用或禁用USB主机功能。USB主机协议栈通过TOPPERS / ASP实时操作系统的消息机制调度自己的任务。息的生成主要在中断服务程序中完成。USB主机控制器检测到状态改变并具有总线包时,USB主机协议栈通过中断服务程序开始相关过程。断服务程序首先读取中断状态,然后根据不同的状态生成相应的消息,并将其提供给主机协议栈的主程序以供使用。USB主机监控任务的主要功能包括总线监控,队列传输完成处理和错误处理。TOPPERS / ASP维护用于在USB主机系统中接收各种消息的消息列表,包括USB主机中断消息和程序执行期间的各种错误消息。USB Host Monitor扫描消息列表并通过消息执行相应的功能。时,完成了TOPPERS / ASP下基于OHCI的USB主控制器驱动功能的基本分析设计。
束语本文简要介绍了嵌入式实时操作系统TOPPERS / ASP和USB OHCI的标准。此基础上,开发了ARM7TDMI硬件平台下基于TOPPERS / ASP的USB主控制器驱动程序的主要实现。于实际项目的限制,播放器仅被批量控制和转移,这极大地限制了功能。要额外的工作来实现通用USB主机控制器驱动程序。
本文转载自
恒温阀芯 https://www.wisdom-thermostats.com