CN111641708A - Dsp芯片传输数据的方法和装置 - Google Patents
Dsp芯片传输数据的方法和装置 Download PDFInfo
- Publication number
- CN111641708A CN111641708A CN202010472699.7A CN202010472699A CN111641708A CN 111641708 A CN111641708 A CN 111641708A CN 202010472699 A CN202010472699 A CN 202010472699A CN 111641708 A CN111641708 A CN 111641708A
- Authority
- CN
- China
- Prior art keywords
- data
- network controller
- received
- buffer area
- network
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明提供一种DSP芯片传输数据的方法和装置,包括:在网络控制器内设置一个发送数据缓冲区和一个接收数据缓冲区;当需要发送数据时,将待发送数据写入发送数据缓冲区,以使网络控制器通过网络发送待发送数据;当需要接收数据时,运行中断服务程序,从接收数据缓冲区内读取网络控制器通过网络接收到的待接收数据。本方案使得没有集成网络接口的DSP芯片能够通过网络传输数据。
Description
技术领域
本发明涉及芯片技术领域,特别涉及DSP(Digital Signal Processing,数字信号处理)芯片传输数据的方法和装置。
背景技术
DSP芯片是一种具有特殊结构的微处理器,能够对数字信号进行快速处理,因而在图像处理、通信等众多领域被广泛应用。
然而,在现有技术中,一些DSP芯片由于内部没有集成网络接口,因此不能通过网络传输数据。
发明内容
本发明提供一种DSP芯片传输数据的方法和装置,使得没有集成网络接口的DSP芯片能够通过网络传输数据。
第一方面,本发明提供了一种DSP芯片传输数据的方法,包括:
在网络控制器内设置一个发送数据缓冲区和一个接收数据缓冲区;
当需要发送数据时,将待发送数据写入发送数据缓冲区,以使网络控制器通过网络发送待发送数据;
当需要接收数据时,运行中断服务程序,从接收数据缓冲区内读取网络控制器通过网络接收到的待接收数据。
可选地,
在将待发送数据写入发送数据缓冲区之前,进一步包括:
将网络控制器的NSR(Network Status Register,网络状态寄存器)的发送状态标志位清零,其中,当发送状态标志位为1时,表示待发送数据发送完成,当发送状态标志位为0时,表示待发送数据发送未完成;
将待发送数据写入发送数据缓冲区,包括:
将待发送数据通过网络控制器的写寄存器写入发送数据缓冲区;
设置网络控制器的TCR(TX Control Register,发送控制寄存器)的发送控制标志位为1,以使网络控制器通过网络发送待发送数据;
检测NSR的发送状态标志位是否为1,若是,将发送状态标志位清零。
可选地,运行中断服务程序,从接收数据缓冲区内读取网络控制器通过网络接收到的待接收数据,包括:
S1:接收网络控制器发来的中断指令,运行中断服务程序;
S2:从网络控制器的读寄存器中读取接收标志,判断接收标志是否为1,如果是,则执行S3,其中,当接收标志为1时,表示网络控制器接收到待接收数据;
S3:从网络控制器的读寄存器中读取状态标志,判断状态标志是否为1,如果是,则执行S4,其中,当状态标志为1时,表示网络控制器接收到的待接收数据不存在异常;
S4:从网络控制器的读寄存器中读取待接收数据的长度信息,并根据长度信息从接收数据缓冲区内读取网络控制器通过网络接收到的待接收数据。
可选地,该方法进一步包括:
当判断出接收标志不为1时,判断接收标志是否为0,如果是,则退出中断服务程序,否则,重启网络控制器,并退出中断服务程序,其中,当接收标志为0时,表示网络控制器未接收到待接收数据,当接收标志为除0和1以外的其他值时,表示网络控制器出现异常。
可选地,该方法进一步包括:
当判断出状态标志不为1时,删除网络控制器接收到的待接收数据,并退出中断服务程序,其中,当状态标志不是1时,表示网络控制器接收到的待接收数据中存在异常。
可选地,
在网络控制器内设置一个发送数据缓冲区和一个接收数据缓冲区之后,进一步包括:
将发送数据缓冲区划分为两个子缓冲区;
将待发送数据写入发送数据缓冲区,包括:
S1:将一帧待发送数据写入当前子缓冲区中,以使网络控制器通过网络发送写入当前子缓冲区中的一帧待发送数据;
S2:判断待发送数据是否全部写入发送数据缓冲区,如果否,则将另一个子缓冲区作为当前子缓冲区,返回执行S1。
可选地,
从接收数据缓冲区内读取网络控制器通过网络接收到的待接收数据,包括:
从接收数据缓冲区内的读取位置读取待接收数据,并实时检测读取位置是否到达接收数据缓冲区的终止地址,如果是,将读取位置移动到接收数据缓冲区的起始地址。
第二方面,本发明提供了一种DSP芯片传输数据的装置,包括:
分区模块,用于在网络控制器内设置一个发送数据缓冲区和一个接收数据缓冲区;
数据发送模块,用于当需要发送数据时,将待发送数据写入网络控制器的发送数据缓冲区,以使网络控制器通过网络发送待发送数据;
数据接收模块,用于当需要接收数据时,运行中断服务程序,从网络控制器的接收数据缓冲区内读取网络控制器通过网络接收到的待接收数据。
第三方面,本发明提供了一种DSP芯片,包括:至少一个存储器和至少一个处理器;
至少一个存储器,用于存储机器可读程序;
至少一个处理器,用于调用机器可读程序,执行第一方面中的任一方法。
第四方面,本发明提供了一种计算机可读介质,其特征在于,计算机可读介质上存储有计算机指令,计算机指令在被处理器执行时,使处理器执行第一方面中的任一方法。
在本发明实施例中,针对内部没有集成网络接口的DSP芯片,在其外部连接一个网络控制器,该网络控制器可以通过网络传输数据。DSP芯片在该网络控制器的内存中专门划分出两块区域分别设置为发送数据缓冲区和接收数据缓冲区,当DSP芯片需要发送数据时,将待发送数据写入该发送数据缓冲区,并控制网络控制器通过网络发送将该待发送数据;当DSP芯片需要接收数据时,待接收数据会先由网络控制器代为接收并存储在接收数据缓冲区,然后DSP芯片运行中断服务程序,以暂停正在处理的其他进程,再从接收数据缓冲区内读取出待接收数据。由此可见,根据内部没有集成网络接口的DSP芯片对于通过网络传输数据的需求,在该DSP芯片外部连接一个网络控制器,DSP芯片在发送数据时,可以先将待发送数据写入网络控制器,再控制网络控制器通过网络发送出去;在接收数据时,可以先控制网络控制器接收并存储待接收数据,再从网络控制器中读取待接收数据。通过增加网络控制器这个数据收发中介,使得没有集成网络接口的DSP芯片能够通过网络传输数据。
附图说明
图1是本发明实施例提供的一种DSP芯片传输数据的方法的流程图;
图2是本发明实施例提供的另一种DSP芯片传输数据的方法的流程图;
图3是本发明实施例提供的又一种DSP芯片传输数据的方法的流程图;
图4是本发明实施例提供的一种DSP芯片传输数据的装置的示意图;
图5是本发明实施例提供的另一种DSP芯片传输数据的装置的示意图;
图6是本发明实施例提供的又一种DSP芯片传输数据的方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
DSP芯片是一种具有特殊结构的微处理器,能够对数字信号进行快速处理,因而在图像处理、通信等众多领域被广泛应用。然而,在现有技术中,一些DSP芯片由于内部没有集成网络接口,因此不能通过网络发送和接收数据,给日常工作造成了诸多不便。本发明一实施例提供了一种DSP芯片传输数据的方法,如图1所示,包括:
步骤101:在网络控制器内设置一个发送数据缓冲区和一个接收数据缓冲区;
步骤102:当需要发送数据时,将待发送数据写入发送数据缓冲区,以使网络控制器通过网络发送待发送数据;
步骤103:当需要接收数据时,运行中断服务程序,从接收数据缓冲区内读取网络控制器通过网络接收到的待接收数据。
在本发明实施例中,针对内部没有集成网络接口的DSP芯片,在其外部连接一个网络控制器,该网络控制器可以通过网络传输数据。DSP芯片在该网络控制器的内存中专门划分出两块区域分别设置为发送数据缓冲区和接收数据缓冲区,当DSP芯片需要发送数据时,将待发送数据写入该发送数据缓冲区,并控制网络控制器通过网络发送将该待发送数据;当DSP芯片需要接收数据时,待接收数据会先由网络控制器代为接收并存储在接收数据缓冲区,然后DSP芯片运行中断服务程序,以暂停正在处理的其他进程,再从接收数据缓冲区内读取出待接收数据。由此可见,根据内部没有集成网络接口的DSP芯片对于通过网络传输数据的需求,在该DSP芯片外部连接一个网络控制器,DSP芯片在发送数据时,可以先将待发送数据写入网络控制器,再控制网络控制器通过网络发送出去;在接收数据时,可以先控制网络控制器接收并存储待接收数据,再从网络控制器中读取待接收数据。通过增加网络控制器这个数据收发中介,使得没有集成网络接口的DSP芯片能够通过网络传输数据。
在本发明实施例中,在网络控制器内设置一个发送数据缓冲区和一个接收数据缓冲区之前,可以先对网络控制器进行初始化,以使网络控制器能够发送和接收数据。举例来说,对于网络控制器DM9000A而言,初始化包括以下步骤:设置通用寄存器的收发器启动位为1,启动物理接口收发器;设置网络控制寄存器的模式转换位为1,以使DM9000A进入普通模式;设置中断屏蔽寄存器的指针控制位为1,以使DM9000A能在静态随机存取存储器的读写指针越界时让所述读写指针自动返回起始地址;清除网络状态寄存器的发送状态标志;清除中断状态寄存器的中断状态标志;设置中断屏蔽寄存器的第零数据位至第五数据位均为1,以使DM9000A能接收数据、发送数据和异常中断;设置接收控制寄存器的接收启动位为1,以使DM9000A能接收数据。
可选地,在图1所示DSP芯片传输数据的方法的基础上,本发明一实施例提供了一种DSP芯片对外发送数据的方法,如图2所示,可以包括如下步骤:
步骤201:在网络控制器内设置一个发送数据缓冲区和一个接收数据缓冲区;
步骤202:将网络控制器的NSR的发送状态标志位清零,其中,当发送状态标志位为1时,表示待发送数据发送完成,当发送状态标志位为0时,表示待发送数据发送未完成;
步骤203:将待发送数据通过网络控制器的写寄存器写入发送数据缓冲区;
步骤204:设置网络控制器的TCR的发送控制标志位为1,以使网络控制器通过网络发送待发送数据;
步骤205:检测NSR的发送状态标志位是否为1,若是,将发送状态标志位清零。
在本发明实施例中,内部没有集成网络接口的DSP芯片在网络控制器的内存中设置一个发送数据缓冲区和一个接收数据缓冲区后,需要将网络控制器的NSR的发送状态标志位清零,这一步骤是对网络控制器进行初始化,当该发送状态标志位为0时,表示待发送数据发送未完成,也就是说,此时没有待发送数据需要发送。当DSP芯片需要发送数据,将待发送数据通过网络控制器的写寄存器写入发送数据缓冲区后,DSP芯片设置网络控制器的TCR的发送控制标志位为1,这一步骤是触发网络控制器发送待发送数据,因为当该发送控制标志位为1时,网络控制器会对外发送数据。接着,DSP芯片会检测网络控制器的NSR的发送状态标志位是否为1,当该发送状态标志位为1时,表示待发送数据发送已完成,此时,DSP芯片将其再次清零,为下一次发送数据做准备。
可选地,在图1所示DSP芯片传输数据的方法的基础上,本发明一实施例提供了一种DSP芯片接收数据的方法,如图3所示,包括:
步骤301:在网络控制器内设置一个发送数据缓冲区和一个接收数据缓冲区;
步骤302:接收网络控制器发来的中断指令,运行中断服务程序;
步骤303:从网络控制器的读寄存器中读取接收标志,判断接收标志是否为1,如果是,则执行步骤305,如果否,则执行步骤304,其中,当接收标志为1时,表示网络控制器接收到待接收数据,当接收标志为0时,表示网络控制器未接收到待接收数据,当接收标志为除0和1以外的其他值时,表示网络控制器出现异常;
步骤304:退出中断服务程序;
步骤305:从网络控制器的读寄存器中读取状态标志,判断状态标志是否为1,如果是,则执行步骤306,如果否,则执行步骤304,其中,当状态标志为1时,表示网络控制器接收到的待接收数据不存在异常,当状态标志不是1时,表示网络控制器接收到的待接收数据中存在异常;
步骤306:从网络控制器的读寄存器中读取待接收数据的长度信息,并根据长度信息从接收数据缓冲区内读取网络控制器通过网络接收到的待接收数据。
在本发明实施例中,当DSP芯片判断出网络控制器的接收标志不为1时,判断接收标志是否为0,如果是,则退出中断服务程序,否则,重启网络控制器,并退出中断服务程序,其中,当接收标志为0时,表示网络控制器未接收到待接收数据,当接收标志为除0和1以外的其他值时,表示网络控制器出现异常。
在本发明实施例中,当DSP芯片判断出网络控制器的状态标志不为1时,删除网络控制器接收到的待接收数据,并退出中断服务程序,其中,当状态标志不是1时,表示网络控制器接收到的待接收数据中存在异常。由此可见,通过判断网络控制器的状态标志,DSP芯片即可得知网络控制器接收到的待接收数据中是否存在异常,进而能够删除出现异常的待接收数据,保证了自身运行的安全性。
举例来说,当网络控制器接收完一帧数据时,会向DSP芯片发送中断指令,DSP芯片接收到该中断指令后运行中断服务程序,在中断服务程序中对接收的数据包进行处理。网络控制器每收到一个数据包,会在数据包前面加上4个字节,用来表示数据包的状态。其中,第一个字节表示是否接受到待接收数据,第二个字节表示接收到的数据及网络控制器本身是否有异常,第三个和第四个字节表示接收到的待接收数据的长度。在中断处理程序中,首先,DSP芯片清除接收中断标志;然后,从网络控制器的读寄存器中获得接收标志,此时接收标志是1,表明网络控制器已接收到数据。网络控制器可以通过奇偶校验的方式对接收到的数据包进行验证,并将结果通过状态标志反映出来,DSP芯片从网络控制器的读寄存器中获得该状态标志,此时状态标志是1,表明该包数据不存在异常。DSP芯片继续从读寄存器中读取表示数据包长度的两个字节,可以低字节在前,高字节在后,再根据该长度信息将从数据包的第5个字节开始,将数据复制至DSP芯片内,复制完成之后,退出中断服务程序。
可选地,在网络控制器内设置一个发送数据缓冲区和一个接收数据缓冲区之后,进一步包括:
将发送数据缓冲区划分为两个子缓冲区;
将待发送数据写入发送数据缓冲区,包括:
S1:将一帧待发送数据写入当前子缓冲区中,以使网络控制器通过网络发送写入当前子缓冲区中的一帧待发送数据;
S2:判断待发送数据是否全部写入发送数据缓冲区,如果否,则将另一个子缓冲区作为当前子缓冲区,返回执行S1。
在本发明实施例中,DSP芯片进一步将发送数据缓冲区划分为两个子缓冲区,其中,每一个子缓冲区都可以存储至少一帧数据。在网络控制器发送一个子缓冲区中的一帧待发送数据的同时,DSP芯片可以判断待发送数据是否全部写入发送数据缓冲区,如果否,就在网络控制器的另一个子缓冲区中写入下一帧待发送数据等待发送。由此可见,通过将发送数据和写入数据由两个子缓冲区轮流操作、并行处理,在待发送数据较多时,有效地避免了DSP芯片等待网络控制器发送完毕和网络控制器等待DSP芯片写入完毕所需的等待时间,提高了数据发送的效率。
可选地,从接收数据缓冲区内读取网络控制器通过网络接收到的待接收数据,包括:
从接收数据缓冲区内的读取位置读取待接收数据,并实时检测读取位置是否到达接收数据缓冲区的终止地址,如果是,将读取位置移动到接收数据缓冲区的起始地址。
如图4、图5所示,本发明实施例提供了一种DSP芯片传输数据的装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图4所示,为本发明实施例DSP芯片传输数据的方法所在设备的一种硬件结构图,除了图4所示的CPU、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图5所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的一种DSP芯片传输数据的装置包括分区501、数据发送模块502和数据接收模块503:
分区模块501,用于在网络控制器内设置一个发送数据缓冲区和一个接收数据缓冲区;
数据发送模块502,用于当需要发送数据时,将待发送数据写入网络控制器的发送数据缓冲区,以使网络控制器通过网络发送待发送数据;
数据接收模块503,用于当需要接收数据时,运行中断服务程序,从网络控制器的接收数据缓冲区内读取网络控制器通过网络接收到的待接收数据。
在本发明实施例中,分区模块501可用于执行上述方法实施例中的步骤101,数据发送模块502可用于执行上述方法实施例中的步骤102,数据接收模块503可用于执行上述方法实施例中的步骤103。通过增加网络控制器这个数据收发中介,使得没有集成网络接口的DSP芯片能够通过网络传输数据。
下面通过一个具体的例子来详细说明本发明实施例提供的一种DSP芯片传输数据的方法。如图6所示,本发明实施例提供的又一种DSP芯片传输数据的方法,包括:
步骤601:DSP芯片在网络控制器的内存中设置一个发送数据缓冲区和一个接收数据缓冲区,当DSP芯片发送数据时,执行步骤602,当DSP芯片接收数据时,执行步骤608;
步骤602:DSP芯片将网络控制器的发送数据缓冲区划分为两个子缓冲区;
步骤603:DSP芯片将一帧待发送数据写入当前子缓冲区中;
步骤604:网络控制器通过网络发送写入当前子缓冲区中的这一帧待发送数据;
步骤605:DSP芯片判断待发送数据是否全部写入发送数据缓冲区,如果否,则执行步骤606,如果是,则执行步骤607;
步骤606:将另一个子缓冲区作为当前子缓冲区,并返回执行步骤603;
步骤607:结束发送过程;
步骤608:网络控制器通过网络接收到待接收数据,并向DSP芯片发送中断指令;
步骤609:DSP芯片接收网络控制器发来的中断指令,运行中断服务程序;
步骤610:DSP芯片从网络控制器的读寄存器中读取接收标志,判断接收标志是否为1,如果是,则执行步骤612,如果否,则执行步骤611;
具体地,网络控制器每收到一个数据包,会在数据包前面加上4个字节,用来表示数据包的状态。其中,第一个字节即接收标志,用来表示是否接受到待接收数据。其中,当接收标志为1时,表示网络控制器接收到待接收数据;当接收标志为0时,表示网络控制器未接收到待接收数据;当接收标志为除0和1以外的其他值时,表示网络控制器出现异常。
步骤611:DSP芯片退出中断服务程序;
步骤612:DSP芯片从网络控制器的读寄存器中读取状态标志,判断状态标志是否为1,如果是,则执行步骤613,如果否,则执行步骤611;
具体地,网络控制器每收到一个数据包,会在数据包前面加上4个字节,用来表示数据包的状态。其中,第二个字节即状态标志,用来表示接收到的数据及网络控制器本身是否有异常。其中,当状态标志为1时,表示网络控制器接收到的待接收数据不存在异常;当状态标志不是1时,表示网络控制器接收到的待接收数据中存在异常。
步骤613:DSP芯片从网络控制器的读寄存器中读取待接收数据的长度信息,并根据长度信息从接收数据缓冲区内读取网络控制器通过网络接收到的待接收数据。
具体地,网络控制器每收到一个数据包,会在数据包前面加上4个字节,用来表示数据包的状态。其中,第三个和第四个字节表示接收到的待接收数据的长度,DSP芯片根据该长度信息从接收数据缓冲区内读取网络控制器通过网络接收到的待接收数据。
可以理解的是,本发明实施例示意的结构并不构成对DSP芯片传输数据的装置的具体限定。在本发明的另一些实施例中,DSP芯片传输数据的装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例还提供了一种DSP芯片,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行本发明任一实施例中的DSP芯片传输数据的方法。
本发明实施例还提供了一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行本发明任一实施例中的DSP芯片传输数据的方法。
具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
本发明各个实施例至少具有如下有益效果:
1、在本发明实施例中,针对内部没有集成网络接口的DSP芯片,在其外部连接一个网络控制器,该网络控制器可以通过网络传输数据。DSP芯片在该网络控制器的内存中专门划分出两块区域分别设置为发送数据缓冲区和接收数据缓冲区,当DSP芯片需要发送数据时,将待发送数据写入该发送数据缓冲区,并控制网络控制器通过网络发送将该待发送数据;当DSP芯片需要接收数据时,待接收数据会先由网络控制器代为接收并存储在接收数据缓冲区,然后DSP芯片运行中断服务程序,以暂停正在处理的其他进程,再从接收数据缓冲区内读取出待接收数据。由此可见,根据内部没有集成网络接口的DSP芯片对于通过网络传输数据的需求,在该DSP芯片外部连接一个网络控制器,DSP芯片在发送数据时,可以先将待发送数据写入网络控制器,再控制网络控制器通过网络发送出去;在接收数据时,可以先控制网络控制器接收并存储待接收数据,再从网络控制器中读取待接收数据。通过增加网络控制器这个数据收发中介,使得没有集成网络接口的DSP芯片能够通过网络传输数据。
2、在本发明实施例中,当DSP芯片判断出网络控制器的状态标志不为1时,删除网络控制器接收到的待接收数据,并退出中断服务程序,其中,当状态标志不是1时,表示网络控制器接收到的待接收数据中存在异常。由此可见,通过判断网络控制器的状态标志,DSP芯片即可得知网络控制器接收到的待接收数据中是否存在异常,进而能够删除出现异常的待接收数据,保证了自身运行的安全性。
3、在本发明实施例中,DSP芯片进一步将发送数据缓冲区划分为两个子缓冲区,其中,每一个子缓冲区都可以存储至少一帧数据。在网络控制器发送一个子缓冲区中的一帧待发送数据的同时,DSP芯片可以判断待发送数据是否全部写入发送数据缓冲区,如果否,就在网络控制器的另一个子缓冲区中写入下一帧待发送数据等待发送。由此可见,通过将发送数据和写入数据由两个子缓冲区轮流操作、并行处理,在待发送数据较多时,有效地避免了DSP芯片等待网络控制器发送完毕和网络控制器等待DSP芯片写入完毕所需的等待时间,提高了数据发送的效率。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元可以通过机械方式或电气方式实现。例如,一个硬件单元可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.DSP芯片传输数据的方法,其特征在于,包括:
在网络控制器内设置一个发送数据缓冲区和一个接收数据缓冲区;
当需要发送数据时,将待发送数据写入所述发送数据缓冲区,以使所述网络控制器通过网络发送所述待发送数据;
当需要接收数据时,运行中断服务程序,从所述接收数据缓冲区内读取所述网络控制器通过网络接收到的所述待接收数据。
2.根据权利要求1所述的方法,其特征在于,
在所述将待发送数据写入所述发送数据缓冲区之前,进一步包括:
将所述网络控制器的网络状态寄存器NSR的发送状态标志位清零,其中,当所述发送状态标志位为1时,表示所述待发送数据发送完成,当所述发送状态标志位为0时,表示所述待发送数据发送未完成;
所述将待发送数据写入所述发送数据缓冲区,包括:
将所述待发送数据通过所述网络控制器的写寄存器写入所述发送数据缓冲区;
设置所述网络控制器的发送控制寄存器TCR的发送控制标志位为1,以使所述网络控制器通过网络发送所述待发送数据;
检测所述NSR的所述发送状态标志位是否为1,若是,将所述发送状态标志位清零。
3.根据权利要求1所述的方法,其特征在于,所述运行中断服务程序,从所述接收数据缓冲区内读取所述网络控制器通过网络接收到的所述待接收数据,包括:
S1:接收所述网络控制器发来的中断指令,运行中断服务程序;
S2:从所述网络控制器的读寄存器中读取接收标志,判断所述接收标志是否为1,如果是,则执行S3,其中,当所述接收标志为1时,表示所述网络控制器接收到所述待接收数据;
S3:从所述网络控制器的读寄存器中读取状态标志,判断所述状态标志是否为1,如果是,则执行S4,其中,当所述状态标志为1时,表示所述网络控制器接收到的所述待接收数据不存在异常;
S4:从所述网络控制器的读寄存器中读取所述待接收数据的长度信息,并根据所述长度信息从所述接收数据缓冲区内读取所述网络控制器通过网络接收到的所述待接收数据。
4.根据权利要求3所述的方法,其特征在于,该方法进一步包括:
当判断出所述接收标志不为1时,判断所述接收标志是否为0,如果是,则退出中断服务程序,否则,重启所述网络控制器,并退出所述中断服务程序,其中,当所述接收标志为0时,表示所述网络控制器未接收到所述待接收数据,当所述接收标志为除0和1以外的其他值时,表示所述网络控制器出现异常。
5.根据权利要求3所述的方法,其特征在于,该方法进一步包括:
当判断出所述状态标志不为1时,删除所述网络控制器接收到的所述待接收数据,并退出中断服务程序,其中,当所述状态标志不是1时,表示所述网络控制器接收到的所述待接收数据中存在异常。
6.根据权利要求1所述的方法,其特征在于,
在所述在网络控制器内设置一个发送数据缓冲区和一个接收数据缓冲区之后,进一步包括:
将所述发送数据缓冲区划分为两个子缓冲区;
所述将待发送数据写入所述发送数据缓冲区,包括:
S1:将一帧所述待发送数据写入当前子缓冲区中,以使所述网络控制器通过网络发送写入所述当前子缓冲区中的一帧所述待发送数据;
S2:判断所述待发送数据是否全部写入所述发送数据缓冲区,如果否,则将另一个子缓冲区作为所述当前子缓冲区,返回执行S1。
7.根据权利要求1所述的方法,其特征在于,
所述从所述接收数据缓冲区内读取所述网络控制器通过网络接收到的所述待接收数据,包括:
从所述接收数据缓冲区内的读取位置读取所述待接收数据,并实时检测所述读取位置是否到达所述接收数据缓冲区的终止地址,如果是,将所述读取位置移动到所述接收数据缓冲区的起始地址。
8.DSP芯片传输数据的装置,其特征在于,包括:
分区模块,用于在网络控制器内设置一个发送数据缓冲区和一个接收数据缓冲区;
数据发送模块,用于当需要发送数据时,将待发送数据写入所述发送数据缓冲区,以使所述网络控制器通过网络发送所述待发送数据;
数据接收模块,用于当需要接收数据时,运行中断服务程序,从所述接收数据缓冲区内读取所述网络控制器通过网络接收到的所述待接收数据。
9.DSP芯片,其特征在于,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至7中任一所述的方法。
10.计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010472699.7A CN111641708A (zh) | 2020-05-29 | 2020-05-29 | Dsp芯片传输数据的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010472699.7A CN111641708A (zh) | 2020-05-29 | 2020-05-29 | Dsp芯片传输数据的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111641708A true CN111641708A (zh) | 2020-09-08 |
Family
ID=72331278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010472699.7A Pending CN111641708A (zh) | 2020-05-29 | 2020-05-29 | Dsp芯片传输数据的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111641708A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112202740A (zh) * | 2020-09-21 | 2021-01-08 | 上海微波技术研究所(中国电子科技集团公司第五十研究所) | 基于fpga的可唤醒udp传输协议实现方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101605088A (zh) * | 2008-06-12 | 2009-12-16 | 中兴通讯股份有限公司 | 实现基站控制器与基站收发信台间语音数据传输的方法 |
CN101770424A (zh) * | 2010-01-05 | 2010-07-07 | 天津七一二通信广播有限公司 | 适于数字通信终端底层协议栈的数据采集与仿真系统 |
CN102594627A (zh) * | 2012-03-12 | 2012-07-18 | 华中科技大学 | 一种基于fpga的千兆以太网现场总线通信装置 |
CN102760111A (zh) * | 2012-06-27 | 2012-10-31 | 浙江大学 | 一种基于fpga的扩展多串口装置及其数据收发方法 |
CN102932489A (zh) * | 2012-10-28 | 2013-02-13 | 中国电子科技集团公司第十研究所 | 多通道arinc429总线接口 |
CN106776458A (zh) * | 2016-12-13 | 2017-05-31 | 积成电子股份有限公司 | 基于fpga和hpi的dsp间的通信装置及通信方法 |
-
2020
- 2020-05-29 CN CN202010472699.7A patent/CN111641708A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101605088A (zh) * | 2008-06-12 | 2009-12-16 | 中兴通讯股份有限公司 | 实现基站控制器与基站收发信台间语音数据传输的方法 |
CN101770424A (zh) * | 2010-01-05 | 2010-07-07 | 天津七一二通信广播有限公司 | 适于数字通信终端底层协议栈的数据采集与仿真系统 |
CN102594627A (zh) * | 2012-03-12 | 2012-07-18 | 华中科技大学 | 一种基于fpga的千兆以太网现场总线通信装置 |
CN102760111A (zh) * | 2012-06-27 | 2012-10-31 | 浙江大学 | 一种基于fpga的扩展多串口装置及其数据收发方法 |
CN102932489A (zh) * | 2012-10-28 | 2013-02-13 | 中国电子科技集团公司第十研究所 | 多通道arinc429总线接口 |
CN106776458A (zh) * | 2016-12-13 | 2017-05-31 | 积成电子股份有限公司 | 基于fpga和hpi的dsp间的通信装置及通信方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112202740A (zh) * | 2020-09-21 | 2021-01-08 | 上海微波技术研究所(中国电子科技集团公司第五十研究所) | 基于fpga的可唤醒udp传输协议实现方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7251704B2 (en) | Store and forward switch device, system and method | |
US20100142418A1 (en) | Data communication system, data communication request device, and data communication response device | |
KR102173089B1 (ko) | 인터페이스 회로 및 그것의 패킷 전송 방법 | |
JPS604624B2 (ja) | 正しくない情報フレ−ムを再送するシステム | |
US8166227B2 (en) | Apparatus for processing peripheral component interconnect express protocol | |
US8219866B2 (en) | Apparatus and method for calculating and storing checksums based on communication protocol | |
CN102436430B (zh) | 存储设备、主机控制器和存储系统 | |
CN111641708A (zh) | Dsp芯片传输数据的方法和装置 | |
EP3065323B1 (en) | Transmission method and device based on management data input/output multi-source agreements | |
US20050144339A1 (en) | Speculative processing of transaction layer packets | |
CN109800202B (zh) | 一种基于pcie的数据传输系统、方法及装置 | |
JP2004021351A (ja) | Icカード及びその制御方法 | |
US20130036243A1 (en) | Host-daughtercard configuration with double data rate bus | |
CN113704006B (zh) | 通信方法、装置、电子设备、存储介质及片上系统 | |
CN116204214A (zh) | Bmc升级方法、装置、系统、电子设备及存储介质 | |
US7506079B2 (en) | Data processor and data communication method | |
KR100968314B1 (ko) | 프로그램 저장 디바이스, 호스트, 호스트 버스 어댑터,입력/출력 시스템 및 호스트 버스 어댑터로부터의 상태자동 표현 방법 | |
US20010018732A1 (en) | Parallel processor and parallel processing method | |
CN117170704B (zh) | 基于硬件iic的远程升级方法和装置 | |
CN112558979B (zh) | 实现不同层面之间数据交互的方法 | |
CN111124987B (zh) | 一种基于pcie的数据传输控制系统和方法 | |
JPS63228856A (ja) | 通信制御装置 | |
JP6163941B2 (ja) | 制御装置及び画像形成装置 | |
KR100464015B1 (ko) | 이동통신용 보드의 데이터 복구 방법 및 장치 | |
WO2010061482A1 (ja) | 試験装置、シリアル伝送システム、プログラム、および、記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200908 |
|
RJ01 | Rejection of invention patent application after publication |