System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 实现一线通数据接收和发送的方法、装置、芯片、电子设备制造方法及图纸_技高网

实现一线通数据接收和发送的方法、装置、芯片、电子设备制造方法及图纸

技术编号:44931570 阅读:10 留言:0更新日期:2025-04-08 19:13
本发明专利技术提供一种利用SPI实现一线通数据接收和发送的方法。接收方法包括:将SPI_MOSI引脚配置为GPIO输入或者高阻态,将SPI_MISO引脚配置为GPIO输入,并检测边沿中断;等待接收边沿中断,在接收到边沿中断后,将SPI_MISO引脚配置为SPI功能;配置DMA模块,包括:配置DMA模块将SPI模块接收的数据传输到内存,启动DMA传输;配置SPI模块,包括:配置SPI模块为接收模式,启动SPI传输;等待接收DMA模块的接收完成中断;对内存中SPI模块接收的数据进行解析。本发明专利技术能够少占用CPU资源,提高数据准确性。

【技术实现步骤摘要】

本专利技术涉及信号传输,尤其涉及一种利用spi实现一线通数据接收和发送的方法、装置、芯片、电子设备、通信系统和存储介质。


技术介绍

1、一线通(single interface frame,sif)是电动两轮车广泛使用的一种通信协议,用于控制器,锂电池,充电器之间的通信。一线通物理上只需要一根信号导线,即可实现数据传输。传输数据由通信帧组成,每帧数据由同步信号,主报文信号,停止信号3个部分组成。帧格式的定义可以参考《电动自行车通信协议团体标准t/jseba 002-2022》。

2、目前一线通通用的实现方法是软件使用定时器中断加gpio(general-purposeinput/output,通用输入/输出接口)的方式来接收或发送一线通协议数据,需要在每个定时中断处理gpio数据。以周期ttimer=200us的定时器为例,定时器中断与信号对应的时序图如图1所示。

3、定时器中断加gpio的方式实现一线通,主要存在以下问题:

4、由于需要定期采样gpio状态,传输过程中将存在非常多的定时器中断,占用cpu较多,影响系统中其他任务运行。

5、由于gpio状态处理和信号转换都在中断函数中完成,对系统实时性要求比较高,在cpu负载较重的时候,如果来不及响应中断,可能导致计算的信号占空比不准,从而导致误判。


技术实现思路

1、有鉴于此,本专利技术提供了一种利用spi(serial peripheral interface,串行外设接口)实现一线通数据接收和发送的方法、装置、芯片、电子设备、通信系统和存储介质,能够少占用cpu资源,提高数据准确性。

2、第一方面,本专利技术提供一种利用spi实现一线通数据接收的方法,所述方法包括:

3、将spi_mosi引脚配置为gpio输入或者高阻态,将spi_miso引脚配置为gpio输入,并检测边沿中断;

4、等待接收gpio产生的边沿中断,在接收到所述边沿中断后,将spi_miso引脚配置为spi功能;

5、配置dma模块,包括:配置所述dma模块将spi模块接收的数据传输到内存,启动dma传输;

6、配置spi模块,包括:配置所述spi模块为接收模式,启动spi传输;

7、等待接收所述dma模块产生的接收完成中断;

8、在接收到所述接收完成中断后,对内存中spi模块接收的数据进行解析。

9、可选地,配置spi模块,还包括:设置spi时钟,在spi时钟上升沿接收数据。

10、第二方面,本专利技术提供一种利用spi实现一线通数据发送的方法,所述方法包括:

11、将待发送的一线通协议数据转换成spi模块要发送的数据,并存入内存;

12、将spi_miso引脚配置为gpio输入并关闭中断,或者配置为高阻态,将spi_mosi引脚配置为spi功能;

13、配置dma模块,包括:配置所述dma模块将内存中的数据传输到spi模块,启动dma传输;

14、配置spi模块,包括:配置所述spi模块为发送模式,启动spi传输;

15、等待接收所述dma模块产生的发送完成中断。

16、可选地,配置spi模块,还包括:设置spi时钟,在spi时钟下降沿发送数据。

17、第三方面,本专利技术提供一种利用spi实现一线通数据接收的装置,所述装置包括:

18、第一spi引脚配置单元,用于将spi_mosi引脚配置为gpio输入或者高阻态,将spi_miso引脚配置为gpio输入,并检测边沿中断;

19、边沿中断处理单元,用于等待接收gpio产生的边沿中断,在接收到所述边沿中断后,将spi_miso引脚配置为spi功能;

20、第一dma配置单元,用于配置dma模块,包括:配置所述dma模块将spi模块接收的数据传输到内存,启动dma传输;

21、第一spi配置单元,用于配置spi模块,包括:配置所述spi模块为接收模式,启动spi传输;

22、第一中断单元,用于等待接收所述dma模块产生的接收完成中断;

23、第一信号转换单元,用于在接收到所述接收完成中断后,对内存中spi模块接收的数据进行解析。

24、第四方面,本专利技术提供一种利用spi实现一线通数据发送的装置,所述装置包括:

25、第二信号转换单元,用于将待发送的一线通协议数据转换成spi模块要发送的数据,并存入内存;

26、第二spi引脚配置单元,用于将spi_miso引脚配置为gpio输入并关闭中断,或者配置为高阻态,将spi_mosi引脚配置为spi功能;

27、第二dma配置单元,用于配置dma模块,包括:配置所述dma模块将内存中的数据传输到spi模块,启动dma传输;

28、第二spi配置单元,用于配置spi模块,包括:配置所述spi模块为发送模式,启动spi传输;

29、第二中断单元,用于等待接收所述dma模块产生的发送完成中断。

30、第五方面,本专利技术提供一种芯片,所述芯片包括:

31、spi模块,所述spi模块的spi_miso引脚具有复用为gpio功能;

32、dma模块;

33、内存;

34、存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序,以实现如第一方面所述的利用spi实现一线通数据接收的方法,和/或,如第二方面所述的利用spi实现一线通数据发送的方法。

35、第六方面,本专利技术提供一种电子设备,所述电子设备包括如第五方面所述的芯片。

36、第七方面,本专利技术提供一种一线通通信系统,包括如第六方面所述的电子设备。

37、第八方面,本专利技术提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的利用spi实现一线通数据接收的方法,和/或,如第二方面所述的利用spi实现一线通数据发送的方法。

38、本专利技术提供的利用spi实现一线通数据接收和发送的方法、装置、芯片、电子设备、通信系统和存储介质,利用spi实现接收/发送一线通协议数据,数据接收/发送由spi模块和dma模块完成,不占用cpu资源。在这期间,cpu可以让给其他任务使用。spi模块按照固定频率接收/发送数据,接收/发送过程中不会被打断,信号波形比较准确,不存在信号占空比不准的问题。另外spi是串行高速总线,工作频率可以根据精度要求设置。

本文档来自技高网...

【技术保护点】

1.一种利用SPI实现一线通数据接收的方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,配置SPI模块,还包括:设置SPI时钟,在SPI时钟上升沿接收数据。

3.一种利用SPI实现一线通数据发送的方法,其特征在于,所述方法包括:

4.根据权利要求3所述的方法,其特征在于,配置SPI模块,还包括:设置SPI时钟,在SPI时钟下降沿发送数据。

5.一种利用SPI实现一线通数据接收的装置,其特征在于,所述装置包括:

6.一种利用SPI实现一线通数据发送的装置,其特征在于,所述装置包括:

7.一种芯片,其特征在于,所述芯片包括:

8.一种电子设备,其特征在于,所述电子设备包括如权利要求7所述的芯片。

9.一种一线通通信系统,其特征在于,包括如权利要求8所述的电子设备。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1或2所述的利用SPI实现一线通数据接收的方法,和/或,如权利要求3或4所述的利用SPI实现一线通数据发送的方法。

...

【技术特征摘要】

1.一种利用spi实现一线通数据接收的方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,配置spi模块,还包括:设置spi时钟,在spi时钟上升沿接收数据。

3.一种利用spi实现一线通数据发送的方法,其特征在于,所述方法包括:

4.根据权利要求3所述的方法,其特征在于,配置spi模块,还包括:设置spi时钟,在spi时钟下降沿发送数据。

5.一种利用spi实现一线通数据接收的装置,其特征在于,所述装置包括:

6.一种利用spi实现...

【专利技术属性】
技术研发人员:冯惠杰戴杰张飞
申请(专利权)人:归芯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1