基于DSP的上网方案的软硬件设计与实现
在运输层实现了UDP和TCP.
UDP协议是一种面向无连接的不可靠的协议,用两个文件udpin.c和udpout.c来实现.udpin.c实现对udp包输入的处理,判断其端口号、检验和是否正确,正确则将其数据交给相应端口的应用程序,不正确则丢弃;udpout.c实现对udp包输出的处理,从应用程序接收数据,设置相应的源端口号和目的端口号,再交给IP层发送.值得注意的是,计算UDP包的检验和与计算IP包的检验和是不一样的,IP包的检验和只覆盖了IP包的首部,而UDP包的检验和则覆盖了UDP包的首部和所有的数据.UDP一体电感包计算检验和时还引入了一个12字节的伪首部,包括4字节的源IP地址、4字节的目的IP地址、1字节的零段、1字节的协议段和两字节的检验和,其目的是让UDP两次检查数据是否正确地到达了目的地. TCP协议与UDP协议虽然同是运输层协议,但是它提供一种面向连接的可靠的字节流服务.TCP协议是所有协议中最复杂、也是最难实现的一块,主要由tcpin.c、tcpout.c、tcptimer.c和tcpstatem.c四个文件分块实现,并根据具体应用的需要进行简化绕行电感器.TCP的控制块tcb用结构体来实现,每一个tcb包含一条TCP连接的所有控制和状态信息,全部的tcb形成了一个双向链表,有利于在所有TCP连接中进行搜索.tcptimer.c负责管理TCP协议中的各种状态信息,它内含前向后向指针,使之形成定时器超时,PC机上的TCP协议包含快慢两个定时器,这里仅仅实现了一个500ms的慢速定时器,因为没有快速定时器,所以不支持ACK报文延迟,收到一帧即立即发送ACK;tcpstatem.c是TCP的状态机函数,根据TCP连接所处的不同状态以及发生的事件来决定TCP连接的状态变迁;tcpout.c负责tcp报文的发送,典型的发送过程是当接收到上层应用程序的数据时,首先发送SYN帧,与目标节点三次握手建立连接,之后加上TCP首部,交给下层IP模块发送,并通过重传定时器实现超时重发、持续定时器发送窗口探测帧等功能,待所有数据发送完毕并得到确认后发送FIN帧,通过四次握手关闭连接,tcpout.c还可在不同状态和事件下被其它程序调用发送ACK帧、RST帧等其它TCP报文;tcpin.c负责接收从下层IP模块接收到的TCP数据包,并根据TCP连接的状态信息以及TCP首部的各个标志位进行分支处理,将数据交给对应端口的上层应用程序,并调用其它函数实现对TCP包的响应和状态变迁.在PC机上往往可以同时维护多条TCP连接;但在DSP上,由贴片电感于DSP速度和RAM容量的限制,只支持一条TCP连接;这样大大简化了程序的复杂度,同时也满足了实际需要,如果今后有需要,还可以进行扩展. 综上所述,TCP/IP协议的具体处理流程如图4所示.
本文通过DSP与网卡的一体成大电流电感型电感器硬件接口的设计及编程,使DSP实现了基于以太网的TCP/IP通信,从而使DSP可以通过网线进行联网,并可以实时地与计算机进行通信,交换大量的数据和控制信息.本文所介绍的技术已经在作者功率电感器参加的国家"97绕行电感器3"项目"复杂自然环境时空定量信息的差模电感获取与融合处理的理论与应?quot;的硬件设计中得到应用,并运行良好
Laplacian图像边缘检测器的FPGA实现研究1 引言 边缘可定义为图像中灰度发生急剧变化的区域边界,它是图像最基本的特征,是图像分析识别前必不可少的环节,是一种重要的图像预处理技术。边缘检测主要就是(图像的)灰度变化的度量、检测和定位,它是图像
求问saber的FMEA。saber中的FMEA分析,那个testify模块如何使用?
可有大神指导或有这方面资料?
你可以问我
谢谢版主,刚刚摸索了一段,有问题再请教您
版主您好,我已经在fault simulation
开关电源电磁兼容性问题研究1 前言开关电源因具有体积小、重量轻、效率高、工作可靠、可远程监控等优点,而广泛应用于工业、通讯、军事、民用、航空等各个领域。在很多场合,开关电源,特别是通信开关电源要有很强的抗电磁干扰能力,如对浪涌