DSP读取扩展串口中接收通道数据的方法技术

技术编号:16455899 阅读:45 留言:0更新日期:2017-10-25 20:28
DSP读取扩展串口中接收通道数据的方法,涉及嵌入式计算机领域,解决现有DSP与扩展串口芯片进行数据交互时,存在只能采用轮询模式或边沿触发中断模式,导致接收通道的数据帧频较高时很容易丢帧以及由于无法读取接收通道中的数据造成数据通道失效等问题,该方法采用中断模式和轮询模式相结合的方式,将相应扩展串口接收通道FIFO中的数据,按照特定的方式存储在专用数组里。该方法解决了单独采用轮询模式的时间不确定性和接收通道数据高帧频下丢帧的问题,也避免了单独采用中断模式而导致在接收通道数据高帧频下接收通道失效的问题。两种模式的有机结合使得DSP能快速处理接收通道的数据,极大提高了扩展串口的可靠性。

Method of receiving channel data from extended serial port by DSP

DSP read the serial data in the receiving channel expansion method, relates to an embedded computer field, solve the existing DSP and extended serial chip data exchange, there is only the polling mode or edge triggered interrupt mode, resulting in high frame rate data of the receiving channel is easily lost and unable to read frames in the receiving channel of data caused by the problem of data channel failure, the method adopts interrupt mode and polling mode combination, the corresponding extended serial receive channel FIFO data, in a specific manner and stored in a dedicated array. This method solved separately using polling mode time uncertainty and receiving channel data under high frame rate drop frame problem, but also avoid the interrupt mode alone may lead to the failure of receiving channel in the receiving channel data under high frame rate problems. The combination of the two modes makes the DSP fast processing the data of the receiving channel and greatly improves the reliability of the extended serial port.

【技术实现步骤摘要】
DSP读取扩展串口中接收通道数据的方法
本专利技术涉及嵌入式计算机领域,具体涉及一种DSP读取扩展串口中接收通道数据的方法。
技术介绍
现有的数字信号处理芯片(以下简称DSP)只含有1~3个UART(通用异步收发器),URAT的信号经过不同的串行通信协议驱动芯片形成不同的串行通信协议标准接口(以下简称串口)。当DSP要与多个串口设备(大于其自带的串口数量)进行通信时,需要对其进行串口扩展。串口扩展多采用专用集成电路。串口扩展芯片与DSP相连接,由DSP控制串口扩展芯片的数据收发等操作。由于DSP的外触发中断管脚数量有限,通常采取多个扩展串口通道的接收中断信号经过逻辑或之后连接到DSP的一个外触发中断管脚上。某些型号DSP或单片机外触发中断没有电平触发功能,只有边沿触发功能。这些类型的DSP从扩展串口芯片中读取相应接收通道的数据只能采用轮询模式或边沿触发中断模式。轮询模式操作简单,但响应慢、效率低和时间不确定性,当接收通道的数据帧频较高时很容易丢帧。边沿触发中断模式响应快,但当多个扩展串口接收通道的数据帧频都较高时,由于数据读取需要占用一定的时间,就会导致某些通道串口中断得不到及时处理,这些接收通道中断管脚的电平无法得到有效的复位,导致这些通道永久性失去触发DSP外部中断的功能,从而导致在中断模式下无法读取这些接收通道中的数据,造成该通道失效。
技术实现思路
本专利技术为解决现有DSP与扩展串口芯片进行数据交互时,存在只能采用轮询模式或边沿触发中断模式,导致接收通道的数据帧频较高时很容易丢帧以及由于无法读取接收通道中的数据造成数据通道失效等问题,提供一种DSP读取扩展串口中接收通道数据的方法。DSP读取扩展串口中接收通道数据的方法,该方法由以下步骤实现:步骤一、对DSP以及扩展串口专用集成电路进行初始化;步骤二、初始化后的DSP同时开启中断模式和轮询模式,如果中断条件满足,则进入中断服务程序,如果轮询条件满足,则进入轮询处理程序。所述进入中断模式或轮询模式中的程序执行方式相同,具体为:扫描各扩展串口接收通道对应的触发中断管脚的电平状态,若该通道管脚电平状态与中断触发时的电平状态一致,则查询该通道接收FIFO中的数据个数,然后将FIFO中所有数据读取并保存至用于该通道的专用数组中;若该通道管脚电平状态与中断触发时的电平状态不一致,则对该通道无任何操作;步骤三、将步骤二中读取各扩展串口接收通道的数据保存在专用数组中,具体为:设定专用数组中已存在数据起点为P,终点为Q,数据长度为M,即P+M=Q;专用数组起点为0,终点为F-1,长度为F,且存在如下关系0≤P≤Q≤F-1;专用数组中已存在数据终点位置Q与该扩展串口接收通道FIFO中数据长度N之和为Q+N;若Q+N≤F-1,则保持专用数组中已存在数据的起点位置P值不变,将接收通道FIFO中的所有数据顺序保存至专用数组中已存在数据终点位置Q之后,并将专用数组中已存在数据终点位置更新为Q+N;若Q+N>F-1,则将专用数组中已存在数据整体往零点位置移动距离为Q+N-F+1,此时已存在数据的起点为P-Q-N+F-1,已存在数据的终点为F-1-N;若P-Q-N+F-1≥0,则将接收通道FIFO中的所有数据顺序保存至专用数组中已存在数据终点位置F-1-N之后,并将专用数组中已存在数据终点位置修改为F-1,起点值P-Q-N+F-1保持不变;若P-Q-N+F-1<0且F-1-N≥0,则将接收通道FIFO中的所有数据顺序保存至专用数组中已存在数据终点位置F-1-N之后,并将专用数组中已存在数据终点位置修改为F-1,起点值修改为0;若P-Q-N+F-1<0且F-1-N<0,则专用数组的长度F小于扩展串口接收通道FIFO中数据长度N,则程序结束。本专利技术的有益效果:本专利技术所述的方法采用中断模式和轮询模式相结合的方式,将相应扩展串口接收通道FIFO中的数据,按照特定的方式存储在专用数组里。该方法解决了单独采用轮询模式的时间不确定性和接收通道数据高帧频下丢帧的问题,也避免了单独采用中断模式而导致在接收通道数据高帧频下接收通道失效的问题。两种模式的有机结合使得DSP能快速处理接收通道的数据,即使在高帧频下也能做到串口接收通道不失效,接收数据无丢帧,极大提高了扩展串口的可靠性。附图说明为了更清楚地说明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术所述的DSP读取扩展串口中接收通道数据的方法中DSP与扩展串口集成电路的连接关系示意图;图2为本专利技术所述的DSP读取扩展串口中接收通道数据的方法中DSP初始化的流程图;图3为本专利技术所述的DSP读取扩展串口中接收通道数据的方法中DSP对扩展串口集成电路初始化的流程图;图4为本专利技术所述的DSP读取扩展串口中接收通道数据的方法中扩展串口集成电路的接收通道数据保存至专用数组的流程图;图5中(a)、(b)、(c)和(d)分别为本专利技术所述的DSP读取扩展串口中接收通道数据的方法中扩展串口接收通道数据保存至专用数组的四种位置示意图。具体实施方式具体实施方式一、结合图1至图5说明本实施方式,DSP读取扩展串口中接收通道数据的方法,DSP与扩展串口专用集成电路的连接关系结合图1,DSP通过XINTF接口(外部接口)分别与每个扩展串口集成电路的数据总线、地址总线及读写信号线相连接,通过XINTF的多余的地址总线(如XA[7:5])经三八译码器来控制控制扩展串口集成电路的各通道的片选。各扩展串口集成电路的中断信号1~中断信号N,经过逻辑或元器件之后输出到DSP的外部中断管脚,且所有中断信号1~中断信号N分别输入到DSP的GPIO管脚。具体方法以由以下步骤实现:一、对DSP初始化,结合图2和图3,包括以下步骤:配置系统时钟,初始化所有GPIO,初始化相关外设,延迟一段时间后初始化扩展串口集成电路,配置外部中断,相关中断使能,全局中断使能;所述延迟一段时间大于等于扩展串口上电后至能进行寄存器读写的等待时间,否则会导致DSP对扩展串口初始化不完整,甚至扩展串口无法初始化。所述初始化扩展串口集成电路的步骤为:配置数据位、停止位、奇偶校验位、配置波特率、使能接收FIFO、配置接收FIFO触发等级、使能相应串口中断输出以及接收FIFO中断使能。二、本实施方中,扩展串口边沿触发中断服务程序(即中断模式)包括以下步骤:进入中断服务程序,扫描各扩展串口接收通道对应的触发中断管脚的电平状态,若该通道管脚电平状态与中断触发时的电平状态一致,则查询该通道接收FIFO中的数据个数,然后将FIFO中所有数据读取并保存至用于该通道的专用数组中。若该通道管脚电平状态与中断触发时的电平状态不一致,则对该通道无任何操作;轮询程序包括以下步骤:在主循环程序中进入轮询程序,扫描各扩展串口接收通道对应的触发中断管脚的电平状态,若该通道管脚电平状态与中断触发时的电平状态一致,则查询该通道接收FIFO中的数据个数,然后将FIFO中所有数据读取并保存至用于该通道的专用数组中。若该通道管脚电平状态与中断触本文档来自技高网...
DSP读取扩展串口中接收通道数据的方法

【技术保护点】
DSP读取扩展串口中接收通道数据的方法,其特征是;该方法由以下步骤实现:步骤一、对DSP以及扩展串口集成电路进行初始化;步骤二、初始化后的DSP同时开启中断模式和轮询模式,如果中断条件满足,则进入中断服务程序,如果轮询条件满足,则进入轮询处理程序;所述进入中断模式或轮询模式中的程序执行方式相同,具体为:扫描各扩展串口接收通道对应的触发中断管脚的电平状态,若该通道管脚电平状态与中断触发时的电平状态一致,则查询该通道接收FIFO中的数据个数,然后将FIFO中所有数据读取并保存至用于该通道的专用数组中;若该通道管脚电平状态与中断触发时的电平状态不一致,则对该通道无任何操作;步骤三、将步骤二中读取各扩展串口接收通道的数据保存在专用数组中,具体为:设定专用数组中已存在数据起点为P,终点为Q,数据长度为M,即P+M=Q;专用数组起点为0,终点为F‑1,长度为F,且存在如下关系0≤P≤Q≤F‑1;专用数组中已存在数据终点位置Q与该扩展串口接收通道FIFO中数据长度N之和为Q+N;若Q+N≤F‑1,则保持专用数组中已存在数据的起点位置P值不变,将接收通道FIFO中的所有数据顺序保存至专用数组中已存在数据终点位置Q之后,并将专用数组中已存在数据终点位置更新为Q+N;若Q+N>F‑1,则将专用数组中已存在数据整体往零点位置移动距离为Q+N‑F+1,此时已存在数据的起点为P‑Q‑N+F‑1,已存在数据的终点为F‑1‑N;若P‑Q‑N+F‑1≥0,则将接收通道FIFO中的所有数据顺序保存至专用数组中已存在数据终点位置F‑1‑N之后,并将专用数组中已存在数据终点位置修改为F‑1,起点值P‑Q‑N+F‑1保持不变;若P‑Q‑N+F‑1<0且F‑1‑N≥0,则将接收通道FIFO中的所有数据顺序保存至专用数组中已存在数据终点位置F‑1‑N之后,并将专用数组中已存在数据终点位置修改为F‑1,起点值修改为0;若P‑Q‑N+F‑1<0且F‑1‑N<0,则专用数组的长度F小于扩展串口接收通道FIFO中数据长度N,则程序结束。...

【技术特征摘要】
1.DSP读取扩展串口中接收通道数据的方法,其特征是;该方法由以下步骤实现:步骤一、对DSP以及扩展串口集成电路进行初始化;步骤二、初始化后的DSP同时开启中断模式和轮询模式,如果中断条件满足,则进入中断服务程序,如果轮询条件满足,则进入轮询处理程序;所述进入中断模式或轮询模式中的程序执行方式相同,具体为:扫描各扩展串口接收通道对应的触发中断管脚的电平状态,若该通道管脚电平状态与中断触发时的电平状态一致,则查询该通道接收FIFO中的数据个数,然后将FIFO中所有数据读取并保存至用于该通道的专用数组中;若该通道管脚电平状态与中断触发时的电平状态不一致,则对该通道无任何操作;步骤三、将步骤二中读取各扩展串口接收通道的数据保存在专用数组中,具体为:设定专用数组中已存在数据起点为P,终点为Q,数据长度为M,即P+M=Q;专用数组起点为0,终点为F-1,长度为F,且存在如下关系0≤P≤Q≤F-1;专用数组中已存在数据终点位置Q与该扩展串口接收通道FIFO中数据长度N之和为Q+N;若Q+N≤F-1,则保持专用数组中已存在数据的起点位置P值不变,将接收通道FIFO中的所有数据顺序保存至专用数组中已存在数据终点位置Q之后,并将专用数组中已存在数据终点位置更新为Q+N;若Q+N>F-1,则将专用数组中已存在数据整体往零点位置移动距离为Q+N-F+1,此时已存在数据的起点为P-Q-N+F-1,已存在数据的终点为F-1-N;若P-Q-N+F-1≥0,则将接收通道FIFO中的所有数据顺序保存至专用数组中已存在数据终点位置F-1-N之后,并将专用数组中已存在数据终点位置修改为F-1,起点值P-Q-N+F-1保持不变;若P-Q-N+F-1<...

【专利技术属性】
技术研发人员:章家保徐伟张贵祥朴永杰冯汝鹏王绍举
申请(专利权)人:中国科学院长春光学精密机械与物理研究所
类型:发明
国别省市:吉林,22

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

1