一种单DSP串口收数方法技术

技术编号:41454273 阅读:23 留言:0更新日期:2024-05-28 20:42
本发明专利技术提供了一种单DSP串口收数方法,该收数方法的具体步骤如下:第一步,DSP硬件配置初始化;第二步,接收串口数据:DSP实时查询所配置的串口FIFO,并判断串口FIFO中断是否触发,如果触发,则开启定时器,接收串口FIFO数据,并将接收数据依次放入RAM中当前队列数据池的数据数组中;如果串口FIFO中断未触发,判断定时器是否开启,如果定时器开启,则等待,直至定时器中断触发,查询FIFO中剩余字节数,并将剩余字节数放入当前队列数据池中的数据数组中,同时将队头序号加1;第三步、校验数据。本发明专利技术具有接收不定字节长度数据的功能,实现了在不能使用DMA功能情况下,串口能有效接收完整通讯数据帧。

【技术实现步骤摘要】

本专利技术属于dsp芯片串口通讯,具体涉及一种单dsp串口收数方法。


技术介绍

1、目前,在国内嵌入式控制领域,dsp(digital signal processing)即数字信号处理技术被广泛应用,其中部分dsp芯片型号具有串口收发数功能,但在没有dma(directmemory access)功能情况下,串口收数需要cpu的干预,如果自身fifo(先入先出队列)缓冲深度能满足通讯帧长度,则可以完美接收通讯帧有效数据。在实际使用过程中,dsp与外部设备需进行通讯交互,而通讯帧协议中的字节长度不定时,传统方法采用中断或查询方式进行传输,中断方式通过设计字节深度,输出完成后则产生一次中断,但是每包数据的最大长度未知,则最后一次数据可能达不到触发条件,造成丢帧。查询的方式需要不断查询传输完成的标志位,获取传输的状态,但是会占用cpu的资源,同时程序运行的效率不高,导致无法满足高可靠实时的嵌入式软件运行需求。


技术实现思路

1、本专利技术的目的是提供了一种单dsp串口收数方法,具有接收不定字节长度数据的功能,实现本文档来自技高网...

【技术保护点】

1.一种单DSP串口收数方法,其特征是:该收数方法的具体步骤如下:

2.按照权利要求1所述一种单DSP串口收数方法,其特征在于:第一步中,所述配置定时器中断的触发条件是指,根据通讯波特率,一个字节按照10位传输,计算一个字节所需的线上传输时间,再按照10字节传输所需要的时间,作为定时器中断的触发条件。

3.按照权利要求1所述一种单DSP串口收数方法,其特征在于:第一步中,所述串口FIFO配置所需要的收数串口与DSP硬件的外部连接一一对应,同时依据收数处理机制,DSP的收数串口的接收功能采用FIFO缓冲模式,同时配置收数串口的中断接收数据方式,即配置FIFO的触发深...

【技术特征摘要】

1.一种单dsp串口收数方法,其特征是:该收数方法的具体步骤如下:

2.按照权利要求1所述一种单dsp串口收数方法,其特征在于:第一步中,所述配置定时器中断的触发条件是指,根据通讯波特率,一个字节按照10位传输,计算一个字节所需的线上传输时间,再按照10字节传输所需要的时间,作为定时器中断的触发条件。

3.按照权利要求1所述一种单dsp串口收数方法,其特征在于:第一步中,所述串口fifo配置所需要的收数串口与dsp硬件的外部连接一一对应,同时依据收数处理机制,dsp的收数串口的接收功能采用fifo缓冲模式,同时配置收数串口的中断接收数据方式,即配置fifo的触发深度为fifo缓冲大小的一半,fifo的触发深度一般设定为8字节。

4.按照权利要求1所述一种单dsp串口收数方法,其特征在于:第二步中,所述串口fifo中断触发条件是,串口fifo中缓冲字节数达到8个字节;dsp的串口fifo接收到超过8个字节长度时,每帧传输8个字节,即当传输的数据达到8字节,则串口fifo触发中断,同时刷新定时器的初始值,开启定时器,将8字节数据放入当前队列数据池的数据数组中,此时,不断接收到串口fifo的触发中断,每次串口fifo的触发中断时,均将定时器的当前计时值刷新为初始值,直至定时器的时间满足定时器中断触发条件,即fifo中断未触发,同时定时器触发中断,此时将定时器功能关闭,同时查询串口fifo中剩余字节数,并将剩余字节数放入当前队列数据池中的数据数组中,同时将队头序号加1;

5.按照权利要求1所述一种单dsp串口收数方法,其特征在于:第二步中,所述队列数据池是指,在ram中初始化一个结构体变量,结构体变量包含多个相同大小的...

【专利技术属性】
技术研发人员:吴真孙碧珣马浠铭段昊雨
申请(专利权)人:北京自动化控制设备研究所
类型:发明
国别省市:

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

1