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

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

Info

Publication number
CN1543145A
CN1543145A CNA031279872A CN03127987A CN1543145A CN 1543145 A CN1543145 A CN 1543145A CN A031279872 A CNA031279872 A CN A031279872A CN 03127987 A CN03127987 A CN 03127987A CN 1543145 A CN1543145 A CN 1543145A
Authority
CN
China
Prior art keywords
cell
cpu
buffering area
read
dsp
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.)
Granted
Application number
CNA031279872A
Other languages
English (en)
Other versions
CN1323529C (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

Images

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 true CN1543145A (zh) 2004-11-03
CN1323529C 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)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100367243C (zh) * 2004-11-12 2008-02-06 国际商业机器公司 用于处理读-修改-写命令的读操作和写操作的方法和系统
CN1984024B (zh) * 2005-09-30 2011-11-02 英特尔公司 用于低等待时间视听传输的方法和系统
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 广州立功科技股份有限公司 多通道输入采样唤醒方法、装置和控制设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996041268A1 (en) * 1995-06-07 1996-12-19 Ast Research, Inc. Reducing cumulative time delay in synchronizing transfer of data between two mutually asynchronous buses
JPH11249961A (ja) * 1998-02-27 1999-09-17 Nec Corp データ転送装置およびデータ転送装置のデータ転送制御方法
CN1151644C (zh) * 2000-05-25 2004-05-26 深圳市中兴通讯股份有限公司 一种全双工异步串行通信方法及其通信系统
CN1191529C (zh) * 2001-01-09 2005-03-02 深圳市中兴集成电路设计有限责任公司 一种通用异步串口控制器
CN1154333C (zh) * 2001-03-17 2004-06-16 华为技术有限公司 实现atm层与物理层两种标准接口对接的转换模块

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100367243C (zh) * 2004-11-12 2008-02-06 国际商业机器公司 用于处理读-修改-写命令的读操作和写操作的方法和系统
CN1984024B (zh) * 2005-09-30 2011-11-02 英特尔公司 用于低等待时间视听传输的方法和系统
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 广州立功科技股份有限公司 多通道输入采样唤醒方法、装置和控制设备

Also Published As

Publication number Publication date
CN1323529C (zh) 2007-06-27

Similar Documents

Publication Publication Date Title
US6181705B1 (en) System and method for management a communications buffer
US6065087A (en) Architecture for a high-performance network/bus multiplexer interconnecting a network and a bus that transport data using multiple protocols
US5606665A (en) Buffer descriptor prefetch in network and I/O design
US6279051B1 (en) Host adapter having paged payload buffers for simultaneously transferring data between a computer bus and a peripheral bus
US5732094A (en) Method for automatic initiation of data transmission
CN1910869B (zh) 具有简化的顺序处理的tcp/ip卸载设备
US5895488A (en) Cache flushing methods and apparatus
US5247616A (en) Computer system having different communications facilities and data transfer processes between different computers
CA2119153C (en) Network adapter with host indication optimization
EP1115060A2 (en) Device and method for performing high-speed low overhead context switch
CN1747444A (zh) 数据处理系统网络中从主机单元分担数据流的方法及引擎
WO2001001271A1 (en) Method and apparatus for bridging a plurality of buses
US6366968B1 (en) Physical write packets processing when posted write error queue is full, with posted write error queue storing physical write requests when posted write packet fails
WO1999041864A1 (en) Method and apparatus for minimizing asynchronous transmit fifo under-run and receive fifo over-run conditions
CN1543145A (zh) 一种数字信号处理器内部数据传输的方法
JPH113281A (ja) 回路,ネットワーク、及びメモリ内の無効アドレス変換をチェックする方法
JPH07262151A (ja) 並列プロセッサシステムおよびそれに適したパケット廃棄方法
CN100435514C (zh) 以太网驱动级底层过滤方法和系统
JP2001237868A (ja) ファイバチャネルノードにおいて効率の良いi/o操作を達成するための方法及びシステム
US20040015636A1 (en) Data transfer via Host/PXCI-X bridges
JPH0458646A (ja) バッファ管理方式
CN100495373C (zh) 虚拟先进先出直接存储器存取装置
US7089387B2 (en) Methods and apparatus for maintaining coherency in a multi-processor system
CN116466996B (zh) 基于多线程的通信方法及上位机
EP0814631B1 (en) An ATM line card and method for transferring connection memory data

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

Granted publication date: 20070627

Termination date: 20180428

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