基于lpc1768平台的usb接口系统及实现方法

文档序号:6546201阅读:341来源:国知局
基于lpc1768平台的usb接口系统及实现方法
【专利摘要】本发明提供了一种基于LPC1768平台的USB接口系统,包括由LPC1768构成的中央处理单元、第一USB接口和第二USB接口,且所述第一USB接口的总线供电端子连接有主机电源开关;所述中央处理单元包括主从检测模块、中断处理模块、数据收发模块,其中:所述主从检测模块,用于确定系统工作模式;所述中断处理模块和数据收发模块根据系统工作模式按不同中断模式进行数据收发。本发明还提供一种基于LPC1768平台的USB接口实现方法。本发明通过设置两个USB接口并根据该两个接口的连接状态和上位机选择的模式,实现了能够同时支持USB主站和USB从站的功能,并简化了电路、降低了软件的复杂度。
【专利说明】基于LPC1768平台的USB接口系统及实现方法
【技术领域】
[0001 ] 本发明涉及领域,更具体地说,涉及一种基于LPC1768平台的USB接口系统及实现方法。
【背景技术】
[0002]USB OTG主要应用于各种不同的设备或移动设备间的联接,以进行数据交换,例如PDA、移动电话等消费类电子产品。USB OTG标准在完全兼容USB2.0标准的基础上,增添了电源管理(节省功耗)功能,其允许设备既可作为主机,也可作为外设操作(两用0TG)。OTG两用设备完全符合USB2.0标准,并可提供一定的主机检测能力,支持主机通令协议(HNP)和对话请求协议(SRP)。
[0003]LPC1768芯片是NXP公司推出的基于ARMCortex_M3内核的微控制器,其不仅能够支持USB的主机(HOST)功能,也支持USB的设备(DEVICE)功能。在现有的采用LPC1768芯片的设备中,需通过增加ISP1301芯片使USB在OTG模式下支持USB的主机和从机功能,这不但增加了电路的复杂度和编程的难度,并且占用了大量CPU资源。
[0004]此外,目前也有专门的USB总线的通用接口芯片,同时支持USB主机方式和从机方式,如CH375,其对于USB存储设备的应用直接提供了数据块的读写接口,并以512b的物理扇区为基本读写单位,从而将USB存储设备简化为一种外部数据存储器,单片机可以自由读写USB存储设备中的数据,也可以自由定义其数据结构。但是这些芯片不但增加了电路的复杂度,也增加了成本。

【发明内容】

[0005]本发明要解决的技术问题在于,针对上述USB主机、从机功能实现电路复杂、成本较高的问题,提供一种基于LPC1768平台的USB接口系统及实现方法。
[0006]本发明解决上述技术问题的技术方案是,提供一种基于LPC1768平台的USB接口系统,包括由LPC1768构成的中央处理单元,该USB接口系统还包括差分信号端子分别连接到中央处理单元的相同引脚的第一 USB接口和第二 USB接口,且所述第一 USB接口的总线供电端子连接有主机电源开关;所述中央处理单元包括主从检测模块、中断处理模块、数据收发模块,其中:
[0007]所述主从检测模块,用于根据所述第一 USB接口和第二 USB接口的连接状态及上位机选择的模式确定系统工作模式,所述工作模式包括主站模式和从站模式;
[0008]所述中断处理模块,用于在接收到数据或有数据要发送时,根据系统工作模式进入主站中断模式或从站中断模式;所述中断处理模块在主站中断模式时读取主机中断寄存器并使数据收发模块执行端口事件处理操作、在从站中断模式时读取设备中断寄存器并使数据收发模块执行收发数据操作。
[0009]在本发明所述的基于LPC1768平台的USB接口系统中,所述数据收发模块的端口事件处理操作包括:读取端口事件、置事件标志、回写TD控制器状态及清除中断标志;所述数据收发模块的收发数据操作包括:控制端点接收数据处理、控制端点发送数据处理、逻辑端点接收数据处理、逻辑端点发送数据处理。
[0010]在本发明所述的基于LPC1768平台的USB接口系统中,所述中央处理单元还包括枚举模块,所述枚举模块在系统处于主站模式时向设备端发送命令包以通过枚举获取设备的信息,并根据获取的信息加载对应的驱动;所述枚举模块在系统处于从站模式时将自身设备的信息返回给主机以让主机识别并进行驱动。
[0011]在本发明所述的基于LPC1768平台的USB接口系统中,所述中央处理单元还包括初始化模块,用于根据系统的工作模式进行对应的参数配置。
[0012]在本发明所述的基于LPC1768平台的USB接口系统中,所述中央处理单元还包括热拔插处理模块,用于在侦测到USB连接引脚具有高电平信号输入时复位总线并启动枚举模块。
[0013]在本发明所述的基于LPC1768平台的USB接口系统中,所述主从检测模块在第一USB接口具有设备接入且设置为主站模式时确认系统处于主站模式、在第二 USB接口具有设备接入且上位机设置为从站模式时确认系统处于从站模式。
[0014]本发明还提供一种基于LPC1768平台的USB接口实现方法,所述LPC1768平台包括LPC1768芯片以及差分信号端子分别连接到LPC1768芯片的相同引脚的第一 USB接口和第二 USB接口,且所述第一 USB接口的总线供电端子连接有主机电源开关,该方法包括以下步骤:
[0015](a)根据所述第一 USB接口和第二 USB接口的连接状态及选择的模式确定工作模式,所述工作模式包括主站模式和从站模式;
[0016](b)在接收到数据或有数据要发送时,根据当前的工作模式进入主站中断模式或从站中断模式,其中:在主站中断模式时读取主机中断寄存器并使数据收发模块执行端口事件处理操作,在从站中断模式时读取设备中断寄存器并使数据收发模块执行收发数据操作。
[0017]在本发明所述的基于LPC1768平台的USB接口实现方法中,所述步骤(b)之前包括:在确认处于主站模式时向设备端发送命令包以通过枚举获取设备的信息,并根据获取的信息加载对应的驱动;或者在确认处于从站模式时将自身设备的信息返回给主机以让主机识别并进行驱动。
[0018]在本发明所述的基于LPC1768平台的USB接口实现方法中,所述步骤(b)之前包括:根据确认的工作模式进行对应的参数配置。
[0019]在本发明所述的基于LPC1768平台的USB接口实现方法中,所述步骤(a)中,在第一 USB接口具有设备接入且设置为主站模式时确认处于主站模式、在第二 USB接口具有设备接入且设置为从站模式时确认处于从站模式。
[0020]本发明的基于LPC1768平台的USB接口系统及实现方法,通过设置两个USB接口并根据该两个接口的连接状态和上位机选择的模式,实现了能够同时支持USB主站和USB从站的功能,并简化了电路、降低了软件的复杂度。
【专利附图】

【附图说明】
[0021]图1是本发明基于LPC1768平台的USB接口系统实施例的硬件连接示意图。[0022]图2是图1中的中央处理单元的示意图。
[0023]图3是本发明基于LPC1768平台的USB接口实现方法实施例的流程示意图。
[0024]图4是图3中USB主站中断处理的示意图。
[0025]图5是图3中USB从站中断处理的示意图。
【具体实施方式】
[0026]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0027]如图1、2所示,是本发明基于LPC1768平台的USB接口系统实施例的示意图,其包括基于LPC1768芯片的中央处理单元10 (即在硬件上,中央处理单元10包括LPC1768芯片)、第一 USB接口 USB-A和第二 USB接口 USB-B,其中第一 USB接口和第二 USB接口的差分信号端子D+、D-分别连接到中央处理单元10的相同引脚USB_D+、USB_D-,且第一 USB接口的总线供电端子连接有主机电源开关(该主机电源开关例如可采用LM3526-L),以实现USB主机电源控制。上述第一 USB接口 USB-A和第二 USB接口 USB-B分别可作为对外的输入输出接口。
[0028]该中央处理单元10支持标准的OHCI接口,提供了访问OHCI寄存器的指针(pUhp)和数据交换区(HCCA),并对该指针和数据交换区的访问进行封装,对外屏蔽了寄存器读写的细节。具体地,上述中央处理单元10包括主从检测模块11、中断处理模块12、数据收发模块13,上述主从检测模块11、中断处理模块12、数据收发模块13分别由运行在中央处理单元10的软件实现。
[0029]主从检测模块11用于根据第一 USB接口 USB-A和第二 USB接口 USB-B的连接状态及当前选择的模式(具体可由系统提供GUI供使用者进行选择)确定系统在两个USB接口数据收发过程中采用的工作模式,上述工作模式包括主站模式和从站模式。特别地,该主从检测模块11在第一 USB接口 USB-A具有设备接入且系统设置为主站模式时确认系统处于主站模式、在第二 USB接口 USB-B具有设备接入且系统设置为从站模式时确认系统处于从站模式。
[0030]中断处理模块12用于在接收到数据或有数据要发送时,根据当前的工作模式使系统进入主站中断模式或从站中断模式。该中断处理模块12在主站中断模式时读取主机中断寄存器并使数据收发模块13执行端口事件处理操作、在从站中断模式时读取设备中断寄存器并使数据收发模块13执行收发数据操作。
[0031]具体地,在主站中断模式下,数据收发模块13的端口事件处理操作包括:读取端口事件、置事件标志、回写TD控制器状态及清除中断标志;数据收发模块13的收发数据操作包括:控制端点接收数据处理、控制端点发送数据处理、逻辑端点接收数据处理、逻辑端点发送数据处理。
[0032]上述中央处理单元10还可包括初始化模块15。该初始化模块15用于根据中央处理单元10的工作模式进行对应的参数配置,例如对引脚、时钟、中断等进行配置,其具体的参数分别与其他方式实现的USB主站、USB从站的参数相同。
[0033]上述的中央处理单元10还可包括枚举模块14。该枚举模块14在系统处于主站模式时向设备端(即连接到第一 USB接口 USB-A的设备)发送命令包,以通过枚举获取设备的信息(例如该设备的类别、通信方式等),并根据从设备端获取的信息加载对应的驱动;该枚举模块14在系统处于从站模式时,接收并响应主机的命令包,将自身设备的信息(例如类别、通信方式等)返回给主机(即连接到第二 USB接口 USB-B的设备)以让主机识别并进行驱动。当枚举成功后,数据收发模块13即可根据应用层协议进行数据的组帧和解析操作。
[0034]上述中央处理单元10还可包括热拔插处理模块16,用于实现两个USB接口的热拔插操作。该热拔插处理模块16用于在侦测到USB连接引脚USB_C0NNET具有高电平信号输入(即USB连接引脚USB_C0NNET对应的差分信号D+上拉)时,确认USB接口接入了一个全速的USB设备,马上复位总线并启动枚举模块14进行枚举操作。
[0035]如图3所述,是本发明基于LPC1768平台的USB接口实现方法实施例的流程示意图,其中LPC1768平台包括LPC1768芯片以及差分信号端子分别连接到LPC1768芯片的相同引脚的第一 USB接口和第二 USB接口,且第一 USB接口的总线供电端子连接有主机电源开关(例如LM3526-L),该方法包括以下步骤:
[0036]步骤S31:LPCl768芯片实时检测第一 USB接口和第二 USB接口的连接状态,SPLPC1768芯片实时检测其USB_D+和USB_D_引脚是否具有电平信号输入。该步骤中若检测到第一 USB接口和第二 USB接口中的任一个具有设备接入,则执行步骤S32。
[0037]步骤S32:LPC1768芯片根据选择的模式以及第一USB接口的连接状态确定是否为主站模式,若选择了主站模式且第一 USB接口具有设备接入,则确认为主站模式,并执行步骤S33,否则执行步骤S34。
[0038]步骤S33:LPC1768芯片在接收到数据或有数据要发送时,进入主站中断模式。
[0039]步骤S34:LPC1768芯片根据选择的模式以及第二USB接口的连接状态确定是否为从站模式,若选择了从站模式且第二 USB接口具有设备接入,则确认为从站模式,并执行步骤S35,否则返回步骤S31。
[0040]步骤S35:LPC1768芯片在接收到数据或有数据要发送时,进入主站中断模式。
[0041]在上述方法中还包括:在确认处于主站模式时,LPC1768芯片向设备端发送命令包,以通过枚举获取设备的信息,并根据获取的信息加载对应的驱动;或者在确认处于从站模式时将自身设备的信息返回给主机以让主机识别并进行驱动。
[0042]此外,上述方法还可包括初始化步骤,即根据确认的工作模式进行对应的参数配置。
[0043]在上述方法中,主机模式下数据传输都是通过端点描述符(ED)和传输描述符(TD)这两种数据结构来完成的,在进行传输之前需要对ED和TD进行相应的设置,才可以保证数据传输的正确性。从机模式下数据传输是通过控制端点和逻辑端点对数据进行接收和发送。
[0044]具体地,如图4所示,是图3中USB主站中断处理步骤的流程图,其具体包括:
[0045]步骤S331:读取主机中断寄存器HcInterruptStatus。
[0046]步骤S332:在有端口事件改变时,读取端口事件寄存器HcRhPortStatusl。
[0047]步骤S333:置事件标志,即置连接状态标志。
[0048]步骤S334:回写TD控制器状态。[0049]步骤S335:清除中断标志。
[0050]如图5所示,是图3中USB从站中断处理步骤的流程图,其具体包括:
[0051]步骤S351:读取设备中断寄存器。
[0052]步骤S352:控制端点接收数据处理,即执行接收SETUP包、置位状态寄存器等操作。
[0053]步骤S353:控制端点发送数据处理,即执行发送控制包、置位状态寄存器等操作。
[0054]步骤S354:逻辑端点接收数据处理,即从接收缓冲区读取数据。
[0055]步骤S355:逻辑端点发送数据处理,即通过端点发送数据。
[0056]以上所述,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
【权利要求】
1.一种基于LPC1768平台的USB接口系统,包括由LPC1768构成的中央处理单元,其特征在于:该USB接口系统还包括差分信号端子分别连接到中央处理单元的相同引脚的第一USB接口和第二 USB接口,且所述第一 USB接口的总线供电端子连接有主机电源开关;所述中央处理单元包括主从检测模块、中断处理模块、数据收发模块,其中: 所述主从检测模块,用于根据所述第一 USB接口和第二 USB接口的连接状态及上位机选择的模式确定系统工作模式,所述工作模式包括主站模式和从站模式; 所述中断处理模块,用于在接收到数据或有数据要发送时,根据系统工作模式进入主站中断模式或从站中断模式;所述中断处理模块在主站中断模式时读取主机中断寄存器并使数据收发模块执行端口事件处理操作、在从站中断模式时读取设备中断寄存器并使数据收发模块执行收发数据操作。
2.根据权利要求1所述的基于LPC1768平台的USB接口系统,其特征在于:所述数据收发模块的端口事件处理操作包括:读取端口事件、置事件标志、回写TD控制器状态及清除中断标志;所述数据收发模块的收发数据操作包括:控制端点接收数据处理、控制端点发送数据处理、逻辑端点接收数据处理、逻辑端点发送数据处理。
3.根据权利要求1所述的基于LPC1768平台的USB接口系统,其特征在于:所述中央处理单元还包括枚举模块,所述枚举模块在系统处于主站模式时向设备端发送命令包以通过枚举获取设备的信息,并根据获取的信息加载对应的驱动;所述枚举模块在系统处于从站模式时将自身设备的信息返回给主机以让主机识别并进行驱动。
4.根据权利要求3所述的基于LPC1768平台的USB接口系统,其特征在于:所述中央处理单元还包括初始化 模块,用于根据系统的工作模式进行对应的参数配置。
5.根据权利要求3所述的基于LPC1768平台的USB接口系统,其特征在于:所述中央处理单元还包括热拔插处理模块,用于在侦测到USB连接引脚具有高电平信号输入时复位总线并启动枚举模块。
6.根据权利要求3所述的基于LPC1768平台的USB接口系统,其特征在于:所述主从检测模块在第一 USB接口具有设备接入且设置为主站模式时确认系统处于主站模式、在第二 USB接口具有设备接入且上位机设置为从站模式时确认系统处于从站模式。
7.一种基于LPC1768平台的USB接口实现方法,其特征在于:所述LPC1768平台包括LPC1768芯片以及差分信号端子分别连接到LPC1768芯片的相同引脚的第一 USB接口和第二 USB接口,且所述第一 USB接口的总线供电端子连接有主机电源开关,该方法包括以下步骤: (a)根据所述第一USB接口和第二 USB接口的连接状态及选择的模式确定工作模式,所述工作模式包括主站模式和从站模式; (b)在接收到数据或有数据要发送时,根据当前的工作模式进入主站中断模式或从站中断模式,其中:在主站中断模式时读取主机中断寄存器并使数据收发模块执行端口事件处理操作,在从站中断模式时读取设备中断寄存器并使数据收发模块执行收发数据操作。
8.根据权利要求7所述的基于LPC1768平台的USB接口实现方法,其特征在于:所述步骤(b)之前包括:在确认处于主站模式时向设备端发送命令包以通过枚举获取设备的信息,并根据获取的信息加载对应的驱动;或者在确认处于从站模式时将自身设备的信息返回给主机以让主机识别并进行驱动。
9.根据权利要求6所述的基于LPC1768平台的USB接口实现方法,其特征在于:所述步骤(b)之前包括:根据确认的工作模式进行对应的参数配置。
10.根据权利要求6所述的基于LPC1768平台的USB接口实现方法,其特征在于:所述步骤(a)中,在第一USB接口具有设备接入且设置为主站模式时确认处于主站模式、在第二USB接口具有设备接 入且设置为从站模式时确认处于从站模式。
【文档编号】G06F13/40GK104021101SQ201410196493
【公开日】2014年9月3日 申请日期:2014年5月9日 优先权日:2014年5月9日
【发明者】黄华政 申请人:深圳市汇川控制技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1