首页> 中国专利> 存储转发设备中实现9位数据字节的传输方法及装置

存储转发设备中实现9位数据字节的传输方法及装置

摘要

本发明涉及一种存储转发设备中实现9位数据字节的传输方法,包括如下步骤:以两个8位字节依次存储接收或产生的每个9位数据字节;将设定数值的、表示多个9位数据字节的8位字节作为一个数据块,并将其转换为少于所述设定数值个数的8位字节或连续的数据串,并依次发送所述转换后的字节或数据串;依次接收所述发送的字节或数据串,将所述接收到的一个数据块的中的数据转换为以两个8位字节表示一个9位数据字节并存储所述8位字节。本发明还涉及一种存储转发设备中实现9位数据字节的传输装置。实施本发明的存储转发设备中实现9位数据字节的传输方法及装置,具有以下有益效果:可以在传统每字节8位数据的处理方式实现9位异步传输转同步传输。

著录项

  • 公开/公告号CN102014037A

    专利类型发明专利

  • 公开/公告日2011-04-13

    原文格式PDF

  • 申请/专利权人 深圳市普方科技有限公司;

    申请/专利号CN201010576990.5

  • 发明设计人 李安涛;

    申请日2010-12-07

  • 分类号H04L12/54;H04J3/16;

  • 代理机构深圳市科吉华烽知识产权事务所;

  • 代理人胡吉科

  • 地址 518000 广东省深圳市福田区泰然工贸园劲松大厦12F

  • 入库时间 2023-12-18 01:56:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-11-23

    未缴年费专利权终止 IPC(主分类):H04L12/54 授权公告日:20130501 终止日期:20171207 申请日:20101207

    专利权的终止

  • 2013-05-01

    授权

    授权

  • 2011-06-01

    实质审查的生效 IPC(主分类):H04L12/54 申请日:20101207

    实质审查的生效

  • 2011-04-13

    公开

    公开

说明书

技术领域

本发明涉及数据存储及传输领域,更具体地说,涉及一种存储转发设备中实现9位数据字节的传输方法及装置。

背景技术

    在采用串行异步接口与同步传输混合的存储转发通信设备(如无线数传电台)中,传输设备与终端设备之间采用异步串行传输,信道采用同步传输。对于每字节8位或7位的数据结构就容易存储和传输。异步串口每字节由起始位、8位或7位数据位、校验位和停止位组成,存储时只存储数据位,信道以同步传输时按照预定格式打包,数据以8位数据为一个字节传输。每字节7位数据的格式在信道的同步传输中,如果调制解调器是以比特为单位传输的,可按照7位数据为单位传输,也可以为方便CPU处理而采用8位数据位单位传输;如果调制器是以字节为单位传输的,就按照8位数据为单位传输,其中一位无意义。但是,在三遥系统、数据采集和控制系统中,常用到每字节9位数据的情况。ATMEL的单片机实现串口多机通信的应用就是典型的例子,它通过第9位数据位区分地址字节与数据字节。在这种应用中,传统的每字节8位数据的处理方式就无法应对异步传输转同步传输的问题。

发明内容

本发明要解决的技术问题在于,针对现有技术的上述传统的每字节8位数据的处理方式无法应对异步传输转同步传输的缺陷,提供一种在上述传统的每字节8位数据的处理方式实现异步传输转同步传输的存储转发设备中实现9位数据字节的传输方法及装置。

本发明解决其技术问题所采用的技术方案是:构造一种存储转发设备中实现9位数据字节的传输方法,包括如下步骤:

    A)以两个8位字节依次存储接收或产生的每个9位数据字节;

    B)将设定数值的、表示多个9位数据字节的8位字节作为一个数据块,将所述数据块转换为少于所述设定数值个数的8位字节或连续的数据串,并依次发送所述转换后的字节或数据串;

       C)依次接收所述发送的字节或数据串,将所述接收到的一个数据块中的数据转换为以两个8位字节表示一个9位数据字节并存储所述8位字节。 

在本发明所述的一种存储转发设备中实现9位数据字节的传输方法中,所述步骤A)中进一步包括:

    A1)将所述9位数据字节的前8位存储在第一个8位字节中,为所述9位数据字节的第一存储字节;

    A2)将所述9位数据字节的第9位存储在第二个8位字节中,为所述9位数据字节的第二存储字节。

在本发明所述的一种存储转发设备中实现9位数据字节的传输方法中,所述步骤B)进一步包括:

    B1)将第一存储字节的全部和第二存储字节有意义的一个数据位排列为9位数据;

    B2)将排列后的9位数据按照顺序首尾相连,得到多个9位数据组成的数据串;

B3)如同步传输以字节为单位,则当最后一个8位字节不足8位数据时,用无意义数据补足8位;

    B4)如同步传输以位为单位,则依次按数据位逐个发送B2)得到的数据串;如同步传输以字节为单位,则按字节逐个发送步骤B3)得到的多个8位字节。 

在本发明所述的一种存储转发设备中实现9位数据字节的传输方法中,所述步骤C)进一步包括:

    C1)接收步骤B4)所述发送的数据,并依次存入缓存;

    C2)如同步传输以位为单位,进行B2)过程的逆变换;如同步传输以字节为单位,进行B3)过程的逆变换;在缓存中将每个9位数据存储在两个8位字节中;

    C3)重复步骤C2),直到全部数据接收并处理完毕。

在本发明所述的一种存储转发设备中实现9位数据字节的传输方法中,所述步骤B)进一步包括:

     B1')将16个存储字节作为一个数据块,如果不足16个存储字节,则以无意义数补足为16字节;依次排列其中的奇数存储字节,从而得到8个8位字节;

     B2')取出16个存储字节数据块的偶数字节中有意义的一个数据位,按其所在存储字节的先后顺序填入第9个字节的对应数据位中,从而得到1个8位字节;

     B3')发送上述B1')与B2')得到的9个8位字节组成的数据串;

     B4')重复步骤B1')~ B3'),直到处理并发送完全部数据。

在本发明所述的一种存储转发设备中实现9位数据字节的传输方法中,所述步骤C)进一步包括:

     C1')接收所述9个8位数据字节,并存入缓存;

     C2')将所述接收的前8个8位数据字节分别存储为各9位数据字节的第一存储字节;

     C3')取出所述第9个8位字节中的每个位上的数据值,将其扩展为一个字节,按其数据位编号分别存入对应的9位数据字节的第二存储字节;

     C4')重复步骤C1')~ C3'),直到接收并处理完全部数据。

本发明还涉及一种存储转发设备中实现9位数据字节的传输装置,包括: 

   存储模块:用于接收或产生的每个9位数据字节将以两个8位字节依次存储;

    数据块形成及发送模块:用于将存储的数据变换为连续数据串,并依次发送所述转换后的数据串;

        数据块接收及存储模块:用于依次接收所述发送的数据串,将所述接收到的数据串进行与发送相反的逆变换,成为每个9位数据占用2个字节存储。

在本发明所述的一种存储转发设备中实现9位数据字节的传输装置中,所述存储模块包括:

    第一存储字节形成单元:用于将所述9位数据字节的前8位存储在第一个8位字节中,形成所述9位数据字节的第一存储字节;

    第二存储字节形成单元:用于将所述9位数据字节的第9位数据扩展为一个字节,存储在第二个8位字节中,形成所述9位数据字节的第二存储字节。

在本发明所述的一种存储转发设备中实现9位数据字节的传输装置中,所述数据块形成及发送模块进一步包括:

    变换单元:用于将第一存储字节、第二存储字节变换为9位数据串,并将每组9位数据首尾相接组成新的数据串;

        发送单元:用于依次发送所述变换后的数据串。

在本发明所述的一种存储转发设备中实现9位数据字节的传输装置中,所述数据块形成及发送模块进一步包括:

     数据块形成单元:用于将所述数据块中每16个存储字节为一个数据块,奇数字节组成数据块的8个8位字节,偶数字节的有效数据位按其存储的先后顺序填入第9个8位字节的各个数据位中成为1个字节,于是得到9个8位字节组成的数据串;

     发送单元:用于将上述9个8位数据依次发送。

实施本发明的存储转发设备中实现9位数据字节的传输方法及装置,具有以下有益效果:由于将9位的数据字节转换为8位数据字节存储并传输,同时在数据的接收端也按照数据的发送端将数据存储,所以,在数据接收端也可以将数据恢复到9位字节。因此,可以在传统的每字节8位数据的处理方式实现9位数据字节的异步传输转同步传输。

附图说明

图1是本发明存储转发设备中实现9位数据字节的传输方法及装置第一实施例中方法流程图;

图2是所述第一实施例中数据块形成、发送及接收的具体流程图;

图3是所述第一实施例中装置的结构示意图;

图4 是本发明存储转发设备中实现9位数据字节的传输方法及装置第二实施例中数据块形成、发送及接收的具体流程图;

图5是所述第二实施例中装置的结构示意图。

具体实施方式

下面将结合附图对本发明实施例作进一步说明。

如图1所示,在本发明存储转发设备中实现9位数据字节的传输方法及装置第一实施例中,该9位数据字节传输的方法包括如下步骤:

步骤S1 将每个9位数据字节的前8位存入第一存储字节,第9位存入第二存储字节,并依次存储:在本步骤中,将取得(包括产生或接收得到)的9位数据字节按照通常的8位字节存储,便于下一步的处理。具体而言,就是将9位数据字节的前8位作为第一存储字节,而将第9位数据扩展为一个8位数据字节作为第二存储字节,并分别依次存储上述第一存储字节和第二存储字节。值得一提的是,在本实施例中,在存储9位数据字节的时候,其8位存储字节的排列顺序是第一个9位数据字节的第一存储字节、第一个9位数据字节的第二存储字节、第二个9位数据字节的第一存储字节、第二个9位数据字节的第二存储字节、第三个9位数据字节的第一存储字节、……等,以此类推。

步骤S2将指定数值个表示9位数据字节的8位存储字节设置为一个数据块,并将转换为少于上述指定数值的8位字节或连续的数据串:在本步骤中,将上述表示9位数据字节的多个存储字节划分为数据块,将指定数值个(例如代表了8个9位数据字节的16个8位字节)8位存储字节(包括第一存储字节和第二存储字节)划分为一个数据块,然后,再将数据块中的16个8位字节转换为9个8位字节或一个连续的数据串,为区别起见,将未经转换的、每两个表示一个9位数据字节的8位字节称为存储字节,而将转换后的8位字节称为发送字节。之所以在本步骤可以将16个8位存储字节转换为9个8位发送字节,是因为在上述第二存储字节中,仅有一个数据位是有意义的,其它数据位都是无意义的。

步骤S3传输所得到的8位字节或数据串:在本步骤中,传输上述步骤中得到的9(在指定数值是16时)个8位字节或上述连续的数据串,这些字节是上面所述的发送字节。

步骤S4接收所传输的8位字节或数据串:在本步骤中,依次接收上述步骤中传输的发送字节或数据串。

步骤S3将接收到的8位字节或数据串中表示一个9位数据字节的数据转换为按照第一存储字节、第二存储字节排列的8位字节,并存储上述8位字节:在本步骤中,将接收到的9个8位发送字节进行步骤S2的逆变换,得到16个8位存储字节,这些存储字节分别表示8个9位数据字节,其中有8个第一存储字节,8个第二存储字节;在存储时,同样是按照第一个9位数据字节、第二个9位数据字节、……,顺序排列,而每个9位数据字节中,又按照第一存储字节、第二存储字节的顺序依次排列,共有16个8位字节。值得一提的是,上述字节数是以16为指定数值时得到的,如果上述指定数值不是16,上述各字节的数字可能是不合适的。

如图2所示,在本发明第一实施例中,上述步骤中的数据块形成、发送及接收的具体步骤又可以进一步分解为:

步骤S21 排列一个数据块中的第一存储单元和第二存储单元:在本步骤中,排列上述一个数据块中的各个表示9位数据字节的存储字节,在第一实施例中,本步骤排列的顺序是:第一个9位数据字节、第二个9位数据字节、第三个9位数据字节……,直到第8个9位数据字节顺序排列(上述指定数值为16,表示有8个9位数据字节,共16个8位存储字节),而每个9位数据字节中,又按照第一存储字节、第二存储字节的顺序依次排列。值得一提的是,在第一实施例中,上述指定数值是可以变化的,具体情况可以依据处理器或缓存的情况而定,例如,可以是16个、8个或缓存允许的偶数个8位字节。之所以是偶数个8位字节,是由于每个9位数据字节是由2个8位字节表示、存储的。

步骤S22移位,使所述存储单元中数据依次首尾相连,得到8位的、填满数据的发送字节或数据串:在本步骤中,对上述排列后的存储字节中的数据进行移位,这种移位是单向的,在本实施例中是向前移位,使得不管是第几个9位数据字节中的数据,在经过移位后都与上一个9位数据字节中的数据首尾相连,这样的结果是整个数据块中的数据变为一个首尾相连,得到9个填满数据的8位发送字节。在步骤S21)排列数据之后,在表示一个9位数据字节的每2个8位的存储字节中的第二存储字节内有7个数据位是空闲的、无意义的;在本步骤中,就是将一个9位数据字节中的9个数据(分别存储在两个8位字节内)之间或/和一个9位数据字节和下一个9位数据字节中有意义的9位数据移位(这9位数据同样分布在2个8位字节中,其第二存储字节同样有7个空闲的数据位),使得数据填满每个8位的存储字节或得到一个顺序首尾相连的连续数据串;在本步骤中,如果发送是按位进行的,则只需进行到数据串有意义的最后一位即可,发送时依次发送该数据串;如果发送时只能按8位字节发送,则可能出现上述移位后最后一个8位字节未被填满的情况,当出现最后一个字节不满8位的情况时,需要用无意义的数据将其填充为满8位数据,得到一个完整的8位字节。 

步骤S23 发送上述字节或数据串:在本步骤中,传输上述步骤中得到的字节或数据串,这些字节在指定数值为16的情况下是9个(得到的需要发送的字节肯定小于上述指定数值),在数据尾部时,也可能出现一个数据块少于16个存储字节的的情况,此时需要发送的字节也可能不足9个。在处理器与调制器允许的情况下,可以按位逐个发送,也可以按字节逐个发送。

步骤S24 接收上述字节或数据串,并依次存入缓存:在本步骤中,接收上述发送单元,并按照接收到的先后顺序,将上述数据位依次存入缓存。 

步骤S25 取出前面8位数据得到第一存储字节、取出第9位为第二存储字节:在本步骤中,依次从上述缓存中取出8个数据位,将其依次存入8位字节,得到表示9位数据字节的第一存储字节;取出第9位数据位,扩展为一个8位字节,得到表示该9位数据字节的第二存储字节。

步骤S26 缓存数据前移9位:在本步骤中,将缓存中的数据向前移位9位,补充在步骤S25中被取走的数据。

步骤S27 判断本数据块处理是否已完成;如是,执行步骤S28;否则,跳转到步骤S25;在本实施例中,一个数据块内有16个8位存储字节,表示8个9位数据字节,判断一个数据块就是依据这些存储字节的个数;如果在数据传输的尾部出现了不满16个8位存储字节的情况,其判断数据块处理是否完成的依据是是否在字节中出现无效的数据位。值得一提的是,上述步骤中设定一个数据块中有16个8位数据完全是为了叙述方便,实际上,上述一个数据块中的字节数可以根据系统的具体情况设定,例如4个或16个。

步骤S28 退出:本步骤中,退出本数据块的处理,准备进入下一个数据块的处理。

第一实施例中还涉及一种存储转发设备中实现9位数据字节传输的装置,如图3所示,该9位数据字节传输的装置包括:存储模块1、数据块形成及发送模块2以及数据块接收及存储模块3。其中,存储模块1用于接收或产生的每个9位数据字节将以两个8位字节依次存储;数据块形成及发送模块2用于将存储的每16个8位字节作为一个数据块,转换为9个8位字节,并依次发送所述转换后的8位字节;数据块接收及存储模块3用于依次接收所述发送的数据串或字节,将所述接收到的数据串进行与发送相反的逆变换,成为每个9位数据占用2个字节存储。

在第一实施例中,存储模块1还包括:用于将一个9位数据字节的前8位存储在第一个8位字节中以形成该9位数据字节的第一存储字节的第一存储字节形成单元11;用于将一个9位数据字节的第9位存储在第二个8位字节中该形成该9位数据字节的第二存储字节的第二存储字节形成单元12。在第一实施例中,该第9位数据存储在第二存储字节中。而数据块形成及发送模块2进一步包括::用于将第一存储字节、第二存储字节变换为9位数据串,并将每组9位数据首尾相接组成新的数据串的变换单元21;用于依次发送上述变换单元21输出的数据串或8位字节的发送单元23。

值得一提的是,作为功能相互为对方逆过程的数据块形成及发送模块2和数据块接收及存储模块3,在数据块形成及发送模块2中具有的功能模块,数据块接收及存储模块3中也具有将这些数据进行逆向处理的模块,在此不再赘述。

图4,图5分别示出本发明第二实施中数据块形成、发送及接收的具体流程图和存储转发设备中实现9位数据字节传输的装置结构示意图。如图4所示,在本发明第二实施例中,上述步骤中的数据块形成、发送及接收的具体步骤又可以进一步分解为:

步骤S41将表示8个9位数据字节的16个8位存储字节作为一个数据块,依次排列其中8个第一存储字节:在本步骤中,数据块是固定的16个8位字节,而且只能是16个,这16个8位字节是由8个9位数据字节得到的,即包括了8个第一存储字节和8个第二存储字节;如果现有要传输的数据不足上述8个9位数据字节,则缺少的部分不管是其第一存储字节还是第二存储字节,都使用无意义的数据位填充,使得一个数据块中仍然包括16个8位字节。排列上述一个数据块中的各个表示9位数据字节的存储字节,在第二实施例中,本步骤排列的顺序是:第一个9位数据字节的第一存储字节、第二个9位数据字节的第一存储字节、第三个9位数据字节第一存储字节……,直到第8个9位数据字节第一存储字节顺序排列。即顺序排列上述16个8位字节中的奇数字节。

步骤S42将各9位数据字节中第二存储字节中的数据依次填入一个8位字节,得到第9个字节:在本步骤中,由于表示每个9位数据字节的第二存储字节中只有一个数据位上有意义,而其它的数据位都是无意义的,所以,将8个9位数据字节的第二存储单元中的数据合并起来,刚好可以得到第9个填满的发送字节。在合并过程中,第一个9位数据字节的第二存储字节中的数据放到第9个发送单元的第8位(位号为7)、第二个9位数据字节的第二存储字节中的数据放到第9个发送单元的第7位(位号为6)、……,依此类推。值得一提的是,在数据不足9个字节时(通常出现在数据传输的尾部)以无意义的数据填充为9个字节。

步骤S43发送上述9个字节:在本步骤中,依次发送上述步骤中得到的9个填满数据的、8位的字节。

步骤S44接收上述9个字节,并依次存入缓存:在本步骤中,接收上述9个发送字节,并按字节依次放入缓存。

步骤S45将前8个8位字节分别作为8个9位数据字节的第一存储字节存储:在本步骤中,将接收到的9个字节中的前面8个分别分配为本数据块中第1个到第8个9位数据字节的第一存储字节。

步骤S46将第9字节的每个数据位扩展为一个字节并分别存入8个9位数据字节的第二存储字节:在本步骤中,按照步骤S42中放入第9发送字节的规律,将第9字节中的每个数据位分别扩展为一个8位字节,作为对应的9位数据字节的第二存储字节,直到将第9字节中的数据全部分配完;存储上述第一存储字节和第二存储字节,完成本数据块的处理。

第二实施例中还涉及一种存储转发设备中实现9位数据字节传输的装置,如图4所示,该9位数据字节传输的装置包括:存储模块1、数据块形成及发送模块2以及数据块接收及存储模块3。其中,存储模块1用于接收或产生的每个9位数据字节将以两个8位字节依次存储;数据块形成及发送模块2用于将存储的每16个8位字节作为一个数据块,转换为9个8位字节,并依次发送所述转换后的8位字节;数据块接收及存储模块3用于依次接收所述发送的8位字节,将所述接收到的一个数据块的9个8位字节转换为16个8位字节并存储。

在第二实施例中,存储模块1还包括:用于将一个9位数据字节的前8位存储在第一个8位字节中以形成该9位数据字节的第一存储字节形成单元11;用于将一个9位数据字节的第9位存储在第二个8位字节中该形成该9位数据字节的第二存储字节形成单元12。在第二实施例中,该第9位数据扩展为一个8位字节存储在第二存储字节。而数据块形成及发送模块2进一步包括:用于将所述数据块中每16个存储字节为一个数据块,奇数字节组成数据块的8个8位字节,偶数字节的有效数据位按其存储的先后顺序填入第9个8位字节的各个数据位中成为1个字节,得到9个8位字节组成的数据串的数据块形成单元24;用于将上述9个8位数据依次发送的发送单元23。

总之,通过上述两个实施例的描述,采用专用芯片实现调制和解调时,常遇到传输单位是字节的情况,信道传输必须以字节即8位数据为传输单位。可以通过二种方法实现高效的信道传输。一种方法是发送方通过移位将9位数据流重新组合为8位数据单位的数据流,即存储的第1字节成为同步传输的第1字节,存储的第2字节转换为1位与存储的第3字节的其中7位组成传输的第2字节,存储的第3字节的剩余1位、存储的第4字节转换为1位、存储的第5字节的其中6位组成传输的第3字节,依次类推,存储的16个字节变换为信道传输的9个字节。接收方进行逆变换,还原为9位数据后存储为二个字节。这种做法的优点是可以一边变换一边传输,数据延时小,同时尾部没有多余字节的传输,信道传输效率高,缺点是处理时较复杂。另一种方法是先将存储数据以16字节为一个数据块,将其变换为9字节的数据块后进行传输。其中8个字节是存储的第1、3、5、7、9、11、13、15字节,另一个字节是存储的第2、4、6、8、10、12、14、16字节变换后组成的一个字节(每个存储字节变换为一位)。接收方进行逆变换。这种做法的优点是变换处理较简单,缺点是接收方要收全9字节后才能进行逆变换,增大了数据延时,尾部平均增加4.5字节的无用数据,信道使用效率较前一种方式低。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。   

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号