CN111625487B - 一种spi通信***及其通信方法 - Google Patents
一种spi通信***及其通信方法 Download PDFInfo
- Publication number
- CN111625487B CN111625487B CN202010306109.3A CN202010306109A CN111625487B CN 111625487 B CN111625487 B CN 111625487B CN 202010306109 A CN202010306109 A CN 202010306109A CN 111625487 B CN111625487 B CN 111625487B
- Authority
- CN
- China
- Prior art keywords
- spi
- data
- layer module
- data frame
- interaction 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.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 34
- 238000000034 method Methods 0.000 title claims abstract description 10
- 230000003993 interaction Effects 0.000 claims abstract description 29
- 230000005540 biological transmission Effects 0.000 claims abstract description 23
- 230000000737 periodic effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明涉及SPI通信技术领域,尤其涉及一种SPI通信***及其通信方法,包括应用层模块,用于发送数据发送请求和数据接收;SPI交互层模块,用于接收和处理所述应用层模块的数据发送请求,以确定传输的数据内容和数据传输模式;以及SPI驱动层模块,用于将所述SPI交互层模块发送的数据实时传到SPI总线上。本发明的发明目的在于提供一种SPI通信***及其通信方法,采用本发明提供的技术方案解决了现有SPI通信存在无法达到效率和实时性之间的平衡的技术问题。
Description
技术领域
本发明涉及SPI通信技术领域,尤其涉及一种SPI通信***及其通信方法。
技术背景
SPI是(串行外设接口Serial Peripheral Interface)是一种高速的、全双工、同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,越来越多的芯片集成了这种通信协议,而其在汽车上的应用也非常普遍。
目前在汽车电子中的SPI数据都是周期性的发送到SOC,这就导致发送期间存在以下问题:周期慢的数据,数据更新时无法及时显示;周期快的数据,当数据无变化时,过快的数据周期会浪费SPI通信的资源,无法达到效率和实时性之间的平衡。
发明内容
本发明的发明目的在于提供一种SPI通信***及其通信方法,采用本发明提供的技术方案解决了现有SPI通信存在无法达到效率和实时性之间的平衡的技术问题。
为了解决上述技术问题,本发明一方面提供一种SPI通信***,包括
应用层模块,用于发送数据发送请求和数据接收;
SPI交互层模块,用于接收和处理所述应用层模块的数据发送请求,以确定传输的数据内容和数据传输模式;以及
SPI驱动层模块,用于将所述SPI交互层模块发送的数据实时传到SPI总线上。
优选的,在所述应用层模块中,在需要发送数据时,所述应用层模块只需要将数据发送请求传输到所述SPI交互层模块。
基于上述SPI通信***,本发明另一方面还提供一种SPI通信方法,包括以下步骤:
S100、应用层模块向SPI交互层模块发送数据发送请求;
S200、SPI交互层模块根据数据发送请求确定传输的数据内容和数据传输模式;
S300、SPI交互层模块发送数据时,根据当前数据帧与上一数据帧之间的差异性调整发送模式。
优选的,在步骤S300中,包括:
S301、SPI交互层模块对比当前数据帧与上一数据帧的差异;
S302、若当前数据帧与上一数据帧无差异,则保持固定周期发送数据;
S303、若当前数据帧与上一数据帧存在差异,则通过事件触发的方式实时发送当前数据帧。
由上可知,应用本发明提供的技术方案,通过对SPI协议的“周期”数据传输模式增加事件触发机制,即在SPI交互层以“事件+周期”的数据传输模式进行数据传输,解决了“周期慢的数据,数据更新时无法及时显示;周期快的数据,当数据无变化时,过快的数据周期会浪费SPI通信资源”问题,达到效率和实时性之间的平衡。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对本发明实施例或现有技术的描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例SPI通信***框图;
图2为本发明实施例时序图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前在汽车电子中的SPI数据都是周期性的发送到SOC,这就导致发送期间存在以下问题:周期慢的数据,数据更新时无法及时显示;周期快的数据,当数据无变化时,过快的数据周期会浪费SPI通信的资源,无法达到效率和实时性之间的平衡。
请参见图1-2,为了解决上述技术问题,本实施例提供一种SPI通信***,包括三个模块,分别为应用层模块、SPI交互层模块和SPI驱动层模块。
其中应用层模块即APP,用于发送数据发送请求和数据接收,在需要发送数据时,应用层模块只需要将数据发送请求传输到SPI交互层模块。
SPI交互层模块即SPI Interaction Layer,SPI IL,用于接收和处理应用层模块的数据发送请求,以确定传输的数据内容和数据传输模式,即决定传输哪些数据、何时传输数据,并进行数据传输。
SPI驱动层模块即SPI Driver,用于将SPI交互层模块发送的数据实时传到SPI总线上。
在应用层模块中,在需要发送数据时,应用层模块只需要将数据发送请求传输到SPI交互层模块。
基于上述SPI通信***,本发明实施例另一方面还提供一种SPI通信方法,包括以下步骤:
S100、应用层模块向SPI交互层模块发送数据发送请求;
S200、SPI交互层模块根据数据发送请求确定传输的数据内容和数据传输模式;
S300、SPI交互层模块发送数据时,根据当前数据帧与上一数据帧之间的差异性调整发送模式。
在步骤S300中,包括:
S301、SPI交互层模块对比当前数据帧与上一数据帧的差异;
S302、若当前数据帧与上一数据帧无差异,则保持固定周期发送数据;
S303、若当前数据帧与上一数据帧存在差异,则通过事件触发的方式实时发送当前数据帧。
由上可知,应用本发明提供的技术方案,通过对SPI协议的“周期”数据传输模式增加事件触发机制,即在SPI交互层以“事件+周期”的数据传输模式进行数据传输:当SPI交互层发送数据时,对比当前数据帧与上一数据帧的差异,如果当前数据帧与上一数据帧对比无变化,则保持固定的周期发送;如果当前数据帧与上一数据帧对比有变化,则通过事件触发的方式实时发送当前数据帧,达到效率和实时性之间的平衡。解决了“周期慢的数据,数据更新时无法及时显示;周期快的数据,当数据无变化时,过快的数据周期会浪费SPI通信资源”问题,达到效率和实时性之间的平衡。
以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。
Claims (1)
1.一种SPI通信***,其特征在于:包括
应用层模块,用于发送数据发送请求和数据接收;
SPI交互层模块,用于接收和处理所述应用层模块的数据发送请求,以确定传输的数据内容和数据传输模式;以及
SPI驱动层模块,用于将所述SPI交互层模块发送的数据实时传到SPI总线上;
在所述应用层模块中,在需要发送数据时,所述应用层模块只需要将数据发送请求传输到所述SPI交互层模块;
SPI通信***运行如下通信方法,包括如下步骤:
S100、应用层模块向SPI交互层模块发送数据发送请求;
S200、SPI交互层模块根据数据发送请求确定传输的数据内容和数据传输模式;
S300、SPI交互层模块发送数据时,根据当前数据帧与上一数据帧之间的差异性调整发送模式,包括:
S301、SPI交互层模块对比当前数据帧与上一数据帧的差异;
S302、若当前数据帧与上一数据帧无差异,则保持固定周期发送数据;
S303、若当前数据帧与上一数据帧存在差异,则通过事件触发的方式实时发送当前数据帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010306109.3A CN111625487B (zh) | 2020-04-17 | 2020-04-17 | 一种spi通信***及其通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010306109.3A CN111625487B (zh) | 2020-04-17 | 2020-04-17 | 一种spi通信***及其通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111625487A CN111625487A (zh) | 2020-09-04 |
CN111625487B true CN111625487B (zh) | 2024-05-31 |
Family
ID=72260951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010306109.3A Active CN111625487B (zh) | 2020-04-17 | 2020-04-17 | 一种spi通信***及其通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111625487B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102064989A (zh) * | 2003-10-06 | 2011-05-18 | 思科技术公司 | 用于高带宽总线的端口适配器 |
CN104965700A (zh) * | 2015-06-09 | 2015-10-07 | 航天科工深圳(集团)有限公司 | VxWorks操作***下实现驱动SPI设备的方法和*** |
CN107562666A (zh) * | 2017-09-26 | 2018-01-09 | 威创集团股份有限公司 | 基于spi总线的设备间通信的方法、***及相关装置 |
CN108132896A (zh) * | 2018-01-17 | 2018-06-08 | 西安闻泰电子科技有限公司 | 数据传输方法和装置 |
CN111010881A (zh) * | 2018-08-06 | 2020-04-14 | 对话半导体(英国)有限公司 | 串行通信协议 |
CN115643126A (zh) * | 2022-09-28 | 2023-01-24 | 北斗星通智联科技有限责任公司 | 基于spi总线的通信方法、装置和协议栈 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10358974A1 (de) * | 2003-12-16 | 2005-07-28 | Infineon Technologies Ag | SPI-Baustein und Verfahren zum Auslesen von Daten aus einem SPI-Baustein |
US8060681B2 (en) * | 2007-11-27 | 2011-11-15 | Microsoft Corporation | Interface protocol and API for a wireless transceiver |
US20170017584A1 (en) * | 2015-07-15 | 2017-01-19 | Microchip Technology Incorporated | SPI Interface With Less-Than-8-Bit Bytes And Variable Packet Size |
US10642769B2 (en) * | 2017-03-24 | 2020-05-05 | Analog Devices Global Unlimited Company | Serial peripheral interface daisy chain mode system and apparatus |
-
2020
- 2020-04-17 CN CN202010306109.3A patent/CN111625487B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102064989A (zh) * | 2003-10-06 | 2011-05-18 | 思科技术公司 | 用于高带宽总线的端口适配器 |
CN104965700A (zh) * | 2015-06-09 | 2015-10-07 | 航天科工深圳(集团)有限公司 | VxWorks操作***下实现驱动SPI设备的方法和*** |
CN107562666A (zh) * | 2017-09-26 | 2018-01-09 | 威创集团股份有限公司 | 基于spi总线的设备间通信的方法、***及相关装置 |
CN108132896A (zh) * | 2018-01-17 | 2018-06-08 | 西安闻泰电子科技有限公司 | 数据传输方法和装置 |
CN111010881A (zh) * | 2018-08-06 | 2020-04-14 | 对话半导体(英国)有限公司 | 串行通信协议 |
CN115643126A (zh) * | 2022-09-28 | 2023-01-24 | 北斗星通智联科技有限责任公司 | 基于spi总线的通信方法、装置和协议栈 |
Also Published As
Publication number | Publication date |
---|---|
CN111625487A (zh) | 2020-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8200856B2 (en) | Flow control for universal serial bus (USB) | |
CN112269749B (zh) | I2c通信*** | |
CN113965307A (zh) | 一种基于仲裁线的全双工spi通信方法 | |
US11991762B2 (en) | Direct connection communication method, AMF, access network functional entity and terminal | |
CN113630738A (zh) | 一种侧行链路通信方法及装置 | |
CN111625487B (zh) | 一种spi通信***及其通信方法 | |
US8144733B2 (en) | Partitioned medium access control implementation | |
KR101958477B1 (ko) | 차량용 lin 통신 시스템 및 이 시스템에서 슬레이브 모듈의 동작 방법 | |
US20180329838A1 (en) | Bus communication enhancement based on identification capture during bus arbitration | |
US20210144679A1 (en) | Communication method and device utilized in vehicle convoy | |
CN116150054B (zh) | 一种基于pcie的中断信息处理方法 | |
CN116436526A (zh) | 控制信号传输的方法及装置、***、存储介质、电子设备 | |
CN115412394A (zh) | 基于AutoSar的异构域控制器核间通信方法 | |
KR101704300B1 (ko) | Can 메시지 송수신 방법 및 이를 실행하는 시스템 | |
EP3965509B1 (en) | Scheduling request transmission method, terminal device, and network device | |
CN113688082A (zh) | 一种支持低功耗无感唤醒的高速spi接口电路结构及其控制方法 | |
CN111984576B (zh) | 数据通信***以及方法 | |
CN116383116A (zh) | 一种基于spi总线的通信方法及装置 | |
WO2020103633A1 (zh) | 一种控制信息的发送和接收方法及终端设备 | |
CN115037795B (zh) | 一种嵌入式设备多机通信方法 | |
CN112835847B (zh) | 一种用于互联裸芯的分布式中断传输方法及其*** | |
CN215904437U (zh) | 车载多屏显示电路和车载多屏显示*** | |
CN210109582U (zh) | 一种基于ttcan通信模块的总线仿真*** | |
CN112788771B (zh) | 数据传输方法、装置、相关设备及存储介质 | |
US20240195584A1 (en) | Receiving/Sending Switching Control Method, Management Node, and Terminal Node |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |