CN111970264A - 一种spi使用协议栈 - Google Patents
一种spi使用协议栈 Download PDFInfo
- Publication number
- CN111970264A CN111970264A CN202010801424.3A CN202010801424A CN111970264A CN 111970264 A CN111970264 A CN 111970264A CN 202010801424 A CN202010801424 A CN 202010801424A CN 111970264 A CN111970264 A CN 111970264A
- Authority
- CN
- China
- Prior art keywords
- spi
- protocol stack
- configuration
- calling
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种SPI使用协议栈,使用方法包括如下步骤:S1,使用可视化配置工具进行配置:根据产品具体需求进行协议栈配置;S2,调用SPI配置库文件生成配置代码;S3,集成配置代码以及核心代码;S4,与其他设备通信。该发明SPI使用协议栈,解决嵌入式单片机引脚少,SPI不够用的情况,复用引脚使用低配置单片机可节约成本,免除了嵌入式产品复杂的驱动开发过程,软件产品复用性强,应用程序可无变动的切换MCU平台,可大大缩短开发时间和问题调试时间,半个月缩短为半小时。
Description
技术领域
本发明涉及电子通信技术领域,尤其是一种SPI使用协议栈。
背景技术
SPI,串行外围设备接口,是Motorola公司推出的一种同步串行接口技术。SPI总线在物理上是通过接在外围设备微控制器上面的微处理控制单元(MCU)上叫作同步串行端口的模块来实现的,它允许MCU以全双工的同步串行方式,与各种外围设备进行高速数据通信。
SPI不规定最大传输速率,没有地址方案;SPI也没规定通信应答机制,没有规定流控制规则,它在芯片中只占用四根管脚(Pin)用来控制以及数据传输,节约了芯片的pin数目,同时为PCB在布局上节省了空间,正是出于这种简单易用的特性,现在越来越多的芯片上都集成了SPI技术。主要应用在EEPROM,Flash,开关控制芯片,实时时钟(RTC),数模转换器(ADC),数字信号处理器(DSP)以及数字信号解码器之间。MCU:微控制器即嵌入式单片机。SPI:串行外围设备接口。可视化配置工具:用来配置SPI使用参数的工具,将难以查找记录的功能做可视化、成易理解的标识,例如波特率设置:20M,代替查找寄存器手册,再按位配置寄存器的过程。
SPI是一个全双工的同步串行接口,在数据传输过程中,总线上只能是一个主机和一个从机进行通信。但是实际使用中由于产品的功能比较强大,要求提高芯片端口引脚的复用率,会存在如图1的设计情况,一个MCU有多路SPI,一路SPI会挂载多个外设,而各个外设间的通讯协议可能会各不相同,这样使用标准的SPI协议进行开发,会存在开发周期长、使用协议混乱不兼容等问题,在开发过程中会出现各种问题,对产品开发和维护会造成较大的困扰。同时阅读数据手册、芯片手册进行编码调试是一个很费时费力的过程,本发明可将开发调试周期由传统的开发调试时间由半个月缩减为半小时。
发明内容
本发明针对背景技术中的不足,提供了一种SPI使用协议栈。
本发明为解决上述现象,采用以下的技术方案,一种SPI使用协议栈,使用方法包括如下步骤:
S1,使用可视化配置工具进行配置:根据产品具体需求进行协议栈配置,配置的内容包括但不限于如下内容:MCU的品牌型号,要使用的SPI通道数量以及对应的硬件通道,SPI使用的时钟,主机模式或从机模式,同步发送或异步发送,通讯数据解析模式,DMA模式或非DMA模式,Buffer长度指定或buffer长度可变,通信波特率,协议栈自动调用和程序控制调用;
S2,调用SPI配置库文件生成配置代码:S1中根据需求使用可视化配置工具完成参数配置,点击编译,可视化工具调用SPI协议栈配置库文件,生成配置代码文件,内涵多个参数配置表,供应用程序灵活使用;
S3,集成配置代码以及核心代码:将SPI协议栈的核心代码文件以及可视化工具生成的配置文件集成到开发环境,应用程序调用SPI接口函数:SPI初始化,完成整个SPI协议栈的初始化包括port口,调用接口,把要发送数据装入SPI数据buffer,调用发送函数,将要发送的数据发送到物理层继而发送到SPI数据总线,调用接收函数,接收其他设备发送来的数据;
S4,与其他设备通信:根据需求编写应用程序,生成可执行文件烧录到MCU与其他外设进行通信,即可实现一路SPI可挂载多个外部设备,以及实现MCU上SPI1-SPIn的快速灵活使用。
作为本发明的进一步优选方式,步骤S1中,SPI通道数量以及对应的硬件通道,如SPI1、SPI2……SPIn。
作为本发明的进一步优选方式,步骤S1中,通讯数据解析模式,使用中可切换模式,一路通道对应多个外设。
作为本发明的进一步优选方式,步骤S2中,所述配置代码文件中包括S1中配置内容,例如MCU型号,SPI物理通道,时钟波特率等等。
作为本发明的进一步优选方式,所述SPI协议栈包括接口层、协议栈层、APP层和物理层,接口层,包括给上层应用提供的所有调用接口,所有芯片型号兼容;协议栈层,包括完成此发明的所有SPI功能模块的核心代码以及配置代码;APP层,根据用户需求可应用于所有电子产品设备;物理层,国际通用不做任何约束。
本发明SPI使用协议栈,解决嵌入式单片机引脚少,SPI不够用的情况,复用引脚使用低配置单片机可节约成本,免除了嵌入式产品复杂的驱动开发过程,软件产品复用性强,应用程序可无变动的切换MCU平台,可大大缩短开发时间和问题调试时间,半个月缩短为半小时。
附图说明
图1为本发明一种SPI使用协议栈的SPI使用情况原理示意图;
图2为本发明一种SPI使用协议栈的SPI使用协议栈示意图;
图3为本发明一种SPI使用协议栈的步骤流程示意图。
具体实施方式
下面将结合本发明实施例中,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种技术方案:一种SPI使用协议栈,使用方法包括如下步骤:S1,使用可视化配置工具进行配置:根据产品具体需求进行协议栈配置,配置的内容包括但不限于如下内容:MCU的品牌型号,例如:英飞凌tricore tc233、STM32等,要使用的SPI通道数量以及对应的硬件通道,SPI使用的时钟,根据需要,使用中可改变配置,主机模式或从机模式,同步发送或异步发送,通讯数据解析模式,DMA模式或非DMA模式,Buffer长度指定或buffer长度可变,通信波特率,协议栈自动调用和程序控制调用;
可视化配置工具支持生成多个配置表,使用过程中可灵活切换配置表,完成图1所示的产品SPI复杂应用场景的使用,提高嵌入式芯片管脚利用率,解决芯片端口不足的缺点,同时大大缩短开发调试周期;
S2,调用SPI配置库文件生成配置代码:S1中根据需求使用可视化配置工具完成参数配置,点击编译,可视化工具调用SPI协议栈配置库文件,生成配置代码文件,内涵多个参数配置表,供应用程序灵活使用;
此过程完全按照用户产品设计生成的配置代码,耗时极短,同时代码格式清晰,文件层次分明,便于后续阅读、维护、调试;
S3,集成配置代码以及核心代码:将SPI协议栈的核心代码文件以及可视化工具生成的配置文件集成到开发环境,应用程序调用SPI接口函数:SPI初始化,完成整个SPI协议栈的初始化包括port口,调用接口,把要发送数据装入SPI数据buffer,调用发送函数,将要发送的数据发送到物理层继而发送到SPI数据总线,调用接收函数,接收其他设备发送来的数据;
S4,与其他设备通信:根据需求编写应用程序,生成可执行文件烧录到MCU与其他外设进行通信,即可实现一路SPI可挂载多个外部设备,以及实现MCU上SPI1-SPIn的快速灵活使用。
步骤S1中,SPI通道数量以及对应的硬件通道,如SPI1、SPI2……SPIn。
步骤S1中,通讯数据解析模式,使用中可切换模式,一路通道对应多个外设,提高利用率。
步骤S2中,所述配置代码文件中包括S1中配置内容,例如MCU型号,SPI物理通道,时钟波特率等等。
所述SPI协议栈包括接口层、协议栈层、APP层和物理层,接口层,包括给上层应用提供的所有调用接口,所有芯片型号兼容,保证程序复用性;协议栈层,包括完成此发明的所有SPI功能模块的核心代码以及配置代码;APP层,根据用户需求可应用于所有电子产品设备;物理层,国际通用不做任何约束。用户根据需要,配置SPI协议栈之后,应用层即可调用接口层接口函数,通过协议栈层将要发送的数据发送到物理层的SPI总线上,完成与其他设备的通讯。即本SPI协议栈可以不受约束的应用于任何电子产品设备。
综上,该发明SPI使用协议栈,解决嵌入式单片机引脚少,SPI不够用的情况,复用引脚使用低配置单片机可节约成本,免除了嵌入式产品复杂的驱动开发过程,软件产品复用性强,应用程序可无变动的切换MCU平台,可大大缩短开发时间和问题调试时间,半个月缩短为半小时。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点,对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (5)
1.一种SPI使用协议栈,其特征在于,使用方法包括如下步骤:
S1,使用可视化配置工具进行配置:根据产品具体需求进行协议栈配置,配置的内容包括但不限于如下内容:MCU的品牌型号,要使用的SPI通道数量以及对应的硬件通道,SPI使用的时钟,主机模式或从机模式,同步发送或异步发送,通讯数据解析模式,DMA模式或非DMA模式,Buffer长度指定或buffer长度可变,通信波特率,协议栈自动调用和程序控制调用;
S2,调用SPI配置库文件生成配置代码:S1中根据需求使用可视化配置工具完成参数配置,点击编译,可视化工具调用SPI协议栈配置库文件,生成配置代码文件,内涵多个参数配置表,供应用程序灵活使用;
S3,集成配置代码以及核心代码:将SPI协议栈的核心代码文件以及可视化工具生成的配置文件集成到开发环境,应用程序调用SPI接口函数:SPI初始化,完成整个SPI协议栈的初始化包括port口,调用接口,把要发送数据装入SPI数据buffer,调用发送函数,将要发送的数据发送到物理层继而发送到SPI数据总线,调用接收函数,接收其他设备发送来的数据;
S4,与其他设备通信:根据需求编写应用程序,生成可执行文件烧录到MCU与其他外设进行通信,即可实现一路SPI可挂载多个外部设备,以及实现MCU上SPI1-SPIn的快速灵活使用。
2.根据权利要求1所述的一种SPI使用协议栈,其特征在于,步骤S1中,SPI通道数量以及对应的硬件通道,如SPI1、SPI2……SPIn。
3.根据权利要求1所述的一种SPI使用协议栈,其特征在于,步骤S1中,通讯数据解析模式,使用中可切换模式,一路通道对应多个外设。
4.根据权利要求1所述的一种SPI使用协议栈,其特征在于,步骤S2中,所述配置代码文件中包括S1中配置内容,例如MCU型号,SPI物理通道,时钟波特率等等。
5.根据权利要求1所述的一种SPI使用协议栈,其特征在于,所述SPI协议栈包括接口层、协议栈层、APP层和物理层,接口层,包括给上层应用提供的所有调用接口,所有芯片型号兼容;协议栈层,包括完成此发明的所有SPI功能模块的核心代码以及配置代码;APP层,根据用户需求可应用于所有电子产品设备;物理层,国际通用不做任何约束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010801424.3A CN111970264A (zh) | 2020-08-11 | 2020-08-11 | 一种spi使用协议栈 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010801424.3A CN111970264A (zh) | 2020-08-11 | 2020-08-11 | 一种spi使用协议栈 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111970264A true CN111970264A (zh) | 2020-11-20 |
Family
ID=73366244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010801424.3A Pending CN111970264A (zh) | 2020-08-11 | 2020-08-11 | 一种spi使用协议栈 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111970264A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112540765A (zh) * | 2020-12-10 | 2021-03-23 | 杭州物电云新能源有限公司 | 一种嵌入式mcu程序分段编译方法及系统 |
-
2020
- 2020-08-11 CN CN202010801424.3A patent/CN111970264A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112540765A (zh) * | 2020-12-10 | 2021-03-23 | 杭州物电云新能源有限公司 | 一种嵌入式mcu程序分段编译方法及系统 |
CN112540765B (zh) * | 2020-12-10 | 2024-03-08 | 杭州物电云新能源有限公司 | 一种嵌入式mcu程序分段编译方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS60500195A (ja) | デイジタル通信リンクに円滑に割込む方法と装置 | |
CN113849433B (zh) | 一种总线控制器的执行方法、装置、总线控制器、计算机设备和存储介质 | |
CN109471660A (zh) | 扩展坞装置、电子装置及mac位址复制方法 | |
CN103970545A (zh) | 采用JNI调用方式在Android系统中使用LTE Modem的方法 | |
CN105335548A (zh) | 一种用于ice的mcu仿真方法 | |
CN109902056A (zh) | 一种串行传输的方法、装置、设备及计算机可读存储介质 | |
CN110968352A (zh) | 一种pcie设备的复位系统及服务器系统 | |
CN109669885A (zh) | Oled显示驱动系统、方法及存储介质 | |
CN112256615A (zh) | Usb转换接口装置 | |
CN111970264A (zh) | 一种spi使用协议栈 | |
CN110795369B (zh) | 基于gpio管脚实现mdio从机功能的方法及终端 | |
CN116795752B (zh) | 接口通信方法、装置以及服务器 | |
CN103488601B (zh) | 一种时钟延时、数据访问方法、系统及设备 | |
CN103678244B (zh) | 一种不使用应用处理器的智能设备 | |
CN112559264A (zh) | 基于uvm的验证平台实现fpga通用串口的仿真测试方法 | |
CN102929828B (zh) | 同时支持标准和非标准i2c接口的数据传输方法及装置 | |
CN111710357B (zh) | Mcu的mtp单元读写控制电路 | |
CN115730541A (zh) | 一种封装芯片的多功能验证及演示装置 | |
CN108153564B (zh) | 界面管理方法、设备及系统和计算机可读存储介质 | |
CN113609052A (zh) | 基于fpga和微处理器的芯片模拟系统及实现方法 | |
CN107168867A (zh) | 一种实现微控制器芯片的用户debug模式的方法 | |
CN113110950A (zh) | 处理器及通信方法、存储介质及计算设备 | |
CN111553122A (zh) | 集成电路仿真同步处理的方法、模块、存储介质及系统 | |
CN101989194A (zh) | 无线通讯模块二次开发方法 | |
CN113812127B (zh) | 应用于led显示系统中的传输数据的方法、装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |