本发明专利技术提供一种系统总线转换方法,其中包括:步骤一、提供适用SPI的上层应用;步骤二、在上层应用中加入系统适配模块,用于在SPI传输前判断当前的系统类型;步骤三、根据步骤二的判断结果,调用系统类型对应的底层库访问方案实现SPI传输;步骤四、通过底层库访问方案将数据传输到USB处理模块,并由系统类型对应的处理器进行数据处理。本发明专利技术的系统总线转换方法,能够实现跨平台使用上层应用程序,并且支持为不同系统和硬件平台提供底层库访问。
【技术实现步骤摘要】
一种系统总线转换方法
本专利技术涉及计算机科学
,尤其涉及一种系统总线转换方法。
技术介绍
随着嵌入式行业的不断发展,各种嵌入式技术应用越来越广泛,CPU的外部接口也变得越来越繁多复杂。但是,由于嵌入式产品比较精小,软件硬件均按实际需求裁剪到合适的状态,所以有些嵌入式主板上自带的接口比较有限,当产生新的需求时,原有的主板便满足不了新的需求。在航空领域,429通信协议一直被广泛应用于各民航客机中。429通信模块采用的是SPI(SerialPeripheralInterface,串行外设接口)接口,而X86等平台不直接支持SPI接口,因此429通信模块在X86等工控主板上无法适用,所以,为了在这些主板上实现429通信,必须采用芯片做转换。比如主板端是USB(UniversalSerialBus,通用串行总线)接口,转换为SPI接口,再搭接429模块进行通信。在现有技术中,针对USB转SPI接口的需求,MICROCHIP厂商推出了一款MCP2210芯片,该芯片的主要功能是实现USB接口到SPI接口的转换。但是,MICROCHIP提供的USB转SPI方案只支持在Windows下开发,不支持其他的操作系统,更加不能实现跨平台的应用,不能解决嵌入式的其他平台例如Linux系统下的需求。因此,亟需专利技术一种系统总线转换方法,能够在除Windows以外的环境下开发及使用,解决除Windows以外的环境的USB转SPI接口的使用要求。
技术实现思路
本专利技术提供的系统总线转换方法,能够针对现有技术的不足,解决MCP2210芯片无法在除Windows以外的系统下将USB接口转换到SPI接口的问题。本专利技术提供一种系统总线转换方法,其中包括:步骤一、提供适用SPI的上层应用;步骤二、在所述上层应用中加入系统适配模块,用于在SPI传输前判断当前的系统类型;步骤三、根据所述步骤二的判断结果,调用所述系统类型对应的底层库访问方案实现所述SPI传输;步骤四、通过所述底层库访问方案将数据传输到USB处理模块,并由所述系统类型对应的处理器进行数据处理。可选地,上述步骤一中的上层应用通过C++或QT进行开发。可选地,上述步骤一中的上层应用能够跨多个平台使用。可选地,上述步骤二中的系统适配模块用于判断Windows系统或Linux系统。可选地,上述步骤二中的SPI传输包括通过SPI协议的API进行传输。可选地,上述步骤三中,当所述步骤二的判断结果为Windows系统,则使用MICROCHIP提供的底层库访问方案;当所述步骤二的判断结果为Linux系统,则使用Linux系统专用的底层库访问方案。可选地,上述Linux系统专用的底层库访问方案包括:启动访问接口API,用于上层应用进行数据访问;启动标准字符设备驱动,用于处理外部设备输入的标准字符;启动USB设备驱动,用于处理USB设备相关数据;启动USB内核,用于处理USB协议相关数据包。可选地,上述标准字符设备驱动和所述USB设备驱动使用C语言进行编程。可选地,上述步骤四中的USB处理模块包括外部输入设备、USB设备和/或USB内核。可选地,上述步骤四中的处理器包括CPU。本专利技术提供的系统总线转换方法,能够通过QT开发跨平台使用的上层应用程序,使之无需修改源码即可适用于不同的系统和硬件平台;另外,本专利技术还通过添加Linux系统的层支持实现为不同系统和硬件平台提供底层库访问,只需要通过API调用即可在不同平台上正确运行。附图说明图1为现有技术中的MCP2210芯片将USB转换为SPI的整体软件架构图;图2为本专利技术一个实施例中的系统总线转换的整体软件架构图;图3为本专利技术一实施例的上层应用对当前系统环境进行判断的流程图;图4为本专利技术一实施例的对于Linux系统的底层库的架构示意图;图5为本专利技术一个实施例的系统总线转换方法的流程图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1示出了现有技术中的MCP2210芯片将USB转换为SPI的整体软件架构图。如图所示,最顶层为APP应用程序,应用程序下面是SPI协议的API(ApplicationProgrammingInterface,应用程序编程接口),用于屏蔽底层硬件的特性;第三层为HID(HumanInterfaceDevice,人机交互设备)协议层,HID可以包括但不限于例如键盘、鼠标、手杆等,该HID协议层用于方便用户开发;第四层是驱动层,包括但不限于USB设备驱动和主机控制器驱动,处理USB设备相关的数据;第五层是核心层,用于处理USB协议相关的数据包;最底层为硬件层。特别的,在Windows操作系统中,应用程序及系统的DLL(DynamicLinkLibrary,动态链接库)文件使用VB开发且不开源,但应用程序开源。为解决MICROCHIP的USB转换为SPI的整体软件架构方案的只支持Windows系统的缺点,本专利技术使用C语言编程工具,添加Linux下的底层驱动层,使USB转换为SPI的整体软件架构方案支持嵌入式中使用广泛的Linux系统。图2示出了本专利技术的一个实施例中的系统总线转换的整体软件架构图。本专利技术在现有技术的MCP2210的基础上添加适配层,对不同的平台进行适配,使应用程序兼容不同的系统和硬件平台。如图所示,最顶层为APP应用程序,应用程序下面是SPI协议的API(ApplicationProgrammingInterface,应用程序编程接口),用于屏蔽底层硬件的特性;第三层为适配层,用于对不同的平台进行适配,使应用程序兼容不同的系统和硬件平台;第四层为HID(HumanInterfaceDevice,人机交互设备)协议层,HID可以包括但不限于例如键盘、鼠标、手杆等,该HID协议层用于方便用户开发;第五层是驱动层,包括但不限于USB设备驱动和主机控制器驱动,处理USB设备相关的数据;第六层是核心层,用于处理USB协议相关的数据包;最底层为硬件层。具体的,在本专利技术的方案中上层应用使用C++或QT开发,由于QT是跨平台的开发工具,所以上层应用程序可以轻松实现跨平台,例如ARM平台。特别的,对应上层应用的底层驱动只需在各平台上实现,并提供统一的API接口到应用程序。特别的,底层驱动使用C语言进行编程。进一步的,上层应用相比现有技术的MICROCHIP方案,加入了判断步骤。特别的,在调用SPI传输的库函数前,判断当前系统是Linux环境还是Windows环境,然后分别调用对应的操作系统的传输库函数。图3示出了本专利技术的一个实施例的上层应用对当前系统环境进行判断的流程图。如图所示,首先应用判断设备是否已经连接;当判断设备已经连接时,输入用于判断的传输数据,判断当前系统是否Linux系统;当判断当前系统为Linux系统时,调用Linux的库函数用于底层库访问,当判断当前系统不是Linux系统时,调用Windows的库函数用于底层库访问;随后判断数据是否返回成功,如本文档来自技高网...
【技术保护点】
1.一种系统总线转换方法,其特征在于,包括:步骤一、提供适用SPI的上层应用;步骤二、在所述上层应用中加入系统适配模块,用于在SPI传输前判断当前的系统类型;步骤三、根据所述步骤二的判断结果,调用所述系统类型对应的底层库访问方案实现所述SPI传输;步骤四、通过所述底层库访问方案将数据传输到USB处理模块,并由所述系统类型对应的处理器进行数据处理。
【技术特征摘要】
1.一种系统总线转换方法,其特征在于,包括:步骤一、提供适用SPI的上层应用;步骤二、在所述上层应用中加入系统适配模块,用于在SPI传输前判断当前的系统类型;步骤三、根据所述步骤二的判断结果,调用所述系统类型对应的底层库访问方案实现所述SPI传输;步骤四、通过所述底层库访问方案将数据传输到USB处理模块,并由所述系统类型对应的处理器进行数据处理。2.根据权利要求1所述的系统总线转换方法,其特征在于,所述步骤一中的上层应用通过C++或QT进行开发。3.根据权利要求1所述的系统总线转换方法,其特征在于,所述步骤一中的上层应用能够跨多个平台使用。4.根据权利要求1所述的系统总线转换方法,其特征在于,所述步骤二中的系统适配模块用于判断Windows系统或Linux系统。5.根据权利要求4所述的系统总线转换方法,其特征在于,所述步骤二中的SPI传输包括通过SPI协议的API进行传输。6.根据权利要求4所述的USB转SPI方...
【专利技术属性】
技术研发人员:杜永贵,
申请(专利权)人:研祥智能科技股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。