CN1323529C - 一种数字信号处理器内部数据传输的方法 - Google Patents

一种数字信号处理器内部数据传输的方法 Download PDF

Info

Publication number
CN1323529C
CN1323529C CNB031279872A CN03127987A CN1323529C CN 1323529 C CN1323529 C CN 1323529C CN B031279872 A CNB031279872 A CN B031279872A CN 03127987 A CN03127987 A CN 03127987A CN 1323529 C CN1323529 C CN 1323529C
Authority
CN
China
Prior art keywords
cell
cpu
buffering area
read
data
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
Application number
CNB031279872A
Other languages
English (en)
Other versions
CN1543145A (zh
Inventor
邹立建
曾思南
张军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Tinno Wireless Technology Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB031279872A priority Critical patent/CN1323529C/zh
Publication of CN1543145A publication Critical patent/CN1543145A/zh
Application granted granted Critical
Publication of CN1323529C publication Critical patent/CN1323529C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种数字信号处理器(DSP)内部数据传输的方法,包括数据写入缓冲区和中央处理器(CPU)和从缓冲区读出数据两个过程,其中,数据写入缓冲区包括以下步骤:A1)DSP的异步传输模式通用测试操作物理接口(UTOPIA)接收到输入给DSP的信元后,发送一个事件通知直接存储器访问(DMA);A2)DMA控制UTOPIA接口将新收到的信元顺序循环写入缓冲区内;CPU从缓冲区读出数据包括以下步骤:B1)CPU查询缓冲区内是否有新信元,如果有,则CPU顺序循环读取缓冲区内的信元;如果没有,则停止信元的读取。应用本发明的方法,可实现使DSP数据处理等待时间较少,同时使尽可能少地占用CPU资源。

Description

一种数字信号处理器内部数据传输的方法
技术领域
本发明涉及数据通讯技术,特别是指数字信号处理器(DSP)内部数据传输的方法。
背景技术
数字信号处理器(DSP)一般包括处理算法的中央处理器(CPU)和多种进行数据通讯的接口。随着CPU处理能力的增强,接口的通讯能力成为信号处理的瓶颈。在这种情况下,DSP增加了异步传输模式通用测试操作物理接口(UTOPIA,Universal Test and Operation PHY Interface for ATM)。UTOPIA以信元为单位进行数据通讯,数据流量大。通过UTOPIA总线标准,可以保证UTOPIA通讯的可靠性。
目前,CPU接收UTOPIA传输过来信元的一种方法可采用CPU响应中断的方式,即:UTOPIA每收到一个信元就产生一个中断给CPU,CPU响应这个中断,停止正在进行的工作来处理收到的信元。UTOPIA不停的接收信元,必然会不停的打断CPU正在运行的操作,使CPU的并行机制失去功能,降低CPU的处理效率。
CPU接收UTOPIA传输过来信元的另一种方法是使用乒乓缓冲区。如图1所示,UTOPIA每收到一个信元就通过事件通知直接存储器访问(DMA),DMA控制UTOPIA接口顺序地将信元放入乒或乓缓冲区。当乒或乓缓冲区写满后,则通过标志或中断通知CPU,CPU处理信元满的这个缓冲区中的数据。同时,DMA将继续接收到的信元放到另一个缓冲区,如此循环。但是,这种方法使DMA和CPU不能同时对同一个缓冲区进行操作,因此,数据处理延时较大。如DMA在写乒缓冲区时,CPU只能读乓缓冲区,在数据流量较小的情况下,DMA填满一个缓冲区需要较长的时间,而这段时间内,CPU无法对这个缓冲区的数据进行处理。因此对接收数据的处理会有较大的延时。
发明内容
有鉴于此,本发明的主要目的在于提供了一种DSP内部数据传输的方法,使DSP数据处理延时较少,并且尽可能少地占用CPU资源。
本发明包括数据写入缓冲区和CPU从缓冲区读出数据两个过程,其中,数据写入缓冲区包括以下步骤:
A1、DSP的异步传输模式通用测试操作物理接口(UTOPIA)接收到输入给DSP的信元后,发送一个事件通知直接存储器访问(DMA);
A2、DMA控制UTOPIA接口将新收到的信元顺序循环写入缓冲区内;
CPU从缓冲区读出数据包括以下步骤:
B1、CPU查询缓冲区内是否有新信元,如果有,则CPU顺序循环读取缓冲区内的信元;如果没有,则停止信元的读取。
其中,该方法进一步包括:为每个发送至DSP的新信元设置一个用于来表示该信元是否为UTOPIA新接收信元的标志位,标志位包含于当前接收信元的内部。
其中,该方法进一步包括:CPU根据当前业务数据的发送时间特点,在已知有数据信元通过UTOPIA接口存入缓冲区的时段,查询缓冲区内是否有新接收的信元。或者,利用CPU的并行机制,在CPU中始终保持一个进程实时或周期性地查询缓冲区是否有新接收的信元。
其中,该方法进一步包括:CPU先判断读指针当前所指缓冲区地址中的信元标志位是否为空,如果是,则不读取当前信元;否则,读取当前信元,然后清空该信元的标志位,并将读指针下移一个地址。
其中,该方法进一步包括:CPU先判断读指针当前所指缓冲区地址中是否存在信元,如果存在,则读取当前信元,然后删除读指针当前所指缓冲区地址中的内容,并将读指针下移一个地址;否则,不进行读取。
由上述方法可以看出,本发明技术方案使DSP不需要等待一个缓冲区内填满信元后才进行处理,使DSP收到的信元可以及时得到处理,减少了系统延时;另一方面,本发明不是通过中断方式传输数据,使CPU不用频繁的响应中断,节约了响应中断所必要的资源开销,同时充分发挥CPU并行工作机制的优点,使CPU专注于算法的处理,提高了DSP的处理性能。
附图说明
图1为DSP内部通过乒乓缓冲区传送信元的原理图。
图2为DSP内部使用本发明循环读写缓冲区来传送信元的原理图。
具体实施方式
本发明的主要思想是:DSP通过UTOPIA接收信元,由DMA控制UTOPIA接口将接收的信元自动顺序写入缓冲区,CPU主动顺序循环读取缓冲区中的信元进行处理。这里的循环是指,当对缓冲区的数据读或写到缓冲区尾部的时候,下一个数据的读或写从缓冲区的头部开始。UPOPIA接收到信元后,通过DMA自身的特性,将信元自动的顺序写入缓冲区,这部分不需要CPU进行控制。
以下通过具体实施例和参照附图2,对本发明进一步详细说明。
首先,UTOPIA通过DMA将接收到的信元顺序写入缓冲区,循环以下步骤1-2,完成信元的写入。
步骤1:UTOPIA接收到输入给DSP的信元时,立即发给DMA一个事件,将接收到信元的事件通知DMA;
步骤2:DMA控制UTOPIA接口将新收到的信元顺序放入缓冲区内,若到了缓冲区的尾部,则循环回缓冲区头部继续顺序保存接收到的信元。其中新接收的信元中,可设置一个标志位,用来表示此信元为UTOPIA新接收的信元,即有效信元。信元的标志位可由发送信元的实体在发送信元时在信元内部设置,也可以是DSP在接收到信元的时候在信元外部增加一个单独标志位。
步骤3:CPU检测缓冲区是否有新接收的信元,有以下两种方法,3a和3b。
3a:CPU根据业务数据发送时间的特点读取缓冲区内的信元。例如:CPU已经知道当前所处理业务的具体特点,知道当前业务应该在何时何种情况下会发送信元给DSP。CPU根据这些特点,仅在有信元向UTOPIA传送的时段,才去查询缓冲区是否有新信元进来;
3b:CPU实时或周期性的查询缓冲区时,可利用CPU的并行机制,保持有一个进程一直在检测缓冲区是否有新写入的信元。这种CPU实时查询缓冲区方法要求这个检测进程需占用极少的CPU资源,不致影响CPU的正常运算。
上述两种方法可合可分,即:可以只使用这两个方法中的任何一种,或者将两种方法结合起来一起使用。
最后,CPU进行信元的读取:CPU通过接收信元读指针对缓冲区的信元进行读取,循环以下步骤4-5完成CPU对信元的读取。
步骤4:在系统初始化时,接收信元读指针指向接收缓冲区的头部。CPU根据读指针所指的缓冲区地址读取信元,根据信元的标志位,判断是否为新收到的信元:若当前信元标志为有效,则读取该数据,然后把信元标志位清空,即改为无效状态;若当前信元标志位为空,则不进行任何处理;
步骤5:读指针下移,指向缓冲区下一个信元。若读指针下移后的缓冲区信元为无效状态,则停止CPU读取数据。若指针到了缓冲区的尾部,则指针下移后指向缓冲区头部。
本实施例是通过对信元设置标志位来区分信元是否被CPU读取过,也可以采用其他方式,如:对缓冲区某个地址中的数据读取后,将此数据清除,以此表示被CPU读取过,相应的,上述步骤中判断标志位是否清除则改为判断当前读指针所指示的缓冲区地址中的信元是否被清除。其他步骤类似,不再详述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1、一种数字信号处理器DSP内部数据传输的方法,其特征在于,包括数据写入缓冲区和中央处理器CPU从缓冲区读出数据两个过程,其中,数据写入缓冲区包括以下步骤:
A1、DSP的异步传输模式通用测试操作物理接口UTOPIA接收到输入给DSP的信元后,发送一个事件通知直接存储器访问DMA;
A2、DMA控制UTOPIA接口将新收到的信元顺序循环写入缓冲区内;
CPU从缓冲区读出数据包括以下步骤:
B1、CPU查询缓冲区内是否有新信元,如果有,则CPU顺序循环读取缓冲区内的信元;如果没有,则停止信元的读取。
2、根据权利要求1所述的方法,其特征在于,该方法进一步包括:为每个发送至DSp的新信元设置一个用于来表示该信元是否为UTOPIA新接收信元的标志位。
3、根据权利要求2所述的方法,其特征在于,所述标志位包含于当前接收信元的内部。
4、根据权利要求1所述的方法,其特征在于,步骤B1所述的CPU查询缓冲区的方法进一步包括:CPU根据当前业务数据的发送时间特点,在已知有数据信元通过UTOPIA接口存入缓冲区的时段,查询缓冲区内是否有新接收的信元。
5、根据权利要求1所述的方法,其特征在于,步骤B1所述的CPU查询缓冲区的方法进一步包括:利用CPU的并行机制,在CPU中始终保持一个进程实时或周期性地查询缓冲区是否有新接收的信元。
6、根据权利要求1所述的方法,其特征在于,步骤B1所述的CPU循环读取缓冲区的方法进一步包括:CPU先判断读指针当前所指缓冲区地址中的信元标志位是否为空,如果是,则不读取当前信元;否则,读取当前信元,然后清空该信元的标志位,并将读指针下移一个地址。
7、根据权利要求1所述的方法,其特征在于,步骤B1所述的CPU循环读取缓冲区的方法进一步包括:CPU先判断读指针当前所指缓冲区地址中是否存在信元,如果存在,则读取当前信元,然后删除读指针当前所指缓冲区地址中的内容,并将读指针下移一个地址;否则,不进行读取。
CNB031279872A 2003-04-28 2003-04-28 一种数字信号处理器内部数据传输的方法 Expired - Fee Related CN1323529C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031279872A CN1323529C (zh) 2003-04-28 2003-04-28 一种数字信号处理器内部数据传输的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031279872A CN1323529C (zh) 2003-04-28 2003-04-28 一种数字信号处理器内部数据传输的方法

Publications (2)

Publication Number Publication Date
CN1543145A CN1543145A (zh) 2004-11-03
CN1323529C true CN1323529C (zh) 2007-06-27

Family

ID=34322121

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031279872A Expired - Fee Related CN1323529C (zh) 2003-04-28 2003-04-28 一种数字信号处理器内部数据传输的方法

Country Status (1)

Country Link
CN (1) CN1323529C (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363442B2 (en) * 2004-11-12 2008-04-22 International Business Machines Corporation Separate handling of read and write of read-modify-write
US7769924B2 (en) * 2005-09-30 2010-08-03 Intel Corporation Method and system for low latency audio-visual transport
CN102111615B (zh) * 2009-12-29 2012-11-28 中兴通讯股份有限公司 直接存储器存取搬移实现视频滤波的方法及系统
CN108153490A (zh) * 2017-12-21 2018-06-12 上海禾赛光电科技有限公司 用于socfpga的数据循环缓冲方法及装置、存储介质、终端
CN111427293A (zh) * 2020-03-26 2020-07-17 广州立功科技股份有限公司 多通道输入采样唤醒方法、装置和控制设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1192282A (zh) * 1995-06-07 1998-09-02 Ast研究公司 减少在两个相互异步总线之间数据的同步传送中的累积时间延迟
JPH11249961A (ja) * 1998-02-27 1999-09-17 Nec Corp データ転送装置およびデータ転送装置のデータ転送制御方法
CN1311592A (zh) * 2000-05-25 2001-09-05 深圳市中兴通讯股份有限公司 一种全双工异步串行通信方法及其通信系统
CN1365058A (zh) * 2001-01-09 2002-08-21 深圳市中兴集成电路设计有限责任公司 一种通用异步串口控制器
CN1375973A (zh) * 2001-03-17 2002-10-23 华为技术有限公司 实现atm层与物理层两种标准接口对接的转换模块

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1192282A (zh) * 1995-06-07 1998-09-02 Ast研究公司 减少在两个相互异步总线之间数据的同步传送中的累积时间延迟
JPH11249961A (ja) * 1998-02-27 1999-09-17 Nec Corp データ転送装置およびデータ転送装置のデータ転送制御方法
CN1311592A (zh) * 2000-05-25 2001-09-05 深圳市中兴通讯股份有限公司 一种全双工异步串行通信方法及其通信系统
CN1365058A (zh) * 2001-01-09 2002-08-21 深圳市中兴集成电路设计有限责任公司 一种通用异步串口控制器
CN1375973A (zh) * 2001-03-17 2002-10-23 华为技术有限公司 实现atm层与物理层两种标准接口对接的转换模块

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
信息交换中的DMA技术 周文刚,李慧华,周口师范学院学报,第19卷第5期 2002 *

Also Published As

Publication number Publication date
CN1543145A (zh) 2004-11-03

Similar Documents

Publication Publication Date Title
US5140679A (en) Universal asynchronous receiver/transmitter
KR0161101B1 (ko) 호스트 인터럽트 및 지시운용을 가지는 네트워크 어댑터
US6253250B1 (en) Method and apparatus for bridging a plurality of buses and handling of an exception event to provide bus isolation
JP4961481B2 (ja) シリアルアドバンストテクノロジーアタッチメント(sata)およびシリアルアタッチトスモールコンピュータシステムインターフェース(scsi)(sas)のブリッジング
CN111930676B (zh) 多处理器间的通信方法、装置、系统及存储介质
EP0339270B1 (en) Apparatus and method for automatically detecting hot-spot references and diverting same from memory traffic in a multiprocessor computer system
US7577956B2 (en) Method, system and program storage device for accessing memory to perform messaging using a channel coupled to a sender and a receiver
CN101877666A (zh) 基于零拷贝方式的多应用程序报文接收方法和装置
CN1323529C (zh) 一种数字信号处理器内部数据传输的方法
US20070028015A1 (en) System and method for processing data streams
EP0287678B1 (en) Data transfer system having transfer discrimination circuit
JP3600536B2 (ja) 書き込みデータの破壊を制限する方法及びシステムとpciバス・システム
JPH07262151A (ja) 並列プロセッサシステムおよびそれに適したパケット廃棄方法
EP2504771B1 (en) Addressable fifo
US6535942B1 (en) Method for reducing processor interrupt load
US7506079B2 (en) Data processor and data communication method
EP0378422B1 (en) Look ahead bus transfer request
CN100495373C (zh) 虚拟先进先出直接存储器存取装置
CA1323706C (en) Technique for implementing byte-wide uart transfers on a 16-bit data bus
CA2257012C (en) Frame-relay frame transmission circuit
JP3261665B2 (ja) データ転送方法及びデータ処理システム
JPS59117619A (ja) デ−タ転送処理装置
KR100196227B1 (ko) 전송속도 정합을 위한 데이터 저장 방법 및 그장치
JP3645696B2 (ja) Pciバス・s/tインタフェース間接続装置
EP1104612B1 (en) Data-communications unit suitable for asynchronous serial data transmission

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
ASS Succession or assignment of patent right

Owner name: SHENZHEN TINNO WIRELESS TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: HUAWEI TECHNOLOGY CO., LTD.

Effective date: 20130513

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518057 SHENZHEN, GUANGDONG PROVINCE TO: 518053 SHENZHEN, GUANGDONG PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20130513

Address after: 4, 501B, building 518053, building H-3, East China Town, 1, Xiangshan East Street, Shenzhen, Guangdong, Nanshan District

Patentee after: Shenzhen Tinno Wireless Technology Co., Ltd.

Address before: 518057 Guangdong city of Shenzhen province science and Technology Park of HUAWEI Road Service Building

Patentee before: Huawei Technologies Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070627

Termination date: 20180428