CN102082725A - 多端口通信协议的交换方法 - Google Patents
多端口通信协议的交换方法 Download PDFInfo
- Publication number
- CN102082725A CN102082725A CN2010105696181A CN201010569618A CN102082725A CN 102082725 A CN102082725 A CN 102082725A CN 2010105696181 A CN2010105696181 A CN 2010105696181A CN 201010569618 A CN201010569618 A CN 201010569618A CN 102082725 A CN102082725 A CN 102082725A
- Authority
- CN
- China
- Prior art keywords
- port
- data
- status
- address
- state
- 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.)
- Pending
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
本发明提供一种多端口通信协议的交换方法,其利用端口状态表记录端口属性和状态制定了标准化的端口,以及标准化的通信协议,使该多端口通信协议的交换方法实现标准化,从而可适应大部分的嵌入式系统。
Description
技术领域
本发明涉及一种通信协议的交换方法,特别是一种用于多端口通信协议的交换方法。
背景技术
嵌入式系统中包含多种通信方式的端口,操作使用这些端口非常的麻烦,经常是用到那一种端口,才对该端口进行开发,端口之间需要通信的时候还需要制定通信协议,一个嵌入式系统中往往可能会制定多种的这样通信协议。当重新开发一个嵌入式系统时以前制定的通信协议也不一定适合新的应用,耗费了大量的劳动力,因此迫切需要一种能够处理多种端口通信,有着良好的系统适应性的多端口通信交换方法。
因此,需要一种新的技术方案以解决上述问题。
发明内容
针对上述现有技术所存在的问题和不足,本发明的目的是提供一种标准化的多端口通信协议的交换方法。
为实现上述目的,本发明多端口通信协议的交换方法可采用如下技术方案:
一种多端口通信协议的交换方法,该方法包括:
(1)提供若干端口,每个端口均具有端口状态表,该端口状态表定义有端口地址、端口种类和通信方式三种属性以及端口初始化、端口发送数据和端口接收数据三种访问方法;
(2)为端口提供通信协议,所述通信协议包括操作、目标端口地址、数据长度、数据及校验和。
本发明多端口通信协议的交换方法与现有技术相比:利用端口状态表记录端口属性和状态制定了标准化的端口,以及标准化的通信协议,使该多端口通信协议的交换方法实现标准化,从而可适应大部分的嵌入式系统。
附图说明
图1为本发明多端口通信协议的交换方法中端口及通信协议的定义示意图。
图2为本发明多端口通信协议的交换方法中端口地址结构的示意图。
图3为本发明多端口通信协议的交换方法中端口初始化的访问方法流程图。
图4为本发明多端口通信协议的交换方法中端口发送数据的访问方法流程图。
图5为本发明多端口通信协议的交换方法中端口接收数据的访问方法流程图。
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
请参阅图1及图2所示,本发明公开了一种多端口通信协议的交换方法,该方法包括:
部分(1):提供若干端口,每个端口均具有端口状态表,该端口状态表定义有端口地址、端口种类和通信方式三种属性以及端口初始化、端口发送数据和端口接收数据三种访问方法;
部分(2):为端口提供通信协议,所述通信协议包括操作、目标端口地址、数据长度、数据及校验和。
其中,上述部分(1)中所示的端口中:
所述端口地址是整个方法访问端口的基础,端口地址由一个32位的整数表示,高16位表示端口的类型,低16位表示端口的编号,所述类型是对端口的分类,编号是对同一种类型端口的编号;
所述端口种类是对端口访问的表示,该端口种类分为单发端口、单收端口及收发端口,端口只能发送数据的为单发端口,端口只能接收数据的为单收端口,端口既可以发送数据也可以接收数据的为收发端口;
所述通信方式是对端口能否同时收发数据的表示,该通信方式包括单工模式及双工模式,收发数据不能够同时进行的为单工模式,收发数据能够同时进行的为双工模式;
所述状态表示当前端口的工作状态。
而上述部分(2)中所示的通信协议中:
所述操作是表示该条通信的功能,包括初始化、发送数据和接收数据;
所述目标端口地址是表示要操作的目标端口;
所述数据长度是表示该条通信所有数据的长度;
所述数据是该条通信的有效数据;
所述校验和是该条通信的所有数据的累加和。
请参阅图3所示,上述部分(1)中的端口初始化的访问方法包括以下步骤:
(1)发送初始化操作命令;
(2)系统接收并解析该操作命令后,首先查找端口状态表是否存在要初始化的端口,如果端口存在,则判断数据区是否为空,空就删除该端口,否则就修改该端口;如果端口不存在,就将该端口添加到端口状态表中。
请参阅图4所示,上述部分(1)中的端口发送数据的访问方法包括以下步骤:
(1)发送一个发送数据操作命令;
(2)系统接收并解析该操作命令后,首先判断端口地址的类型,如果地址是单个端口的地址,就在端口状态表里查找该端口是否存在,不存在就返回操作失败信息并结束发送操作流程,如果端口存在就转至步骤(3);如果端口地址属于组地址或者群地址,就将端口状态表里所有满足地址要求的端口都找出来逐个转至步骤(3)。
(3)查看端口的种类是否为单收种类,如果是就发出操作失败信息并结束发送操作流程;不是就查看当前端口所处的状态,端口状态若为接收状态就判断端口的通信方式是否为单工模式,是就循环判断端口状态是否为空闲状态,当为空闲状态时就转至步骤(4),不是就修改端口状态表记录为收发状态,发送数据,数据发送结束后再次判断端口的状态,查看端口状态是否为发送状态,如果是发送状态就将其修改为空闲状态并发出操作成功信息后结束发送操作流程,如果是收发状态就将其修改为发送状态并返回操作成功信息后结束发送操作流程,其他状态就直接返回操作成功信息并结束发送操作流程;端口状态若为发送状态就循环判断端口状态是否为空闲状态,当为空闲状态时就转至步骤(4);端口状态若为空闲就直接转至步骤(4);端口状态若为收发就循环判断端口状态是否为空闲或者发送,如果为空闲转至步骤(4),如果为接收就执行前面端口状态为接收描述的流程;
(4)修改端口状态为发送状态,然后发送数据,再次修改端口状态为空闲状态,最后发出操作成功信息并结束发送操作流程。
请参阅图5所示,上述部分(1)中的端口接收数据的访问方法包括以下步骤:
(1)端口接收到数据后首先将1秒钟计时开关置成关闭状态,接下来判断接收命令缓冲区是否为空,如果为空就将端口地址添加到接收命令缓冲区,否则就直接将接收到的数据添加到接收命令缓冲区,计算校验和和数据长度,然后判断端口状态是否为空闲,如果是就将其修改为接收状态,最后启动1秒钟计时;
(2)一个端口在1秒钟之内没有收到数据,系统就认为该端口接收数据结束,将命令缓冲区里的数据返回给用户或者转发到其他端口,每一个端口都设置有一个对应的1秒钟计时模块;
(3)查看计时开关是否置成关闭,如果是就退出1秒钟计时模块,否则就判断1秒钟计时是否到达,如果到达了1秒钟,系统将接收命令缓冲区的数据转存到用户接收缓冲区,清空接收命令缓冲区、校验和和数据长度,然后判断端口状态,如果为收发状态就将其改为发送状态后退出1秒钟计时,如果为接收状态就将其改为空闲状态后退出1秒钟计时,如果是其他的状态就直接退出1秒钟计时。
本发明多端口通信协议的交换方法与现有技术相比:利用端口状态表记录端口属性和状态制定了标准化的端口,以及标准化的通信协议,使该多端口通信协议的交换方法实现标准化,从而可适应大部分的嵌入式系统。并且,本发明多端口通信协议的交换方法还提供了对端口初始化,发送数据和接收数据的标准操作,在这些标准操作中,充分的考虑了端口收发数据的冲突问题,以及数据的群发和组发解决方法,可以很方便的实现对端口进行数据的组发和群发。
Claims (6)
1.一种多端口通信协议的交换方法,其特征在于:该方法包括:
(1)提供若干端口,每个端口均具有端口状态表,该端口状态表定义有端口地址、端口种类和通信方式三种属性以及端口初始化、端口发送数据和端口接收数据三种访问方法;
(2)为端口提供通信协议,所述通信协议包括操作、目标端口地址、数据长度、数据及校验和。
2.根据权利要求1所述的多端口通信协议的交换方法,其特征在于:
在端口中,
所述端口地址是整个方法访问端口的基础,端口地址由一个32位的整数表示,高16位表示端口的类型,低16位表示端口的编号,所述类型是对端口的分类,编号是对同一种类型端口的编号;
所述端口种类是对端口访问的表示,该端口种类分为单发端口、单收端口及收发端口,端口只能发送数据的为单发端口,端口只能接收数据的为单收端口,端口既可以发送数据也可以接收数据的为收发端口;
所述通信方式是对端口能否同时收发数据的表示,该通信方式包括单工模式及双工模式,收发数据不能够同时进行的为单工模式,收发数据能够同时进行的为双工模式;
所述状态表示当前端口的工作状态。
3.根据权利要求1或2所述的多端口通信协议的交换方法,其特征在于:
在通信协议中,
所述操作是表示该条通信的功能,包括初始化、发送数据和接收数据;
所述目标端口地址是表示要操作的目标端口;
所述数据长度是表示该条通信所有数据的长度;
所述数据是该条通信的有效数据;
所述校验和是该条通信的所有数据的累加和。
4.根据权利要求1所述的多端口通信协议的交换方法,其特征在于:所述端口初始化的访问方法包括以下步骤:
(1)发送初始化操作命令;
(2)系统接收并解析该操作命令后,首先查找端口状态表是否存在要初始化的端口,如果端口存在,则判断数据区是否为空,空就删除该端口,否则就修改该端口;如果端口不存在,就将该端口添加到端口状态表中。
5.根据权利要求2所述的多端口通信协议的交换方法,其特征在于:所述端口发送数据的访问方法包括以下步骤:
(1)发送一个发送数据操作命令;
(2)系统接收并解析该操作命令后,首先判断端口地址的类型,如果地址是单个端口的地址,就在端口状态表里查找该端口是否存在,不存在就返回操作失败信息并结束发送操作流程,如果端口存在就转至步骤(3);如果端口地址属于组地址或者群地址,就将端口状态表里所有满足地址要求的端口都找出来逐个转至步骤(3)。
(3)查看端口的种类是否为单收种类,如果是就发出操作失败信息并结束发送操作流程;不是就查看当前端口所处的状态,端口状态若为接收状态就判断端口的通信方式是否为单工模式,是就循环判断端口状态是否为空闲状态,当为空闲状态时就转至步骤(4),不是就修改端口状态表记录为收发状态,发送数据,数据发送结束后再次判断端口的状态,查看端口状态是否为发送状态,如果是发送状态就将其修改为空闲状态并发出操作成功信息后结束发送操作流程,如果是收发状态就将其修改为发送状态并返回操作成功信息后结束发送操作流程,其他状态就直接返回操作成功信息并结束发送操作流程;端口状态若为发送状态就循环判断端口状态是否为空闲状态,当为空闲状态时就转至步骤(4);端口状态若为空闲就直接转至步骤(4);端口状态若为收发就循环判断端口状态是否为空闲或者发送,如果为空闲转至步骤(4),如果为接收就执行前面端口状态为接收描述的流程;
(4)修改端口状态为发送状态,然后发送数据,再次修改端口状态为空闲状态,最后发出操作成功信息并结束发送操作流程。
6.根据权利要求1或2所述的多端口通信协议的交换方法,其特征在于:所述端口接收数据的访问方法包括以下步骤:
(1)端口接收到数据后首先将1秒钟计时开关置成关闭状态,接下来判断接收命令缓冲区是否为空,如果为空就将端口地址添加到接收命令缓冲区,否则就直接将接收到的数据添加到接收命令缓冲区,计算校验和和数据长度,然后判断端口状态是否为空闲,如果是就将其修改为接收状态,最后启动1秒钟计时;
(2)一个端口在1秒钟之内没有收到数据,系统就认为该端口接收数据结束,将命令缓冲区里的数据返回给用户或者转发到其他端口,每一个端口都设置有一个对应的1秒钟计时模块;
(3)查看计时开关是否置成关闭,如果是就退出1秒钟计时模块,否则就判断1秒钟计时是否到达,如果到达了1秒钟,系统将接收命令缓冲区的数据转存到用户接收缓冲区,清空接收命令缓冲区、校验和和数据长度,然后判断端口 状态,如果为收发状态就将其改为发送状态后退出1秒钟计时,如果为接收状态就将其改为空闲状态后退出1秒钟计时,如果是其他的状态就直接退出1秒钟计时。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105696181A CN102082725A (zh) | 2010-12-02 | 2010-12-02 | 多端口通信协议的交换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105696181A CN102082725A (zh) | 2010-12-02 | 2010-12-02 | 多端口通信协议的交换方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102082725A true CN102082725A (zh) | 2011-06-01 |
Family
ID=44088481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105696181A Pending CN102082725A (zh) | 2010-12-02 | 2010-12-02 | 多端口通信协议的交换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102082725A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106797272A (zh) * | 2014-12-16 | 2017-05-31 | 华为技术有限公司 | 一种光交换信号处理方法和装置 |
CN108600001A (zh) * | 2018-04-13 | 2018-09-28 | 联想(北京)有限公司 | 一种网络管理方法、交换机和网络管理系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1669269A (zh) * | 2002-09-06 | 2005-09-14 | 因芬奈昂技术股份有限公司 | 层叠多个数据交换机 |
-
2010
- 2010-12-02 CN CN2010105696181A patent/CN102082725A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1669269A (zh) * | 2002-09-06 | 2005-09-14 | 因芬奈昂技术股份有限公司 | 层叠多个数据交换机 |
Non-Patent Citations (1)
Title |
---|
《微计算机信息》 20070228 王文杰等 "基于嵌入式调试器的网络通信方法设计与实现" 第2-3页 1-6 , 第2期 2 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106797272A (zh) * | 2014-12-16 | 2017-05-31 | 华为技术有限公司 | 一种光交换信号处理方法和装置 |
CN106797272B (zh) * | 2014-12-16 | 2019-11-15 | 华为技术有限公司 | 一种光交换信号处理方法和装置 |
CN108600001A (zh) * | 2018-04-13 | 2018-09-28 | 联想(北京)有限公司 | 一种网络管理方法、交换机和网络管理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106326155B (zh) | 一种多总线数据记录与回放装置及方法 | |
CN202261360U (zh) | 一种测试路由器数据通路鲁棒性的装置 | |
CN101001209B (zh) | 变长数据包的异种网络交换系统及其方法以及采用信号环接口的地址表构成方法 | |
CN106533872B (zh) | 用于提高fc-ae-1553总线传输效率的系统 | |
CN100571195C (zh) | 多端口以太网交换装置及数据传输方法 | |
CN105978778A (zh) | 基于stm32的以太网与串口/can协议转换装置 | |
CN105933162B (zh) | 基于t型结构的低时延以太网转发器及方法 | |
CN103218337B (zh) | 基于wishbone总线实现主与主、从与从通信的片上系统和方法 | |
CN102624738B (zh) | 一种串口服务器、协转芯片及数据传输方法 | |
CN103166971B (zh) | 一种多路复用串口协议转换方法 | |
CN103186498B (zh) | 通过sas域在sata主机与sata目标装置间通信的方法和结构 | |
CN101237415B (zh) | 一种实现arp协议ip核的方法 | |
CN102420877A (zh) | 一种多模式高速智能异步串口通信模块及实现方法 | |
CN108228513A (zh) | 一种基于fpga架构的智能串口通讯模块及控制方法 | |
CN102185833A (zh) | 一种基于fpga的fc i/o并行处理方法 | |
CN102082725A (zh) | 多端口通信协议的交换方法 | |
CN101778038B (zh) | 基于千兆以太网的嵌入式设备高速数据传输系统 | |
CN104486258A (zh) | 一种基于交换通道的交换电路 | |
CN101437033A (zh) | 一种支持可变速率的方法和网络设备 | |
CN1842059B (zh) | 在计算机网络中接收包的方法和系统 | |
US20190187927A1 (en) | Buffer systems and methods of operating the same | |
CN106059927B (zh) | 一种星型结构的有限级联自动重构网络路由设备及其网络 | |
CN101540653A (zh) | 数据发送和接收方法、数据传输装置和数据传输系统 | |
CN104714832A (zh) | 一种用于机载数据网络异步数据交互区的缓冲管理方法 | |
CN1984031A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110601 |