(交通信息工程及控制专业论文)基于Linux的PC104控制系统在网络分析仪中的应用.pdf_第1页
(交通信息工程及控制专业论文)基于Linux的PC104控制系统在网络分析仪中的应用.pdf_第2页
(交通信息工程及控制专业论文)基于Linux的PC104控制系统在网络分析仪中的应用.pdf_第3页
(交通信息工程及控制专业论文)基于Linux的PC104控制系统在网络分析仪中的应用.pdf_第4页
(交通信息工程及控制专业论文)基于Linux的PC104控制系统在网络分析仪中的应用.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(交通信息工程及控制专业论文)基于Linux的PC104控制系统在网络分析仪中的应用.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南京航空航天大学硕士学位论文 i 摘要 目前国内外对嵌入式 linux 系统的研究正日趋火热,本文通过对 linux 操 作系统和 usb 的分析,提出了网络分析仪中基于 linux 的 pc104 控制系统的设 计。 本文首先介绍了网络分析仪的基本原理和总体设计,使读者对网络分析仪 及其设计有了基本的了解。然后详细阐述了 linux 下 usb 通信的软、硬件设计 以及 linux 下用户应用程序的实现。该系统分为四个部分,包括:usb 固件编 程、pc104 控制系统的软硬件配置、linux 下 usb 驱动程序的设计与实现、 linux 下用户应用程序的设计与实现。 硬件方面,由 c8051f060 片上系统控制 pudusbd12 芯片,实现 pc104 板卡 与下位机的 usb 通信。 软件方面,作者使用 c 语言编写了 usb 固件程序代码,在严格遵守 usb 协 议的基础上,结合嵌入式 linux 操作系统在网络分析仪上的具体应用,利用 libusb 开发了 linux 下的 usb 驱动程序,最后使用一个图形用户接口函数库 gtk 编写了用户应用程序,成功实现了数据的实时分析与波形显示。 本文在结论部分对网络分析仪中基于 linux 的 pc104 控制系统研究作了完 整的总结,同时,指出了其发展前景和重要的科研意义。 关键字:标量网络分析仪,usb,linux,gtk,pc104 基于 linux 的 pc104 控制系统在网络分析仪中的应用 ii abstract recently, embeded system is one of the hottest field of the computer application aera. this article applies the embeded operation system which is called linux to the control system of the network analyzer, and develops a pc104 control system based on the linux. firstly, this paper shows the principles and the whole design of the network analyzer. then, mainly introdeces the hardware and software design of usb communication and the realization of the user program under linux. there are four parts in this system , including usb firmware programming , software and hardware configuring of pc104 control system , the realization of usb driver under linux and the realization of the user program under linux . in the hardware design, there is a soc called c8051f060 and a usb chip called pdiusbd12. the microcontroller controls the usb chip to comminicate with the pc104 board in the upper part. in the software design, this paper uses c languish to program the usb firmawre, uses libusb to develop the usb driver under linux, and at last uses a graphical user interface library called gtk to develop the user program which realizes the realtime analyzation of the data and the display of the wave. in the end , there is a conclution about the research of pc104 control system based on linux, and points out the prospect of its development . key words: scalar network analyzer , usb ,linux ,gtk , pc104 基于 linux 的 pc104 控制系统在网络分析仪中的应用 vi 图表清单 图 2.1 系统的输入激励和输出响应 .5 图 2.2 频域分析法与时域分析法的关系 .6 图 2.3 频率特性的扫频测试法框图 .7 图 2.4 标量网络分析仪的组成 .8 图 2.5 系统总体设计框图 .10 图 3.1 usb 总线拓扑结构.11 图 3.2 usb 电缆.12 图 3.3 控制操作流程 .13 图 3.4 控制操作读写 .14 图 3.5 批操作流程 .14 图 3.6 批操作读写 .15 图 3.7 中断操作流程 .15 图 3.8 实时操作流程 .16 图 3.9 pdiusbd12 的模块结构框图.17 图 3.10 pdiusbd12 与 c8051060 的硬件连接.18 图 3.11 pdiusbd12 固件结构.20 图 3.12 usb 固件程序主循环流程图.21 图 4.1 linux 引导过程 .32 图 4.2 mbr 剖析 .32 图 5.1 usb 描述符层次结构.35 图 5.2 usb core 的 api 层.35 图 6.1 应用程序的总体框图 .48 图 6.2 应用程序的主窗口 .51 表 6.1 usb 传输数据中的参数列表.54 图 6.3 应用程序与下位机的通信 .56 图 6.4 网络分析仪对高频头开环测试的波形显示 .57 承诺书 本人郑重声明:所呈交的学位论文,是本人在导师指导 下,独立进行研究工作所取得的成果。尽我所知,除文中已经 注明引用的内容外,本学位论文的研究成果不包含任何他人享 有著作权的内容。对本论文所涉及的研究工作做出贡献的其他 个人和集体,均已在文中以明确方式标明。 本人授权南京航空航天大学可以有权保留送交论文的复印 件,允许论文被查阅和借阅,可以将学位论文的全部或部分内容 编入有关数据库进行检索,可以采用影印、缩印或其他复制手 段保存论文。 (保密的学位论文在解密后适用本承诺书) 作者签名: 日 期: 南京航空航天大学硕士学位论文 1 第一章 绪论 1.1 引言 电子测量中,经常要对网络的阻抗和传输特性进行测量。根据电路理论, 大多数电路都可用四端网络来代表,根据网络参数特性可求得该电路的增益、 相位的频率变化特性。标量网络分析仪是通过测量被测网络对频率扫描和功率 扫描的幅度变化,来精确表征被测网络的一种方法。矢量网络分析仪与标量网 络分析仪不同的是矢量网络分析仪既可测量网络的幅频特性又可测量网络的相 频特性。 网络分析仪是微波电路设计和测试工程师必不可少的测量仪器。按照测量 的频率范围可以分为低频网络分析仪、高频网络分析仪和微波、射频分析仪。 网络分析仪的传统测量方法是采用扫频测量法,它是测量电网络幅频特性 的一种有效办法,主要用于对电网络的阻抗和传输特性进行测量。在早期,只 能采用点频的方法,即在一个或多个固定频率点上进行,测量较为简单,工作 效率低。随着系统及元器件逐步向宽频带方向发展,为了了解被测器件的宽频 带特性,常常需要在宽频带内多个频率点上进行测量,于是出现了扫频测量, 将间断的点频测量改为连续的扫频测量,通过连续不断地频率扫描便可记录系 统及器件在整个频带内的传输特性曲线。网络分析仪就是用于扫频测量的一种 智能化仪器。 45 1.2 国内外网络分析仪的发展与现状 随着计算机和大规模集成电路技术日新月异的发展,网络测量技术走过了 以前的手动分析仪阶段,发展成为今天这种多参数、高精度、频段宽、速度 快、自动化程度高的测量系统。 网络分析仪的广泛使用,促进国内外生产厂家在扩展功能提高性能的同 时,特别注重“以人为本”的设计思路:多种选件便于扩展;多种接口配置以 输出结果和执行远程控制;内置非易失存储器保存校准和测试数据;有按键定 序保存功能,可一键完成复杂的重复测量;有测量数据的统计计算功能,可直 接读取平均值、标准偏差和曲线峰峰值。 8 目前,国外厂家主要有美国的aglient公司、德国的r/s公司、日本的 anritsu和advantest等公司。 8agilent的网络分析和频谱分析仪被业界看成是 参考标准,1983年推出了第一部有微处理机的微波网络分析仪 8510 ,同轴测 量频率范围:45mhz26.5ghz。1986年推出了自动化矢量网络分析仪,其中的 8753成为业界的网络分析仪标堆。1989年,同轴s参数测量系统上限频率扩展到 基于 linux 的 pc104 控制系统在网络分析仪中的应用 2 40ghz。1990年,毫米波波导反射/传输测试装置工作频段扩展至110ghz。1991 年,agilent公司推出第三代矢量网络分析仪hp8510c。 国内网络分析仪的研制起步比较晚,从 70 年代才开始,上海、北京、南 京、成都等地的有关厂家、研究所都相继研制成功一系列网络分析仪,但普遍 存在着频道窄、速度慢、智能化程度不够高等缺点。但近年来,信息产业部电 子第四十一研究所已能生产出具有相当水平的系列产品。这使得国内网络分析 仪的研制水平与世界先进水平的差距越来越小。 嵌入式系统是当前热门的研究领域之一,随着微处理器技术的进步,嵌入 式系统越来越多的用在一些特殊专用设备上。目前国内还没有将嵌入式系统应 用到网络分析仪的成功先例,所以相信本文所研究的基于嵌入式 linux 的高频 标量网络分析仪的研制,一定会对国内网络分析仪的研究起着重要的影响。 1.3 课题来源与目的意义 在飞速发展的无线电领域内,网络分析仪主要用于测量四端口网络。它的 出现替代了过去模拟测量滤波器、放大器的方法,使测量工作变得更为自动化 和精确。 本课题设计的网络分析仪是针对电视电子调谐器的调试要求,设计了一套专 用的测试软件,包括操作控制和结果显示界面等。 电视电子调谐器是电视接收终端中的重要器件,俗称高频头。它是电视信 号进入电视的第一个环节,高频头的性能将直接影响广播电视的音视频效果。 因此,高频头性能的测试在生产和维修过程中就变得十分重要。电子调谐器性 能的测量目前一般采用专用扫频仪或者网络分析仪来测试,由于这些仪器都属 于专用型仪器,工艺复杂,笨重,价格高,所以迫切需要研制一种能用于电视电子 调谐器测试的网络分析仪。 1.4 本文的研究内容 本文阐述了智能化网络分析仪的基本原理和总体设计,详细介绍了 linux 下 usb 通信的软、硬件设计以及 linux 下用户应用程序的实现。具体工作阐述 如下: 1. 本文首先介绍了智能化网络分析仪的基本知识和总体设计,使读者对智能网 络分析仪及其设计有了基本的了解。 2. 介绍了 usb 总线的相关知识和 usb 固件程序的实现,包括:usb 总线的技术 背景,总线布局,usb 的数据传输类型,usb 外设控制接口芯片的选择及与微处 理器的互连,固件编程思想,固件编程结构,固件程序的调试过程等。 3. 介绍了 pc104 主机板的硬件选型,在此基础上详细阐述了 pc104 主机板软件 环境的配置,主要是配置嵌入式 linux 操作系统的详细过程。 南京航空航天大学硕士学位论文 3 4. 在严格遵守 usb 协议的基础上,结合嵌入式 linux 操作系统在智能网络分析 仪上的具体应用,阐述了 pc104 主机板软件的设计,包括:linux 下 usb 驱动 程序设计与实现,linux 下用户应用程序设计。这两部分是本文讨论的重点。 5. 本文在结论部分对网络分析仪中基于 linux 的 pc104 控制系统研究作了完整 的总结。同时,指出了其发展前景和重要的科研意义。 基于 linux 的 pc104 控制系统在网络分析仪中的应用 4 第二章 网络分析仪的原理和系统总体设计方案 2.1 网络分析仪的原理 2.1.1 频率特性的概念 网络分析仪是专门用于测量线性时不变网络频率特性的仪器,频率特性是 以频率为变量来描述系统特性的,它包括幅频特性和相频特性。当网络系统内 部的电路结构和元件参数已知时,可以根据电路分析的方法来求得电路中各个 状态变量,从而获得关于电路系统的完整信息。但在大多数情况下,所要分析 的电路系统内部信息无法获得,这时只能采用实验的方法来分析网络的特性, 这种通过实验的手段来获得网络特性的方法称为频率特性测试法。 2 2.1.2 频率特性的两种测试方法 频率特性有两种测试方法: 1沖激响应测试法 在研究系统的功能时一个重要的任务就是要研究系统的输入和输出之间的 关系,对于线性非时变连续系统,其输入和输出关系总是可用线性常系数微分 方程式来描写。对于一个线性系统,其激励函数f(t)和响应函数g(t)的关系可 以由式(2.1)形式的微分方程来描述: (n)(n-1)(1) n 110 (n)(n-1)(1) m m 110 gggg b (t) a(t)a(t) a (t) =b f(t) bf(t)f(t) b f(t) + + ? ? (2.1) 其中各系数 i a, i b都是常数。 零输入响应是激励为零时,仅由系统的初始状态所引起的响应,用 x g (t)表 示;零状态响应是系统的初始状态为零时,仅由输入信号所引起的响应,用 f g (t)表示。故 xf g(t)g (t)g (t)=+ (2.2) 在求解零状态响应时,引入冲激响应这个概念,把任意信号分解成无限多 个连续出现的冲激信号所组成的序列。根据系统的线性与时不变性,只要单位 冲激信号的响应已知,那么无限多个冲激信号的响应的总和可用积分来表示, 这个积分就是任意波形信号激励下的响应。 系统的冲激响应可以由系统的微分方程来计算。系统微分方程的一般形式 如式(2.1)所示,当激励函数f(t)为单位冲激函数(t)时,响应函数g(t)即为系 统的冲激响应h(t),于是式(2.1)成为 南京航空航天大学硕士学位论文 5 (n)(n-1)(1) n 110 (n)(n-1)(1) m m 110 b h(t) ah(t)a h (t) a h(t) =b(t) b(t)(t) b(t) + + ? ? (2.3) 在时域中任何一个信号f(t)总可以分解成函数序列(或称冲激序列): (t)df(t)f( ) + = (2.4) 利用线性非时变系统的可加性和齐次性这两个性质,同时由于任意信号都 可以分解成冲激序列,就可以根据线性系统的冲激响应来确定任意信号作用下 的零状态响应。设某一线性系统的冲激响应为h(t),输入信号为f(t),系统在 f(t)作用下所产生的响应g(t)为: ()d( )g(t)f( )h tf(t)h t + = (2.5) 上式称为f(t)与( )h t的卷积积分,它是线性系统时域分析中的重要公式。 它通过冲激响应描述了输出与输入信号之间的关系。该式的含义是线性系统对 任意输入(激励)信号的响应等于该系统的输入信号与冲激响应的卷积积分。 可见,知道了系统的冲激响应,也就可以确定系统对任意输入信号的响 应,因此,冲激响应反映了系统的特性。在测量中,利用冲激信号激励网络, 测得其响应也是一种测量系统特性的方法。 采用这种方法时,要制作沖激脉冲(t),对输出响应进行数据采集然后进 行傅立叶变换。由于不可能获得理想的(t)脉冲,在实际应用中,只要脉冲信 号足够的窄,以保证有足够宽的频带宽度即可。而窄脉冲的激励能量小,输出 响应的信噪比小,影响测量精度。另一个问题是,宽带网络的输出响应信号频 带宽,要求 a/d 采样的速度高,这就限制这种方法在高频领域的应用。因而, 这种方法只是被用于低频系统的测量中,例如电声系统,振动系统等。 采用重复激励的办法,将每一次激励输出相加,可提高网络输出响应信号 的信噪比,因为噪声是随机信号,在多次相加中互相抵消。通常重复激励的次 数可多达几十次。但对于窄带网络,其建立时间长,多次激励的方法将降低测 试速度。 图 2.1 系统的输入激励和输出响应 2扫频测试方法 频域分析法与时域分析法的不同之处主要在于信号分解的单元函数不同, 在频域分析法中是以正弦函数或虚指数函数 j t e 为基本信号,其实质是把激励 分解成无穷多个指数分量,分别计算系统对每一分量的响应然后再求和,即可 得出完整的响应信号。 基于 linux 的 pc104 控制系统在网络分析仪中的应用 6 当系统的输入是周期为 t 的周期函数f(t),且满足狄里赫利条件,则f(t) 的三角傅立叶级数表示式为: 11 +(cos+sin)+cos(+) nnnn 00 nn f(t)aan t bn taan t = = (2.6) 式中 t 0 1 ( )dt t 0 af t= , t 0 2 t cosdt t n af( )n t= , t 0 2 t sindt t n bf( )n t= , 00 aa=, 22 nnn aab=+, arctan n n n b a = (2.6) 表明,任何一个以 t 为周期的周期性信号f(t),只要满足狄里赫利条件 都 可 以 分 解 成 直 流 分 量 0 a , 基 波 分 量 11 cos(+)at和 高 次 谐 波 分 量 cos(+) nn an t的线性组合。于是输入信号f(t)相当于n个正弦信号源的叠 加,每个信号源的幅度是na,相角是 n ,基波的频率为,n次谐波的频率 n。 当系统的输入是非周期信号且f(t)绝对可积时,其傅里叶变换对为: () j t f jf(t)edt + = (2.7) 1 ( )f 2 j t f t(j)ed + = (2.8) ()f j称为频谱密度函数,简称频谱函数,其意义为每单位频率(单位频 带)上的幅度。 通过这种变换,不仅信号和响应的表现形式发生变化,而且系统的描述也 由时域的h(t)变为频域的()h j。其对应关系如图 2.2 所示: ()f j ( )f t h(t) h(j) g(t) ()g j 图 2.2 频域分析法与时域分析法的关系 由前文的时域分析已知,在零状态下的输入信号f(t)、输出信号g(t)和冲 激响应h(t)三者之间的关系为 ( )g(t)f(t)h t= (2.9) 将上式进行傅里叶变换并利用时间卷积定理可得频域中系统输出与输入的 关系为 ()() ()g jh jf j= (2.10) () () () g j h j f j = (2.11) 南京航空航天大学硕士学位论文 7 从上可看到,频域分析实际可看为时域分析的一种数学变换。不过,这种 变换带来的不仅是运算的方便,更重要的是很好地反映了系统的特性,这种特 性能通过仪器测出来。 在测量中,使用的激励信号为单一频率的正弦信号,在稳态后测得其响 应,利用式(2.11),得到该频率下系统的频率特性,然后变换频率测量,进行 多次测量以后,大致得到系统在整个频率范围的频率特性情况。由于任意信号 可分解为一系列不同频率的正弦信号,利用式(2.10)可求得系统的响应。实际 上,常用的扫频法正是用该方法进行网络分析的。 系统在正弦信号激励下,输出响应达到稳态时,是与输入激励信号频率相 同的正弦波,响应信号与输入信号的幅值比即为该频率的幅频响应值,而两者 的相位差即为相频特性值。可以采用频率逐点步进或频率连续变化的方法,完 成整个频率特性的测量,这种方法称为扫频测试法。这种方法无需对信号进行 时域与频率的变换计算,可以通过对模拟量的测量运算完成。为了被测系统输 出响应达到稳态,无论是逐点改变频率,还是连续扫频,其频率的变化速度都 不能太快。系统的输出响应建立时间的长短与系统的带宽成反比,即带宽越 窄,过渡过程时间越长,测量时,频率变化的速度应该越慢。频率连续地变化 又称为“扫频”,因而也称采用这种方法测量频率特性的仪器为扫频仪。扫频 仪和网络分析仪都带有信号频率可变的信号源。图 2.3 为扫频测试法的方框图 图 2.3 频率特性的扫频测试法框图 扫频法测试包含的各个部分的功能介绍如下。 4 扫描同步控制部分:产生锯齿或阶梯型扫描电压,同步地控制 vco 和显示 部分地工作。有时,还要用于对整机各个部分的工作做同步的性能补偿,如扫 频信号源的幅值平坦度等。 扫频信号源:频率由低到高或由高到低变化的正弦波振荡源,称为扫频。 频率的变化可以是连续的,也可以是步进式的。扫频信号的幅度、扫频的频率 变化范围可以方便地控制。扫频的速度与测量仪的其它部分的工作同步。 测量和计算部分:对输入与输出信号的幅值和相位进行测量,并通过计算 输出与输入信号的幅值比,得到幅频特性,计算输出与输入的相位差,得到相 基于 linux 的 pc104 控制系统在网络分析仪中的应用 8 频特性。如式 2.12、2.13 ( ) h( )= ( ) o i a a (2.12) ( )( )( ) oi = (2.13) ( )ia和( )oa分别为系统的输入和输出的幅度,( ) o 和( ) i 为输入 和输出的相位。通过使输入信号的幅值在扫频过程中保持平坦,即( )ia1, 求幅频特性的幅值比运算可省略。扫频仪和网络分析仪即采用等幅度的扫频振 荡作为激励信号。 3. 两种测量方法的比较 沖激响应测试法,需要制作一个有质量较高的沖激激励脉冲信号源,或其 频谱和统计特性满足测量要求的任意波形或序列信号,此外还需要一个有一定 的数据采集速度和数字信号处理能力的控制器。这种方法的好处是无须制作扫 频信号源,也不必制作幅度检波和相位差测量电路,因而硬件电路的工作量较 小。这种方法常在低频网络频率特性的测试中应用。 穏态测试法适用于很宽的频段,需要制作一个频率可步进或可扫频的并符 合相应指标要求的正弦信号源,需要制作幅度检波器和相位差测量系统,此外 仪器还包括扫频,检测和显示的同步控制部分。整个系统的硬件规模较大,数 字计算的软件工作量较小。由于网络在可以接受的安全输入幅度限制内,激励 信号的全部能量都可以集中于某一个频率上,网络对该频率激励的穏态输出的 信噪比高,有利于提高测量精度。 2.2 网络分析仪总体设计方案 2.2.1 网络分析仪的基本组成 标量网络分析仪的基本组成部分包括扫频信号源部分、幅频特性测量部 图 2.4 标量网络分析仪的组成 南京航空航天大学硕士学位论文 9 分、控制系统、显示和键盘控制系统等子系统。这几部分组成的框图如图 2.4。 2.2.2 本网络分析仪的性能要求 对于本仪器,以上几个部分的要求主要有: 1. 扫频信号源 扫频信号源除了具有与一般正弦信号发生器系统相同的基本要求,例如: 频率精度、频率稳定度、等幅度、源输出阻抗、谐波抑制等特性外,还需要具 备以下几个主要要求: (1) 能在指定的频率范围内提供幅度已知的正弦扫频信号,有良好的扫 描控制功能,中心频率、扫描宽度可调的扫频工作方式。 (2) 宽带扫频时,对源阻抗匹配、寄生信号和谐波等有一定的要求。 (3) 扫频宽度:全频段内任意设置。 (4) 扫频步长:可以在100hz10mhz内自行调整。 (5) 频率范围:100hz1000mhz。 (6) 信号的不平坦度:+/-0.25db。 2. 幅频特性测量 该部分是仪器的关键部分,仪器的主要性能指标由该部分决定。对该部分 主要要求测量的动态范围大于60db,响应时间要能与系统的扫速相适应,能在 全频内自动步进测量,可预置测量范围及步进频率值。 3. 显示系统 显示系统以可视手段给出测试结果,对本网络分析仪显示系统的主要要求如 下: (1) 能显示传输特性和反射特性曲线,并且能根据选择切换测试模式。 (2) 对显示系统的功能操作和控制应简洁明了。 4. 控制系统 控制系统的作用主要是将各部分有机的结合起来,使之成为一个整体, 完成仪器的所有功能。对该部分的要求主要是: (1) 稳定,能在不同条件下稳定工作,受外界干扰影响小。 (2) 速度,能较快地对外界变化作出反应,完成系统赋予的任务。 (3) 接口,配有 usb 接口。 5放大衰减网络 该网络应能根据被测信号的情况进行适当放大和衰减,使系统的输入信 号范围满足系统设定的要求,并能扩大被测信号的动态范围。 2.2.3 系统总体设计 基于 linux 的 pc104 控制系统在网络分析仪中的应用 10 根据所要完成的测试功能及技术指标,确定了该系统各组成部分的具体实 现方法。 信号源部分由信号发生电路和信号调理电路组成,在系统中,信号发生电 路采用 dds 技术+pll+下变频方式实现,用于产生频率、持续时间等均可控制 的扫频信号;信号调理电路主要是对信号中的噪声进行抑制并对输出信号的平 坦度起到自动调节的控制。幅频接收机采用扫频外差接收机技术,用 dds(采 用 ad9852 dds 芯片)产生一个跟踪输入频率变化的扫频信号,与输入信号混 频,把高频信号搬移到较低的中频上进行处理,降低噪声,同时降低后续处理 难度。 控制系统(c8051f060)主要完成逻辑控制、数据采集、人机接口、usb 数 据传输四个主要功能,控制整个系统的协调工作,并对测量及人机接口部分过 来的数据进行分析处理。 显示系统采用一个嵌入式 pc104 板,内装裁减过的 linux 操作系统,通过 在 linux 下编写的 usb 设备驱动程序,从下位机读取待显示的数据,对数据进 行简单软件滤波后,将数据曲线在液晶屏上绘出,显示系统也要负责接收用户 的输入信息,将此信息传输给下位机控制系统,从而达到用户对仪器的设置。 被测网络被安装在一个测试盒上,测试盒安装了测量过程中的各种常用操 作按键和电位器,以方便操作和检修。放大衰减网络由一个可控增益放大器组 成,可控增益放大电路负责把扫频信号源的输出调整到测试所需的范围内。 图 2.5 系统总体设计框图 南京航空航天大学硕士学位论文 11 第三章 usb 固件开发 usb(universal serial bus)即通用串行总线,是现在非常流行的一种快 速、双向、廉价、可支持热插拨的接口。在遵循 usb1.1 规范的基础上,usb 接 口最高传输速度可达 12mb/s,而在最新的 usb2.0 规范下,更可以达到 480mb s。同时它可以连接 127 个 usb 设备,而且连接的方式也十分灵活,既可以使用串 行连接,也可以使用集线器(hub)把多个设备连接在一起,再同 pc 机的 usb 接口 相连。此外,它还可以从系统中直接汲取电流,无需单独的供电系统。usb 的这 些特点使它获得了广泛的应用。 10 11 3.1 usbusb 系统的概述 一个 usb 系统主要被定义为三个部分: usb 的互连; usb 的设备; usb 的主机; usb 的互连是指 usb 设备与主机之间进行连接和通信的操作,主要包括以 下几方面: 总线的拓扑结构:usb 设备与主机之间的各种连接方式; 内部层次关系: usb 的任务被分配到系统的每一个层次; 数据流模式: 描述了数据在系统中通过 usb 从产生方到使用方的流 动方式; 41 3.1.1 usbusb 的总线布局技术 usb 连接了 usb 设备和 usb 主机,usb 的物理连接是有层次性的星型结 构。每个网络集线器在星型的中心,设备与主机的连接都是点点连接。从主机 图 3.1 usb 总线拓扑结构 基于 linux 的 pc104 控制系统在网络分析仪中的应用 12 到集线器或其功能部件,或从集线器到集线器或其它功能部件,从图 3.1 中可 看出 usb 的拓扑结构。 3.1.2 usbusb 的主机 在任何 usb 系统中,只有一个主机。usb 和主机系统的接口称作主机控制 器,主机控制器可由硬件、固件和软件综合实现。根集线器是由主机系统整合 的,用以提供更多的连接点。 3.1.3 usbusb 的电气特性 图 3.2 usb 电缆 usb 传送信号和电源是通过一种四根线的电缆,图 3.2 中的两根线是用于 发送信号。电缆中包括 vbus、gnd 二条线,向设备提供电源 。vbus 使用+5v 电 源。usb 对电缆长度的要求很宽,最长可为几米。为了保证足够的输入电压和 终端阻抗,重要的终端设备应位于电缆的尾部。每个端口都可检测终端是否连接 或分离。 3.1.4 总线协议 usb 总线是一种轮询方式的总线,主机控制端口初始化所有的数据传输。每 一总线执行动作最多传送三个数据包。按照传输前制定好的原则,在每次传送 开始时,主机控制器发送一个描述传输的种类、方向、usb 设备地址和终端号 的 usb 数据包,这个数据包通常称为标志包(token packet)。usb 设备从解码 后的数据包的适当位置取出属于自己的数据。数据传输方向不是从主机到设备 就是从设备到主机。在传输开始时,由标志包来标志数据的传输方向,然后发 送端开始发送包含信息的数据包或表明没有数据传送。接收端也要相应发送一 个握手的数据包表明是否传送成功。发送端和接收端之间的 usb 数据传输,在 主机和设备的端口之间,可视为一个通道。存在两种类型的通道:流和消息。 流的数据不像消息的数据,它没有 usb 所定义的结构,而且通道与数据带宽、 传送服务类型,端口特性(如方向和缓冲区大小)有关。多数通道在 usb 设备 设置完成后即存在。usb 中有一个特殊的通道缺省控制通道,它属于消息 通道,当设备一启动即存在,从而为设备的设置、查询状况和输入控制信息提 供一个入口。 南京航空航天大学硕士学位论文 13 数据和控制信号在主机和 usb 设备间的交换可以是单向的也可以是双向 的。usb 的数据传送是在主机软件和一个 usb 设备的指定端口之间。总的来 说,各通道之间的数据流动是相互独立的。 3.1.5 数据流种类 usb 包含四种基本的数据传输类型。 13 41 1. 控制数据传送 控制传输是 usb 协议中唯一传输 usb 命令函数的传输类型。控制传输是由 usb 主机发起的,旨在完成对系统中的 usb 设备进行系统配置、状态查询和管 理等操作。命令的整个完成过程都是以控制传输的方式来实现的,因此所有的 usb 设备都必须支持控制传输,而且控制传输也是一种可靠的数据传输。同批 量传输一样,控制传输也是一种非周期的数据传输方式,不要求一定的总线传 输速率,但要求比批量传输更优先占用总线带宽。另外,为了更方便的完成命 令,usb 设备的控制传输的管道是双向的,其它的传输方式的管道则是单向 的。 控制操作主要包括两个操作阶段:设置和状态,数据阶段是可选的。图 3.3 给出了设置操作的细节,图 3.4 给出了控制操作的详细读写过程。如果数 据没有正确接收,设备就会忽略,并且不返回握手包。 图 3.3 控制操作流程 setup data0 ack idle token data handshake host function 基于 linux 的 pc104 控制系统在网络分析仪中的应用 14 图 3.4 控制操作读写 2. 批量数据传送 批量数据是由大量的数据组成。在硬件级上可使用错误检测以保证可靠的 数据传输,并在硬件级上引入了数据的多次传送。此外根据其它一些总线动 作,被大量数据占用的带宽可以相应的进行改变。 批量传输用于传输大块数据,并且数据的传输不要求有周期性或一定的数 据传输速度。批量传输能够占用总线的任何空闲带宽来传输数据,如果总线带 宽被必须保证传输速率的其它方式占据时,批量传输可以等待。并且,批量传 输采用数据检错和数据重传等方法来保证数据正确的到达目的地,是一种可靠 的数据传输方式。另外批量传输只能用于高速设备,允许数据包最大长度容量 为 8,16,32 或 64 字节。 批量传输包括令牌、数据、握手三个阶段。对于输入操作,如果设备不能 返回数据,那么必须发出 nak 或者 stall;对于输出,如果设备不能接收数 据,也要返回 nak 或者 stall。 图 3.5 批操作流程 setup(0) out(1)out(0)out(0/1) in(1) data0 data1data0data0/1 data1 setup(0) in(1)in(0)in(0/1) out(1) data0 data1 data0data0/1 data1 控制写 控制读 setup(0) data0 in(1) data1 无数据阶段控制传输 in out ack nakdatao/1 stall nak ackstall datao/1 idle idle token data handshake host function 南京航空航天大学硕士学位论文 15 图 3.6 批操作读写 3. 中断数据传输 中断传输是为了这样一类设备设计的,它们只发送或接受少量的数据,并 且不经常进行数据传输,但他们具有一个确定的传输周期,每隔一定的周期要 求传输一次。同批量传输一样,中断传输的事务处理过程也是以错误检测和重 传的方式保证主机和 usb 设备之间传输数据的正确性。所有设备都支持中断传 输。低速设备,最大的数据包大小可以是 1-8 字节,全速设备是 1-64 字节,而 高速设备是 1-1024 字节。 中断传输的操作只有输入一个方向,具体格式与批量操作的输入情形类 似,如图 3.7 所示: 图 3.7 中断操作流程 4. 实时数据传输 实时传输主要用于与时间紧密相关的信息传输,它能保证设备与 usb 主机 之间恒定的数据传输速率,确保发送方与接受方的速率能够匹配,是一种周期 性的数据传输方式。为了节省总线带宽、提高数据的传输速率、保持收发两端 的同步,实时传输省去了数据重传和出错检测,是一种不可靠的数据传输方 式。 out(0) out(1)out(0/1) data0 data1data0/1 in(0) in(1)in(0/1) data0 data1data0/1 批处理写 批处理读 in ack data0/1 nakstall idle idle idle data handshake hostfunction token 基于 linux 的 pc104 控制系统在网络分析仪中的应用 16 实时传输仅包括令牌和数据两个阶段,它没有握手阶段。并且实时传输中 不支持数据包的交替触发机制,第一个数据包初始化为 data0,因此,数据包 将一直以 data0 发送下去。它的操作流程如图 3.8 所示: 图 3.8 实时操作流程 3.2 usbusb 接口器件的选择 在进行usb设备开发之前,首先要选择合适的usb控制器。目前,市场上 供应的usb控制器主要有两种:带usb接口的单片机(mcu)或纯粹的usb接 口芯片。 带usb接口的单片机从应用上又可以分成两类,一类是从底层设计专用于 usb控制的单片机;另一类是增加了usb接口的普通单片机,如cypress 公司的 ezusb(基于8051),这类usb控制器的最大好处在于开发者对系统结构和指 令集非常熟悉,开发工具简单。但这类单片机价格偏高,这限制了其在产品中 的应用。 usb接口芯片仅处理usb通信,必须有一个外部微处理器来进行协议处理 和数据交换。典型产品有philips公司的pdiusbd11、pdiusbd12,netchip 公 司的net2888等。此类usb接口芯片的主要特点是价格便宜、接口方便、可靠 性高,尤其适合于产品的改型设计(硬件上仅需对并行总线和中断进行改动, 软件则需要增加微处理器的usb中断处理和数据交换程序、pc 机的usb接口通 信程序,无需对原有产品系统结构作很大的改动)。 结合这些usb器件的特点,我们从价格因素以及可靠性等方面考虑,选用了 philips公司的pdiusbd12作为接口芯片。pdiusbd12是一个性能优越的usb器 件,通常用于基于微控制器的系统,并通过高速通用并行接口与微控制器进行 通信,而且支持本地dma传输。该器件采用模块化的方法实现了usb接口,允许 在众多可用的微控制器中选择最合适的作为系统微控制器,允许使用现存的体 系结构使固件减到最小。这种灵活性减少了开发时间、风险和成本。该器件是 开发成本低且高效的usb外围设备的一种有效途径。pdiusdb12完全符合usb1.1 规范,也能适应大多数设备类规范的设计。pdiusbd12还集成了softconnect、 in out data0 data0 idle idle token data host function 南京航空航天大学硕士学位论文 17 goodlink、可编程时钟输出、低频晶振等特性。所有这些特性都能在系统实现 时节省成本,同时在外围设备上很容易实现更高级的usb功能。 12 pdiusbd12的模块结构框图如图3.9所示。 图 3.9 pdiusbd12 的模块结构框图 3.3 usbusb芯片与微处理器的互连 1. gnd接地,vdd接正,本系统中芯片工作在3.3v,所以vout3.3与vdd都接 3.3v; 2. data data接到微处理器的数据总线上。 3. 由于微处理器的rd、wr信号要同时控制2片dds芯片和usb芯片,所以不 能将pdiusbd12的wr、rd直接接到处理器的/rd、/wr上,本系统采用 一片74ls139译码芯片对ab6和ab7译码产生四路rd、wr信号。将其中的 /wr2、/rd2直接接到pdiusbd12的wr、rd上即可。 4. 将int接到微处理器的p0.6口。 5. xtal1 和xtal2 按传统接法接。 6. /eot和/dmack信号接高电平。 7. cs作为片选接到微处理器的p2.0口,/reset接到微处理器的p2.1口。 8. ale 和a0 的接法必须组合在一起,根据usb芯片与mcu之间数据地址总 线情况的不同,有两种接法:a)如果总线和地址复用,则可以将ale接至 mcu的ale,a0接高电平,这种情况下d12会在ale的下降沿锁存地址信 号,直接将数据写入对应的usb地址码中。b)如果mcu总线和地址是分开 的,则ale总接低,a0为高时表示datadtat上收到的是命令 字,a0为低时表明收到的是数据,本系统采用将ale直接接地的方法,将 a0接到地址线ab0上。因此,当地址为偶数时表示选择数据,当地址为奇数 时表示选择命令字。 基于 linux 的 pc104 控制系统在网络分析仪中的应用 18 9. suspend接一个10k的下拉电阻;/gl接发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论