[发明专利]DSP读取扩展串口中接收通道数据的方法有效
申请号: | 201710356711.6 | 申请日: | 2017-05-19 |
公开(公告)号: | CN107291647B | 公开(公告)日: | 2020-08-14 |
发明(设计)人: | 章家保;徐伟;张贵祥;朴永杰;冯汝鹏;王绍举 | 申请(专利权)人: | 中国科学院长春光学精密机械与物理研究所 |
主分类号: | G06F13/40 | 分类号: | G06F13/40;G06F5/06 |
代理公司: | 长春菁华专利商标代理事务所(普通合伙) 22210 | 代理人: | 朱红玲 |
地址: | 130033 吉*** | 国省代码: | 吉林;22 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | DSP读取扩展串口中接收通道数据的方法,涉及嵌入式计算机领域,解决现有DSP与扩展串口芯片进行数据交互时,存在只能采用轮询模式或边沿触发中断模式,导致接收通道的数据帧频较高时很容易丢帧以及由于无法读取接收通道中的数据造成数据通道失效等问题,该方法采用中断模式和轮询模式相结合的方式,将相应扩展串口接收通道FIFO中的数据,按照特定的方式存储在专用数组里。该方法解决了单独采用轮询模式的时间不确定性和接收通道数据高帧频下丢帧的问题,也避免了单独采用中断模式而导致在接收通道数据高帧频下接收通道失效的问题。两种模式的有机结合使得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,则程序结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院长春光学精密机械与物理研究所,未经中国科学院长春光学精密机械与物理研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710356711.6/,转载请声明来源钻瓜专利网。
- 上一篇:网口和串口复用的装置及单板
- 下一篇:一种电容隔离装置