CN101594364B - 高速浮点dsp处理器的以太网接口与tcp/ip协议实现技术 - Google Patents
高速浮点dsp处理器的以太网接口与tcp/ip协议实现技术 Download PDFInfo
- Publication number
- CN101594364B CN101594364B CN200910117126A CN200910117126A CN101594364B CN 101594364 B CN101594364 B CN 101594364B CN 200910117126 A CN200910117126 A CN 200910117126A CN 200910117126 A CN200910117126 A CN 200910117126A CN 101594364 B CN101594364 B CN 101594364B
- Authority
- CN
- China
- Prior art keywords
- floating point
- dsp processor
- point dsp
- speed floating
- adaptation unit
- 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)
- Communication Control (AREA)
Abstract
本发明针对高速浮点DSP处理器的特点,为其设计了一种以太网接口方案,并将TCP/IP协议在DSP高速浮点处理器上高效实现。发明内容包括接口的硬件逻辑设计、以太网适配器的底层驱动实现、TCP/IP协议在浮点DSP处理器上的实现,以及上位机通讯程序设计。本发明解决了高速浮点DSP处理器往往不能高速传输数据的问题。本发明具有很强的通用性,适用于任何浮点处理器。
Description
技术领域
本发明涉及电子与通讯技术领域,尤其是高速浮点DSP处理器的以太网接口与TCP/IP协议实现技术。
背景技术
自十多年前浮点数字信号处理器(Digital Signal Processors)诞生以来,便为实时信号处理提供了运算上更为先进的备选方案。
浮点DSP处理器较之于定点DSP处理器,有如下优势:(1)浮点DSP比定点DSP的动态范围大。32位浮点运算DSP的动态范围可以达到1536dB,不仅得到了极高的运算精度,还大大节省了运算时间和存储空间。减少了移位、溢出等问题的检查。(2)由于浮点DSP处理器可以在单周期内完成一条浮点运算。因而其处理速度远高于定点DSP。这一优点在实现高精度复杂算法时尤为突出,为复杂算法的实时处理提供了保证。(3)浮点DSP处理器也可以支持定点数据的存储于运算,其操作更为灵活。
鉴于以上优势,浮点DSP处理器备越来越多的应用于语音识别、实时视频信号处理、雷达和声纳信号处理等领域。然而,工程师们更多的关注于浮点DSP的高速运算能力,而忽略了发掘其对数据的高速传输功能。国内大部分浮点DSP应用系统,都是采用串口、USB口等接口进行数据传输的,在一定程度上限制了高速浮点DSP处理器的应用。
以太网接口是一种先进的仪器接口,其传输速度从20世纪90年代的10Mbps,迅速发展到了现在的10Gbps,但其硬件引线定义一直不变,为接口的更新换代提供了极大的便利。其高速、便利、远距离、即插即用等优势,更使国际上很多著名仪器公司将其作为最佳接口方案。
高速浮点DSP处理器虽然可以实现高精度和高速度运算,但其驱动能力较弱,不易实现以太网接口。而且,由于一般的TCP/IP代码未考虑到在浮点处理器上运行的特殊性,故不适宜移植到高速浮点DSP处理器中。国内只有极少数在浮点DSP处理器外围架设以太网接口的实例,但其控制逻辑处理不够,不能移植到其他处理器中,且未考虑TCP/IP协议的高效实现。
发明内容
本发明的目的是提供一种高速浮点DSP处理器的以太网接口与TCP/IP协议实现技术,针对现有技术的问题,从硬件设计上解决通用高速浮点DSP处理器外围假设以太网接口问题,并实现TCP/IP协议在浮点DSP处理器上的高效运行,从而使高速浮点DSP系统可以达到高速运算、高精度运算、高速传输的特性。
为了达到上述目的,本发明所采用的技术方案为:
高速浮点DSP处理器的以太网接口与TCP/IP协议实现技术,其特征在于:所述技术步骤为:
(1)采用以太网适配器和高速浮点DSP处理器,将高速浮点DSP处理器的低16位数据线与以太网适配器的数据线引脚一一对接,高速浮点DSP处理器的五根地址线引脚与以太网适配器的五根地址线引脚一一对接,所述高速浮点DSP处理器与以太网适配器的其他地址线引脚接地,所述以太网适配器的0号中断引脚与所述高速浮点DSP处理器的5号中断引脚对接,所述以太网适配器通过数据线与上位机连接;
(2)将以太网适配器设置成采用中断模式和查询模式相结合的通信方式,首先将以太网适配器设置成停止模式,经过一定的延时后,清除以太网适配器中寄存器的标志位,然后依次配置接收缓冲区起始页、配置接收缓冲区结束页、配置读指针寄存器、配置写指针寄存器、配置中断屏蔽寄存器、配置DMA寄存器和设置多点播送参数,最后将以太网适配器设置成正常工作模式;
(3)在高速浮点DSP处理器中采用C语言与汇编语言混合编写实现TCP/IP协议的程序,所述实现TCP/IP协议的程序流程如下:首先令高速浮点DSP处理器接收中断信号,如接收到中断信号,则高速浮点DSP处理器判断当前指针寄存器的值是否等于边界指针寄存器的值,如果等于,则跳回开始重新接收中断信号,如果不等,则高速浮点DSP处理器判断有新数据;高速浮点DSP处理器判断有新数据后,则判断新数据是否为ARP协议,如果是ARP协议,则高速浮点DSP处理器提取协议中信息,如果不是ARP协议,高速浮点DSP判断新数据是否为UDP协议,如果是UDP协议,则处理UDP报文并提取光谱信息,处理UDP报文并提取光谱信息后,等待下一个中断信号,如果不是UDP协议,则高速浮点DSP处理器重新接收中断信号;
(4)在上位机中用Visual C++语言首先调用Windows下的网络编程规范Windows Sockets,再在上位机中调用Windows Sockets中针对Windows的扩展库函数,并利用Windows的消息驱动机制,通过操作套接字Sockets来编写实现TCP/IP协议的程序,首先在上位机中调用Socket()函数,在函数中建立流式套接字,完成后返回套接字号,其次调用bind()函数,将套接字与远程主机相连,然后调用send()/recv()函数,在套接字上读写数据,直到数据交换完成,最后调用closesocket()函数,关闭套接字,结束通信。
所述的高速浮点DSP处理器的以太网接口与TCP/IP协议实现技术,其特征在于:所述以太网适配器的型号为RTL8019AS,所述高速浮点DSP处理器的型号为TMS320C6713,所述以太网适配器与所述高速浮点DSP处理器之间还连接有型号为SN74LVTH16245的双向总线驱动器。
本发明设计了DSP控制以太网适配器的逻辑电路;实现了以太网适配器的底层驱动;将TCP/IP协议在浮点DSP处理器上高效实现;设计了作为网络客户端的上位机的通信程序。本发明经过试验验证,当作为客户端的上位机向浮点DSP系统发送数据时,DSP处理器通过以太网适配器响应中断并读取数据,中断响应时间小于1ms。当DSP处理器通过以太网适配器向外部发送数据时,上位机可以正确读取数据,以太网接口的通信能力可达80M bit/s。
附图说明
图1为本发明系统构造示意图。
图2为JTAG信号增强模块原理示意图。
图3为TCP/IP协议中的数据报格式示意图。
图4为本发明一个具体实施例示意图。
图5为以太网适配器的底层驱动流程图。
图6为TCP/IP协议在浮点DSP处理器上高效实现的程序流程图。
图7为上位机的通信程序流程图。
具体实施方式
高速浮点DSP处理器的以太网接口与TCP/IP协议实现技术,所述技术步骤为:
(1)参见附图1和附图2。采用以太网适配器和高速浮点DSP处理器,所述以太网适配器的型号为RTL8019AS,所述高速浮点DSP处理器的型号为TMS320C6713,所述以太网适配器与所述高速浮点DSP处理器之间还连接有型号为SN74LVTH16245的双向总线驱动器。将高速浮点DSP处理器的低16位数据线与以太网适配器的数据线引脚一一对接,高速浮点DSP处理器的五根地址线引脚与以太网适配器的五根地址线引脚一一对接,所述高速浮点DSP处理器与以太网适配器的其他地址线引脚接地,所述以太网适配器的0号中断引脚与所述高速浮点DSP处理器的5号中断引脚对接,所述以太网适配器通过数据线4与上位机连接;
本发明中,高速浮点DSP处理器控制以太网适配器的逻辑电路,以太网适配器选用REALTEK公司的RTL8019AS,该芯片是一款高集成的10M全双工以太网接口控制器。RTL8019AS可以按16位总线模式读取。高速浮点DSP处理器一般使32位处理器,因此,需将其低16位与RTL8019AS的数据线一一对接。RTL8019AS地址线有20根,高速浮点DSP处理器为达到运行高速,可采用DMA方式发送数据,因此,地址线只连接了5根,其他地址线固定拉至低电平。采用RTL8019AS的0号中断与DSP的中断5对接,即当RTL8019AS有数据流时,高速浮点DSP处理器将会通过5号中断响应。RTL8019AS为5V器件,而TMS320C6713工作电压是3.3V,所以二者之前所有连接均通过SN74LVTH16245进行隔离转换。
(2)参见附图5。将以太网适配器设置成采用中断模式和查询模式相结合的通信方式,首先将以太网适配器设置成停止模式,经过一定的延时后,清除以太网适配器中寄存器的标志位,然后依次配置接收缓冲区起始页、配置接收缓冲区结束页、配置读指针寄存器、配置写指针寄存器、配置中断屏蔽寄存器、配置DMA寄存器和设置多点播送参数,最后将以太网适配器设置成正常工作模式;
本发明中,DSP处理器启动后,首先控制RTL8019AS,将其置于停止模式。经过一定的延时后,清除寄存器的标志位。然后对RTL8019AS的寄存器位进行配置,其中包括中断寄存器、DMA寄存器等。最后,将芯片配置为正常工作模式,与外部网络连接,从而实现以太网适配器的底层驱动。RTL8019AS提供两种通信模式,即中断模式与查询模式:中断模式是指,在新数据到达时,控制RTL8019AS的处理器响应RTL8019AS相应管脚发出的中断,从而得知有数据到达并处理数据;查询模式是通过CURR和BNRY两个寄存器的值来判断是否有新数据,即当这两个值不等时,表明接收到了新数据。为了提高光谱数据传输的准确率,本设计采用了两种模式相结合的方式。当有新数据到达时,DSP处理器首先响应RTL8019AS的中断,进入中断服务子程序。在中断服务子程序中,DSP对CURR和BNRY两个寄存器的值进行判断,当两个值不等时,认为有新数据到达。
(3)参见附图3和附图6。在高速浮点DSP中采用C语言与汇编语言混合编写实现TCP/IP协议的程序,所述实现TCP/IP协议的程序流程如下:首先令高速浮点DSP接收中断信号,如接收到中断信号,则高速浮点DSP判断当前指针寄存器的值是否等于边界指针寄存器的值,如果等于,则跳回开始重新接收中断信号,如果不等,则高速浮点DSP判断有新数据;高速浮点DSP判断有新数据后,则判断新数据是否为ARP协议,如果是ARP协议,则高速浮点DSP提取协议中信息,如果不是ARP协议,高速浮点DSP判断新数据是否为UDP协议,如果是UDP协议,则处理UDP报文并提取光谱信息,处理UDP报文并提取光谱信息后,等待下一个中断信号,如果不是UDP协议,则高速浮点DSP重新接收中断信号;
本发明中TCP/IP协议在浮点DSP处理器上高效实现。嵌入式TCP/IP协议族是一组不同层次上的协议组合。其层次由底而上分别为链路层、网络层、传输层和应用层。在TCP/IP协议中,以太网数据报的封装是在RFC894中规定的。同时,考虑到浮点DSP处理器数据运算格式的特殊性,将数据报中的数据内容按照浮点格式打包。嵌入式TCP/IP主要包括实现IP地址到物理地址动态映射的ARP协议,其中包括ARP请求和ARP应答;实现网际传输的IP协议;检测主机是否可达的ping应答和端口不可达的ICMP协议;实现数据快速简单传输的UDP协议;实现数据可靠传输的TCP协议。其中UDP和TCP两种不同传输层协议应用于不同的场合,在不同的应用中可以只加载一种协议模块,也可以同时支持这两种协议。实现协议的代码采用C语言和汇编语言混合编程的方式,汇编语言参考TI公司的TMS320C6000的汇编指令结构。所有代码在TI公司提供的DSP开发环境CCS中调试,并最终烧录到DSP外围的FLASH存储器中。系统上电时,将自动从FLASH存储器中引导程序。
(4)参见附图7。在上位机中用Visual C++语言首先调用Windows下的网络编程规范Windows Sockets,再在上位机中调用Windows Sockets中针对Windows的扩展库函数,并利用Windows的消息驱动机制,通过操作套接字Sockets来编写实现TCP/IP协议的程序,首先在上位机中调用Socket()函数,在函数中建立流式套接字,完成后返回套接字号,其次调用bind()函数,将套接字与远程主机相连,然后调用send()/recv()函数,在套接字上读写数据,直到数据交换完成,最后调用closesocket()函数,关闭套接字,结束通信。
本发明中上位机中编写通信程序。Windows操作系统已经将TCP/IP协议做了适当封装,所以,在PC机上实现TCP/IP协议较为方便。在Visual C++可以直接调用Windows下的网络编程规范——Windows Sockets。Windows Sockets是一种支持多种协议的网络编程接口,本设计调用其中包含的针对Windows的扩展库函数,并利用Windows的消息驱动机制进行编程。协议的实现过程是通过操作套接字(Sockets)来完成的。
参见附图4。在实际的系统中,根据需要用计算机产生模拟高精度光谱数据,并将光谱数据进行运算处理,将其高速发送给某处理器控制的双口RAM中,可将本发明应用在系统中。在实施例中,本发明采用TMS320C6713 DSP为CPU,即高速浮点DSP处理器。采用RTL8019为以太网适配器。计算机直接与DSP实现的以太网接口通过网线相接。计算机实时产生模拟高精度光谱数据,并以UDP协议将光谱数据发送给DSP处理器。数据格式按照浮点格式打包。TMS320C6713以TCP/IP协议接收数据,并进行运算处理,将处理后的数据通过共享双口RAM的方式发送给外部处理器。以太网接口的通信能力可达80M bit/s。
Claims (1)
1.高速浮点DSP处理器的以太网接口与TCP/IP协议实现方法,其特征在于:
(1)采用以太网适配器和高速浮点DSP处理器,将高速浮点DSP处理器的低16位数据线与以太网适配器的数据线引脚一一对接,高速浮点DSP处理器的五根地址线引脚与以太网适配器的五根地址线引脚一一对接,所述高速浮点DSP处理器与以太网适配器的其他地址线引脚接地,所述以太网适配器的0号中断引脚与所述高速浮点DSP处理器的5号中断引脚对接,所述以太网适配器通过数据线与上位机连接;
(2)将以太网适配器设置成采用中断模式和查询模式相结合的通信方式,首先将以太网适配器设置成停止模式,经过一定的延时后,清除以太网适配器中寄存器的标志位,然后依次配置接收缓冲区起始页、配置接收缓冲区结束页、配置读指针寄存器、配置写指针寄存器、配置中断屏蔽寄存器、配置DMA寄存器和设置多点播送参数,最后将以太网适配器设置成正常工作模式;
(3)在高速浮点DSP处理器中采用C语言与汇编语言混合编写实现TCP/IP协议的程序,所述实现TCP/IP协议的程序流程如下:首先令高速浮点DSP处理器接收中断信号,如接收到中断信号,则高速浮点DSP处理器判断当前指针寄存器的值是否等于边界指针寄存器的值,如果等于,则跳回开始重新接收中断信号,如果不等,则高速浮点DSP处理器判断有新数据;高速浮点DSP处理器判断有新数据后,则判断新数据是否为ARP协议,如果是ARP协议,则高速浮点DSP处理器提取协议中信息,如果不是ARP协议,高速浮点DSP判断新数据是否为UDP协议,如果是UDP协议,则处理UDP报文并提取光谱信息,处理UDP报文并提取光谱信息后,等待下一个中断信号,如果不是UDP协议,则高速浮点DSP处理器重新接收中断信号;
(4)在上位机中用Visual C++语言首先调用Windows下的网络编程规范Windows Sockets,再在上位机中调用Windows Sockets中针对Windows的扩展库函数,并利用Windows的消息驱动机制,通过操作套接字Sockets来编写实现TCP/IP协议的程序,首先在上位机中调用Socket()函数,在函数中建立流式套接字,完成后返回套接字号,其次调用bind()函数,将套接字与远程主机相连,然后调用send()/recv()函数,在套接字上读写数据,直到数据交换完成,最后调用closesocket()函数,关闭套接字,结束通信;
所述以太网适配器的型号为RTL8019AS,所述高速浮点DSP处理器的型号为TMS320C6713,所述以太网适配器与所述高速浮点DSP处理器之间还连接有型号为SN74LVTH16245的双向总线驱动器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910117126A CN101594364B (zh) | 2009-06-23 | 2009-06-23 | 高速浮点dsp处理器的以太网接口与tcp/ip协议实现技术 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910117126A CN101594364B (zh) | 2009-06-23 | 2009-06-23 | 高速浮点dsp处理器的以太网接口与tcp/ip协议实现技术 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101594364A CN101594364A (zh) | 2009-12-02 |
CN101594364B true CN101594364B (zh) | 2012-10-10 |
Family
ID=41408806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910117126A Expired - Fee Related CN101594364B (zh) | 2009-06-23 | 2009-06-23 | 高速浮点dsp处理器的以太网接口与tcp/ip协议实现技术 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101594364B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101917360B (zh) * | 2010-02-11 | 2013-05-08 | 深圳市国微电子有限公司 | 一种提取混频信号中的高速信号的装置、方法及系统 |
CN103218332A (zh) * | 2013-03-19 | 2013-07-24 | 中国科学院声学研究所 | 一种支持vme总线和hpi总线加载的阵列信号处理装置 |
CN111163106B (zh) * | 2020-01-02 | 2022-03-25 | 上海航天测控通信研究所 | 一种基于天地网关的高速网络预处理装置 |
-
2009
- 2009-06-23 CN CN200910117126A patent/CN101594364B/zh not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
徐敏.基于DSP的以太网接口设计与实现.《科技广场》.2008,(第8期),第167-170页. * |
陈安等.嵌入式系统在DSP与网络接口中的应用.《工业控制计算机》.2007,第20卷(第6期),第34-35页. * |
Also Published As
Publication number | Publication date |
---|---|
CN101594364A (zh) | 2009-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112543925B (zh) | 用于使用专用低延迟链路的多个硬件加速器的统一地址空间 | |
US10101797B2 (en) | Efficient power management of UART interface | |
KR101238622B1 (ko) | 통합된 커넥터 아키텍처 | |
EP2761386B1 (en) | Managing sideband segments in on-die system fabric | |
US20090094399A1 (en) | Dynamic virtualization of switches and multi-ported bridges | |
CN104954795B (zh) | 一种基于jpeg2000的图像采集传输系统 | |
JP2009543181A5 (zh) | ||
US9632557B2 (en) | Active state power management (ASPM) to reduce power consumption by PCI express components | |
JP2007200351A5 (zh) | ||
CN101594364B (zh) | 高速浮点dsp处理器的以太网接口与tcp/ip协议实现技术 | |
CN105814537A (zh) | 可扩展输入/输出系统和技术 | |
CN202838317U (zh) | 总线装置及背板系统 | |
CN201812284U (zh) | 一种存储器接口 | |
CN101950276B (zh) | 一种存储器访问装置及其程序执行方法 | |
CN115776653A (zh) | 一种车载数据的获取方法、装置、设备及介质 | |
CN203102274U (zh) | 一种高速数据传输连接器 | |
Geer | Networks on processors improve on-chip communications | |
CN209044575U (zh) | 基于pis的存储装置控制器、存储装置及系统 | |
KR100306596B1 (ko) | 프로세서와 재설정가능 칩을 사용한 집적회로 에뮬레이터 | |
CN101557292A (zh) | 一种网络处理控制器 | |
CN113607173B (zh) | 一种基于fpga的机器人激光定位方法 | |
Zhang et al. | Research and design of embedded tank car monitoring system based on ARM9 | |
Abdaoui et al. | Video acquisition between USB 2.0 CMOS camera and embedded FPGA system | |
US20240231967A1 (en) | Circuitry for routing and delay correction in a multi-functional unit system | |
Sonawane et al. | Design and Implementing of Serial Ports to Ethernet Gateway on Embedded System |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121010 Termination date: 20130623 |