CN102629240A - 一种串口通信方法与装置 - Google Patents
一种串口通信方法与装置 Download PDFInfo
- Publication number
- CN102629240A CN102629240A CN2012100310901A CN201210031090A CN102629240A CN 102629240 A CN102629240 A CN 102629240A CN 2012100310901 A CN2012100310901 A CN 2012100310901A CN 201210031090 A CN201210031090 A CN 201210031090A CN 102629240 A CN102629240 A CN 102629240A
- Authority
- CN
- China
- Prior art keywords
- district
- hardware buffer
- buffer district
- data
- serial communication
- 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
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
本发明公开了一种串口通信方法与装置,该串口通信装置包括:应用程序模块、串口芯片驱动模块以及串口通信控制模块,其中:串口芯片驱动模块,用于提供发送接口,当所述发送接口被应用程序模块调用时,将用户缓冲区中的数据拷贝到发送硬件缓冲区;接收来自串口通信控制模块发送的的中断信号,并当接收到中断信号时,将接收硬件缓冲区中的数据拷贝到用户缓冲区;串口通信控制模块,用于接收数据,将接收到的数据存储在接收硬件缓冲区中,并向所述串口芯片驱动模块发送中断信号;将发送硬件缓冲区的数据发送出去。在本发明中,简化了串口通信装置的结构,提高了串口通信速度。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种串口通信方法与装置。
背景技术
串口通信作为一种方便,简单的数据交换手段,在嵌入式通信和调试中得到广泛的应用。由于以往串口一般用在速度要求不是很高的场合,因此,在现有的串口通信实现中,并没有过多的考虑串口通信的效率。
参见图1,在现有的串口通信实现方式中,采用了多层次的结构。其中,串口设备作为一个tty设备来实现,对应用程序来说,串口是一个tty设备,应用程序可以像操作一个普通文件一样来操作串口,保留了串口简单易用的优势。但是,现有的串口通信实现方式无法满足高速通信的要求。
发明内容
本发明的目的在于提供一种串口通信方法与装置,以简化串口通信装置的结构了,提高串口通信的速度,为此,本发明采用如下技术方案:
一种串口通信装置,包括:应用程序模块、串口芯片驱动模块以及串口通信控制模块,其中:
串口芯片驱动模块,用于提供发送接口,当所述发送接口被应用程序模块调用时,将用户缓冲区中的数据拷贝到发送硬件缓冲区;接收来自串口通信控制模块发送的中断信号,并当接收到中断信号时,将接收硬件缓冲区中的数据拷贝到用户缓冲区;
串口通信控制模块,用于接收数据,将接收到的数据存储在接收硬件缓冲区中,并向所述串口芯片驱动模块发送中断信号;将发送硬件缓冲区的数据发送出去。
本发明实施例还提供一种利用上述的串口通信装置实现的串口通信方法,该方法包括:
应用程序模块通过调用所述串口芯片驱动模块的发送接口,由所述串口芯片驱动模块将用户缓冲区中的用户数据拷贝到发送硬件缓冲区,并由所述串口通信控制模块发送所述发送硬件缓冲区中的用户数据;
当所述串口通信装置接收数据时,串口通信控制模块将接收到的数据存储到接收硬件缓冲区,并向所述串口芯片驱动模块发送中断信号,由所述串口芯片驱动模块将接收硬件缓冲区中的数据拷贝到用户缓冲区。
本发明的上述实施例,串口通信装置包括应用程序模块、串口芯片驱动模块以及串口通信控制模块;在数据发送方向,应用程序模块通过调用所述串口芯片驱动模块的发送接口,由所述串口芯片驱动模块将用户缓冲区中的用户数据拷贝到发送硬件缓冲区,并由所述串口通信控制模块发送所述发送硬件缓冲区中的用户数据;在数据接收方向,串口通信控制模块将接收到的数据存储到接收硬件缓冲区,并向所述串口芯片驱动模块发送中断信号,由所述串口芯片驱动模块将接收硬件缓冲区中的数据拷贝到用户缓冲区,简化了串口通信装置的结构,提高了串口通信的速度。
附图说明
图1为现有串口通信实现方式中的软件层次结构示意图;
图2为本发明实施例提供的串口通信装置的结构示意图;
图3为现有技术中的串口通信数据传输流程示意图;
图4A为本发明实施例提供的串口通信数据发送流程示意图;
图4B为本发明实施例提供的串口通信数据接收流程示意图;
图5为本发明实施例提供缓冲区设置方式的示意图;
图6为本发明实施例提供的数据接收过程中缓冲区数组指针指向示意图;
图7为本发明实施例提供的一种数据帧的结构示意图;
图8为本发明实施例提供的数据帧在缓冲区中的分布情况示意图;
图9为本发明实施例提供的数据帧接收流程示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图2,为本发明实施例提供的一种串口通信装置的结构示意图,包括:应用程序模块1、串口芯片驱动模块2以及串口通信控制模块3。其中:
串口芯片驱动模块2,用于提供发送接口,当发送接口被应用程序模块1调用时,将用户缓冲区中的数据拷贝到发送硬件缓冲区;此外,串口芯片驱动模块2还可以用于接收来自串口通信控制模块发送的中断信号,并当接收到中断信号时,将接收硬件缓冲区中的数据拷贝到用户缓冲区;
串口通信控制模块3,用于接收数据,将接收到的数据存储在接收硬件缓冲区中,并向所述串口芯片驱动模块发送中断信号;此外,串口通信控制模块3还可以用于将发送硬件缓冲区的数据发送出去。
具体的,考虑到软件的层次越多,通信的开销越大。在本发明实施例中,对现有串口通信层次结构进行了简化。即在本发明实施例提供的串口通信装置中,软件层次包括应用程序模块1和串口芯片驱动模块2,减少了数据收发过程中,数据和/或地址拷贝造成的软件开销。
进一步的,在现有串口通信实现方式中,串口芯片驱动中设计有驱动缓冲区。在数据接收流程中,需要将数据从接收硬件缓冲区拷贝到驱动缓冲区,然后由串口芯片驱动将数据从自身的缓冲区拷贝到用户缓冲区。数据发送流程则反之。其数据传输流程可以参见图3。
由于内存拷贝是一个很费时间的操作,为了减少拷贝的次数,提高数据传输的效率,在本发明实施例提供的技术方案中,应用程序模块1采用函数直接调用的方式通过串口芯片驱动2发送数据;串口芯片驱动模块2通过回调的方式提交接收到的数据。
具体的,在数据发送流程中,应用程序模块1直接调用驱动的发送接口(以Tx(int s32SrcId,int s32DstId,int s32Len,void*pvoidTxBuf)为例),由串口芯片驱动模块2将用户缓冲区中的数据拷贝到发送硬件缓冲区中,并置发送硬件缓冲区的状态为“可以发送”,由串口通信控制模块3将发送硬件缓冲区中的用户数据发送出去。即发送数据流程中,不需要将数据拷贝到驱动缓冲区,减少了拷贝的次数,其流程示意图可以如图4A所示。
相应地,在数据接收流程中,当串口通信控制模块3接收到数据时,向驱动发送中断信号。驱动接收到中断信号后,调用应用程序的回调函数(如callback())。该回调函数调用串口芯片驱动模块2的接收接口(如Rx(ints32SrcId,int s32DstId,int s32Len,void*pvoidRxBuf)),由串口芯片驱动模块2将接收到的数据直接从接收硬件缓冲区拷贝到用户缓冲区。应用程序模块1使用回调函数获取并处理用户缓冲区中的数据,其数据发送流程示意图可以如图4B所示。
通过以上描述可以得知,在本发明实施例提供的技术方案中,在数据发送/接收流程设计中,串口芯片驱动模块需要设计由用户缓冲区向发送硬件缓冲区拷贝数据的发送接口,以及由接收硬件缓冲区向用户缓冲区拷贝数据的接收接口。由于在数据收发过程中,串口芯片驱动模块将待发送数据从用户缓冲区拷贝到发送硬件缓冲区,或将串口通信装置接收到的数据从接收硬件缓冲区拷贝到用户缓冲区,而不需要驱动内部的数据拷贝,减少了拷贝次数,提高了串口通信速率。
下面结合附图对本发明实施例中的缓冲区的设置方式进行详细说明。
参见图5,在本发明实施例中,串口通信装置中设置有n个接收硬件缓冲区,以及分别对应各接收硬件缓冲区的n个备份缓冲区,并对应接收硬件缓冲区和备份缓冲区分别设置有接收硬件缓冲区指针数组和备份缓冲区指针数组,其中,接收硬件缓冲区指针数组中各元素分别指向对应的接收硬件缓冲区,备份缓冲区指针数组中各元素分别指向对应的备份缓冲区。如,接收硬件缓冲区数组的元素0指向接收硬件缓冲区0,接收硬件缓冲区数组的元素1指向接收硬件缓冲区1,以此类推。备份缓冲区数组的元素0指向备份缓冲区0,备份缓冲区数组的元素1指向备份缓冲区1,以此类推。
参见图6当串口通信装置接收到数据时,串口通信控制模块3将数据放到接收硬件缓冲区0,当接收硬件缓冲区0装满或者在预设时间内未再接收到数据时,串口通信控制模块3关闭接收硬件缓冲区0并向串口芯片驱动模块2发送一个中断信号。串口芯片驱动模块2接收到中断信号后,将接收硬件缓冲区指针数组的元素0指向备份缓冲区0,同时把备份缓冲区指针数组的元素0指向接收硬件缓冲区0。此时,接收硬件缓冲区指针数组的元素0指向的缓冲区(备份缓冲区0)可以立即用作下次数据接收;同时,备份缓冲区指针数组的元素0指向的缓冲区(接收硬件缓冲区0)已经包含了接收到的数据,可以由串口芯片驱动模块2将其中的数据直接拷贝到用户缓冲区。后续流程中串口通信装置接收到的数据会放到接收硬件缓冲区1中,接收硬件缓冲区1的处理和接收硬件缓冲区0类似。
通过以上描述可以得知,在本发明实施例提供的技术方案中,在数据接收过程,串口芯片驱动模块2内部只是交换了接收硬件缓冲区以及备份缓冲区的指针,并不需要将接收硬件缓冲区数据拷贝到备份缓冲区,实现了驱动内部的零拷贝,减少了驱动开销,提高了驱动的效率。
进一步的,在现有串口通信实现的方式中,在接收数据的流程中,串口通信控制模块3每接收到一个字符就产生一次中断信号。在现有串口通信实现方式中,中断开销一般为20us左右,则现有串口通信实现方式中,理论上最高的速度为8bits/20us,即400kbps。无法满足高速串口通信的需求。
为了减少中断次数,提高串口通信速率,在本发明实施例提供的技术方案中,串口通信控制模块3仅在接收完一帧数据或接收硬件缓冲区装满时,向串口芯片驱动模块2发送中断信号,减少了中断开销。
具体的,在本发明实施例提供的技术方案中,在串口通信的实现中设计了一种帧结构,其结构示意图可以如图7所示,其中:
同步头8bit,源模块ID长度为4bit,目的模块ID长度为4bit,数据长度域为16bit。源模块ID、目的模块ID以及数据长度域共3个byte共同组成帧头。用数据结构表示如下:
其中,源模块ID和目的模块ID分别用于标识发送数据的应用程序和接收数据的应用程序,串口芯片驱动模块2根据数据帧中包含的源模块ID和目的模块ID进行相应数据转发。例如,串口通信装置A和串口通信装置B各有两个应用程序(应用程序A_1和A_2以及应用程序B_1和B_2),则根据源模块ID和目的模块ID可以识别数据在应用程序间的传输方向,进而进行相应的处理。其中,同一个应用程序接收到不同的应用程序发送的数据时,进行的处理流程可能不同,其具体实现在此不再赘述。
当接收硬件缓冲区装满时,或接收完一帧数据时,串口通信控制模块3向串口芯片驱动模块2发送中断信号,以使串口芯片驱动模块2将接收硬件缓冲区中的数据拷贝到对应的备份缓冲区中(在本发明实施例中可以通过改变接收硬件缓冲区指针数组以及备份缓冲区指针数组中的指针的指向实现)。在这种实现方式下,一个接收硬件缓冲区中可能会收到多帧数据,也可能一帧数据同时存储在两个接收硬件缓冲区中,但串口芯片驱动模块2可以根据数据帧的格式把数据从备份缓冲区中解析出来,再拷贝到用户缓冲区。
下面结合附图以及具体的应用场景对本发明实施例中数据帧的接收流程进行详细描述。
在该实施例中,假设每个数据帧的最大长度为2048bytes,每个接收硬件缓冲区/备份缓冲区的大小为3072byte,则数据帧在缓冲区里的分布可以包括如图8中所示的5种情况。
参见图9,在该实施例中,解析缓冲区中的数据帧可以具体包括以下步骤:
步骤1、在第i个缓冲区逐字节搜索同步头(如0x5A);若找到同步头,则转至步骤2;若未找到同步头,转至步骤11;
步骤2、判断缓冲区剩余字节数r是否小于3;若判断为否,则转至步骤3;若判断为是,则转至步骤9;
步骤3、在缓冲区i中收帧头得到数据帧长度L2,转至步骤4;
步骤4、判断缓冲区i剩余长度L1是否小于L2,若判断为否,则判定其为分布情况(一),并转至步骤5;若判断为是,则转至步骤6;
步骤5、调用回调函数整段拷贝数据帧到用户缓冲区,转至步骤11;
步骤6、判断缓冲区i剩余长度L1是否为0;若判断为是,则判定气氛不情况为(四),令i=i+1,并转至步骤5;若判断为否,则判定其分布情况为(五),令i=i+1,并转至步骤7;
步骤7、在缓冲区i-1收L1个字节,并在缓冲区i收L2-L1个字节,转至步骤8;
步骤8、调用回调函数分段拷贝数据帧到用户缓冲区,转至步骤11;
步骤9、判断缓冲区i剩余字节数r是否为0;若判断为是,则判定其分布情况为(二),令i=i+1,并转至步骤3;若判断为否,则判定其分布情况为(三),令i=i+1,并转至步骤10;
步骤10、在缓冲区i-1收r个字节,并在缓冲区i收3-r个字节组成帧头,得到数据帧长度L2,转至步骤5;
步骤11、缓冲区i剩余长度是否为0
通过以上描述可以得出,在本发明实施例提供的技术方案中,一个接收硬件缓冲区装满或接收完一帧数据产生一次中断信号,而非一个字符产生一次中断信号,减少了中断开销,提高了串口通信速率。同时,为数据块设计帧结构,使得在不同数据分布情况下,均可以根据数据帧的格式把数据从缓冲区中解析出来。
为了进一步提高串口通信速率,在本发明实施例中,在分配接收硬件缓冲区/发送硬件缓冲区/备份缓冲区/用户缓冲区时,采用4字节对齐的方式,即接收硬件缓冲区/发送硬件缓冲区/备份缓冲区/用户缓冲区的起始地址为4的倍数,且接收硬件缓冲区/发送硬件缓冲区/备份缓冲区/用户缓冲区的大小为4字节的整数倍。
具体的,由于对于32/64位处理器,4字节对齐拷贝所消耗的CPU Cycle(Central Processing Unit Cycle,中央处理器周期)相对非4字节拷贝要少,为了减少拷贝消耗,进一步提高串口通信速率,在本发明实施例中,在分配接收硬件缓冲区、发送硬件缓冲区、备份缓冲区以及用户缓冲区时,均采用4字节对齐的分配方式。
其中,在具体实现上,可以采用系统调用cacheDmaMalloc函数以及ROUND_UP宏来保证分配的缓冲区都是4字节对齐的。同时,实测结果表明:4字节对齐拷贝要比非4字节拷贝快3到4倍,相应地,将数据从备份缓冲区中拷贝到用户缓冲区的拷贝速度比非4字节的情况下可以快3到4倍,较明显地提高了串口通信的速率。
应该认识到,上述实施例中描述的数据帧结构以及相应数据结构的长度仅为本发明实施例提供的技术方案的一种具体实现,并不是对本发明保护范围的影响,基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他数据帧结构以及相应数据结构的长度,都属于本申请保护的范围
通过以上流程可以看出,在本发明实施例提供的技术方案中,首先,将串口通信实现的软件层次结构简化为应用程序模块和串口芯片驱动模块,减少了数据收发过程中,数据和/或地址拷贝造成的软件开销,提高了串口通信速率;其次,在收据收发过程中,通过串口芯片驱动模块将待发送的用户数据从用户缓冲区拷贝到发送硬件缓冲区,或将接收到的数据从接收硬件缓冲区拷贝到用户缓冲区,减少了驱动内部的拷贝操作,减少了拷贝开销,进一步提高了串口通信速率;再者,通过为数据块设计帧结构,一个数据块产生一次中断信号,减少了中断次数,进一步提高了串口通信速率;最后,分配数据缓冲区(用户缓冲区/接收硬件缓冲区/发送硬件缓冲区/备份缓冲区)采用4字节对齐的方式,进一步提高了串口通信速率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端测试设备(可以是手机终端测试仪,或者矢量信号分析仪等设备)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (10)
1.一种串口通信装置,其特征在于,包括:应用程序模块、串口芯片驱动模块以及串口通信控制模块,其中:
串口芯片驱动模块,用于提供发送接口,当所述发送接口被应用程序模块调用时,将用户缓冲区中的数据拷贝到发送硬件缓冲区;接收来自串口通信控制模块发送的中断信号,并当接收到中断信号时,将接收硬件缓冲区中的数据拷贝到用户缓冲区;
串口通信控制模块,用于接收数据,将接收到的数据存储在接收硬件缓冲区中,并向所述串口芯片驱动模块发送中断信号;将发送硬件缓冲区的数据发送出去。
2.如权利要求1所述的串口通信装置,其特征在于,所述串口芯片驱动模块具体通过以下方式将接收硬件缓冲区中的数据拷贝到用户缓冲区:
所述串口芯片驱动模块调用所述应用程序模块的回调函数,由该回调函数调用所述串口芯片驱动模块的接收接口将所述接收硬件缓冲区中的数据拷贝到用户缓冲区。
3.如权利要求1所述的串口通信装置,其特征在于,所述串口通信装置中设置有多个接收硬件缓冲区,以及分别对应各接收硬件缓冲区的备份缓冲区,并对应所述接收硬件缓冲区和备份缓冲区分别设置有接收硬件缓冲区指针数组和备份缓冲区指针数组,其中,所述接收硬件缓冲区指针数组中各元素分别指向对应的接收硬件缓冲区,所述备份缓冲区指针数组中各元素分别指向对应的备份缓冲区;
所述串口通信控制模块具体用于,将接收到的数据存储到接收硬件缓冲区,并当接收硬件缓冲区装满或在预设时间内未再接收到数据时,向所述串口芯片驱动模块发送中断信号;
所述串口芯片驱动模块具体用于,当接收到所述串口通信控制模块的中断信号时,将指向该接收硬件缓冲区的元素指向对应该接收硬件缓冲区的备份缓冲区,并将指向该备份缓冲区的元素指向该接收硬件缓冲区;将该接收硬件缓冲区中的数据拷贝到用户缓冲区。
4.如权利要求1所述的串口通信装置,其特征在于,
所述串口通信控制模块具体用于,当接收硬件缓冲区装满或接收完一帧数据时,向所述串口芯片驱动模块发送中断信号;其中,所述一帧数据包括同步头、帧头以及数据;
所述串口芯片驱动模块具体用于,当接收到所述串口通信控制模块发送的中断信号时,将接收硬件缓冲区中的数据以数据帧的形式拷贝到用户缓冲区。
5.如权利要求1所述的串口通信装置,其特征在于,所述接收硬件缓中区、发送硬件缓冲区以及用户缓冲区的起始地址为4的整数倍,且所述接收硬件缓冲区、发送硬件缓冲区以及用户缓冲区的大小为4字节的整数倍。
6.一种利用如权利要求1所述的串口通信装置实现的串口通信方法,其特征在于,该方法包括:
应用程序模块通过调用所述串口芯片驱动模块的发送接口,由所述串口芯片驱动模块将用户缓冲区中的用户数据拷贝到发送硬件缓冲区,并由所述串口通信控制模块发送所述发送硬件缓冲区中的用户数据;
当所述串口通信装置接收数据时,串口通信控制模块将接收到的数据存储到接收硬件缓冲区,并向所述串口芯片驱动模块发送中断信号,由所述串口芯片驱动模块将接收硬件缓冲区中的数据拷贝到用户缓冲区。
7.如权利要求6所述的方法,其特征在于,所述串口芯片驱动模块将接收硬件缓冲区中的数据拷贝到用户缓冲区,具体为:
所述串口芯片驱动模块调用所述应用程序模块的回调函数,由该回调函数调用所述串口芯片驱动模块的接收接口将所述接收硬件缓冲区中的数据拷贝到用户缓冲区。
8.如权利要求6所述的方法,其特征在于,所述串口通信装置中设置有多个接收硬件缓冲区,以及分别对应各接收硬件缓冲区的备份缓冲区,并对应所述接收硬件缓冲区和备份缓冲区分别设置有接收硬件缓冲区指针数组和备份缓冲区指针数组,其中,所述接收硬件缓冲区指针数组中各元素分别指向对应的接收硬件缓冲区,所述备份缓冲区指针数组中各元素分别指向对应的备份缓冲区;
所述串口通信控制模块向所述串口芯片驱动模块发送中断信号,具体为:
将接收到的数据存储到接收硬件缓冲区,并当接收硬件缓冲区装满或在预设时间内未再接收到数据时,向所述串口芯片驱动模块发送中断信号;
所述串口通信控制模块将所述接收硬件缓冲区中的数据拷贝到用户缓冲区,具体为:
当接收到所述串口通信控制模块的中断信号时,所述串口通信控制模块将指向该接收硬件缓冲区的元素指向对应该接收硬件缓冲区的备份缓冲区,并将指向该备份缓冲区的元素指向该接收硬件缓冲区;将该接收硬件缓冲区中的数据拷贝到用户缓冲区。
9.如权利要求6所述的方法,其特征在于,所述串口通信控制模块向所述串口芯片驱动模块发送中断信号,具体为:
当接收硬件缓冲区装满或接收完一帧数据时,向所述串口芯片驱动模块发送中断信号;其中,所述一帧数据包括同步头、帧头以及数据;
所述串口芯片驱动模块将接收硬件缓冲区中的数据拷贝到用户缓冲区,具体为:
当接收到所述串口通信控制模块发送的中断信号时,所述串口芯片驱动模块将接收硬件缓冲区中的数据以数据帧的形式拷贝到用户缓冲区。
10.如权利要求6所述的方法,其特征在于,所述接收硬件缓冲区、发送硬件缓冲区以及用户缓冲区的起始地址为4的整数倍,且所述接收硬件缓冲区、发送硬件缓冲区以及用户缓冲区的大小为4字节的整数倍。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210031090.1A CN102629240B (zh) | 2012-02-13 | 2012-02-13 | 一种串口通信方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210031090.1A CN102629240B (zh) | 2012-02-13 | 2012-02-13 | 一种串口通信方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102629240A true CN102629240A (zh) | 2012-08-08 |
CN102629240B CN102629240B (zh) | 2015-04-22 |
Family
ID=46587500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210031090.1A Active CN102629240B (zh) | 2012-02-13 | 2012-02-13 | 一种串口通信方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102629240B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077145A (zh) * | 2012-12-28 | 2013-05-01 | Tcl集团股份有限公司 | 一种数据发送、接收方法及系统 |
CN104021100A (zh) * | 2014-05-23 | 2014-09-03 | 无锡市崇安区科技创业服务中心 | 一种单片机串口接收数据的处理方法 |
CN104598411A (zh) * | 2014-09-02 | 2015-05-06 | 奇点新源国际技术开发(北京)有限公司 | 一种收发器io端口的状态切换方法及装置 |
CN104640151A (zh) * | 2015-01-19 | 2015-05-20 | 青岛中天信通物联科技有限公司 | 一种传感器无线管理方法 |
CN107423247A (zh) * | 2016-05-20 | 2017-12-01 | 北京迪文科技有限公司 | 一种智能处理串口数据的方法 |
CN108052477A (zh) * | 2017-11-27 | 2018-05-18 | 成都华力创通科技有限公司 | 消除rs422串口干扰的方法 |
CN109086208A (zh) * | 2018-08-06 | 2018-12-25 | 联想(北京)有限公司 | 一种数据处理方法及系统 |
CN109787874A (zh) * | 2018-12-06 | 2019-05-21 | 珠海派诺科技股份有限公司 | 基于Linux平台的实时收发方法、设备及存储介质 |
CN109951401A (zh) * | 2019-03-26 | 2019-06-28 | 北京翼辉信息技术有限公司 | 基于接收零拷贝的非丢包网卡接收数据的方法 |
CN111047498A (zh) * | 2019-11-18 | 2020-04-21 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu硬件拷贝缓冲区算法的tlm微结构 |
CN111104361A (zh) * | 2019-12-03 | 2020-05-05 | 日立楼宇技术(广州)有限公司 | 串口的端口号查询方法、装置、计算机设备和存储介质 |
CN111935431A (zh) * | 2018-05-14 | 2020-11-13 | 联发科技股份有限公司 | 高帧速率视频记录 |
CN113934521A (zh) * | 2021-09-16 | 2022-01-14 | 山东有人物联网股份有限公司 | Unix类系统串口数据成帧方法、驱动装置及可读存储介质 |
CN114237080A (zh) * | 2021-10-27 | 2022-03-25 | 中船九江精达科技股份有限公司 | 一种用于摇摆环境下的力矩电机旋转定位控制方法 |
CN114760364A (zh) * | 2022-04-02 | 2022-07-15 | 沈阳飞机设计研究所扬州协同创新研究院有限公司 | 一种时间触发的串口设备通信的管理方法 |
CN115599408A (zh) * | 2022-11-29 | 2023-01-13 | 深圳开鸿数字产业发展有限公司(Cn) | 处理器的数据烧录方法、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1702638A (zh) * | 2005-06-08 | 2005-11-30 | 武汉虹信通信技术有限责任公司 | 一种提高嵌入式系统串行数据处理能力的方法 |
US20080120454A1 (en) * | 2006-11-17 | 2008-05-22 | Chi-Tung Chang | Integrated hub control chip |
CN101520803A (zh) * | 2009-03-18 | 2009-09-02 | 宇龙计算机通信科技(深圳)有限公司 | 一种pc终端与移动终端之间共享文件的系统、方法 |
CN101877666A (zh) * | 2009-11-13 | 2010-11-03 | 曙光信息产业(北京)有限公司 | 基于零拷贝方式的多应用程序报文接收方法和装置 |
-
2012
- 2012-02-13 CN CN201210031090.1A patent/CN102629240B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1702638A (zh) * | 2005-06-08 | 2005-11-30 | 武汉虹信通信技术有限责任公司 | 一种提高嵌入式系统串行数据处理能力的方法 |
US20080120454A1 (en) * | 2006-11-17 | 2008-05-22 | Chi-Tung Chang | Integrated hub control chip |
CN101520803A (zh) * | 2009-03-18 | 2009-09-02 | 宇龙计算机通信科技(深圳)有限公司 | 一种pc终端与移动终端之间共享文件的系统、方法 |
CN101877666A (zh) * | 2009-11-13 | 2010-11-03 | 曙光信息产业(北京)有限公司 | 基于零拷贝方式的多应用程序报文接收方法和装置 |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077145B (zh) * | 2012-12-28 | 2016-11-02 | Tcl康钛汽车信息服务(深圳)有限公司 | 一种数据发送、接收方法及系统 |
CN103077145A (zh) * | 2012-12-28 | 2013-05-01 | Tcl集团股份有限公司 | 一种数据发送、接收方法及系统 |
CN104021100A (zh) * | 2014-05-23 | 2014-09-03 | 无锡市崇安区科技创业服务中心 | 一种单片机串口接收数据的处理方法 |
CN104598411A (zh) * | 2014-09-02 | 2015-05-06 | 奇点新源国际技术开发(北京)有限公司 | 一种收发器io端口的状态切换方法及装置 |
CN104598411B (zh) * | 2014-09-02 | 2018-01-23 | 奇点新源国际技术开发(北京)有限公司 | 一种收发器io端口的状态切换方法及装置 |
CN104640151A (zh) * | 2015-01-19 | 2015-05-20 | 青岛中天信通物联科技有限公司 | 一种传感器无线管理方法 |
CN107423247A (zh) * | 2016-05-20 | 2017-12-01 | 北京迪文科技有限公司 | 一种智能处理串口数据的方法 |
CN108052477A (zh) * | 2017-11-27 | 2018-05-18 | 成都华力创通科技有限公司 | 消除rs422串口干扰的方法 |
CN111935431A (zh) * | 2018-05-14 | 2020-11-13 | 联发科技股份有限公司 | 高帧速率视频记录 |
CN111935431B (zh) * | 2018-05-14 | 2022-09-02 | 联发科技股份有限公司 | 高帧速率视频记录 |
CN109086208A (zh) * | 2018-08-06 | 2018-12-25 | 联想(北京)有限公司 | 一种数据处理方法及系统 |
CN109787874B (zh) * | 2018-12-06 | 2021-11-09 | 珠海派诺科技股份有限公司 | 基于Linux平台的实时收发方法、设备及存储介质 |
CN109787874A (zh) * | 2018-12-06 | 2019-05-21 | 珠海派诺科技股份有限公司 | 基于Linux平台的实时收发方法、设备及存储介质 |
CN109951401B (zh) * | 2019-03-26 | 2020-03-13 | 北京翼辉信息技术有限公司 | 基于接收零拷贝的非丢包网卡接收数据的方法 |
CN109951401A (zh) * | 2019-03-26 | 2019-06-28 | 北京翼辉信息技术有限公司 | 基于接收零拷贝的非丢包网卡接收数据的方法 |
CN111047498A (zh) * | 2019-11-18 | 2020-04-21 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu硬件拷贝缓冲区算法的tlm微结构 |
CN111047498B (zh) * | 2019-11-18 | 2022-12-06 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu硬件拷贝缓冲区算法的tlm微结构 |
CN111104361A (zh) * | 2019-12-03 | 2020-05-05 | 日立楼宇技术(广州)有限公司 | 串口的端口号查询方法、装置、计算机设备和存储介质 |
CN113934521A (zh) * | 2021-09-16 | 2022-01-14 | 山东有人物联网股份有限公司 | Unix类系统串口数据成帧方法、驱动装置及可读存储介质 |
CN113934521B (zh) * | 2021-09-16 | 2024-06-04 | 山东有人物联网股份有限公司 | Unix类系统串口数据成帧方法、驱动装置及可读存储介质 |
CN114237080A (zh) * | 2021-10-27 | 2022-03-25 | 中船九江精达科技股份有限公司 | 一种用于摇摆环境下的力矩电机旋转定位控制方法 |
CN114760364A (zh) * | 2022-04-02 | 2022-07-15 | 沈阳飞机设计研究所扬州协同创新研究院有限公司 | 一种时间触发的串口设备通信的管理方法 |
CN115599408A (zh) * | 2022-11-29 | 2023-01-13 | 深圳开鸿数字产业发展有限公司(Cn) | 处理器的数据烧录方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102629240B (zh) | 2015-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102629240B (zh) | 一种串口通信方法与装置 | |
EP1691288B1 (en) | Memory management for a mobile multimedia processor | |
US9929972B2 (en) | System and method of sending data via a plurality of data lines on a bus | |
CN101707565B (zh) | 零拷贝网络报文发送、接收方法和装置 | |
CN107360591A (zh) | 一种上报缓存状态报告的方法和设备 | |
CN106155960A (zh) | 基于gpio握手和edma的uart串口通信方法 | |
CN103150220A (zh) | 进程间的通信方法和通信系统 | |
CN105677597A (zh) | 数据写入方法及装置 | |
CN107870879A (zh) | 一种数据搬移方法、加速器板卡、主机及数据搬移系统 | |
CN102291298B (zh) | 一种高效的面向长消息的计算机网络通信方法 | |
CN102957626A (zh) | 一种报文转发方法和装置 | |
US7216186B2 (en) | Controlling data flow between processor systems | |
CN104657326A (zh) | 双cpu通信方法、系统和片上系统芯片 | |
CN103207843B (zh) | 一种数据行宽度可动态配置的cache结构设计方法 | |
US8855057B2 (en) | Method and system for transferring data between wireless devices | |
EP3829240A1 (en) | Resource allocation method, resource usage method, user equipment, and network side device | |
CN111026561A (zh) | 一种云平台的数据通信方法、系统及计算机可读介质 | |
WO2022179427A1 (zh) | 一种数据传输带宽的配置方法及相关设备 | |
CN100530339C (zh) | 移动终端的显示系统和显示方法 | |
CN103647728B (zh) | 一种STM32单片机与Linux系统高速串口抗干扰通讯方法 | |
CN101989250A (zh) | 一种串行通信的方法和系统 | |
CN110765044B (zh) | 数据包传输装置及系统 | |
CN103077145B (zh) | 一种数据发送、接收方法及系统 | |
CN102999393B (zh) | 一种数据传输的方法、装置及电子设备 | |
CN112770356B (zh) | 数据传输方法和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: Block C, No. 7, Lane 205, Gaoji Road, Songjiang District, Shanghai, 201601 Patentee after: Chuangyuan Xinke (Shanghai) Technology Co.,Ltd. Address before: 4th Floor, Building 28, No. 69, Guiqing Road, Xuhui District, Shanghai, 200233 Patentee before: TRANSCOM INSTRUMENTS Co.,Ltd. |
|
CP03 | Change of name, title or address |