CN117312221B - 一种触发式spi数据通讯方法 - Google Patents

一种触发式spi数据通讯方法 Download PDF

Info

Publication number
CN117312221B
CN117312221B CN202311602857.6A CN202311602857A CN117312221B CN 117312221 B CN117312221 B CN 117312221B CN 202311602857 A CN202311602857 A CN 202311602857A CN 117312221 B CN117312221 B CN 117312221B
Authority
CN
China
Prior art keywords
data
spi
receiver
array
send
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
Application number
CN202311602857.6A
Other languages
English (en)
Other versions
CN117312221A (zh
Inventor
唐颜
陶灿
刘文举
邓依珩
陶福兴
韩斌
许建胜
戎永杰
王改堂
王炜
张琨
周伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Institute of Modern Control Technology
Original Assignee
Xian Institute of Modern Control Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Institute of Modern Control Technology filed Critical Xian Institute of Modern Control Technology
Priority to CN202311602857.6A priority Critical patent/CN117312221B/zh
Publication of CN117312221A publication Critical patent/CN117312221A/zh
Application granted granted Critical
Publication of CN117312221B publication Critical patent/CN117312221B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种触发式SPI数据通讯方法,首先,数据发送方在每处理周期开始,将待发送数据存至数组SPI_send[],然后利用IO口输出TB信号上升沿至接收方,接收方在探测到该上升沿信号后,将自身SPI1接口作为主机,发送8bit数值,发送方将SPI3口作为从机,接收到接收方完整的8bit信息后,将SPI_send[]数组中第一个字节信息发送至接收方;接收方收到后将其存入接收数组SPI_receive[],然后再次发送8bit数值至从机;按此循环通信,直至数据接收方收完SPI_send[]数组中所有字节数据信息,并依次存入数组SPI_receive[]。本方法的最大优点在于解决了发送方和数据方处理器工作频率不一致时,数据交互耗时长、容易漏数等问题。

Description

一种触发式SPI数据通讯方法
技术领域
本发明属于通讯技术领域,具体涉及一种触发式SPI数据通讯方法。
背景技术
电子舱复合信号处理器是末敏弹系统的重要组成部分,根据需求将每周期内复合信号处理器相关变量数据进行输出并被接收,有助于对其软件执行的准确性及可靠性进行分析验证。末敏弹系统单周期运行时间很短,因此需要较高的工作频率,使用SPI(SerialPeripheral Interface, 串行外设接口)将多字节输出时,若接收方的工作频率远低于它,则会占用复合信号处理器大量运行时间进行数据交互,导致单个处理周期内无法完成规定执行的软件功能。
发明内容
为了克服现有技术的不足,本发明提供了一种触发式SPI数据通讯方法,首先,数据发送方在每处理周期开始,将待发送数据存至数组SPI_send[],然后利用IO口输出同步信号上升沿至接收方,接收方在探测到该上升沿信号后,将自身SPI1接口作为主机,发送8bit数值,发送方将SPI3口作为从机,接收到接收方完整的8bit信息后,将SPI_send[]数组中第一个字节信息发送至接收方;接收方收到后将其存入接收数组SPI_receive[],然后再次发送8bit数值至从机;按此循环通信,直至数据接收方收完SPI_send[]数组中所有字节数据信息,并依次存入数组SPI_receive[]。本方法的最大优点在于解决了发送方和数据方处理器工作频率不一致时,数据交互耗时长、容易漏数等问题。
本发明解决其技术问题所采用的技术方案包括如下步骤:
步骤1:以末敏弹复合信号处理器作为数据发送方,将数据发送方SPI3口作为从机;
数据发送方每周期开始时先将同步信号IO输出端口置低电平,然后将待发送数据内容赋值至数组SPI_send[],赋值结束后将同步信号IO输出端口置高电平,然后利用IO输出端口向数据接收方发送同步信号上升沿;
步骤2:数据接收方在探测到同步信号上升沿后,通过自身SPI1接口作为主机,发送8bit数值DATA1到数据发送方;数据发送方接收到主机8bit数值DATA1信息后,通过接收中断将SPI_send[]数组中第一个字节信息Byte1发送至数据接收方;
步骤3:数据接收方接收到Byte1后将其存入接收数组SPI_receive[],然后再次发送8bit数值DATA2至数据发送方;按此循环通信,直至数据接收方通过SPI接口接收完SPI_send[]数组中所有字节数据信息,并依次存入数组SPI_receive[]。
优选地,所述SPI数据通讯的过程中,数据帧有效位为8bit,时钟空闲状态为低电平,在第2个时钟沿进行采样。
优选地,所述数据发送方的工作频率为196MHZ,数据接收方的系统工作频率为40MHZ。
本发明的有益效果如下:
本发明不仅具有设计思路简单、实用性强等特点,而且解决了发送方和数据方处理器工作频率不一致时,数据交互耗时长、容易漏数等问题。
附图说明
图1是本发明一种触发式SPI数据通讯方法示意图。
图2是本发明一种触发式SPI数据通讯方法接口连接示意图。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
在末敏弹系统中,复合信号处理器处理周期短,系统工作频率高,利用SPI向低频接收方发送数据时耗时长,影响软件其它功能正常执行。为了解决这一问题,本发明提供一种触发式SPI数据通讯方法,其具体内容如下:
首先,以末敏弹复合信号处理器作为数据发送方,将其SPI3口作为从机;在每处理周期开始时,将待发送的数组存至数组SPI_send[],然后利用IO口向数据接收方发送同步信号上升沿;
其次,数据接收方在探测到同步信号上升沿后,通过自身SPI1接口作为主机,发送8bit数值DATA1,数据发送方接收到主机完整的8bit信息后,通过接收中断将SPI_send[]数组中第一个字节信息Byte1发送至数据接收方;
然后,接收方接收到Byte1后将其存入接收数组SPI_receive[],然后再次发送8bit数值DATA2至发送方;按此循环通信,直至数据接收方通过SPI接口接收完SPI_send[]数组中所有字节数据信息,并依次存入数组SPI_receive[]。
实施例:
如图1和图2所示,本发明提出的一种触发式SPI数据通讯方法设计工作流程包括以下步骤:
1) 复合信号处理器作为发送方,将SPI3口初始化为从机,数据有效位为8bit,时钟空闲状态为低电平,在第2个时钟沿进行采样,允许中断接收;
2) 数据接收方初始化,将SPI1口初始化为主机,数据有效位为8bit,时钟空闲状态为低电平,在第2个时钟沿进行采样;
3) 发送方在定时器计时至100us时,利用IO口输出同步信号低电平,再将待发送数据赋值给SPI_send[]数组,然后利用IO口输出同步信号高电平;
4) 接收方探测到同步信号上升沿后,通过SPI1口向发送方发送8bit数据DATA1;
5) 发送方SPI3口接收到DATA1数据后,进入接收中断处理程序,发送SPI_send[]数组第一字节信息Byte1;
6) 接收方通过SPI1口收到Byte1后,将其赋值给数组SPI_receive[]中的SPI_receive[0],向发送方发送8bit数据DATA2;
7) 重复步骤5)至6),直至完成n次数据交互,n为SPI_send[]数组容量;每执行一次,将Byte1依次替换为当前SPI_send[]数组中对应数值;
8) 重复步骤3)至7),直至产品断电工作。

Claims (3)

1.一种触发式SPI数据通讯方法,其特征在于,包括以下步骤:
步骤1:以末敏弹复合信号处理器作为数据发送方,将数据发送方SPI3口作为从机;
数据发送方每周期开始时先将同步信号IO输出端口置低电平,然后将待发送数据内容赋值至数组SPI_send[],赋值结束后将同步信号IO输出端口置高电平,然后利用IO输出端口向数据接收方发送同步信号上升沿;
步骤2:数据接收方在探测到同步信号上升沿后,通过自身SPI1接口作为主机,发送8bit数值DATA1到数据发送方;数据发送方接收到主机8bit数值DATA1信息后,通过接收中断将SPI_send[]数组中第一个字节信息Byte1发送至数据接收方;
步骤3:数据接收方接收到Byte1后将其存入接收数组SPI_receive[],然后再次发送8bit数值DATA2至数据发送方;按此循环通信,直至数据接收方通过SPI接口接收完SPI_send[]数组中所有字节数据信息,并依次存入数组SPI_receive[]。
2.根据权利要求1所述的一种触发式SPI数据通讯方法,其特征在于,所述SPI数据通讯的过程中,数据帧有效位为8bit,时钟空闲状态为低电平,在第2个时钟沿进行采样。
3.根据权利要求1所述的一种触发式SPI数据通讯方法,其特征在于,所述数据发送方的工作频率为196MHZ,数据接收方的系统工作频率为40MHZ。
CN202311602857.6A 2023-11-28 2023-11-28 一种触发式spi数据通讯方法 Active CN117312221B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311602857.6A CN117312221B (zh) 2023-11-28 2023-11-28 一种触发式spi数据通讯方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311602857.6A CN117312221B (zh) 2023-11-28 2023-11-28 一种触发式spi数据通讯方法

Publications (2)

Publication Number Publication Date
CN117312221A CN117312221A (zh) 2023-12-29
CN117312221B true CN117312221B (zh) 2024-03-15

Family

ID=89260740

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311602857.6A Active CN117312221B (zh) 2023-11-28 2023-11-28 一种触发式spi数据通讯方法

Country Status (1)

Country Link
CN (1) CN117312221B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6461851A (en) * 1987-09-01 1989-03-08 Nec Corp Data transmission/reception system
CN1707461A (zh) * 2004-06-11 2005-12-14 松下电器产业株式会社 数据通信装置
KR20080043983A (ko) * 2006-11-15 2008-05-20 엘지전자 주식회사 서로 다른 동작 주파수로 동작하는 프로세서 시스템 간에통신할 수 있는 통신 시스템 및 통신 방법
CN102495818A (zh) * 2011-12-09 2012-06-13 上海爱信诺航芯电子科技有限公司 一种提高软件方式spi通信速率的方法
JP2013025698A (ja) * 2011-07-25 2013-02-04 Nec System Technologies Ltd モジュール、周波数制御方法、及び周波数制御プログラム
CN103425614A (zh) * 2012-05-24 2013-12-04 中国科学院空间科学与应用研究中心 一种用于单片机系统的同步串行数据发送装置
CN106155960A (zh) * 2016-06-29 2016-11-23 广州慧睿思通信息科技有限公司 基于gpio握手和edma的uart串口通信方法
CN110673524A (zh) * 2019-09-27 2020-01-10 安凯(广州)微电子技术有限公司 一种高速spi主模式控制器
CN110928813A (zh) * 2019-11-18 2020-03-27 珠海运控电机有限公司 一种基于双spi输出低频同步信号的系统及其方法
CN113220610A (zh) * 2020-01-21 2021-08-06 华为技术有限公司 通信系统和spi接口的通信方法及装置
CN114968863A (zh) * 2022-05-26 2022-08-30 无锡华大国奇科技有限公司 一种基于dma控制器的数据传输方法
CN115941102A (zh) * 2022-10-31 2023-04-07 三峡智控科技有限公司 一种采用spi连接mcu和fpga的控制器间同步通信的方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6461851A (en) * 1987-09-01 1989-03-08 Nec Corp Data transmission/reception system
CN1707461A (zh) * 2004-06-11 2005-12-14 松下电器产业株式会社 数据通信装置
KR20080043983A (ko) * 2006-11-15 2008-05-20 엘지전자 주식회사 서로 다른 동작 주파수로 동작하는 프로세서 시스템 간에통신할 수 있는 통신 시스템 및 통신 방법
JP2013025698A (ja) * 2011-07-25 2013-02-04 Nec System Technologies Ltd モジュール、周波数制御方法、及び周波数制御プログラム
CN102495818A (zh) * 2011-12-09 2012-06-13 上海爱信诺航芯电子科技有限公司 一种提高软件方式spi通信速率的方法
CN103425614A (zh) * 2012-05-24 2013-12-04 中国科学院空间科学与应用研究中心 一种用于单片机系统的同步串行数据发送装置
CN106155960A (zh) * 2016-06-29 2016-11-23 广州慧睿思通信息科技有限公司 基于gpio握手和edma的uart串口通信方法
CN110673524A (zh) * 2019-09-27 2020-01-10 安凯(广州)微电子技术有限公司 一种高速spi主模式控制器
CN110928813A (zh) * 2019-11-18 2020-03-27 珠海运控电机有限公司 一种基于双spi输出低频同步信号的系统及其方法
CN113220610A (zh) * 2020-01-21 2021-08-06 华为技术有限公司 通信系统和spi接口的通信方法及装置
CN114968863A (zh) * 2022-05-26 2022-08-30 无锡华大国奇科技有限公司 一种基于dma控制器的数据传输方法
CN115941102A (zh) * 2022-10-31 2023-04-07 三峡智控科技有限公司 一种采用spi连接mcu和fpga的控制器间同步通信的方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
基于SPI总线技术的同步422接口设计;谢俊聃;曹剑中;;电子技术应用(第08期);全文 *
基于集群目标的末敏弹效能仿真模型;刘文举;魏琳;;弹箭与制导学报(第01期);全文 *
多DSP系统间LinkPort数据同步传输技术研究;曹荣祥;;电脑知识与技术(第05期);全文 *
非对称GALS系统异步接口设计;徐阳扬;周端;杨银堂;王青松;廖峰;;西安电子科技大学学报(自然科学版);20070430(第02期);全文 *
高速DSP系统PCB的电磁兼容设计研究;赵娜;杨楠;陶灿;张辉;;弹箭与制导学报(第03期);全文 *

Also Published As

Publication number Publication date
CN117312221A (zh) 2023-12-29

Similar Documents

Publication Publication Date Title
CN111078606B (zh) 一种模拟i2c从机及其实现方法、终端设备和存储介质
CN108512785B (zh) 一种数据传输协议方法
CN104090795B (zh) 实现多核移动终端升级的方法、系统及装置
CN101297256A (zh) 包含复位设施的数据处理装置
CN104427232A (zh) 一种实现图像采集的方法、装置及系统
CN117312221B (zh) 一种触发式spi数据通讯方法
CN109976216A (zh) 一种can总线控制器及控制方法
CN104991795B (zh) 主动电容笔的固件升级方法及装置
CN103257606A (zh) 一种usb接口高速实时采样逻辑分析仪
CN103107862A (zh) 逻辑器件及其mdio数据发送方法
CN116155843B (zh) 一种基于pynq的脉冲神经网络芯片数据通信方法及系统
WO2019095952A1 (zh) 一种进行同步的方法和装置
CN114116583B (zh) 双芯片的串行通信方法和具有双芯片的系统
CN116546439B (zh) 电子货架标签快速唤醒并发送群组消息的方法及系统
CN114996195A (zh) 一种获取碳足迹数据的方法、系统、装置及介质
CN113709010A (zh) 一种不限帧长的Modbus通信协议系统
CN112882985A (zh) 一种数据传输系统、方法、装置及介质
CN112558750A (zh) 唤醒芯片的方法及装置
CN112104997A (zh) 物联网计量表及其控制方法
CN116361095B (zh) 功耗验证方法、系统、设备及存储介质
CN112104537B (zh) 一种通信控制器
CN116736234B (zh) 一种基于fpga的雷达数据采集方法、系统及装置
CN111783378B (zh) 数据处理方法及fpga
CN103874040A (zh) 移动终端处理新收短信的方法及移动终端
CN114485789A (zh) 一种基于窄带物联网的温湿度远程监测系统

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