人人文库网 > 图纸下载 > 毕业设计 > DZ089频分复用、霍夫曼编码、网络流量、Web Server、DSK语音、同步与定时和串行通信系统设计
频分复用、霍夫曼编码、网络流量、Web Server、DSK语音、同步与定时和串行通信系统设计.doc
DZ089频分复用、霍夫曼编码、网络流量、Web Server、DSK语音、同步与定时和串行通信系统设计
收藏
资源目录
压缩包内文档预览:(预览前20页/共81页)
编号:149922691
类型:共享资源
大小:1.65MB
格式:RAR
上传时间:2021-10-10
上传人:好资料QQ****51605
认证信息
个人认证
孙**(实名认证)
江苏
IP属地:江苏
20
积分
- 关 键 词:
-
DZ089频分复用、霍夫曼编码、网络流量、Web
Server、DSK语音、同步与定时和串行通信系统设计
DZ089
频分复用
霍夫曼
编码
网络流量
Web
Server
DSK
语音
同步
定时
串行
- 资源描述:
-
DZ089频分复用、霍夫曼编码、网络流量、Web Server、DSK语音、同步与定时和串行通信系统设计,DZ089频分复用、霍夫曼编码、网络流量、Web,Server、DSK语音、同步与定时和串行通信系统设计,DZ089,频分复用,霍夫曼,编码,网络流量,Web,Server,DSK,语音,同步,定时,串行
- 内容简介:
-
摘 要摘 要综合课题毕业设计包括 8 个设计课题:频分复用、霍夫曼编码、网络流量、Web Server、DSK 语音、同步与定时和串行通信。传输专题要求理解通信各个环节的电路以及功率和带宽的计算,然后利用Protel 绘制出各个单元电路,例如振荡电路、调制电路、分频电路等等。霍夫曼编码是在充分理解了霍夫曼编码的原理之后编写一个软件来实现霍夫曼编码的功能,并分析压缩率。网络流量课题的设计目的是通过从不同的角度对数据进行分析,得到结论,然后利用网络知识解释分析流量变化原因。Web Server 专题要求了解嵌入式系统开发环境,通过服务器端程序的编写了解基本的动态网站的设计方法。DSK 语音设计要求理解 DSK 语音在工程实现上的方法。根据设计要求,给出一种语音编解码的实现方案,基于 TI 公司提供的 TMS320VC5416 DSK 给出实现结果;通过本实验体会并初步学会 DSP 技术的实现方法及开发流程。同步与定时专题要求设计 AD9959 的外围电路,然后设计一个软件来控制AD9959 使之输出我们需要的频率。串行通信专题要求进一步了解串行通信的基本原理;掌握串行接口芯片的工作原理和编程方法。关键词关键词:频分复用,霍夫曼编码,网络流量,Web Server,DSK 语音,同步与定时,串行通信 ABSTRACTAbstractThis diploma design contains eight projects: FDM, Huffman code, Network flux, Web server, DSK voice process, DDS and Serial communicate.FDM project requires deep understanding of the process of communication, then design some important parts of the circuit.In Huffman code project, I design a software which help us to make Huffman code come true.Network flux project let us analyze the flux between two nets.Web server projects aim is make us know the basic method of how to design a website based on C/S.DSK voice process offers a solution to transmit voice through DSP process.In DDS design we design circuit for AD9959, and then we use VB to write a program to control the AD9959 to generate the frequency we desire. Keywords: FDM, Huffman code, Network flux, Web server, DSK voice process, DDS and Serial communicate目 录目 录第一章 传输专题(频分复用).11.1 设计原理.11.2 系统的带宽和功率计算.21.2.1 功率计算.21.2.2 带宽计算.21.3 单元电路设计.31.3.1 振荡电路.31.3.2 同向输入放大器.41.3.3 加法器.41.3.4 调制电路.51.3.5 滤波器.51.3.7 四二转换器电路.61.3.8 频率合成器.71.4 系统总电路图.81.5 总结和体会 .12第二章 霍夫曼编码.132.1 设计目的与要求.132.2 设计原理.132.3 设计过程.142.3.1 霍夫曼编码的软件流程.152.3.2 设计结果.152.4 设计结果分析 .162.4.1 生成测试文件.162.4.2 随机文件读取.172.4 总结 .19第三章 网络流量监测及分析.213.1设计背景和目的.213.2设计要求.213.3 监测及分析的原理 .22目 录3.3.1 监测的原理.223.3.2 监测软件 Sniffer.223.4方法与过程.223.5 数据包分析 .233.6 全天数据总流量变化图 .263.7 流量分析.273.7.1 网络进出流量分析.273.7.3 TCP 和 UDP 流量分析.283.7.4 FTP 流量分析.283.8 安全漏洞 .293.9 结论与体会.30第四章 WEB SERVER.314.1 设计目的.314.2 设计环境.314.2.1 硬件环境.314.2.2 软件环境.32 Linux 系统.32 虚拟机.324.3 基本操作.324.5 HTTP 协议简介 .334.5.1 报文.334.5.2 请求报文.344.5.3 响应报文.344.5.4 首部.354.6 TCP 通信流程 .364.7 程序功能实现.374.7.1 功能实现设计思想.374.7.2 程序中相关代码解释.384.8 程序最终效果.414.9 总结 .42第五章 DSK 语音.43目 录5.1 设计目的 .435.2 设计环境 .435.2.1 硬件设备.435.2.2 软件 .445.3 设计原理.455.3.1 DSK 语音编解码原理:.455.3.2 PCM3002 的结构框图如下图:.455.4 设计步骤 .455.4.1 PCM3002 CODEC API 介绍.455.4.2 为设计好的方案画各部分的流程图。 .465.4.3 根据流程图用 C 语言写程序。.465.4.4 编译调试.475.5 总结 .49第 6 章 DDS 频率合成技术.506.1 引言.506.2 硬件电路设计.526.3 软件设计 .546.3.1 程序重要模块分析.556.3.2 总体流程图.566.4 总结 .60第 7 章 串行通信.617.1 引言.617.2 设计方案 .617.2.1 8250A 简介.617.2.2 8250A 内部寄存器。.627.3 8250 与 PC 机通信.647.3.1 串行口连接示意图.647.3.2 设计流程图.657.3.3 设计电路图.657.4 设计改进.66目 录7.4.1 程序改进.667.4.2 硬件改进.677.5 总结 .69参考文献.70致 谢.71外文资料原文.72译 文.74第一章 传输专题1第一章 传输专题(频分复用)1.1 设计原理用于传输信号的许多系统都可以提供一个比信号所要求的频带宽的多的带宽。利用正弦幅度调制把它们的频谱在频率上进行搬移,使已调信号的频谱不再重叠,那样就能够在同一个宽带信道上同时传输这些信号。这就是频分复用的概念。在频分复用系统中,每一个信号的频谱在正的和负的频率上重复,因此已调信号就占据了原始信号两倍的带宽,这一点在频带的利用上是不经济的。所以我们采用单边带调制频分复用。频分复用系统的原理方框图如下图所示。 图 1-1 频分复用原理图由于消息信号往往不是严格的限带信号,因而在发送端各路消息首先经过低通滤波,以便限制各路信号的最高频率,为了分析问题的方便,这里我们假设各路的 fm 都相等。然后对各路信号进行线性调制,各路调制器的载波频率不同。 在选择载频时,应考虑到边带频谱的宽度。同时为了防止邻路信号间的相互干扰,还应留有一定的保护频带,即 =1,2. 公式(1-1))()() 1(gmccffififin其中: 与分别为第 +1 路与 路的载频频率;) 1( ifc)(ifcii:每一路调制信号的最高频率,本设计中为 3.4KHz;mf电子科技大学学士学位论文2:邻路间保护带。gf邻路间的保护频带 越大,则在邻路信号干扰指标相同的情况下,对带通gf滤波器的技术指标的要求就可以放宽一些 ,但这时占用的总的频带就要加宽,这对提高信道复用率不利。因此在实际中,通常提高带通滤波器的技术指标,尽量减小邻路间的保护频带。gf各路已调信号相加送入信道之前,为了免它们的频谱重叠,还要经过带通滤波器。在信道中传送的 路信号的总的频带宽度最小应等于:n 公式(1-2)mmgmgmnfBnfffnfnnfB1) 1()(1() 1(式中 =,它是一路信号占用的带宽。1Bgmff 在频分复用系统的接收端,首先用带通滤波器(BPF)来区分各路信号的频谱,然后通过各自的相干解调器解调,再经低通滤波后输出,便可恢复各路的调制信号。1.2 系统的带宽和功率计算在这个系统中首先要解决带宽和功率问题。1.2.1 功率计算每调制一次,电压幅度就衰减 1/2,经过两次调制,电压幅度衰减为原来的1/4。在二四线转换中,电压还要衰减 1/2,总的电压衰减为 1/8。按照功率与电压的关系,总功率就衰减了 1/64。而根据设计要求,线路上的信号总功率为0.9mw,分到每一路信号的功率为 0.9/24mw。由此可见要加放大器对发射信号进行放大。同理也要加放大器对接受信号进行放大。经过计算要对发射信号放大 24倍。1.2.2 带宽计算实际中语音信号频带 300Hz3400Hz,电缆传输频带 60KHz156KHz,每路话音信号取 4kHz 作为标准频带,由题目所给,电缆传输频带 60kc156kHz,带宽96kHz。由于是全双工,96kHZ 的带宽正好可容纳 24 路信号,即 AB,12 路,BA,12 路。它们在一个信道上传输,这样就充分利用了信道资源。第一章 传输专题3在采用滤波法的时候要考虑过渡带。因为实际中语音信号频带300Hz3400Hz,所有允许过渡带为 600HZ。而实现滤波器的难易与过渡带相对于载频的归一化值有关。过渡带相对于载频的归一化值计算方法如下式: 公式(1-3)CLff/1题目要求=0.01 ,随着载频的提高,就满足不了题目要求,所有我们采用二次调制。第一次用 12KHz,16KHz,20KHz 调制形成前群。按最高载频计算, =600/20*103=0.03,即 3% 。第二次用 84KHz,96 KHz,108 KHz,120KHz 调制,按最高载频 120KHZ 计算, =24*103/120*103 =0.2 1.3 单元电路设计单元电路包括振荡电路、放大器、幅度调制电路、解调电路、滤波器、加法器、四二转换器电路、载频提取电路、频率合成电路。1.3.1 振荡电路电感分压反馈型振荡器电路,如图 11 所示。图中:电阻、构成直流偏置电路;电容为隔直流电容。1bR2bReReCbC、和为振荡元件。1L2LC图 1-1 振荡器电路电子科技大学学士学位论文4设输入信号在基极的瞬时极性为正。在共集放大器中,集电极输出信号在同一瞬间的瞬时极性为负。此信号经过电抗元件、和构成的振荡回路,在1L2LC两端的瞬时极性和集电极上的一样,也为负。那么,在下端的瞬时极性就1L2L应该为正。因此回送给基极的反馈信号与输入信号的瞬时极性符号相同,故此电路为正反馈环路,满足相位平衡条件。如果这个电路同时还满足 AB1,那么该电路就可以起振。A 是放大器的开环增益;B 是反馈网络的反馈系数。其起振频率公式为1: 公式(1-4)CLf1021取100,7mH,则6KHz。CpF1L0f1.3.2 同向输入放大器同向输入放大器电路如图 12 所示。信号自同向端输入,和组成sUeRfR反馈网络,跨接在输入端和反相输入端之间,形成串联电压负反馈。图 12 放大器输出信号与输入信号的关系是: 公式(1-5)sfURRU)/1 (10我们取900,100,则放大倍数是 10。fR1R1.3.3 加法器加法器总共要 4 个,在前群调制时需要 3 个,在二次调制时需要一个来插入导频。同向比例加法器如图 13 所示:第一章 传输专题5图 13 同向加法器当满足=时,输出信号与输入信号的关系是:1R2R3RfR=+ 公式(1-6)0U1sU2sU3sU1.3.4 调制电路我们采用 MC1596 来实现调制。 图 14 调制电路1.3.5 滤波器k 称为过渡比,定义为spk 公式(17)k1 称为分辨参数,定义为电子科技大学学士学位论文6112Ak 公式(18)我们假设峰值通带纹波1dB,最小阻带衰减40dB,所要用到的公式有:111lg102 公式(19)401lg102A 公式(110) kkN1lg11lg 公式(111)通带截止频率 f1KHz,阻带截止频率 f3.7KHz, 25895. 02 100002A 7 . 3/1psk 51334.1961/1k于是得到 N4.03623,我们取 N5。高通滤波器是用于在两次调制时获取上边带或者下边带的。第一次用 12KHz,16KHz,20KHz 调制形成前群后,取上边带,我们举调制频率 12KHz 为例,通带截止频率是 12300Hz 和 15400Hz,阻带截止频率是 11700Hz和 15700Hz。通带宽均为 4KHz第二次用 84KHz,96KHz,108KHz,120KHz 进行调制,取下边带,从而将四个前群调制到了 60KHZ108KHZ 的频带上。我们举调制频率 84KHz 为例,通带截止频率是 72KHz 和 60Hz,阻带截止频率是 96Hz 和 36KHz。通带宽均为 12KHz。第一章 传输专题71.3.7 四二转换器电路由于语音信号是收和发同时存在(收二线,发二线),所以是四线,而传输线是二线,这就需要进行四二线转换。在将二次群信号送入电缆传输时,为了使发送方不至于收到自己发出的信号,采用混合线圈。混合线圈原理是一个平衡电桥,使本端发送的信号不能渗漏到本端的接收信号处而形成回波。输入端是 B1 和 GND,输入被 R2 和 R3 分压,输出端是 A2 和 A1,传输线二线输入和输出是一样的。当电桥平衡时(4 个电阻大小相等),发端信号在收端 A, B 两点产生的电位相等,A 到 B 间无电流流过,所以收端不会收到发端信号。而对发端和收端来说,输入,输出阻抗均为 600。具体电路如图 15 所示:图 15 四二转换器1.3.8 频率合成器由振荡器电路产生标准频率源,经参考分频器 R 分频后,得到参sf考频率=/R 送到鉴相器的一输入端,VCO 输出频率经 N 分频后rfsf0f送到鉴相器的二输入端。环路锁定时有=/N,因此 VCO 输出信号频rf0f率为 = N /R= N 。即输出信号频率为输入参考信号频率的 N0fsfrf0frf倍,改变 N(分频系数)就可得到不同频率的输出。图 16 是频率合成的原理图。电子科技大学学士学位论文8图 16 频率合成原理图CD4046 是低频多功能单片集成锁相环路。具有电源电压范围宽、功耗低和输入阻抗高等优点,最高工作频率为1MHz。由 CD4046 组成的频率合成器如下图所示。图 17 频率合成器1.4 系统总电路图前群调制的载波分别为 12KHz,16KHz,20KHz。分为 4 个前群调制模块。前群调制模块原理图如下图所示:第一章 传输专题9第一路信号加法器第二路信号调制电路 1第三路信号调制电路 2调制电路 3图 18 前群调制原理图前群调制模块的电路图如下图所示:图 19 前群调制电路图4 个前群调制组成二次调制,第二次用 84KHz,96 KHz,108 KHz,120KHz 载波调制,导频也是在这里插入,原理框图如下:电子科技大学学士学位论文10前群调制模块 1前群调制模块 2前群调制模块 3前群调制模块 4调制电路 1调制电路 2调制电路 3调制电路 4加法器放大器四-二转换器导频输出图 110 二次调制原理图电路图如下图所示:图 111 二次调制电路图通过窄带滤波器可以提取出导频,然后通过频率合成器可以生成相干检波所需的载波。解调模块的原理图,第一章 传输专题11BPF 截止频率(60+4N)KHz(64+4N)KHz放大器乘法检波器LPF 截止频率4KHz窄带滤波器频率合成器信号输出图 111 解调模块的原理图解调模块的电路图:图 112 解调模块的电路图整个解调电路的原理框图如图所示:电子科技大学学士学位论文12低通滤波相干解调相干解调相干解调低通滤波低通滤波64khz68khz104khzOut1Out2Out12截止频率 4khz带通滤波器 26468khz6064khz带通滤波器12104108khz信号频率合成器频率合成器频率合成器60KHz图 113 解调电路原理框图1.5 总结和体会在设计过程中,我复习了通信原理和通信电子线路的相关知识,将这些知识应用到设计中来,对频分复用有了更深入的理解。并且我对 Protel 的操作熟练多了,对电路图的绘制有了进一步提高;对于通信过程中所要涉及到的各个模块有了更深的了解。 带通滤波器 1第二章 霍夫曼编码13第二章 霍夫曼编码2.1 设计目的与要求通过本专题设计,掌握熵编码的原理和方法,并熟悉 C 语言的使用。霍夫曼(Huffman)编码是 1952 年为文本文件而建立,是一种统计编码。属于无损压缩编码。霍夫曼编码的码长是变化的,对于出现频率高的信息,编码的长度较短;而对于出现频率低的信息,编码长度较长。这样,处理全部信息的总码长一定小于实际信息的符号长度。2.2 设计原理Huffman 于 1952 年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就称 Huffman 编码。下面引证一个定理,该定理保证了按字符出现概率分配码长,可使平均码长最短。定理:在变字长编码中,如果码字长度严格按照对应符号出现的概率大小逆序排列,则其平均码字长度为最小。现在通过一个实例来说明上述定理的实现过程。设将信源符号按出现的概率大小顺序排列为 :表 21 分布率 1Ua1A2a3a4a5a6a700.01给概率最小的两个符号 a6 与 a7 分别指定为“1”与“0” ,然后将它们的概率相加再与原来的 a1a5 组合并重新排序成新的原为:表 22 分布率 2Ua1a2a3a4a5a61电子科技大学学士学位论文14对 a5 与 a6 分别指定“1”与“0”后,再作概率相加并重新按概率排序得U:(0.26 0.20 0.19 0.18 0.17)直到最后得 U:(0.61 0.39)霍夫曼编码的具体方法:先按出现的概率大小排队,把两个最小的概率相加,作为新的概率和剩余的概率重新排队,再把最小的两个概率相加,再重新排队,直到最后变成 1。每次相加时都将“0”和“1”赋与相加的两个概率,读出时由该符号开始一直走到最后的“1” , 将路线上所遇到的“0”和“1”按最低位到最高位的顺序排好,就是该符号的霍夫曼编码。例如 a7 从左至右,由 U 至 U,其码字为 0000;a6 按线线将所遇到的“0”和“1”按最低位到最高位的顺序排好,其码字为 0001用霍夫曼编码所得的平均比特率为: 码长出现概率上例为:0.22+0.192+0.183+0.173+0.153+0.14+0.014=2.72 bit可以算出本例的信源熵为 2.61bit,二者已经是很接近了。采用霍夫曼编码时有两个问题值得注意:首先,霍夫曼码没有错误保护功能,在译码时,如果码串中没有错误,那么就能一个接一个地正确译出代码。但如果码串中有错误,哪怕仅是 1 位出现错误,不但这个码本身译错,更糟糕的是一错一大串,全乱了套,这种现象称为错误传播(error propagation)。计算机对这种错误也无能为力,说不出错在哪里,更谈不上去纠正它。其次,霍夫曼码是可变长度码,因此很难随意查找或调用压缩文件中间的内容,然后再译码,这就需要在存储代码之前加以考虑。尽管如此,霍夫曼码还是得到广泛应用。2.3 设计过程下面是软件的流程图以及软件的最终界面。程序由下面几个模块组成:ReadFileAndCollectData():找出源文件路径和名称,读文件把数据移到缓存区中。CountTheFourBit():统计数据低四位和高四位的出现次数共 16 种。CaculateAndSaveTheHuffmanCode():给 16 种符号创建霍夫曼码字。CompressAndSaveFile():写霍夫曼文件头、码表、文件,算出压缩率率。第二章 霍夫曼编码152.3.1 霍夫曼编码的软件流程找出源文件路径和名称读文件把数据移到缓存区中统计数据低四位和高四位的出现次数共 16 种写霍夫曼文件头、码表、文件,算出压缩率率显示各节点的比率找出次数最少的两个节点给 16 种符号创建霍夫曼码字将转换后的霍夫曼码字保存到缓存区中再次读入文件转换成霍夫曼码字图 21 软件流程2.3.2 设计结果根据设计要求所完成软件的最终效果如图 22 所示。图 22 软件界面电子科技大学学士学位论文16对话框包括显示输入文件路径和名称,压缩文件和名称,压缩率,还有 16个节点所占比例。这个比例可以帮助我们判断源文件的分布。生成的压缩文件的大小有 4 个组成部分:文件头、霍夫曼码表、文件名和转换过后的霍夫曼码字。压缩率是源文件和转换过后的霍夫曼码字的比值。2.4 设计结果分析通过选择大量满足不同分布(比如:均匀分布、正态分布等)的测试文件,作出各种分布的概率密度函数曲线,通过图表分析不同分布情况下的压缩比。下面就生成测试文件和随机文件两个方面来分析。软件中的压缩率是源文件与生成的压缩文件之比,压缩后的文件包括 4 个部分:文件头、码表、文件名和霍夫曼码字。2.4.1 生成测试文件1均匀分布如表 21 所示。 表 21 均匀分布压缩率表节点概率压缩率1/23.33331/32.41/421/51.6777测试文件生成时取 0,1,3,F 这 16 个节点,当只取 0 和 1 时,节点概率就是 1/2,依此类推。可见随着节点的增加,压缩率呈下降趋势。2分布如表 22 所示。n2表 23 分布压缩率表n2节点个数压缩率12.333322.142932.114342.1分布表示节点个数是 n 个,比如说 n3,则节点是 3 个,每个节点出现的n2第二章 霍夫曼编码17概率分别是,个,个,个数以 2 的幂次方增长。可见随着节点的0212n2增加,压缩率也呈下降趋势。根据霍夫曼编码的原理,可以知道均匀发布时压缩率是最小的,而分布时n2压缩率最大。这和生成测试文件的实验结果是完全一致的。下面我们就随机文件的压缩率做一个分析。2.4.2 随机文件读取我们从软件中读到随机文件中的节点分布的概率密度,然后用柱状图画出,就可以看出概率分布与压缩率的关系。图 23 概率分布与压缩率关系图 1图 24 概率分布与压缩率关系图 2电子科技大学学士学位论文18图 25 概率分布与压缩率关系图 3图 26 概率分布与压缩率关系图 4图 27 概率分布与压缩率关系图 5第二章 霍夫曼编码19图 28 概率分布与压缩率关系图 6从这个变化趋势图中可以清楚的看到随机文件的分布越接近均匀分布,压缩率越小,压缩效果越不好,分布中越接近分布,压缩率越高,压缩效果就越好,n2这也和霍夫曼编码的原理是一致的。均匀分布和分布如下图所示。n2图 29 各类分布由此可以得出所有的压缩算法都有自身的应用场合,适合于什么样的信源才能达到最佳效果。2.4 总结在设计中,为了方便分析比较概率分布与压缩率的关系,在软件上添加了 16个文本框用来显示 16 个节点的概率。对于程序中出现的一些 bug,经过分析调试进行了修改。比如,如果后缀名的长度大于 3 个或者文件名中有(.)号,则压缩后的后缀名就不单单是.hfm 了,如果路径名中有(.)号则程序还会报错不能正常运行。电子科技大学学士学位论文20通过这次设计我有以下 3 个收获,1、信源编码以及霍夫曼编码的原理;2 一个算法要转换到代码所要经历的过程,它会涉及到编程语言和编程工具。3、每一个压缩编码都有它最适用的场合和背景。第三章 网络流量监测及分析21第三章 网络流量监测及分析3.1 设计背景和目的网络流量监测和网络行为学研究涉及到网络运行状态的测量、分析、特征化和控制,通过这些方面的研究能够掌握并优化网络运行状况,增强网络运行的可靠性,更为有效的进行网络的规划和设计。网络应用的发展、网络结构的复杂化和用户的增多给网络管理、维护和检测技术带来很大的难度。网络流量监测是网络性能分析和通信网络规划设计的基础,精确的流量统计分析对设计高性能网络协议、高效网络拓扑结构、业务量预测与网络规划、精确的网络性能分析与预测、拥塞管理与流量均衡都有重要意义。因此,目前的网络流量采集和 IP 统计技术,已不仅用于网络流量费用的计算上,更重要的是透过对所采集数据的分析,可较为准确地获知站点的访问情况以及网络设备运作的状态从而实现对网络流量的监控和异常情况的报警。3.2 设计要求1、设计者在了解实验目的后,自行设计监测计划,和按计划取得数据。自己制定数据分析方法和分析角度,得出实验结论。2、完成至少 4 种类型的数据包的分析,列出每个字段的含义。除了给出该字段的数值外,还要指出字段值表达了怎样的信息。3、做出全天数据总流量变化图。4、至少从 3 种不同角度对流量进行分析。5、完成整个监测计划中每天流量变化的比较分析。分析的重点不是各项统计数据本身,实验者需要完成对这些数据值的大小、关系、变化趋势等方面的进行分析和评价,进一步得出网络流量特点的结论,并尝试揭露形成相应特点的原因。电子科技大学学士学位论文223.3 监测及分析的原理3.3.1 监测的原理如果把 Sniffer 与交换机的一个端口相连接,我们就只能看到广播、组播合送往未知地址的流量,而不是送往指定目的地的流量。我们可以用端口映射的办法来解决。我们可以这样设置交换机,使它把经过一个端口的流量都发送给交换机上的端口。但是,对于不同厂家的产品,开启映射的方式不同,对于运行 Cisco IOS 的 Cisco 交换机,可以使用下面的命令来启动映射功能:port monitor interface| vlan vlan-id。在运行了 Cisco CatOS 的 Cisco 交换机上,如果想把端口1/10 的所有数据都映射到端口 3/1 上,可以用下面的命令:set span 1/10 3/1。 3.3.2 监测软件 SnifferSniffer 是 Network Associates 公司 Sniffer 技术商业部门生产的一种网路分析软件。这种软件用于网路故障与性能管理,是业界应用最广泛的工具,它占网路分析软件市场的 76%。23.4 方法与过程在选定的监测点;利用交换机的 Monitor 功能和监测软件获取监测数据;多次监测,进行采样、统计、比较和分析。可以通过从不同的角度对数据进行分析,得到实验结论和利用网络知识解释分析流量变化原因。下面就各层给出了几个分析角度。数据链路层可:广播、单播,分析广播风暴;报文长度,分析各种长度报文所占比例,计算报文平均长度等。 网络层:源和目的;分析内外网进出流量,分析焦点节点流量比例及变换情况;分析 ICMP 报文,网络开销比例等。传输层:分析面向连接协议与面向无连接协议的使用情况。应用层:分析各种典型应用的使用情况 第三章 网络流量监测及分析233.5 数据包分析在使用 Sniffer 时,整个过程中最主要的部分就是分析捕获文件。下面选取了4 个数据报文进行了分析。1.捕获并分析 ARP 报文图 31 ARP 报文硬件类型1 与 Sniffer 相连的媒体的类型。协议类型0800(IP)产生请求要求的上层协议。硬件地址长度6 字节 这个媒体的 MAC 地址的长度(以太网时 6 个字节) 。协议地址长度4 字节 高级协议地址的长度(IP 是 8 个字节) 。Opcode1(ARP 请求)ARP 帧的类型。发送方的硬件地址00E04C2CD8F0 发送方的 MAC 地址。发送方的协议地址06 发送方的 IP 地址。目标硬件地址000000000000 目标的 MAC 地址。请注意这个地址全部设定为0。这个发送请求的硬件没有地址信息;实际上是发送方想要 ARP 请求的内容。目标协议地址 目标的 IP 地址。第一个帧已经被捕获和分析,可知第一个帧是作为“广播”发送的请求电子科技大学学士学位论文24(Opcode1),而第二个 ARP 帧是响应(Opcode2),是作为单播数据包直接发送出去的。换句话说,响应是直接发送给发送方的,这样可以减少网络中的广播流量。2.捕获并分析 TCP 报文图 3-2 TCP 报文来源端口63479 客户端的 TCP 端口,用于这次 FTP 对话中。目的端口FTP 使用的著名端口(21) 。序号168397937 存在与发送方的 TCP 流中。第一个序号是随机生成的。下一个期望的序号168397938 要注意下一个期望的序号并不是 TCP 头文件的一部分。数据间隔28 bytes 这个长度是变化的,要取决于 TCP 文件头中的各个选项。标记02 在连接建立时对序号进行同步。窗口65535 TCP 窗口的大小说明了接受方可以接受的数据量。这个参数如果太小(小于 MTU 大小)通常意味着接受方遇到了某种性能问题。校验和0FBC 是接受方确保文件头在传输过程中没有中断。没有 TCP 选项。第三章 网络流量监测及分析253.捕获并分析 CDP 报文图 33 CDP 报文在 CDP 头部中,应该注意到以下一些重要信息:CDP 采用的是多播目标 MAC 地址:01-00-0C-CC-CC-CC(用于 CDP 和 VTP)DLC 后面所跟的 802.3 帧的总长度为 372 字节,是指除了 DLC 头之外的所有内容的长度SNAP 中的前 3 字节表示 OUI ID,这里是 00-00-0C 代表厂商 CiscoSNAP 中的后 2 字节表示此帧承载的协议类型,0x2000 表示是 CDP 协议当前采用的 CDP 的版本是 CDP2.0保持时间(TTL)为 180 秒校验和:2 字节T(2 字节):0x0001(设备名称)L(2 字节):6(T、L、V 加在一起的总长度)V(2 字节):ap(主机名称)电子科技大学学士学位论文264.捕获并分析 IP 报文图 34 IP 报文版本:当前版本是 4;首部长度:数据报总长度为 20bytes;服务类型:优先级为 0,TOS 比特为 0000,说明正常;总长度:70bytes,首部加上数据;标识:36577,这个标识和源 IP 地址唯一的定义了这个数据报;标志:00,标识可分片,且是最后的分片;分片偏移:0;生存时间:还有 119 跳;协议:使用 IP 层服务的高层协议是 ICMP;校验和:D3E0,正确;源地址:10目的地址:06第三章 网络流量监测及分析273.6 全天数据总流量变化图图 3-5 是全天总流量图,可以分为 4 个阶段。可以看出第一个阶段从监测开始即 9:50 到 11:30 流量呈现上升的趋势;第二个阶段从 11:45 到 12:40 是全天平均流量最大的时段,达到 10581512bytes/10minutes;第三个阶段从 12:50 到 15:30是流量起伏时期;第四个阶段从 17:50 开始流量又开始增加,全天单位流量最大值出现在 18:02。这 4 个阶段数据流量也符合人们的作息时间。图 3-5 全天流量图3.7 流量分析3.7.1 网络进出流量分析图 3-6 所示的为一天中网络的进出流量分析图。蓝线是进入流量,红线是流出流量。流量单位是 byte。电子科技大学学士学位论文28图 3-6 进出流量分析虽然网络流量具有突发性,但是从图中两条曲线可以看出实际情况是进网流量大部分时间比出网流量大。这是因为出网流量中主要是聊天发送的信息以及请求报文,进网流量中有网页浏览和下载文件占了很大比例,而随着网络技术的发展,尤其是 FTP 以及 P2P 的大量使用,使得网络流量激增。3.7.3 TCP 和 UDP 流量分析TCP 是传输控制协议,UDP 是用户数据报协议。TCP 和 UDP 都是属于传输层协议,负责承担数据传输的任务,其中 TCP 属于可靠的面向连接服务,UDP 是不可靠的无连接数据报服务。下图是将全天的 TCP 和 UDP 流量做比较,蓝线代表 TCP 流量,红线代表UDP 流量。流量单位是 byte。第三章 网络流量监测及分析29图 3-7 TCP 和 UDP 流量比较从图中可以看出 TCP 流量远大于 UDP 流量。基于 TCP 协议的服务有 FTP 、HTTP 等等,尤其是下载视频文件,使得FTP 流量很大;而基于 UDP 协议的服务有 SNMP 和 QQ 等等,这些流量相对很少,所以 TCP 流量要远大于 UDP 流量。3.7.4 FTP 流量分析FTP 是 TCP/IP 协议组中的协议之一,是英文 File Transfer Protocol 的缩写。在 TCP/IP 协议中,FTP 标准命令 TCP 端口号为 21,Port 方式数据端口为 20。下图是全天的 FTP 流量图:图 3-8 FTP 流量图从图中我们可以将全天的 FTP 流量分为 4 个阶段,第一阶段是从 9:50 到10:45,这一阶段 FTP 流量很少,从 10:50 到 12:00 是全天 FTP 流量最大的时段,从 12:00 到 17:30 是 FTP 流量相对平稳,且比前一阶段要少,从 17:30 到 19:30 是全天 FTP 流量第二集中的时段。将 FTP 流量图和全天流量图比较可以看到流量集中的时段是基本吻合的,这也说明 FTP 流量占全部流量的大部分。3.8 安全漏洞我们的网络并不是十全十美的,它有一些漏洞,现举一例说明 FTP 的密码在流量中是以明文传输的,如图 3-9 中浅蓝色标注的部分所示,FTP 服务器地址是:电子科技大学学士学位论文30,密码是 inter。图 3-9 FTP 密码3.9 结论与体会如今网络已经渗入到各行各业中,但如何对网络进行管理,恐怕很多人还知之甚少。在计算机网络的质量体系中,网络管理是一个关键环节,网络管理的质量也会直接影响网络的运行质量。当网络出现问题时,人们通常是一筹莫展,或者只能网络管理人员的经验解决问题,这样就导致了故障检修具有一定程度的盲目性。通过这次实验,我发现Sniffer 不仅能帮助你进行网络管理与故障检修,它还为如何检修网络故障提供了很多有益的思路。第四章 Web Server31第四章 Web Server4.1 设计目的了解嵌入式系统交叉开发环境,了解开发机、宿主机、交叉编译、交叉调试等概念;通过实现 webserver 程序设计,掌握嵌入式系统的交叉开发环境的使用方法和基本的动态网站的设计方法。4.2 设计环境4.2.1 硬件环境图 41 设备连接情况嵌入式系统也被称为嵌入式计算机系统,它是以应用为中心,以计算机技术为基础,软硬件课裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式系统包括硬件和软件两部分。硬件部分主要包括嵌入式核心芯片、存储器系统和外部接口。软件部分包括嵌入式操作系统和应用软件。嵌入式系统本身不具备开发能力,必须有一套开发工具和环境才能进行开发。MagicARM2410 实验箱是一款可使用 C/OS-II、Linux 和 WinCE 操作系统、支持 QT、MiniGUI 图形系统的 ARM9 教学实验开发平台,如图 42 所示。它采用 ARM920T 内核的 S3C2410A 微处理器,扩展有 SDRAM、NAND Flash、NOR 电子科技大学学士学位论文32Flash 和 E2PROM 等存储资源,具有 10/100M 以太网接口、USB HOST 接口、USB Device 接口、CAN 接口、PCMCIA 存储卡接口、IDE 硬盘接口、CF 卡接口、SD 卡接口、IrDA 接口和 IIS 数字音频接口,以及一个 8 英寸 640480 真彩 TFT液晶屏(带触摸屏) ,可使用 JTAG 仿真调试。4.2.2 软件环境 Linux 系统Linux 系统是一套免费使用和自由传播的类 Unix 操作系统,它是由世界各地成千上万个程序员设计和实现的,其目的是建立不受任何商品化软件版权制约、全世界都能自由使用的 Unix 兼容产品。由于 Linux 是一套具有 Unix 全部功能的免费操作系统,它在众多软件中占有很大优势,为广大计算机爱好者提供了学习、探索和修改计算机操作系统内核的机会。 虚拟机这里提到的虚拟机是指安装在开发机上一种软件。这个软件在开发机的系统上虚拟出一个“计算机” ,一个有 CPU、内存、硬盘和外围设备的计算机,我们可以调整这个虚拟计算机的硬盘大小、内存大小、有哪些外设等。在这个计算机上我们又可以安装一个不同的操作系统。为什么在开发机上还要如此麻烦地再安装一个操作系统呢?我们再来看看嵌入式开发环境,开发机和目标机的硬件体制不同,如果操作系统也不一样,那么在开发机上编译目标机的程序就更困难了。所以我们要么在开发机上安装与目标机相同的操作系统,如 Linux;要么就使用虚拟机的方式,在虚拟机上安装Linux,在 Linux 中编译目标机的程序。4.3 基本操作在虚拟机中使用嵌入式 Linux 系统的交叉编译环境,打开虚拟机程序:VMWare GSX server console,进入 Linux 系统,打开串口控制台,对实验箱进行控制,了解开发机上的交叉编译环境。编译例程,然后进行编译,如果出现编译错误,请改正程序中的相应错误后,第四章 Web Server33再次编译。上传程序后执行程序。在开发机上打开 IE 浏览器,输入 URL 就可以看到相关的网页。4.5 HTTP 协议简介HTTP(Hyper Text Transfer Protocol)是超文本传输协议的缩写,它用于传送WWW 方式的数据,HTTP 协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于 MIME 的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。下图就是 HTTP 工作的方式。图 43 HTTP 工作模式4.5.1 报文HTTP 报文有两种通用类型,这两种通用类型如图 44 所示。图 44 报文的种类电子科技大学学士学位论文344.5.2 请求报文请求报文包括请求行、首部,以及有时出现的主体。如图 45 所示。请求行定义请求类型、统一资源标识符(URL)、协议版本号。请求行包括请求类型、空格、统一资源标识符(URL)、空格以及协议版本号。如图 4-6 所示。图 45 请求报文图 46 请求行4.5.3 响应报文响应报文包括状态行、首部,有时也包括主体。如图 47 所示。状态行定义响应报文的状态。它包括协议版本号、空格、状态行、和状态短语。如图48 所示。第四章 Web Server35图 47 响应报文 图 48 状态行4.5.4 首部首部在客户和服务器之间交换附加的信息.例如,客户可以请求文档已特殊的形式发送出去,或服务器可以发送关于该文档的额外信息。首部可以有一个或多个首部行。每一个首部行由首部名、冒号、空格和首部值组成。图 49 首部的格式首部行属于 4 个种类中的一个:通用首部、请求首部、响应首部和实体首部。请求报文可以只包含通用首部、请求报文和实体首部。响应首部则只包含通用首部、响应首部和实体首部。图 410 画出了请求报文和响应报文。电子科技大学学士学位论文36图 410 首部4.6 TCP 通信流程我们使用 TCP 流套接字的面向连接的并发客户服务器通信。服务器在同一时间可以对多个客户提供服务。对于这种类型的服务器,在同一时间可以打开多个连接。因此需要多个端口,但是服务器只能使用一个熟知端口。解决的方法是使用一个熟知端口和几个短暂端口。服务器在熟知端口发出被动打开。客户首先是找到这个端口进行连接。当连接建立后,服务器就为这个连接指派一个短暂端口,而把这个熟知端口释放出来。数据传输就能够在这两个短暂端口之间进行,这两个端口一个在客户端,一个在服务器端。图 411 给出了服务器和客户端的事件流程图。第四章 Web Server37图 411 面向连接的并发服务器的套接字接口4.7 程序功能实现4.7.1 功能实现设计思想本软件设计实现了下面两个功能:电子科技大学学士学位论文381. 网页内容中包含基本的文字信息,图片信息,要求要美观简洁。2. 网页要具有交互功能,不能只是一个静态网页。我选择的是身份验证和超级链接。身份验证实现在网页中实现通过输入帐号和密码实现用户身份认证的功能。如果帐号和密码正确,则服务器弹出一个网页确认,如果帐号和密码不正确,则服务器弹出一个网页报告错误。超级链接实现点击链接后,跳转到另一页面。下图就是实现这两个功能的程序流程图。图 412 服务器端程序流程图网页的传送通常有两种方法:采用数组传送网页的文本信息,页面的设计含在程序代码中;直接传送已经设计好的网页,可以通过 Deamweaver 以及 ASP 等第三方软件设计动态网页,我是采用 HTML 语言直接实现的。4.7.2 程序中相关代码解释下面是服务器程序的几个主要代码的解释:1.HTTP 头部的定义首先发送 HTTP 头部接着发送页面。HTTP 头部发送采用数组的方式,头部分为两种:文本头部和图片头部,分别定义如下:第四章 Web Server39char httpweb= HTTP/1.0 200 OKrn Date: Mon, 24 Nov 2005 10:26:00 GMTrn Server: microHttp/1.0 ZHIYUAN Electronics CO.,LTDrn Accept-Ranges: bytesrn Connection: Keep-ClosernContent-Type: text/htmlrnrn;其中Content-Type: text/htmlrn表明了头部的类型为文本类型,其后所传送的数据是文本内容。char httpgif= HTTP/1.0 200 OKrn Date: Mon, 24 Nov 2005 10:26:00 GMTrn Server: microHttp/1.0 ZHIYUAN Electronics CO.,LTDrn Accept-Ranges: bytesrn Connection: Keep-ClosernContent-Type: image/bmprnrn;其中Content-Type: image/bmp rn表明了头部的类型为图片类型,其后所传送的数据是图片内容。2.客户请求信息处理GetFileName(char bufferLENGTH):此函数将 revbuf 中的特定数据取出来,通过比较来判断客户端索要的文件,然后再发送。GetFileName(char bufferLENGTH)if(buffer5= ) if (buffer5=b) if (buffer5=g) if (buffer5=t) if (buffer5=S) 电子科技大学学士学位论文40 if (buffer24=1&buffer35=1) if (buffer5=s&buffer15= ) if(buffer5=s&buffer15=?&(buffer24!=1|buffer35!=1) 3.文件传送页面发送是采用直接发送文件,首先读取页面的大小再分配同样大小的内存空间,然后发送出去。函数定义如下3:SendFile()char *p;FILE *fp1;int i;fp1 = fopen(str1,rb);fseek(fp1,0,SEEK_END);int len=ftell(fp1);rewind(fp1);p = (char *)malloc(len);while(!feof(fp1) i = fread(p,1,len,fp1); if(ilen) send(nsockfd,p,i,0); printf(%dn,i); break; else i = send(nsockfd,p,len,0); 第四章 Web Server41 if(i!=len) printf(need to continue write.n); printf(%dn,i); fclose(fp1); free(p);4.8 程序最终效果初始页面“史上最强搜索引擎”最终效果如图 413 所示:图 413 最终效果首先打开服务器的程序,等待接受请求,通过 revbuf 中的特定数据来判断客户端是什么请求,然后调用 SendFile 函数来发送数据。如果点击页面上任何一个链接,就会跳出图 414 所示的页面。为了实现身份验证功能,我在两张图片上也设置了超级链接,当用户点击时,就会弹出认证页面,如图 415 所示。电子科技大学学士学位论文42 图 414 测试页面图 图 415 认证页面当输入帐号和密码正确时,就会弹出认证正确的欢迎画面,如图 416 所示。如果输入帐号或密码有错误,就会弹出认证错误画面,如图 417 所示。 图 416 认证正确页面 图 417 认证错误画面4.9 总结这次的设计专题有两个有待提高的地方。第一个就是程序的稳定性有待提高。GetFileName()函数将 revbuf 中的数据取出来,应用特定数据的判断来得知客户端索要的文件,但是所有的数据判断都是基于单个符号的,这对程序的稳定性带来了隐患,如果有多个文件某些特定位相同,服务器就会出现混乱,发送错误的页面。改进的方法可以再设计一个字符比较函数就可以解决这个问题。第二个不足是交互式页面的设记略显简单,改进的方法是可以设计一个数据库文件,让用户输入的帐号和密码与数据库中的记录比较就更加科学。第五章 DSK 语音43第五章 DSK 语音5.1 设计目的1.进一步学习 DSK 语音技术,并理解其在工程实现上的方法。2.根据实验要求,给出一种语音编解码的实现方案,基于 TI 公司提供的TMS320VC5416 DSK 给出实现结果。 3.通过本实验体会并初步学会 DSP 技术的实现方法及开发流程。5.2 设计环境5.2.1 硬件设备硬件设备一台计算机,TMS320VC5416 DS一套,5416DSK 实验板结构参见图51。图 51 TMS320VC5416 DSKDSP 芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的 DSP 指令,可以用来快速地实现各种数字信号处理算法。 下图就是 TMS320C54x 的结构框图。电子科技大学学士学位论文44图 52 TMS320C54x 的结构框图5.2.2 软件软件CCS(Code Composer Studio)为 TI 公司的 DSP 集成开发环境。它提供了环境配置、源文件编辑、程序调试、跟踪和分析等工具,可以帮助用户在一个软件环境下完成编辑、编译链接、调试和数据分析等工作。与 TI 提供的早期软件开发工具相比,利用 CCS 能够加快软件开发进程,提高工作效率。 CCS 一般工作在两种模式下:软件仿真器和与硬件开发板相结合的在线编程。前者可以脱离 DSP 芯片,在 PC 机上模拟 DSP 的指令集与工作机制,主要用于前期算法实现和调试。后者实时运行在 DSP 芯片上,可以在线编制和调试应用程序。第五章 DSK 语音455.3 设计原理5.3.1 DSK 语音编解码原理:语音编解码原理:AD 转换DSPDA 转换VinLVinRDoutDinVoutLVoutR图 5-3 DSK 编码原理5.3.2 PCM3002 的结构框图如下图:的结构框图如下图:图 54 PCM3002 的结构框图5.4 设计步骤集成开发环境为我们提供了 Chip Support Library,这使我们的开发更加容易,提高了效率,屏蔽了对底层硬件的操作。5.4.1 PCM3002 Codec API 介绍介绍DSK5415_PCM3002_openCodec():Allocate an identifying handle for an instance of a codecDSK5416_PCM3002_closeCodec() :Release a codec handleDSK5416_PCM3002_setParams() :Set parameters on codec registersDSK5416_PCM3002_read16() :Read 16 bits from the codec data stream 电子科技大学学士学位论文46DSK5416_PCM3002_read32():Read 32 bits from the codec data streamDSK5416_PCM3002_write16():Write 16 bit value to the codec data streamDSK5416_PCM3002_write32():Write 32 bit value to the codec data streamDSK5416_PCM3002_rset() :Set the value of a codec control registerDSK5416_PCM3002_rget():Return the value of a codec registerDSK5416_PCM3002_outGain():Set the codec output gainDSK5416_PCM3002_loopback():Enable/disable the codec loop-back modeDSK5416_PCM3002_mute() :Enable/disable the codec mute modeDSK5416_PCM3002_powerDown():Enable/disable the codec powerdown modesDSK5416_PCM3002_setFreq():Set the codec sample rate5.4.2 为设计好的方案画各部分的流程图。为设计好的方案画各部分的流程图。图 55 流程图5.4.3 根据流程图用根据流程图用 C 语言写程序。语言写程序。#include dsk5416.h#include dsk5416_pcm3002.hDSK5416_PCM3002_Config setup = 0x100, / Set-Up Reg 0 - Left channel DAC attenuation 0x1ff, / Set-Up Reg 1 - Right channel DAC attenuation 0x0, / Set-Up Reg 2 - Various ctl e.g. power-down modes第五章 DSK 语音47 0x0, / Set-Up Reg 3 - Codec data format control;Int16 s100;void UserTask()int i;DSK5416_PCM3002_CodecHandle hCodec; / Open codec with default settingshCodec = DSK5416_PCM3002_openCodec(0, &setup);/Start the codec/ Configure codec with default and mute bit setDSK5416_PCM3002_config(0, &setup);while(1)for(i=0;i100;i+)while(!DSK5416_PCM3002_read16(hCodec, &si);/ Set codec frequency to 24KHz DSK5416_PCM3002_setFreq(hCodec, 24000); while(!DSK5416_PCM3002_write16(hCodec, si); void main() / Initialize the board support library DSK5416_init(); UserTask();5.4.4 编译调试编译调试1.启动 CCS2,在“project”菜单下选择“new” ,开始创立一个新的工程文件dsk.pjt,参见下图。电子科技大学学士学位论文48图 56 新建工程2.在“project”菜单下利用“Add Files To Project”将编写好的 dsk.c、C 语言标准库 rts.lib 和 lik.cmd 添加到 project 下。一般情况下,CCS 会自动在源程序中包含的头文件,参见下图。图 57 添加文件第五章 DSK 语音493.在“project”菜单中选择“options” ,可以加入编译、连接参数开关选择窗口。右键单击“project”文件夹下的工程文件名也可加入。4.使用“project”菜单下的 build 或 rebuild all 命令完成该工程的编译连接。5.如编译连接没有错误,可以利用“File”菜单中的“Load Program” ,将生成的.out 文件装入目标板。6.可以在“Debug”菜单项中 ,选择启动程序运行。5.5 总结通过本次设计,我把通信原理、数字信号处理及 DSP 技术课程的有关知识又梳理了一下,对 DSP 的开发流程有全局性的认识。我还了解语音编解码的全过程,然后利用 CCS 中的各种工具对其进行调试仿真,最后观察设计结果。电子科技大学学士学位论文50第 6 章 DDS 频率合成技术6.1 引言DDS 是一种全数字化的频率合成器,由相位累加器、波形 ROM、D/A 转换器和低通滤波器构成。时钟频率给定后,输出信号的频率取决于频率控制字,频率分辨率取决于累加器位数,相位分辨率取决于 ROM 的地址线位数,幅度量化噪声取决于 ROM 的数据位字长和 D/A 转换器位数。DDS 有如下优点:(1)频率分辨率高,输出频点多;(2)频率切换速度快,可达 us 量级;(3)频率切换时相位连续;(4)可以输出宽带正交信号;(5)输出相位噪声低,对参考频率源的相位噪声有改善作用;(6)可以产生任意波形;(7) 全数字化实现,便于集成,体积小,重量轻,因此八十年代以来各国都在研制和发展各自的 DDS 产品,如 AD 公司的 AD7008,AD9850,AD9854 等。本设计中使用 AD 公司的 DDS 芯片 AD9959, AD9959 是一款采样率可达500MHz 的四通道 DDS 芯片,最高输出频率可达 200MHz。它由系统时钟部分、DDS 通道及串行 I/O 三部分组成,其功能框图如下:图 61 AD9959 工作原理框图第 6 章 DDS 频率合成技术51AD9959 包括四个完整的 DDS 通道。一个完整的 DDS 通道由数字波形产生器、数字/模拟转换器(DAC)和专用的控制逻辑组成,能够提供 32 位频率分辨率控制,14 位相位偏移控制和 10 位幅度控制。输出频率计算公式为: 公式(6-1)32320202)(FTWwithfFTWfs其中是系统时钟频率,FTW 是频率控制字,代表相位累加器容量。sf322其中是系统时钟频率,FTW 是频率控制字,代表相位累加器容量。DDSsf322工作原理如下图所示:图 62 DDS 工作原理框图AD9959 主要引脚介绍:MASTER_RESET:高电平有效,使 AD9959 各寄存器的值恢复到默认值。I/O_UPDATE:上升沿电平将 I/O 口的数据送到寄存器中。P0-P3:用来选择调制方式的数据引脚,可以用来控制扫频模式的开始和结束。SCLK:I/O 口数据交换的时钟。SDIO0-3:数据交换引脚。AD9959 主要寄存器介绍:Channel Select Register(CSR):CSR 寄存器通过 4 个通道使能位的设置来决定电子科技大学学士学位论文524 个通道的开关,还可以选择哪种串行的模式。Function Register 1(FR1):FR1 寄存器由 3 个字节构成,本设计中涉及到了调制模式的选择。Function Register 2(FR2):FR2 寄存器由 2 个字节构成,用来控制 AD9959 诸多功能、特性和模式。三种模式下 FR2 寄存器的设置是一样的。Channel Function Register(CFR):CFR 寄存器是对相位累加器的操作以及扫描方式的设定,选择驻留扫频或者是不驻留扫频。Channel Frequency Tuning World 0(CTW0):通道 0 的频率控制字。Amplitude Control Register (ACR):幅度控制寄存器。Linear Sweep Ramp Rate (LSR):线性扫频速率。6.2 硬件电路设计并口线接 AD9959 的SCLK、IO_UPDATA、P0、P1、P2、P3、MASTER_RESET、SDIO_3、SDIO_2、SDIO_1、SDIO_0 引脚,并通过这些引脚输入高低电平控制 AD9959 的寄存器。图 63 并口接口下图是 AD9959 Channel 的输出没 有经过滤波。第 6 章 DDS 频率合成技术53图 65 DAC 输出下图是在 Channel 0 输出后加上插板滤波器(巴特沃兹滤波器)后频率输出,这样的输出曲线会平滑很多。图 66 带插板滤波器输出电路下图是电源稳压电路,使用 TPS76033 芯片。电子科技大学学士学位论文54图 67 电源稳压电路整个电路图由 4 个部分组成:并口电路、时钟电路、4 个输出通道外部电路、电源稳压电路。下图是整体电路:图 64 总体框图6.3 软件设计由于在 Windows XP 系统屏蔽了对并口的直接操作,所以设计软件之前要安装第三方的驱动,这样可以让我们能够用它提供的 API 函数直接对并口操作。第 6 章 DDS 频率合成技术55DDS 输出有三种模式:单频模式(4 通道输出相同或不同) 、驻留模式、不驻留模式,这个是通过 CFR 寄存器的 14 位和 15 位控制的。由于 4 通道是相互独立的,可以通过 CSR 寄存器来控制 4 个通道输出是否一致。6.3.1 程序重要模块分析初始化模块:打开并口模块(已经安装) ,并口线分配引脚,然后全部赋值为 0,初始化引脚。数据发送模块:这个函数有两个嵌套循环,一个是发送地址和数据的循环,一个是 8 为 bit 的发送循环。功能是将各个事先写好的数组写到寄存器中。频率控制字计算模块:这个模块有 4 种形式对应于 3 种模式。将输出频率和输入频率相除,用二进制数格式存入 CTW、RTW 或 FDW 寄存器中并在标签中显示。四通道相同控制,相同输出模块:首先写入 CSR 数组使能 4 个通道。然后在FR1 和 FR2 数组中写入数据,这两个寄存器的值在三种模式下是一样的。不同的是 CFR 数组的设置,在这里是设置的为线性扫频单频模式。四信道分别写控制字,输出不相干频率模块:这个模块和相同控制,相同输出模块的不同点:由于输出频率不同,则分别计算频率控制字,要分别给 CSR 数组赋值,每次使能一个通道。驻留模式:首先使能 4 个通道,FR1 和 FR2 数组中数据与其他模式相同,CFR15位写入模式为线性扫频驻留模式。通过点击 UP 和 DOWN 按钮使AD9959 输出指定频率范围。不驻留模式与驻留模式 CFR15位不同作为区别,不驻留模式通过点击界面上的循环触发可以实现频率输出在制定范围的循环。驻留模式当频率输出达到 E0 频率后就会停止在那里,直到检测到与之对应的引脚电平变低,就会下降。而不驻留模式在输出频率达到 E0 后会自动跳到 S0频率,等待下一个触发。下图就是一个扫频的示意图。电子科技大学学士学位论文56图 67 扫频示意图6.3.2 总体流程图图 68 软件流程图软件的界面如下图所示:第 6 章 DDS 频率合成技术57图 69 软件界面软件由三个部分组成:线性扫频单频模式、线性扫频不驻留模式和线性扫频驻留模式。线性扫频单频模式又可以分为 4 通道输出相同和 4 通道输出不想干频率。首先单击初始化,然后在要实现模式中输入时钟频率和输出频率,点击实现按钮就可以了。将线连接好,打开设计好的 9959 并口控制程序,进行初始化后,将四信道同时写控制字同时输出相同频率模块的输入频率设为 300MHz,设定输出频率为60MHz 后送数。通过频率计测量 2 路实际信号输出频率,通过示波器观测 1 路输出信号如下图所示。电子科技大学学士学位论文58图 6-11 四信道输出相同频率 60MHz将四信道写不同控制字输出不同相同频率模块的输入频率设为 300MHz,设定输出频率分别为 70MHz、60MHz、50MHz、40MHz 后送数。通过频率计测量各路实际信号输出频率,通过示波器观测各路输出信号如下图所示。图 6-12 信道 1 输出频率 70MHz第 6 章 DDS 频率合成技术59图 6-14 信道 2 输出频率 60MHz图 6-15 信道 3 输出频率 50MHz图 6-16 信道 4 输出频率 40MHz电子科技大学学士学位论文60在扫频模块中设定好 UP/DOWN 扫频步进、UP/DOWN 扫频步进间隔时间、扫频起始频率和扫频终止频率,按下“驻留扫频”按钮后初始化寄存器,再按下“UP”按钮,通过示波器可以观察到频率在起始和终止频率间以设定的步幅上升,当上升到终止频率时,频率就停止在那里,按下“DOWN”按钮后,频率会按设定的步幅下降,当下降到起始频率时,频率也会停止在那里。当按下“不驻留扫频”按钮后初始化寄存器,再按下“触发”按钮,通过示波器可以观察到频率在起始和终止频率间以设定的步幅上升,当上升到终止频率时,会立即下降到起始频率,当按下“循环触发”按钮,频率会在起始和终止频率之间循环。6.4 总结通过这个设计专题,我深入了解了 AD9959 的使用方法和用途,特别是寄存器的设置在整个实现过程中的重要地位。软件设计过程中得到了研究生师兄师姐的帮助,使我能够对流程有了整体把握,在设计过程中修改了几个 Bug,使软件更加完善。一个就是如果任何一个通道的输出频率为空,就会因为格式不匹配而出错,第二个就是复位之后应该所以标签都清空。第三个就是如果没有初始化并口,就按下实现按钮,会有提示要初始化并口,这样就会减少不必要的困惑。第 7 章 串行通信61第 7 章 串行通信7.1 引言进一步了解串行通信的基本原理。掌握串行接口芯片的工作原理和编程方法。7.2 设计方案7.2.1 8250A 简介8250A 是一种可编程的通用异步通信接口芯片,其内部结构如图 7-1 所示。图中 I/O 数据缓冲器通过双向三态数据线 D0-D7 和 CPU 传输信息;读写控制逻辑是通过片选 CS0、CS1、/CS2、选片输出线 CSOU、端口地址线 A0-A,以及其它读写选通线 DISTR、DOSTR、时钟线 XTAL1、XTAL2 等信号线来控制 8250A 与 CPU 间的信息传输。图 71 8250 内部电子科技大学学士学位论文627.2.2 8250A 内部寄存器。 1.接收器数据寄存器 RBR :寄存接受字符(只读) 。 2.发送器数据寄存器 THR :寄存发送字符(只写) 。 3.波特率因子寄存器:决定发送器和波特率输出信号 BAUDOUT 的频率, BAUDOUT 和外部时钟的频率关系为: BAUDOUT 波特率 = 外部时钟频率 / ( 16 波特率因子) 4.中断允许寄存器 IER(复位后为 00H)图 72 中断允许寄存器 IER5.中断标记寄存器 IIR图 73 中断标志寄存器 IIR6.线路控制寄存器 LCR第 7 章 串行通信63图 74 线路控制寄存器 LCR7.线路状态寄存器 LSR 为 CPU 提供与数据传送有关的状态信息,复位后为 60H 。 LSR 格式如下: 图 75 线路控制寄存器 LCR8.调制解调器控制寄存器 MCR图 76 调制解调器控制寄存器 MCR电子科技大学学士学位论文649.调制解调器状态寄存器 MCR 高 4 位反映调制解调器控制输入线当前状态,低 4 位反映调制解调器输入端状态变化信息。 MCR 格式如下: 图 77 调制解调器控制寄存器 MCR注: MCR 低 4 位中任一位被置 1 ,均会引起调制器中断。 CPU 读 MCR 后, MCR 底 4 位被清 0。7.3 8250 与 PC 机通信我选择的是 PC 机发送,实验仪接收。7.3.1 串行口连接示意图图 78 串口连接示意图第 7 章 串行通信657.3.2 设计流程图图 79 实验框图7.3.3 设计电路图图 710 实验电路图电子科技大学学士学位论文667.4 设计改进7.4.1 程序改进例子源程序中在接受数据的子程序中,是先检测是否“接受数据准备好” ,然后再检测接受是否出错,我认为应该先检测接受是否出错,然后再检测是否“接受数据准备好” 。因为如果数据是错误的,会多执行一步判断接受数据是否准备好,然后再判断是否出错,而如果判断是否出错在前,检测到出错后就会直接跳转继续等待。源程序如下:WAIT2: push dx call disp pop dx IN AL,DX TEST AL,01H;是否“接受数据准备好” JZ WAIT2;没有继续等待 TEST AL,0EH;接受是否出错 JNZ ERR;至少有一个错误,转 MOV DX,DATA IN AL,DX;将数据放入 AL 中 RET修改后的代码:WAIT2: push dx call disp pop dx IN AL,DX TEST AL,0EH;接受是否出错 JNZ ERR;至少有一个错误,转第 7 章 串行通信67 TEST AL,01H;是否“接受数据准备好” JZ WAIT2;没有继续等待 MOV DX,DATA IN AL,DX;将数据放入 AL 中 RET7.4.2 硬件改进通常的按键所用开关为机械弹性开关,模型如图 7-11 所示。图 711 按键模型由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开,因而在闭合及断开的瞬间均伴随有一连串的抖动,如图 7-12 所示。抖动时间的长短由按键的机械特性决定,一般为 5ms10ms。这是一个很重要的时间参数,在很多场合都要用到。图 712 电压信号模型电子科技大学学士学位论文68按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒。键抖动会引起一次按键被误读多次。为确保 CPU 对键的一次闭合仅作一次处理,必须去除键抖动。在键闭合稳定时读取键的状态,并且必须判别到键释放稳定后再作处理。例子程序中消抖是通过程序延时来实现的。原理是在检测出键闭合后执行一个延时程序,产生 5ms10ms 的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给 5ms10ms 的延时,待后沿抖动消失后才能转入该键的处理程序。我们也可以用硬件的方法来消除抖动。下图所示的 RS 触发器为常用的硬件去抖。图 713 硬件消抖原理图图中两个与非门构成一个 RS 触发器。当按键未按下时,输出为 1,当键按下时,输出为 0。此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖动跳开 B)中要按键不返回原始状态 A,双稳态电路的状态不改变,输出保持为 0,不会产生抖动的波形。也就是说即使 B 点的电压波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波。这一点通过分析 RS 触发器的工作过程很容易得到验证。第 7 章 串行通信697.5 总结通过这个设计专题,我对通用异步通信接口芯片 8250 有了深入了解,特别是通信中的过程,学会了通过寄存器的变化来取得当前的状态。在这个设计中,我在程序和硬件上都有我自己的想法,并在汇编语言程序和硬件防抖上提出了自己的改进方案。电子科技大学学士学位论文70参考文献1 严国萍,龙占超. 通信电子线路. 北京:科学出版社,2000.34352 Robert J.Shimonski,Wally Eaton,Umer Khan,Yuri Gordienko.Sniffer Pro Network Optimization &Troubleshooting Handbook.Syngress,2003.4547 3 陈惟彬. 例说网页制作.北京:机械工业出版社,2000.5165致 谢71致 谢在这次毕业设计中,我得到通信与信息工程学院饶力老师、饶渐升老师、段景山老师、刘强老师、胡全老师、杨远望老师和周英乙老师的指导。在我有疑难问题时,总是不厌其烦的给我讲解,使我学到了很多知识。其中段景山老师给了我很多忠告,使我明白了做研究不能敷衍了事,尤其态度要端正。这使我更加了解自己的弱点在哪里,对我以后的研究生生涯有很大的帮助。在我每次去问刘强老师问题时,刘强老师总是非常认真的审阅我的报告,并且给出详细的修改建议,使得我的设计报告更规范。在这里还要感谢通信工程专业的王哲伟同学,在我有疑惑的时候和他讨论总能有意外的收获。最后要感谢我的父母,在我做毕业设计非常苦恼的时候给我打电话,使我重新振作精神完成毕设。电子科技大学学士学位论文72外文资料原文Network Working Group J. PostelRequest for Comments: 792 ISI September 1981Updates: RFCs 777, 760Updates: IENs 109, 128 INTERNET CONTROL MESSAGE PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATIONIntroductionThe Internet Protocol (IP) 1 is used for host-to-host datagram service in a system of interconnected networks called the Catenet2. The network connecting devices are called Gateways. These gateways communicate between themselves for control purposes via a Gateway to Gateway Protocol (GGP) 3,4. Occasionally a gateway or destination host will communicate with a source host, for example, to report an error in datagram processing. For such purposes this protocol, the Internet Control Message Protocol (ICMP) is used. ICMP, uses the basic support of IP as if it were a higher level protocol, however, ICMP is actually an integral part of IP, and must be implemented by every IP module. ICMP messages are sent in several situations: for example, when a datagram cannot reach its destination, when the gateway does not have the buffering capacity to forward a datagram, and when the gateway can d
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
2:不支持迅雷下载,请使用浏览器下载
3:不支持QQ浏览器下载,请用其他浏览器
4:下载后的文档和图纸-无水印
5:文档经过压缩,下载后原文更清晰
|