CN105487992A - 多通道软硬件并行串口通讯处理方法 - Google Patents
多通道软硬件并行串口通讯处理方法 Download PDFInfo
- Publication number
- CN105487992A CN105487992A CN201410473686.6A CN201410473686A CN105487992A CN 105487992 A CN105487992 A CN 105487992A CN 201410473686 A CN201410473686 A CN 201410473686A CN 105487992 A CN105487992 A CN 105487992A
- Authority
- CN
- China
- Prior art keywords
- software
- hardware
- serial communication
- channel
- serial
- 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.)
- Granted
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明针对复杂航天器控制计算机串口通讯单机数量不断增加,但嵌入式***软硬件资源有限的矛盾,提出了一种软硬件资源统筹调用方法,步骤包括硬件多路串口通道复用、发送缓存复用、接收缓存独立,通过软件设置通道号实现通道切换,并设置相应通道的发送数据长度、接收数据长度;串口接收中断与超时中断复用,多路串口采用同一接收中断、超时中断,占用同一CPU外部中断资源;软硬件并行工作,实现多路串口通讯,串口通信由软件任务主流程、软件中断流程、硬件处理流程共同完成。该方法实现了多通道软硬件并行串口通讯,节约了计算机硬件资源,减少了多路串口通讯占用的CPU时间,已在某型号控制计算机上成功在轨应用。
Description
技术领域
本发明涉及航天器控制计算机串口通讯技术,具体一种涉及多通道软硬件并行串口通讯方法。
背景技术
随着航天领域任务复杂性的提高,越来越多不同用途的单机配备到航天器上。控制计算机与众多单机通过数据交互建立复杂的控制***,最通用的方式即为串口通讯。
一般的控制计算机串口通讯设计中,控制计算机作为主节点,启动某一通道通讯后,进入空循环等待,待所有数据全部接收完毕后,切换至下一通道。当通道较多且收发字节较多时,一方面控制计算机嵌入式***有限的硬件资源无法满足多路独立串口通道、独立收、发缓存的需求;另一方面查询等待方式的通信机制浪费较多的CPU处理时间,也无法满足复杂控制***处理周期时间资源的需求。
发明内容
本发明针对复杂航天器控制计算机串口通讯单机数量不断增加,但嵌入式***软硬件资源有限的矛盾,提出了一种多通道软硬件并行串口通讯处理方法,完成软硬件资源统筹调度,采用“硬件通道复用+软件串口通讯中断”的处理方式,实现了多通道软硬件并行串口通讯。
为达到上述目的,本发明提供一种多通道软硬件并行串口通讯处理方法,该方法包括以下步骤:
步骤一、硬件多路串口通道复用、发送缓存复用、接收缓存独立,通过软件设置通道号实现道号切换,并设置相应通道的发送数据长度、接收数据长度。根据当前设定的串口通道号,将发送缓存与相应的串口通道绑定,同一时刻只能与同一通道通讯。
步骤二、串口接收中断与超时中断复用,多路串口采用同一接收中断、超时中断,占用同一CPU外部中断资源。根据接收中断与超时中断优先触发的原则,若某一中断触发,则不再产生另一中断。
步骤三、软硬件并行工作,实现多路串口通讯。串口通讯由软件任务主流程、软件中断流程、硬件处理流程共同完成。软件实现多通道切换和通讯任务管理,在软件任务主流程同步运行的同时,硬件处理流程和软件串口通讯中断服务程序交替依次完成各通道串口通讯的软、硬件任务,直至本周期全部通道串口通讯任务完成。
进一步,所述的步骤三,软硬件并行工作,实现多路串口通讯,还包括如下步骤:
1)主任务流程读取上周期各路串口独立接收缓存的数据,并启动本周期第一路串口通讯,随后继续处理主任务中其他流程。
2)软件中断处理流程由串口接收、超时中断触发,保存本路串口通讯状态并启动下一路通讯。
3)硬件处理流程中,首先根据软件写入的串口通道号及发送数据长度进行数据发送流程处理;再根据软件写入的接收数据长度设置定时周期并启动超时定时器;接收数据依次存入通道对应的接收缓存,对接收的每个字节进行奇偶校验判断;当接收数据长度达到设定字节数或超时定时器达到定时周期时触发串口接收、超时中断,返回通讯正常、超时或奇偶校验错状态标志。
与现有技术相比,本发明的多通道软硬件并行串口通信处理方法,通过软硬件资源统筹调度,节约了计算机硬件资源,减少了多路串口通讯占用的CPU时间。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
附图1为根据本发明实施例的多通道软硬件并行串口通信处理流程示意图;
附图2为多通道软硬件并行串口通信处理技术中的软硬件资源占用示意图。
具体实施方式
参见示出本发明实施例的附图,下文将更详细地描述本发明。然而,本发明可以以许多不同形式实现,并且不应解释为受在此提出之实施例的限制。相反,提出这些实施例是为了达成充分及完整公开,并且使本技术领域的技术人员完全了解本发明的范围。这些附图中,为清楚起见,可能放大了层及区域的尺寸及相对尺寸。
现参考附图详细描述根据本发明实施例的多通道软硬件并行串口通讯处理方法。如图1所示,根据本发明的多通道软硬件并行串口通讯处理方法,该技术通过如下步骤具体实现:
一、硬件多路串口通道复用、发送缓存复用、接收缓存独立,通过软件设置通道号实现通道切换,并设置相应通道的发送数据长度、接收数据长度。
控制计算机硬件采用反熔丝型FPGA实现14路串口通道复用,14路共用64字节发送缓存,14路独立各128字节接收缓存。软件可设置通道号、发送字节、接收字节。
二、串口接收中断与超时中断复用,多路串口采用同一接收中断、超时中断,占用同一CPU外部中断资源。
硬件接收字节计数达到软件设置的期望接收字节时产生接收中断。考虑到根据通讯任务的不同接收字节数可变,超时定时器可由软件根据接收字节数设定不同定时周期。当超时定时器达到定时周期仍未接收完全部数据时产生超时中断。接收中断或超时中断中任何一个产生时,触发计算机外部中断。
三、软硬件并行工作,实现多路串口通讯,串口通信由软件任务主流程、软件任务中断流程、硬件处理流程共同完成。通讯机制为“请求+应答”方式,控制计算机作为主节点依次向不同单机发出请求,单机接收到请求后在规定的响应时间内向控制计算机返回应答数据。
1、软件任务主流程首先将上周期14路串口独立接收缓存中的数据及通讯状态字依次读入内存接收数据数组,根据通讯状态字判断数据有效后用于本周期控制解算;再根据本周期通讯任务更新14路串口发送数据数组、发送数据长度、接收数据长度;最后启动本周期第一个通道的串口通信,将第一通道的发送数据长度、接收数据长度写入硬件寄存器,将发送数组中内容写入硬件发送缓存并启动硬件发送,启动接收超时定时器。软件任务主流程继续进行其他处理流程。
2、启动硬件数据发送后,FPGA将发送缓存中的数据依字节顺序通过串口发送给第一通道对应的单机。单机接到请求数据帧后开始向计算机返回应答数据,计算机硬件逐字节将接收数据存入第一通道接收缓存,并对每字节进行奇偶校验判断,若校验错则设置奇偶校验错误状态寄存器。若单机在等待周期内完成全部数据应答,则计算机硬件缓存接收字节计数达到软件设置的期望字节数,产生串口接收中断;或者单机响应超时,未在规定时间内反馈全部数据,则计算机硬件产生串口超时中断。接收中断与超时中断根据优先触发的原则,若某一中断产生则不再产生另一中断,也不再置位另一中断标志。
3、硬件产生串口接收、超时中断后,触发软件从任务主流程切入串口中断处理流程。软件中断处理流程首先读取硬件状态寄存器,记录第一通道本周期通讯状态为正常、超时或奇偶校验错;同样的方法依次启动下一路串口通讯流程。软件流程再返回任务主流程,同步硬件进行数据发送、接收处理。
4、第2至14路串口通讯流程,重复上述步骤2、3,直至本周期所有串口通道通讯均已完成,则关闭超时定时器,退回任务主流程。本周期14路串口通讯任务全部完成。
本发明已在某航天器控制计算机中成功在轨应用,满足了复杂航天器多路串口通讯的要求,目前航天器在轨状态良好,单机通讯状态正常。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
Claims (2)
1.一种多通道软硬件并行串口通讯处理方法,其特征在于,该方法步骤包括:
1)硬件多路串口通道复用、发送缓存复用、接收缓存独立,通过软件设置通道号实现通道切换,并设置相应通道的发送数据长度、接收数据长度;
2)串口接收中断与超时中断复用,多路串口采用同一接收中断、超时中断,占用同一CPU外部中断资源;
3)软硬件并行工作,实现多路串口通讯,串口通信由软件任务主流程、软件中断流程、硬件处理流程共同完成。
2.如权利要求1所述的多通道软硬件并行串口通讯处理方法,其特征在于,所述步骤3)具体流程如下:
3-1)主任务流程读取上周期各路串口独立接收缓存的数据,并启动本周期第一路串口通讯,随后继续处理主任务中其他流程;
3-2)软件中断处理流程由串口接收、超时中断触发,保存本路串口通讯状态并启动下一路通讯;
3-3)硬件处理流程中,首先根据软件写入的串口通道号及发送数据长度进行数据发送流程处理;再根据软件写入的接收数据长度设置定时周期并启动超时定时器;接收数据依次存入通道对应的接收缓存,对接收的每个字节进行奇偶校验判断;当接收数据长度达到设定字节数或超时定时器达到定时周期时触发串口接收、超时中断,返回通讯正常、超时或奇偶校验错状态标志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410473686.6A CN105487992B (zh) | 2014-09-17 | 2014-09-17 | 多通道软硬件并行串口通讯处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410473686.6A CN105487992B (zh) | 2014-09-17 | 2014-09-17 | 多通道软硬件并行串口通讯处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105487992A true CN105487992A (zh) | 2016-04-13 |
CN105487992B CN105487992B (zh) | 2018-11-06 |
Family
ID=55674980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410473686.6A Active CN105487992B (zh) | 2014-09-17 | 2014-09-17 | 多通道软硬件并行串口通讯处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105487992B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502864A (zh) * | 2016-10-26 | 2017-03-15 | 厦门科灿信息技术有限公司 | 一种数据监控***的通讯管理方法 |
CN107229591A (zh) * | 2017-06-22 | 2017-10-03 | 湖南省力宇燃气动力有限公司 | 多串口通信方法及装置 |
CN111324567A (zh) * | 2020-02-10 | 2020-06-23 | 华大半导体有限公司 | 一种实现串口通讯的方法及单片机*** |
CN113568793A (zh) * | 2021-07-26 | 2021-10-29 | 西安广和通无线软件有限公司 | 串口测试方法、智能模组及存储介质 |
CN114785452A (zh) * | 2022-03-16 | 2022-07-22 | 浙江万胜智能科技股份有限公司 | 一种融合终端usb多通道数据传输方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279826A (zh) * | 2010-06-09 | 2011-12-14 | 马苗苗 | 一种串口复用装置 |
CN102567260A (zh) * | 2010-12-27 | 2012-07-11 | 北京国睿中数科技股份有限公司 | 具有多个uart接口的设备以及利用该设备的方法 |
CN102855750A (zh) * | 2012-07-16 | 2013-01-02 | 河南省电力公司信阳供电公司 | 采集器通讯复用串口自动切换装置 |
CN102915010A (zh) * | 2012-09-19 | 2013-02-06 | 山东神戎电子股份有限公司 | 基于fpga的串行通信分配装置及通信方法 |
KR20140000404A (ko) * | 2012-06-22 | 2014-01-03 | 주식회사 인터엠 | 멀티 채널 시리얼 통신 장치 |
-
2014
- 2014-09-17 CN CN201410473686.6A patent/CN105487992B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279826A (zh) * | 2010-06-09 | 2011-12-14 | 马苗苗 | 一种串口复用装置 |
CN102567260A (zh) * | 2010-12-27 | 2012-07-11 | 北京国睿中数科技股份有限公司 | 具有多个uart接口的设备以及利用该设备的方法 |
KR20140000404A (ko) * | 2012-06-22 | 2014-01-03 | 주식회사 인터엠 | 멀티 채널 시리얼 통신 장치 |
CN102855750A (zh) * | 2012-07-16 | 2013-01-02 | 河南省电力公司信阳供电公司 | 采集器通讯复用串口自动切换装置 |
CN102915010A (zh) * | 2012-09-19 | 2013-02-06 | 山东神戎电子股份有限公司 | 基于fpga的串行通信分配装置及通信方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502864A (zh) * | 2016-10-26 | 2017-03-15 | 厦门科灿信息技术有限公司 | 一种数据监控***的通讯管理方法 |
CN107229591A (zh) * | 2017-06-22 | 2017-10-03 | 湖南省力宇燃气动力有限公司 | 多串口通信方法及装置 |
CN107229591B (zh) * | 2017-06-22 | 2020-08-18 | 湖南省力宇燃气动力有限公司 | 多串口通信方法及装置 |
CN111324567A (zh) * | 2020-02-10 | 2020-06-23 | 华大半导体有限公司 | 一种实现串口通讯的方法及单片机*** |
CN111324567B (zh) * | 2020-02-10 | 2022-05-27 | 华大半导体有限公司 | 一种实现串口通讯的方法及单片机*** |
CN113568793A (zh) * | 2021-07-26 | 2021-10-29 | 西安广和通无线软件有限公司 | 串口测试方法、智能模组及存储介质 |
CN114785452A (zh) * | 2022-03-16 | 2022-07-22 | 浙江万胜智能科技股份有限公司 | 一种融合终端usb多通道数据传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105487992B (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105487992A (zh) | 多通道软硬件并行串口通讯处理方法 | |
CN101128807B (zh) | 用于扩充中断控制器和合成中断来源的***和方法 | |
CN105359098B (zh) | 用于在多处理器***中执行应用交换的方法、介质和*** | |
CN104050143A (zh) | 向混合可编程多核器件映射网络应用 | |
CN105511954A (zh) | 一种报文处理方法及装置 | |
Tanasa et al. | Reliability-aware frame packing for the static segment of FlexRay | |
CN2938595Y (zh) | 一种用于板间通信的高速串行接口装置 | |
Pang et al. | An RTOS-based architecture for industrial wireless sensor network stacks with multi-processor support | |
CN104255011A (zh) | 云计算安全数据存储 | |
CN106325984A (zh) | 一种大数据任务调度装置 | |
CN105677605A (zh) | 一种高效的可配置片上互联***及其实现方法、装置 | |
Chen et al. | ArSMART: An improved SMART NoC design supporting arbitrary-turn transmission | |
CN108563501A (zh) | 动态可重构高速串行总线的中断请求方法及装置 | |
CN101252502A (zh) | 带有可变令牌激活的环形网络 | |
CN107615711A (zh) | 用于事件传播的*** | |
US20120250671A1 (en) | Information communication apparatus and program storage medium | |
Pop et al. | Schedulability-driven frame packing for multicluster distributed embedded systems | |
Madsen et al. | Multi-objective design space exploration of embedded system platforms | |
Zeng et al. | Design space exploration of automotive platforms in metropolis | |
CN106598708B (zh) | 一种时间触发的嵌入式任务通讯装置与方法 | |
JPH11110362A (ja) | 計算機間データ通信方法 | |
CN113485951B (zh) | 一种基于fpga的dma读操作实现方法、fpga设备以及通信*** | |
CN109413106A (zh) | 一种tcp/ip协议栈实现方法 | |
Hua et al. | HOSA: Holistic scheduling and analysis for scalable fault-tolerant FlexRay design | |
CN101464844A (zh) | 一种ram使用权的控制方法及总线接口 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |