CN101521671B - 一种对数据帧进行读操作的装置 - Google Patents
一种对数据帧进行读操作的装置 Download PDFInfo
- Publication number
- CN101521671B CN101521671B CN2009100813186A CN200910081318A CN101521671B CN 101521671 B CN101521671 B CN 101521671B CN 2009100813186 A CN2009100813186 A CN 2009100813186A CN 200910081318 A CN200910081318 A CN 200910081318A CN 101521671 B CN101521671 B CN 101521671B
- Authority
- CN
- China
- Prior art keywords
- frame
- address
- module
- ram
- bytes
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种对数据帧进行读操作的装置,对数据帧进行读操作的装置由RAM模块、地址产生模块、地址寄存器模块和判断模块组成。首先初始化后的寄存器模块将初始地址传输给地址产生模块,地址产生模块根据该地址产生此页各个空间的地址,并依次传输给RAM模块,RAM模块将数据帧读出,并将数据帧中协议数据单元信息传输给判断模块,判断模块通过地址比较决定是否换页。本装置的数据帧包括帧头和协议数据单元PDU,帧头有八个字节的内容,前四个字节存放的是下一页数据帧的地址,后四个字节包含此数据帧的其他信息,这些信息包括此数据帧的数据单元PDU的大小,数据帧帧头后面为协议数据单元PDU。本发明提出的方法与现有的技术相比,减少了从RAM中读出数据的时间,因而提高了数据传输的速度。
Description
技术领域
本发明属于网络传输领域。
背景技术
在网络传输系统中,信息的传输是通过数据帧的传输形式来实现的。在现有的技术中,供数方采用软件将数据帧写入RAM中,写入的格式为一个数据帧占用一页的内存,各个数据帧的长度不等,所以每页数据帧占用的空间大小不同。由于信息由很多个数据帧组成,所以需要占用RAM很多页的空间,并且各个页不一定连续。当使用方发出需要请求后,就需要从RAM中读出数据发送给使用方。对RAM进行读操作时,一般采取软件控制地址的方法,即每读一页的数据帧,软件提供一次RAM的读地址。
本发明提出的一种对数据帧进行读操作的装置,其特点在于提供方采用软件将具有链表结构的数据帧写入RAM中,当使用方发出需要请求后,供数方只提供RAM的读的首地址,使用方可以通过当前页的内容,得到下一页的地址,从而快速将RAM中的数据读出。该链表由供数方建立,由使用方读取,通过设置与清除标识来维护该链表,最大限度地降低了供数方与使用方的耦合度。本发明提出的方法与现有的技术相比,减少了从RAM中读出数据所用的时间,因而提高了数据传输的速度。
发明内容
本发明提出的一种对数据帧进行读操作的装置,其特点在于前一页数据帧可以提供下一页数据帧的地址,之所以可以实现这种功能,与数据帧的结构有关。
数据帧是网络传输中的基本数据单元,每个数据帧中包括帧头和协议数据单元PDU,如图1所示。本发明提出的方法的数据帧的帧头有八个字节的内容,如图2所示。前四个字节存放的是下一页数据帧的地址,后四个字节包含此数据帧的其他信息,这些信息包括此数据帧的数据单元PDU的大小。数据帧帧头后面为协议数据单元PDU。由带有下一页数据帧存放地址的帧头和协议数据单元PDU构成的这种数据帧具有链表结构。
图3所示为实现对数据帧进行读操作的装置。它由RAM模块、地址产生模块、地址寄存器模块和判断模块组成。
RAM模块中存有要被读的数据帧,这些数据帧具有上文所述的链表结构。RAM模块输出一个数据帧时,前四个字节输送给地址寄存器模块,第五个字节到第八个字节输送给判断模块,后面的数据作为整个装置的输出。
地址产生模块用于产生RAM的读地址,地址产生模块从地址寄存器模块得到要读页的首地址后,接着依次产生此页各个空间的地址,并传送给RAM模块。地址产生模块输出还输送给判断模块,用于判断当前页是否读完,如果读完,地址产生模块会从地址寄存器模块得到下一页数据的地址。
地址寄存器模块用于寄存数据帧帧头的前四个字节,它的内容为下一页数据帧的存放地址。开始对RAM进行读前,软件提供给地址寄存器模块第一个数据帧的地址,地址寄存器模块将此地址输送给地址产生模块,对RAM进行读后,地址寄存器模块从RAM模块得到数据帧的前四个字节的内容后并寄存。当读完RAM的当前页时,地址寄存器模块将寄存的内容输送给地址产生模块,并准备接收下一个数据帧的前四个字节。
判断模块用于判断当前页是否读完,它从RAM模块接收到数据帧的第五个字节到第八个字节的内容。从这些内容中可以得出数据帧中协议数据单元PDU的大小,由此可以计算出此数据帧占用RAM空间的大小,通过与地址产生模块输送来的地址的比较,可以判断当前页的数据帧是否读完。
由于本发明提出的方法中的数据帧包含下一页数据的地址,所以在使用方从RAM中读出数据发送出去时,只需要得到RAM的读的首地址,读出数据帧的前四个字节就可以得到下一页数据帧的地址,从而在读完当前页的数据后就可以立即开始读下一页的内容,无需从软件得到下一页的地址,加快了数据帧的发出速度,这样构成了具有链表结构的数据帧。
本发明提出的一种数据帧传输链表结构和实现方法所需要的装置,对RAM进行读操作的具体步骤在具体实施方式中说明。
附图说明:
图1为数据帧的结构图;
图2为数据帧帧头的结构图;
图3为实现对数据帧进行读操作的装置的结构图;
图4为实现对RAM进行读操作的流程图。
具体实施方式
下面将以一个具体对具有链表结构的数据帧进行读操作的过程,来说明本发明提出的方法。
软件将数据帧存入RAM中和硬件将数据帧从RAM中读出时,会有一个计数器对RAM当前存储的数据帧的个数进行统计。此计数器的初值为0,一个数据帧存入RAM中,计数器加1,一个数据帧从RAM中读出,计数器减1。
下面介绍的具体实施例,是在计数器不为0的情况下进行的。
上文已介绍了对RAM进行读操作的装置,如图3所示,它由RAM模块、地址产生模块、地址寄存器模块和判断模块组成。
具体实现的流程图如图4所示,步骤如下:
步骤1:地址寄存器模块由软件的到首页数据帧的地址,并将此地址输送给地址产生模块,执行步骤2。
步骤2:地址产生模块依次产生连续的RAM的读地址。同时RAM输出数据帧的内容,前四个字节输送给地址寄存器模块,第五个字节到第八个字节输送给判断器模块,执行步骤3。
步骤3:RAM继续输出整个装置的输出数据,同时判断器模块对输入的数据进行计算出此数据帧所要占据RAM空间的大小,得出最后存储此帧的地址,并与地址产生器模块产生的地址进行比较,相等时,则表示此页的数据帧读完,进入步骤4。
步骤4:地址寄存器模块将寄存的下一页地址输送给地址产生器模块,执行步骤2。
本发明提出的一种数据帧传输链表结构和实现方法,其特点在于提供方采用软件将具有链表结构的数据帧写入RAM中,当使用方发出需要请求后,供数方只提供RAM的读的首地址,使用方可以通过当前页的内容,得到下一页的地址,从而快速将RAM中的数据读出。该链表由供数方建立,由使用方读取,通过设置与清除标识来维护该链表,最大限度地降低了供数方与使用方的耦合度。本发明提出的方法与现有的技术相比,减少了从RAM中读出数据的时间,因而提高了数据传输的速度。
Claims (1)
1.一种对数据帧进行读操作的装置,其特征在于所述的数据帧读操作装置包括:RAM模块、地址产生模块、地址寄存器模块和判断模块,
其中,所述的数据帧包括帧头和协议数据单元PDU,数据帧的帧头由八个字节构成,前四个字节存放的是下一页数据帧的地址,后四个字节包含此数据帧的其他信息,包括此数据帧的数据单元PDU的大小,数据帧帧头后面为协议数据单元PDU,
所述的RAM模块,存有要被读的数据帧,这些数据帧具有链表结构,RAM模块输出一个数据帧时,前四个字节输送给地址寄存器模块,第五个字节到第八个字节输送给判断模块,后面的数据作为整个装置的输出;
所述的地址产生模块,用于产生RAM的读地址,地址产生模块从地址寄存器模块得到要读页的首地址后,接着依次产生此页各个空间的地址,并传送给RAM模块,地址产生模块输出还输送给判断模块,用于判断当前页是否读完,如果读完,地址产生模块会从地址寄存器模块得到下一页数据的地址;
所述的地址寄存器模块,用于寄存数据帧帧头的前四个字节,它的内容为下一页数据帧的存放地址,开始对RAM进行读前,软件提供给地址寄存器模块第一个数据帧的地址,地址寄存器模块将此地址输送给地址产生模块,对RAM进行读后,地址寄存器模块从RAM模块得到数据帧的前四个字节的内容后并寄存,当读完RAM的当前页时,地址寄存器模块将寄存的内容输送给地址产生模块,并准备接收下一个数据帧的前四个字节;
所述的判断模块,用于判断当前页是否读完,它从RAM模块接收到数据帧的第五个字节到第八个字节的内容,从这些内容中可以得出数据帧中协议数据单元PDU的大小,由此可以计算出此数据帧占用RAM空间的大小,通过与地址产生模块输送来的地址的比较,可以判断当前页的数据帧是否读完。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100813186A CN101521671B (zh) | 2009-04-02 | 2009-04-02 | 一种对数据帧进行读操作的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100813186A CN101521671B (zh) | 2009-04-02 | 2009-04-02 | 一种对数据帧进行读操作的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101521671A CN101521671A (zh) | 2009-09-02 |
CN101521671B true CN101521671B (zh) | 2011-10-12 |
Family
ID=41082044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100813186A Expired - Fee Related CN101521671B (zh) | 2009-04-02 | 2009-04-02 | 一种对数据帧进行读操作的装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101521671B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108804345A (zh) * | 2018-05-23 | 2018-11-13 | 湖南博匠信息科技有限公司 | 数据写入方法、装置、设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4881167A (en) * | 1986-06-18 | 1989-11-14 | Hitachi, Ltd. | Data memory system |
CN1353419A (zh) * | 2000-11-14 | 2002-06-12 | 阿尔派株式会社 | 记录媒体重放方法及记录媒体重放装置 |
-
2009
- 2009-04-02 CN CN2009100813186A patent/CN101521671B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4881167A (en) * | 1986-06-18 | 1989-11-14 | Hitachi, Ltd. | Data memory system |
CN1353419A (zh) * | 2000-11-14 | 2002-06-12 | 阿尔派株式会社 | 记录媒体重放方法及记录媒体重放装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101521671A (zh) | 2009-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106294234B (zh) | 一种数据传输方法及装置 | |
CN103064805B (zh) | Spi控制器及通信方法 | |
CN106951388A (zh) | 一种基于PCIe的DMA数据传输方法及系统 | |
WO2016011811A1 (zh) | 一种内存管理方法、装置及存储介质 | |
CN103095684B (zh) | 获取关注用户聚合信息的方法、装置及系统 | |
CN101308450B (zh) | Fifo控制电路及控制方法 | |
CN205176826U (zh) | 一种基于usb高速接口的音频采集装置 | |
CN109902056A (zh) | 一种串行传输的方法、装置、设备及计算机可读存储介质 | |
CN104065588A (zh) | 一种数据包调度和缓存的装置及方法 | |
CN106055512A (zh) | 一种mipi接口raw10数据重组编码与读出结构及方法 | |
CN101521671B (zh) | 一种对数据帧进行读操作的装置 | |
CN106980587A (zh) | 一种通用输入输出时序处理器及时序输入输出控制方法 | |
CN112468378B (zh) | 一种基于can总线的大容量数据传输设备及方法 | |
CN102780620B (zh) | 一种网络处理器和报文处理方法 | |
CN103442091B (zh) | 一种数据传输方法及装置 | |
CN106294225A (zh) | 一种数据读取方法、对端设备及控制器 | |
CN105825880B (zh) | 用于ddr控制器的访问控制方法、装置及电路 | |
CN101615194B (zh) | 动态网页的生成方法及系统 | |
CN106792070A (zh) | 一种音视频数据dma传输方法及装置 | |
CN104375871B (zh) | 一种基于eMMC加速系统开机的方法和装置 | |
CN110399596A (zh) | 一种文件格式转换方法、系统及相关组件 | |
CN102420749A (zh) | 一种网卡发包功能的实现装置和方法 | |
CN105163064A (zh) | 一种嵌入式网络视频数据采集传输系统及方法 | |
CN101021846A (zh) | 一种不定帧长结构数据流的存储方法 | |
CN107659463A (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 | ||
DD01 | Delivery of document by public notice |
Addressee: Beijing BM Electronics High-Technology Co., Ltd. Document name: Notification to Pay the Fees |
|
DD01 | Delivery of document by public notice |
Addressee: Beijing BM Electronics High-Technology Co., Ltd. Document name: Notification of Termination of Patent Right |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111012 Termination date: 20160402 |
|
CF01 | Termination of patent right due to non-payment of annual fee |