一种邮件的数据结构及其发送、接收方法技术

技术编号:22390374 阅读:33 留言:0更新日期:2019-10-29 07:19
本申请属于数据传输技术领域,具体涉及一种邮件的数据结构,包括:同步头位,位于邮件传输单元的头部,用以存储同步头,以标识邮件的起始位置;邮箱地址位,用以存储邮箱地址,以标识发送邮件的发件箱的地址,及接收邮件的收件箱的地址;传输控制字及邮件序号位,用以存储传输控制字,以标识邮件的传输特性;以及存储邮件序号,以标识邮件被对应的邮箱发送时的序号;邮件正文位,用以存储邮件的正文;邮件正文长度位,用以存储邮件正文长度,以标识邮件的正文的长度;校验和位,位于邮件传输单元的末尾,用以存储校验和,以标识邮件除自身外按位累加之和;此外,还涉及一种发送及接收以上述数据结构存储的邮件。

A data structure of mail and its sending and receiving methods

【技术实现步骤摘要】
一种邮件的数据结构及其发送、接收方法
本申请属于数据传输
,具体涉及一种邮件的数据结构及其发送、接收方法。
技术介绍
基于UART(通用异步收发器)的串行总线,可双向通信,其具有结构简单、传输距离远、成本低、可靠性高等优点,大量的单片机、DSP、ARM、FPGA中都集成了UART,是电子系统中最常见的通讯方式。串行总线通讯占用I/O口少、电路简单,能有效缩小硬件体积、降低成本,基于UART的RS-232、RS-422等标准常用于计算机和外设之间或嵌入式系统之间的通讯,广泛应用于医疗、电信、航天航空、汽车制造、办公、家电等多种领域。RS-232是美国电子工业联盟(EIA)制定的异步串行通信接口标准。RS-232标准规定了机械特性、电气特性、信号功能及传送过程,被广泛的用于计算机串行接口外设连接,传输距离可达15米,最高波特率可达200Kbps。RS-422与RS-232标准类似,主要以差分传输方式替代了RS-232的单端传输方式,可获得更远距离、更快速率、更抗干扰的通讯能力,传输距离延长到1200米,短距离下最高速率可达10Mbps。在当前应用中,RS-422与RS-232标准硬件简单、成本低廉、使用方便,但它们收发和纠错机制仅针对单个字符如何进行传输,当用户需要传输自己的数据块时,均需要另行开发自己的高层通讯协议,负责数据块的发送、接收、校验、纠错处理,不同的应用因数据内容的不同往往需要进行不同的设计,导致开发和调试工作大量低水平重复,浪费了人力物力。鉴于现有技术的上述缺陷提出本申请。
技术实现思路
本申请的目的是提供邮件的数据结构及其发送、接收方法,以于克服或减轻现有技术至少一方面的缺陷。本申请的技术方案是:一方面提供一种邮件的数据结构,包括:同步头位,位于邮件传输单元的头部,用以存储同步头,以标识邮件的起始位置;邮箱地址位,用以存储邮箱地址,以标识发送邮件的发件箱的地址,及接收邮件的收件箱的地址;传输控制字及邮件序号位,用以存储传输控制字,以标识邮件的传输特性;以及存储邮件序号,以标识邮件被对应的邮箱发送时的序号;邮件正文位,用以存储邮件的正文;邮件正文长度位,用以存储邮件正文长度,以标识邮件的正文的长度;校验和位,位于邮件传输单元的末尾,用以存储校验和,以标识邮件除自身外按位累加之和。根据本申请的至少一个实施例,传输特征包括:平信,该传输特性的邮件经对应的邮箱发送后,不需要回执;挂号信,该传输特性的邮件经对应的邮箱发送后,需要回执。根据本申请的至少一个实施例,同步头位占用两个字符;邮箱地址为占用一个字符;传输控制字及邮箱序号位占用一个字符;邮件正文长度数据位占用一个字符;校验和位占用一个字符;邮件的正文长度不超过58字节。根据本申请的至少一个实施例,传输控制字及邮箱序号位占用的字符的最高位用以存储传输控制字;传输控制字及邮箱序号位占用的字符的后四位用以存储邮件序号;传输控制字及邮箱序号位占用的字符的其余三位为预留位。根据本申请的至少一个实施例,预留位用以存储邮件的拼接标志。另一方面提供一种邮件的发送方法,包括以下步骤:步骤一、响应于待发送邮件的邮箱地址,检测与该邮箱地址对应的发件箱的状态,其中:若该发件箱的状态为空闲或者是应答失败,则编写待发送的邮件的邮件序号,将该邮件序号写入至传输控制字及邮箱序号位的后四位,将待发送的邮件的正文写入至邮件正文位,计算待发送的邮件的校验和,并将该校验和写入至校验和位,并将该发件箱的状态变更为待发送;若该发件箱的状态为待发送,则判断其中的邮件的传输特性,若其中的邮件的传输特性为平信,则编写待发送邮件的邮件序号,将该邮件序号写入至传输控制字及邮箱序号位的后四位,将待发送邮件的正文写入至邮件正文位,计算待发送邮件的校验和,将该校验和写入至校验和位,并将该发件箱的状态变更为待发送;若该发件箱中的邮件的传输特性为挂号信,则向用户返回发件箱满的标识;若该发件箱的状态为等待应答,则向用户返回发件箱满的标识;步骤二、检测各个邮箱中的发件箱的状态,其中:若检测到发件箱的状态为待发送,则判断FIFO的空间是否足够,若不足,则进行等待;若FIFO的空间足够,则将该发件箱中的邮件移动至FIFO中,判断被移动至FIFO的邮件的传输特性,若被移动至FIFO的邮件的传输特为平信,则将该发件箱的状态变更为空闲,若被移动至FIFO的邮件的传输特为挂号信,则将该发件箱的状态变更为等待应答,并启动一个Mms的定时器;若检测到发件箱的状态为等待应答,则判断Mms计时是否已满,若未满,则继续等待;若Mms计时已满,则将发送超时次数加1,判断发送超时次数是否大于N,若大于N,则将该发件箱的状态变更为应答失败,将发送超时次数置为0,若发送超时次数不大于N,则在FIFO的空间足够时,将该发件箱中的邮件移动至FIFO中,重新启动Mms的定时器。根据本申请的至少一个实施例,M=100。根据本申请的至少一个实施例,N=10。又一方面提供一种邮件的接收方法,包括以下步骤:步骤一、将在FIFO中检测到的同步头对应的邮件标记为待接收邮件,根据待接收邮件的正文长度将其保存至接收邮件缓存中;步骤二、对邮件缓存中的各个待接收邮件进行计算校验和,若校验不正确,则将该待接收邮件抛弃;步骤三、若校验正确,则判断对应的待接收邮件的邮件地址是否有效,若无效,则将该待接收邮件抛弃;步骤四、若待接收邮件的邮件地址有效,则判断该待接收邮件是否是回执邮件,若是,则判断该回执邮件的邮件序号与与其邮件地址对应的收件箱中的邮件的邮件序号是否相同,若相同,则将该发件箱的状态变更为待发送,若不同,则将该回执邮件抛弃;步骤五、若待接收邮件不是回执邮件,则判断该待接收邮件的邮件序号与与其邮件地址对应的收件箱中的邮件的邮件序号是否相同,若相同,则判断该待接收邮件的传输特性,若该待接收邮件的传输特性是挂号信,则该待接收邮件的邮件序号对应的发件箱向对方对应的收件箱发送回执邮件,若该待接收邮件的传输特性是平信,则将该待接收邮件抛弃;步骤六、若待接收邮件的邮件序号与与其邮件地址对应的发件箱中的邮件的邮件序号不相同,则判断与该待接收的邮件地址对应的收件箱的状态是否是空闲,若是,则将待接收邮件移动至该收件箱,将该收件箱的状态变更为待读取;步骤七、若与待接收的邮件地址对应的收件箱的状态不是空闲,则判断该收件箱中的邮件的传输特性,若该收件箱中邮件的传输特性是挂号信,则抛弃该待接收邮件;步骤八、若收件箱中的邮件的传输特性是平信,则将待接收邮件移动至该收件箱,将该收件箱的状态变更为待读取;步骤九、响应于读取命令,将对应状态为带读取的收件箱中的邮件的正文移动至邮件读取缓存区,将该收件箱的状态变更为空闲,判断该邮件的传输特性,若该邮件的传输特性是挂号信,则该邮件的邮件地址对应的发件箱向对方对应的收件箱发送回执邮件。根据本申请的至少一个实施例,回执邮件的邮件正文长度为0。附图说明图1是本申请实施例提供的邮件发送方法的流程图;图2是本申请实施例提供的邮件接收方法的流程图;图3是本申请实施例提供的网络结构系统的示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,本文档来自技高网...

【技术保护点】
1.一种邮件的数据结构,其特征在于,包括:同步头位,位于邮件传输单元的头部,用以存储同步头,以标识所述邮件的起始位置;邮箱地址位,用以存储邮箱地址,以标识发送所述邮件的发件箱的地址,及接收所述邮件的收件箱的地址;传输控制字及邮件序号位,用以存储传输控制字,以标识所述邮件的传输特性;以及存储邮件序号,以标识所述邮件被对应的邮箱发送时的序号;邮件正文位,用以存储所述邮件的正文;邮件正文长度位,用以存储邮件正文长度,以标识所述邮件的正文的长度;校验和位,位于所述邮件传输单元的末尾,用以存储校验和,以标识所述邮件除自身外按位累加之和。

【技术特征摘要】
1.一种邮件的数据结构,其特征在于,包括:同步头位,位于邮件传输单元的头部,用以存储同步头,以标识所述邮件的起始位置;邮箱地址位,用以存储邮箱地址,以标识发送所述邮件的发件箱的地址,及接收所述邮件的收件箱的地址;传输控制字及邮件序号位,用以存储传输控制字,以标识所述邮件的传输特性;以及存储邮件序号,以标识所述邮件被对应的邮箱发送时的序号;邮件正文位,用以存储所述邮件的正文;邮件正文长度位,用以存储邮件正文长度,以标识所述邮件的正文的长度;校验和位,位于所述邮件传输单元的末尾,用以存储校验和,以标识所述邮件除自身外按位累加之和。2.根据权利要求1所述的邮件的数据结构,其特征在于,所述传输特征包括:平信,该传输特性的邮件经对应的邮箱发送后,不需要回执;挂号信,该传输特性的邮件经对应的邮箱发送后,需要回执。3.根据权利要求1所述的邮件的数据结构,其特征在于,所述同步头位占用两个字符;所述邮箱地址为占用一个字符;所述传输控制字及邮箱序号位占用一个字符;所述邮件正文长度数据位占用一个字符;所述校验和位占用一个字符;所述邮件的正文长度不超过58字节。4.根据权利要求3所述的邮件的数据结构,其特征在于,所述传输控制字及邮箱序号位占用的字符的最高位用以存储所述传输控制字;所述传输控制字及邮箱序号位占用的字符的后四位用以存储所述邮件序号;所述传输控制字及邮箱序号位占用的字符的其余三位为预留位。5.根据权利要求4所述的邮件的数据结构,其特征在于,所述预留位用以存储所述邮件的拼接标志。6.一种邮件的发送方法,其特征在于,包括以下步骤:步骤一、响应于待发送邮件的邮箱地址,检测与该邮箱地址对应的发件箱的状态,其中:若该发件箱的状态为空闲或者是应答失败,则编写待发送的邮件的邮件序号,将该邮件序号写入至传输控制字及邮箱序号位的后四位,将待发送的邮件的正文写入至邮件正文位,计算待发送的邮件的校验和,并将该校验和写入至校验和位,并将该发件箱的状态变更为待发送;若该发件箱的状态为待发送,则判断其中的邮件的传输特性,若其中的邮件的传输特性为平信,则编写待发送邮件的邮件序号,将该邮件序号写入至传输控制字及邮箱序号位的后四位,将待发送邮件的正文写入至邮件正文位,计算待发送邮件的校验和,将该校验和写入至校验和位,并将该发件箱的状态变更为待发送;若该发件箱中的邮件的传输特性为挂号信,则向用户返回发件箱满的标识;若该发件箱的状态为等待应答,则向用户返回发件箱满的标识;步骤二、检测各个邮箱中的发件箱的状态,其中:若检测到发件箱的状态为待发送,则判断FIFO的空间是否足够,若不足,则进行等待;若所述FIFO的空间足够,则将该发件箱中的邮件移动至所述FIFO中,判断被移动至FIFO的邮件的...

【专利技术属性】
技术研发人员:徐皓吉杨帆周杰
申请(专利权)人:中国航空工业集团公司雷华电子技术研究所
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1