




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、俺FPGA应百用文章唉霸实时盎信号处理系爸统八 摘摆要:简要叙挨述了常用的稗信号处理系瓣统的类型与艾处理机结构阿,介绍了正坝逐步得到广柏泛应用的摆霸处理机办结构,在此搬基础上提出搬了一种实时笆信号处理的按线性流水阵列,并举例坝说明了该结熬构的具体实澳现,最后分罢析说明了此斑结构的优越啊性。X。扮 关隘键词:实时搬信号处理 懊处理机结构邦 线性流水疤阵列叭 实扳时信号处理敖系统要求必坝须具有处理按大数据量的案能力,以保靶证系统的实挨时性;其次肮对系统的体百积、功耗、拌稳定性等也澳有较严格的蔼要求。实时巴信号处理算法中经常用岸到对图象的版求和、求差爸运算,二维把梯度运算,把图象分割及摆区域特征提柏
2、取等不同层懊次、不同种敖类的处理。班其中有的运败算本身结构搬比较简单,安但是数据量绊大,计算速半度要求高;伴有些处理对捌速度并没有笆特殊的要求白,但计算方斑式和控制结跋构比较复杂扮,难以用纯安硬件实现。绊因此,实时碍信号处理系捌统是对运算半速度要求高办、运算种类蔼多的综合性伴信息处理系稗统。盎 信号处摆理系统的类柏型与常用处拔理机结构耙 根吧据信号处理瓣系统在构成昂、处理能力跋以及计算问岸题到硬件结袄构映射方法按的不同,将板现代信号处氨理系统分为澳三大类:唉 背指令集结构暗()扳系统。在由班各种微处理氨器、芭处理器或专胺用指令集处柏理器等组成颁的信号处理叭系统中,都隘需要通过系八统中的处理瓣器
3、所提供的肮指令系统(邦或微代码)般来描述各种把算法,并在霸指令部件的办控制下完成暗对各种可计案算问题的求办解。隘 佰硬连线结构岸系统。主要佰是指由专用矮集成电路(唉)胺构成的系统摆,其基本特百征是功能固艾定、通常用白于完成特定袄的算法,这俺种系统适合瓣于实现功能办固定和数据吧结构明确的奥计算问题。胺不足之处主背要在于:设背计周期长、笆成本高,且搬没有可编程按性,可扩展鞍性差。哎 百可重构系统盎。基本特征爸是系统中有邦一个或多个巴可重构器件凹(如矮),可重捌构处理器之安间或可重构爱处理器与稗结构处肮理器之间通耙过互连结构败构成一个完暗整的计算系爸统。敖 从案系统信号处奥理系统的构摆成方式来看邦,
4、常用的处啊理机结构有肮下面几种:吧单指令流单拔数据流(氨)、案单指令流多翱数据流(拜)、碍多指令流多凹数据流(吧)。跋 敖结版构通常由一昂个处理器和绊一个存贮器唉组成,它通过执行单一巴的指令流对袄单一的数据熬流进行操作按,指令按顺安序读取,数澳据在每一时哀刻也只能读耙取一个。弱跋点是单片处敖理器处理能佰力有限,同爸时,这种结艾构也没有发败挥数据处理稗中的并行性傲潜力,所以跋在实时系统罢或高速系统坝中,很少采挨用巴结构。伴 八 般结构系统由捌一个控制器翱、多个处理安器、多个存翱贮模块和一按个互连网络昂组成。所有耙“活动的”傲处理器在同阿一时刻执行懊同一条指令爱,但每个处扒理器执行这翱条指令时所靶
5、用的数据是绊从它本身的矮存储模块中耙读取的。对稗操作种类多氨的算法,当伴要求存取全跋局数据或对耙于不同的数佰据要求做不摆同的处理时邦,它是无法把独立胜任的鞍。另外,半 一熬般都要求有皑较多的处理懊单元和极高佰的吞扮吐率,如果败系统中没有颁足够多的适隘合拔 处理的任柏务,采用袄 是斑不合算的。岸 昂 案结构就是版通常所指的捌多处理机,佰典型的阿系统由稗多台处理机跋、多个存储模块和一个艾互连网络组成,每台处坝理机执行自傲己的指令,跋操作数也是肮各取各的。拔结班构中每个处哀理器都可以霸单独编程,癌因而这种结扮构的可编程佰能力是最强昂的。但由于案要用大量的坝硬件资源解安决可编程问傲题,硬件利熬用率不高
6、。疤 蔼拜结构拜 随般着大规模可昂编程器件的碍发展,采用半案结构吧的信号处理挨系统显示出暗了其优越性案,正逐步得扳到重视。与皑通用集成电傲路相比,佰芯片敖具有体积小癌、重量轻、艾功耗低、可氨靠性高等几佰个方面的优柏势,而且在芭大批量应用碍时,可降低耙成本。靶 现扒场可编程门安阵列(碍)是在背专用斑的基础上岸发展出来的唉,它克服了傲专用哀不够灵活巴的缺点。与摆其他中小规模集成电路笆相比,其优佰点主要在于吧它有很强的案灵活性,即扒其内部的具八体逻辑功能班可以根据需摆要配置,对扒电路的修改安和维护很方八便。目前,芭的耙容量已经跨过了百万门爸级,使得懊成为办解决系统级鞍设计的重要肮选择方案之扒一。般
7、般拌结构最懊大的特点是跋结构灵活,有较强的通跋用性,适于挨模块化设计阿,从而能够案提高算法效肮率;同时其办开发周期较鞍短,系统易背于维护和扩皑展,适合于扳实时信号处坝理。白 实扮时信号处理拜系统中,低坝层的信号预澳处理算法处懊理的数据量熬大,对处理罢速度的要求败高,但运算邦结构相对比敖较简单,适昂于用皑进行硬件百实现,这样袄能同时兼顾叭速度及灵活伴性。高层处邦理算法的特把点是所处理疤的数据量较艾低层算法少邦,但算法的熬控制结构复案杂,适于用懊运算速度高爱、寻址方式伴灵活、通信跋机制强大的隘芯片氨来实现。靶 线性流敖水阵列结构背 在笆我们的工作罢中,设计并跋实现了一种搬实时信号处翱理结构。它班采
8、用模块化澳设计和线性懊流水阵列结跋构(图)疤。敖 这扮种线性流水扒阵列结构具鞍有如下特点氨:拌 矮接口简单。袄各处理单元拔()之芭间采用统一搬的外部接口碍。盎 捌易于扩充和拔维护。各个阿的内部按结构完全相版同,而且外搬部接口统一俺,所以系统案很容易根据盎需要进行硬俺件的配置和班扩充。当某胺个模块出现伴故障时,也胺易于更换。坝 案处理模块的八规范结构能唉够支持多种凹处理模式,肮可以适应不案同的处理算颁法。版 每澳个的核奥心由斑芯片和可重翱构器件奥组成,叭另外还包括瓣一些外围的跋辅助电路,斑如存储器、搬先进先出(巴)版器件及懊 白等(图盎)。可重吧构器件电路稗与处扮理器相连,颁利用鞍处理器强大败的
9、功半能实现单元把电路内部和背各个单元之岸间的通信。疤从的扮角度来看,扒可重构器件埃相跋当于它的宏绊功能协处理拌器(盎)百。跋 翱中的其他拔电路辅助核癌心电路进行矮工作。八和邦各自带有摆,用扮于存放处理拌过程所需要疤的数据及中隘间结果。隘 阿中存皑储了瓣的执行程序暗和隘的配置数据爱。先进先出版(碍)器件则用于实现信号碍处理中常用绊到的一些操八作,如延时坝线、顺序存澳储等。巴每个单叭独做成一块白,各芭级之间傲通过插座与把底板相连。版底板的结构敖很简单,主把要由几个串柏连的插座构艾成,其作用埃是向各个熬提供通信把通道和电源哀供应。可以把根据需要安艾排底板上插俺座的个数,哀组成多级线吧性阵列结构半。这
10、种模块靶化设计的突唉出优点在于霸,它使得对凹系统的功能败扩充和维护把变得非常简拔单。需要时半,只要插上或更换岸电路板,就暗可以实现系爱统的扩展和拌故障的排除跋。每一级班中的扒都有通信埃端口与前级斑和后级暗电路板相连柏,可以很方绊便地控制和柏协调它们之间的工作。伴 应用实八例瓣 我捌们应用上述摆线性流水阵半列结构实现艾了一个实时俺目标检测系斑统,该系统班的任务主要凹是接收摄像矮头输出的灰案度图象,经爱预处理、编扒码、直线拟鞍合和目标识板别后,输出巴结果到肮机显示。在肮这个任务中白,预处理模挨块包括抽样巴、卷积和编案码等步骤,唉属于低层的班处理,其运八算数据量大胺,但运算结芭构较规则,板适于用案进
11、行纯岸硬件实现;佰而直线拟合敖及目标识别扳等高层图象般处理算法,办所处理的数捌据量相对较蔼少,但要用按到多种数据案结构,其控绊制也复杂得肮多,我们用摆编程隘来实现。罢 重靶构处理模块啊采用的是昂俺公司的癌系背列俺芯片。这是奥一种基于敖的现摆场可编程门敖阵列。表板给出了办 颁系列爱的一些参懊数。隘表1 XC哀5200系笆列FPGA八的一些参数斑B。器件XC5204XC5206XC5210XC5215逻辑单元48078412961936最大逻辑门6000100001600023000多功能块1012141418182222CLB120196324484触发器48078412961936I/O124
12、148196244扒 办袄系列暗逻辑功能拌的实现由内疤部规则排列拜的逻辑单元拌阵列(哀)来完成巴,它是鞍的主要按部分。把的核心是埃可重构逻辑拔块(唉),四周是绊一些输入鞍输出块(安)。翱和哎之间通过袄片内的布线埃资源相连接哀。由巴配置代码驱搬动,癌和的袄具体逻辑功板能及它们的柏互联关系由哀配置数据决袄定。整个版模块百的设计实现凹在岸公司的安败岸 绊开发平台上拜完成。该系佰统支持设计般输入、逻辑唉仿真、设计啊实现(设计凹综合)和时扒序仿真等系笆统开发全过罢程。笆 在罢选用爱芯片时,主唉要应考虑性碍能能否满足扳快速判读算扳法的要求,氨具体说就是耙要求选择那些指令周期爱短、数据吞叭吐率高、通笆信能力
13、强、耙指令集功能瓣完备的处理耙器,同时也氨要兼顾功耗跋和开发支持哀环境等因素巴。表列出安了一些常用靶微处理器的耙性能参数。敖 我案们选择的是疤应用广泛、版性价比较高氨的按柏芯片。它是巴美国公邦司推出的为靶满足并行处伴理需求的扒位浮点把。主要柏特性如下:靶表2 常用澳微处理器对班照表伴X。处理器类型DSP(Motorola)ADSPTMS3209600256156210202101C30C40C50字长/bit32163216323216指令周期/ns505050603325501024浮点FFT时间/ms1.042.330.962.072.361.933.42罢 敖外部时钟班,搬内部时钟奥,靶
14、所有指令均扮单周期完成百,处理器内扮部采用高度笆并行机制,疤可同时进行邦多达项柏各类操作。颁 巴两套相同的肮外部数据、懊地址总线,隘支持局部存伴储器和全局叭共享存储器白。伴 耙个高速并叭行通信口,碍采用异步传版输方式,最吧大速率可达奥办。通过令暗牌传递可灵爸活实现数据八双向传输,艾这种结构很罢适合案之间的互连班。吧 碍个笆通道,每个疤通道的最大翱速率可达澳暗。内佰部总线与昂的地址芭、数据、指安令总线完全凹分开,避开捌了总线使用霸上的瓶颈。胺 从搬结构和功能按上看,邦很适合与扒可重构器件办互相配合起艾来构成高速案、高精度的绊实时信息处半理系统,并艾完全可以胜暗任图像信息碍的实时处理矮任务;此外暗
15、,的板开发系统也懊比较完备,伴支持语言鞍和汇编语言埃编程,能够绊方便地进行百算法移植和软硬件的艾协同设计。芭 衡碍量系统的整板体性能不仅拜要看所使用斑的器件和所蔼能完成的功班能,还要看霸器件之间采白用怎样的互癌连结构。袄半可以完成模袄块级的任务拔,起到拔的协处理扒器的作用。扳它的可编程芭性使它既具版有专用集成吧电路的速度柏,又具有很般高的灵活性把。内癌部结构的主叭要优势是:癌所有指令的拔执行时间都阿是单周期,背指令采用流碍水线,内部败的数据、地爸址、指令及佰总线坝分开,有较八多的寄存器挨。这些特征懊使它有较高绊的处理速度败。般具有硬件的澳高速性,而般具有皑软件的灵活拜性,从器件按上考察,能拜够
16、满足处理邦复杂算法的啊要求。同时半,的爱个通信口隘和个百通道使其翱能够在不被佰中断的情况斑下比较从容背地应付与外氨界大量的数胺据交换。摆 从八内部互办连来看,按使用了捌专用的通信稗口完成与板的互坝连,能够保白证在任何情敖况下拔与叭的数据通道罢的畅通。另外,爱和暗各自都有输按入端口,使捌得系统的处扳理结构多样搬化。比如,袄可安以作为处理霸流程中的一笆个模块,独岸立完成某项芭功能,也可半以作为把的协处理肮器,通过奥的调用来完成特定皑的子函数。八底板将互连皑性延伸到绊之间,使伴得多个电路哀板能够组成白多处理机系肮统。前级的伴既可拔以与下一级坝的通邦信,也可以把将数据发送笆到下一级的鞍。坝 综癌上所述
17、,本昂文提出的基柏于艾的斑线性流水阵哀列结构,为佰设计中如何熬处理软硬件爸的关系提供澳了一个较好埃的解决方案半。同时,该斑系统具有灵白活的处理结奥构,对不同岸结构的算法罢都有较强的邦适应能力,皑尤其适合实白时信号处理案任务。癌M。埃在测控系统艾中用IP核百实现D/A般转换 般艾摘要:采用数字化爱技术、在测邦控系统中用澳IP核实现俺D/A转换鞍,并且在1佰片可编程逻盎辑器件中实坝现。它不受扮温度的影响稗,既可保持敖高分辨率,蔼又可降低对般电路精度和肮稳定度的要敖求,并减少颁元件的数量挨。 百u。百敖 澳关键词:伴IP D/疤A VHD俺L 可编程翱逻辑器件爸在各类电子盎系统中,数啊字电路所占吧比
18、重越来越把大。这主要傲是因为数字挨电路相对于氨模拟电路有爸一些突出的板优点,例如暗:暗K。邦*数字电路中的有源器办件工作在饱八和区与截止傲区,工作状摆态稳定;氨*数字电路蔼处理的是二靶值信号,易唉于存储和再皑生;蔼*数字电路绊是由大量相瓣同的基本单办元,如门、吧触发器等所捌组成,易于霸大规模集成,易于自动百化设计工具罢的应用等。板v。挨由于数字电矮路的以上特癌点,再加上胺数字计算机敖和数字信号半处理技术的疤迅速发展,案使得数字电板路从集成规败模、应用范胺围及设计自叭动化程度等坝方面大大超澳过了模拟电佰路,越来越靶多的由模拟盎电路实现的案功能转由数奥字电路实现安,进入了电瓣子系统数字癌化的时代。
19、版I。唉在测控系统啊采用数字化矮技术,将原拜来由模拟电挨路实现的D叭/A由数字啊电路实现。p。摆1 IP核奥介绍案IP(知识佰产权)核将蔼一些在数字八电路中常用巴,但比较复袄杂的功能块稗,如FIR岸滤波器、S奥DRAM控氨制器、PC柏I接口等设稗计成可修改安参数的模块翱。IP核的佰重用是设计捌人员赢得迅跋速上市时间按的主要策略半。随着CP安LD/FP半GA的规模哎越来越大,佰设计越来越啊复杂(IC爸的复杂度以巴每年55%啊的速率递增绊,而设计能隘力每年仅提班高21%)暗,设计者的懊主要任务是爱在规定的时俺间周期内完拜成复杂的设袄计。调用IP核能避免败重复劳动,搬大大减轻工疤程师的负担斑,因此使
20、用阿IP核是一懊个发展趋势八。靶8。爱IP核包括巴硬IP与软耙IP。可配巴置IP是参皑数化后的可翱重定目标I班P,其优点跋是可以对功挨能加以裁剪板,以符合特哎定的应用。挨这些参数包办括总线宽度绊、存储器容班量、使能或唉禁止功能块颁。稗e。啊硬IP最大耙的优点是确鞍保性能,如瓣速度、功耗翱等。然而,挨硬IP难以败转移到新工袄艺或集成到啊新结构中,翱是不可重配爸置的。八I。癌软IP是以佰综合形式交熬付的,因而昂必须在目标白工艺中实现笆,并由系统耙设计者验证芭。其优点是板源代码灵活翱,可重定目爱标于多种制拜作工艺,在啊新功能级中拌重新配置。艾8。跋不过目前大敖多数库是收费的,但也稗可以从网上氨下载一
21、些免隘费的IP核挨。傲N。盎2 用IP澳核实现的D拜/A转换器瓣的功能及特哎点埃数字到模拟暗转换器(D懊ACs)将耙一个二进制傲数转换为与扳之对应的电笆压值,目前扮常用的D/颁A转换器都叭是由电阻或挨电容加权网摆络、受码元八控制的开关半和基准电压傲或电流源组颁成。当D/办A转换器需肮要转换的信斑号每次取样啊字长很长时板,对这些电背路的精度要佰求很高,并盎且还必须在坝整个温度范霸围和整个使爸用寿命期间霸内保持电路哎参数的稳定背。例如,一啊个16位的疤D/A转换癌器,其MS拜B的精度必隘须在1/2半 16以内耙,这是很困班难的。所以柏,需寻求一伴种中保持高颁分辨率又可澳降低对电路颁精度和稳定埃度要
22、求的方跋法。败e。板可综合的D翱elta-蔼Sigma颁 DAC(靶术语Del板ta-Si案gma分别按指算术差与癌和,即柏-斑DAC)蔼,是Xil版inx公司哀提供的免费跋IP核,可搬从网上下载拌得到。啊u。吧Delta稗-Sigm斑a DAC佰使用数字技罢术,因而它拜不温度的影阿响,并且能百在一片可编白程逻辑器件案中实现。避背免在D/A鞍转换器中使班用匹配电阻把,不仅能更颁便宜,而且碍,其转换是案线性的。D背elta-版Sigma摆 DAC实邦际上是高速癌单个位的D颁AC,用数绊字反馈技术扒,在输出端拌产生一串脉阿冲。脉冲串俺中信号为高颁电平的时间矮部分与二进爱制输入成比艾例,当这个笆脉冲
23、串通过吧一个模拟低翱通滤波器后俺就得到一个按模拟输出信笆号。稗x。岸图1是一个氨典型的可编矮程逻辑器件芭实现的DA版C的顶层电爱路图,输入昂信号有复位百信号、时钟斑信号以及二袄进制数据总皑线。输出D安ACout班Drvr驱动一个外部罢的低通滤波艾器Vout佰能从0V败Vcco。伴这里Vcc搬o是FPG敖A I/O哀块的供电电芭压。输入/办输出详细说背明如表1所柏列。半表1 输入唉输出描述表肮k。信 号方 向描 述DACOUT输出驱动外部低通滤波器的脉冲串(通过一个输出驱动器)DACIN输入数字输入总线,值必须设置成钟的正沿clk输入正沿有效Reset输入复位信号初始化SigmaLatch和输出
24、D触发器 巴DAC的二办进制输入是巴一个无符号哀数。“翱0”澳代表最低电八压,输出的翱模拟电压也氨只有正的。昂“胺0”半输入产生0罢V输出,输爸入端全“把1”唉,则输出近隘似达到Vc拜co。按E。暗图2是De搬lta-S八igma 般DAC的原稗理框图,二败进制输入的靶位宽是可变佰的。为简单翱起见,电路白原理图描述吧了一个8位版二进制输入稗的DAC。熬t。笆在这个器件白中,二进制搬加法器用来盎产生和,也扒用来产生差熬。尽管De班lta A把dder的敖输入是无符摆号数,两个敖加法器的输哀出却都是有扳符号数。D扮elta 敖Adder昂计算DAC盎输入和当前百DAC输出蔼的差,并用袄一个二进制斑
25、数表示。因芭为DAC的爱输出是一个瓣单个的位,唉因此它不是版1就是0。柏如图2所示吧,当输入加按上由Sig熬ma La叭tch的输颁出的两个拷拔贝与0构成吧的10位数肮,就产生差皑值,这也补办偿了DAC岸IN是无符暗号数的事实阿。Sigm拌a Add伴er将它原吧来的输出(哎保存在Si啊gma L扒atch中矮)与当前的爸Delta摆 Adde哎r的输出相蔼加。扳L。盎图1中输出奥电压与输入俺电压的关系埃为傲VOUT=暗(DACI背N/(2M安SBI+1扳)VC败CO拌式中单位为皑V。袄例如,对于昂一个8位D百AC(MS霸BI=7)啊,最后的输斑出是这样:扒DACIN叭输入是0,白则输出也是懊
26、0;DAC佰IN输入是耙十六进制数办FF时,输疤出值为最大拌(255/叭256)矮Vcco。哎W。跋阻容低通滤翱波器适合多柏数应用需要碍,一个简单拜的阻容低通半滤波器就能扒工作得很好癌。败w。翱Vs的定义半是:DAC捌输入增加或案减少时,在扒Vout端肮产生变化的扳绝对值。对岸一个8位D白AC,Vs拔等于(1/拌256)矮Vcco。吧M。爸Vout能吧够产生在0隘VVcc佰o之间可变疤的电压,具办体的值由D败ACIN的凹位宽和输入哀的数值决定办。隘C。搬Delta蔼-Sigm八a DAC把适合需要相癌对高精度的敖低频应用。爱在这种应用氨中,电压不盎会很快地变熬化,因此,蔼RC的时间傲常数可以很
27、背大,以减小罢噪声。版Y。耙这种DAC盎最广泛的应板用就是产生般通常直流电拜压。这包括奥电压控制振傲荡器、电压板控制运算放疤大器、I/瓣O参数电压熬、可编程电芭压源、波形板发生器(正奥弦、三角等爱)、A/D百转换中的参绊考电压等。安e。埃Delta靶-Sigm摆a DAC半是一个例子安,说明高速巴可编程逻辑凹器件能用于唉混合信号系埃统,以减少稗元件的数量岸。可编程逻邦辑器件的速癌度和密度使鞍它们成为模傲拟信号产生胺和处理方面阿理想的元件柏。俺S。搬3 用VH皑DL语言编啊写的程序哎libra案ry ie傲ee;盎use i澳eeest瓣d_log绊ic_11岸64.al版l;班use i奥ee
28、e.肮std_l背ogic_斑arith叭.all;盎use i柏eee.s靶td_lo澳gic_u哎nsign吧ed.al疤l;半P。隘entit肮y dac鞍_ds i颁s昂port(般reset按 :in 埃std_l扒ogic;佰clk :案in st奥d_log八ic;搬din :按in st敖d_log案ic_ve八ctor(澳7 dow扳nto 0哎);-S艾igned半 inte疤ger俺c。笆dout 挨:out 班std_l艾ogic;);安end d霸ac_ds绊;哀archi傲tectu懊re ar稗ch_da邦c_ds 爸of da氨c_ds 绊is摆K。哎signa
29、颁l err巴or :s搬td_lo暗gic_v稗ector袄(9 do瓣wnto 跋0);-啊Error百 accu哎mulat矮or is扮 2 bi芭ts la芭rger爸a。邦const版ant z阿eros:稗std_l跋ogic_氨vecto扮r(7 d熬ownto昂 0):=氨(othe按rs=盎0);翱O。begin板proce敖ss(re奥set,c耙lk,di熬n)暗varia埃ble v半al :s埃td_lo皑gic_v哀ector爸(9 do熬wnto 伴0);般z。begin罢if re碍set=捌1the芭n爱error癌0)般;敖dout版=0;耙elsif艾
30、clk白event案 and 巴clk=白1 th拔en皑d。碍-val按:=din摆+erro柏r;din半 is s摆ign e办xtend拌ed to敖 nbit稗s+2疤Q。哎val:=挨(din(熬dinh耙igh)&蔼din(d拜inhi坝gh)&d盎in)+e翱rror;隘v。吧if va叭l(val按high笆)=0背then盎dout败=1;拌error傲=val班+(11蔼& ze柏ros);else扒dout昂=0;半error氨=val拔+(01癌&zer扒os);安end i拌f;板end i爸f;背end p柏roces阿s;澳end a半rch_d办ac_ds拜;
31、昂4 芯片的爸选择和配置碍选择MAX板7000S哎系列可编程案逻辑器件,败编译后由M澳AX+PL靶US II软件自动配把置进EMP背7032S澳LC44芯傲片,将生成癌的目标文件暗通过编程电拔缆对器件进巴行编程。皑2。傲将该IP核岸实现的D/傲A转换器用唉于新型智能安电阻炉温度案控制仪中,绊因为调节炉拜温的信号不爱要求变化很快,因此D安AC的输入瓣二进制信号拜为缓变信号班。对于这种皑低频应用,矮可以将RC爸时间常数取稗得较大,以袄减小噪声。背这样,可综八合的VHD班L语言De俺lta-S罢igma 肮DAC模块颁配置进EM艾P7032懊芯片后,达奥到了预期的疤效果。 霸t。胺基于FPG班A的U
32、SB伴2.0控制瓣器设计俺摘要:安介绍了一种用VHDL瓣设计USB把2.0功能版控制器的方靶法,详术了暗其原理和设摆计思想,并绊在FPGA扮上予以实现暗。拌7。叭关键词罢:USB 昂VHDL 瓣FPGA罢在视频存储懊和图像宽带澳领域中,经艾常遇到实时败高速数据传耙输的要求。瓣2000年肮4月,由I安ntel、伴Micro凹soft、埃NEC、C癌ompaq癌、Luce袄nt、Ph靶illip笆s等公司共坝同制订的U板SB2.0邦(Univ耙ersal伴 Seri耙al Bu皑s)传输协艾议,其速度远远超过了哀目前使用I绊EEE13般94接口进巴行视频传输矮的400M耙bps,达罢到了480挨M
33、bps;颁而且具有即安插即用的P扮nP(Pl斑ug An叭d Pla靶y)、可进哀行菊花链式把的级联(通袄过USB 邦HUB进行暗外围扩展)俺、可串连多耙达127个板USB设备扒等优点。应罢用该协议可熬支持实时语罢音、音频和半视频数据的半传输。肮B。柏本文针对高敖速数据传输按需求,根据隘USB2.霸0的协议规啊范,利用V按HDL语言捌实现符合该挨协议的功能笆控制器,在凹视频压解系安统中使数据岸在PC与外坝设之间高速半传输。如图佰1所示由视扳频A/D采案集的原始视暗频数据,在版Phili佰ps公司生癌产的TM1300专用扒视频处理器凹中压缩后,碍通过USB哀控制器送至坝PC机。P稗C机的整个笆通
34、过USB般控制器传输扳到TM13八00,解压肮后发送至视胺频D/A。暗p。癌1 控制器巴结构原理翱USB2.肮0控制器结扒构框图如图肮2所示。控捌制器主要由肮两个部分组挨成,其一为罢与外设的接昂口,另一个瓣是内部协议把层逻辑PL碍(Prot拌ocol 扮Layer扮)。内部存扳储器仲裁器昂实现对内部佰DMA和外巴部总线对存隘储器访问之办间的仲裁。扒PL则实现盎USB的数扮据I/O和拜控制。百Y。拔接口有三种叭:一种是与癌微控制器之熬间的功能接跋口;一种是俺与单口同步氨静态存储器耙(SSRA爸M)之间的哀接口;另外白一种是与物芭理层之间的傲接口。这里办符合UTM八I(USB疤 Tran稗scei
35、v隘er Ma傲croce霸ll In俺terfa爱ce)规范笆定义。哀P。埃2 控制器盎实现皑控制器接口板的信号框图霸如图3所示绊。存储器采邦用标准的单版口SRAM笆,其信号接爸口由32位耙数据线SR敖AM_DA蔼TA、15百位地址线S傲RAM_A白DDR及读叭写信号(S袄RAM_W爸E和SRA板M_RD)皑组成,系统阿所需SRA袄M的容量为芭2 15按32bit班=128K笆B。挨r。唉而与微控制爱器之间的接扳口信号包括伴32位数据版线DATA败、18位地暗址线ADD扮R以及DM扳A请求和响八应信号(D蔼MA_RE岸Q和DMA奥_ACK)般。由于要支敖持到128翱KB,需要疤17位地址唉线
36、,另外还肮需要一根地邦址线来选通爸SSRAM熬和USB控把制器内部的伴寄存器,总靶共需要18阿根地址线a背ddr1啊7:0。佰定义如下:暗t。艾USB_R熬F_SEL翱 = !碍addr巴17;搬USB_M罢EM_SE扮L =a哀ddr1案7;佰第18位地熬址addr八17为矮高时选择缓吧冲存储器,矮否则选择内蔼部寄存器。巴地址add哎r16:艾2直接用埃于存储器S埃SRAM的唉地址。靶h。懊2.1 U拔TMI接口八UTMI接捌口信号包括稗:与发送数绊据相关的信岸号(TxV皑alid、傲TxRea百dy等),瓣与接收数据搬相关的信号癌(RxAc案tive、澳RxVal皑id、Rx白Error艾
37、等)以及1俺6位双向数拜据线。板6。白在物理层,澳该控制器需扮要一个外部暗的USB收拜发器(Tr懊ansce霸iver)哀,本文采用捌的是Phi巴lips公稗司的ISP伴1501芯哎片。该芯片扳用作USB埃2.0的模凹拟前端,从暗USB电缆肮来的差分信办号进行反转霸不归零码(柏NRZI)伴解码和位解岸填充转换成阿16位并行哀数据;反之敖,16位并斑行数据通过傲一个差分驱拌动电路经过般串行化、位八填充和NR罢ZI编码输阿出到USB霸电缆上。I蔼SP150氨1通过管脚伴MODE0稗和MODE隘1决定收发俺器的工作模挨式,共有4百种工作模式颁:MODE艾1:0盎为“00”半时,收发器佰处于断开状坝态
38、;为“0吧1”时处于蔼全速(Fu吧ll Sp霸eed)模盎式(此时U澳SB带宽为百12Mb/班s);为“霸10”时是班高速(Hi埃gh Sp办eed)模罢式(此时U白SB最大带班宽是480昂Mb/s)柏;为“11癌”时是HS颁 chir班p模式。芭i。熬UTMI接颁口通过译码皑MODE俺1:0来爸控制ISP癌1501在爸HS和FS懊之间转变。唉X。办If mo版de_hs昂=1t板hen袄MODE啊=10隘Elsif巴 mode吧_hs=扮0the胺n靶MODE案=01扮End i癌f;敖2.2 背协议层芭控制器的核哎心逻辑位于白PL(Pr邦otocl半 Laye蔼r)靶模块鞍,岸负责管理所安
39、有坝USB俺数据般I/O矮和控制通信般,把其结构如图敖4拜所示。搬K。跋DMA和存搬储器接口提哀供随机存储佰器访问和D安MA操作。吧该模块使P佰L和外部微般控制器采用案DMA方式懊访问SSR哎AM。当外伴部总线有访盎问SRAM暗的请求时,懊且PL没有瓣请求访问存白储器,控制啊逻辑如下:爱req、a翱ck分别对百应外部总线挨和存储器之隘间的请求和埃响应信号,稗din、a叭ddr和w盎e分别是外奥部总线给出肮的数据、地矮址和写信号班,mreq昂是内部DM扒A向存储器翱发送的请求暗信号,md盎in、ma败ddr和m扮we分别是艾内部DMA暗给出的数据唉、地址和写八信号。柏i。靶sel 柏=(req胺
40、 OR a哎ck_r)扒 AND(伴NOT m碍req);颁4。埃if se伴l=1扒 then般sram_霸out=胺din;矮sram_哀adr=柏addr;啊sram_伴we=r扳eq AN鞍D we;else岸sram_拔out=哎mdin;柏sram_扒adr=颁maddr敖;挨sram_岸we =般mwe;翱end i办f;耙由控制逻辑八可看出,内岸部DMA操安作的优先级板比外部总线捌高。爸协议引擎(笆Proto隘col E傲ngine罢)处理所有扒标准的US氨B握手信号氨和控制通信按。分组组装拔器组装分组氨并送入输出敖FIFO,爱先组装分组隘头,插入适拔当的PID把(分组标识扳)
41、和校验和扒,然后加入邦数据域。分隘组拆装器先伴解码出PI皑D和序列号版以及校验和氨,再从8位稗PID取低啊4位(或高班4位取反)安得到PID矮3:0坝,通过US靶B2.0协班议的PID拔类型定义译拌码出PID岸名,判断是八Token皑分组(OU奥T、IN、埃SOF和S啊ETUP)霸还是DAT艾A分组(D阿ATA0、DATA1颁、DATA罢2和MDA败TA)。霸j。矮Pid_T坝oken扮=pid_佰OUT O颁R pid傲_IN O袄R pid坝_SOF 坝OR pi唉d_SET拌UP;扒2。阿Pid_D跋ATA 安=pid_佰DATA 哀OR pi绊d_DAT叭A1 OR把 pid_巴DAT
42、A2埃 OR p芭id_MD按ATA;半I。澳如果是To拔ken分组捌(格式定义懊如图5所示盎),则将后爱续的16b氨it数据分隘别放入两个板8bit临拌时Toke案n寄存器t懊oken0奥和toke敖n1,然后埃取出分组中敖的7位地址凹、4位端点肮号及5位C阿RC校验码瓣。袄Y。癌Token澳_fadr败=tok邦en06昂:0;按Token把_endp叭=tok爸en12败:0 &靶 toke巴n07柏;搬t。笆Token袄_crc5八=tok袄en17扒:3;跋对于特殊的啊Token拜须进行特殊肮的处理,本拜文实现的控班制器只对S胺OF这一特奥殊Toke百n进行操作矮,解出PI碍D后的1
43、1扳位帧号及5笆位CRC5稗校验码。把M。搬Frame盎_no=巴token按12:0版 & t岸oken0办;哀x。按Token傲_crc5耙=tok柏en17般:3;检验校验码挨是否出错,半如果出错等爱待下一个T般oken,巴否则将地址白、端点号和班帧号等放入胺相应寄存器伴。Toke挨n类型如果搬是IN,则岸执行组装分绊组并发送寄埃分组;如果拔是OUT则捌拆卸接收到芭的数据分组摆。对于其他疤不支持的T矮oken则柏视为错误处邦理:Pid岸_ERRO邦R=pi碍d_ACK爸 OR p蔼id_NA疤CK OR爱 pid_埃STALL扒 OR p瓣id_NY懊ET OR般 pid_拜PRE O傲
44、R pid袄_ERR 傲OR pi昂d_SPL跋IT OR碍 pid_班PING;爸如果出错则邦不进行To办ken的解挨码,而等待班下一个To稗ken的到摆来。办I。佰如果是DA颁TA分组,瓣则紧接着P绊ID的是最靶大载荷为1挨024字节埃的数据和1癌6位CRC柏16校验码柏。对数据的背处理先写入扮端点寄存器矮,然后通过霸DMA操作隘写入SSR斑AM。下面安详细介绍端半点寄存器和百DMA操作暗m。爱2.3 端扮点操作瓣数据的传输瓣实际上通过叭端点(En八dpoin耙t)进行,霸控制器通过八写端点的寄胺存器来配置端点,该控翱制器最多可袄有16个端办点,每个端芭点有相应的哀4个寄存器耙:Epn_邦
45、CSR、E按pn_IN爱T、Epn吧_BUF0懊和Epn_靶BUF1(扒这里n=0邦、1、2或熬3),其格扳式如图6所爱示。本文使哀用addr坝8:2矮7根据地址颁线来访问这袄些寄存器,懊addr隘8:4用氨来选择端点袄号,其值(昂16进制)案从4到19哎分别表Ep背n(n=0耙.15阿)。add碍r3:2爱指定寄存奥器类型:“靶00”代表稗CSR(C澳ontro啊l Sta罢tus R扳egist扳er);“隘01”代表绊中断寄存器班;“10”矮指向Buf肮fer0;按“11”代班表Buff靶er1。这把两个Buf暗fer用来疤作临时数据澳存储,Bu碍ffer0搬和Buffer1分别摆作为专
46、用的拌输入/输出皑缓冲器来提岸高USB的班数据吞吐能哎力。双Bu凹ffer能芭够减少微控俺制器和驱动摆软件之间的班延迟。其中安端点的CS碍R寄存器指傲定端点的工稗作模式并且凹向控制器报隘告指定端点拔的状态。E啊p_CSR氨31:3懊0必须初拌始化为“0癌0”(最初扒使用Buf靶fer0)哀,通过读这癌2位可以知昂道下次所要哀处理的缓冲按器;为“0扮1”时,指绊定Buff坝er1。E拜p_CSR爱27:2安6和Ep敖_CSR般25:24翱分别指定般端点类型和翱传输类型,翱其类型编码柏参见表1。俺Ep_CS班R21:般18指定版端点号,总柏共可以有1瓣6个端点。凹Ep_CS班R15昂时DMA使蔼能
47、位,为“澳1”时允许拜外部DMA扮操作,否则蔼不允许DM澳A操作。癌K。耙表1 类型瓣编码表Ep_CSR27:26端点类型Ep_CSR25:24传输类型 00控制端点00中断传输01IN端点01同步传输10OUT端点10块传输11保留11保留拔当控制器收哎到中断时,版读中断源寄胺存器(Ep疤_INT澳6:0)癌来判断中断颁源和产生的板原因。可自阿定义中断源挨,如Ep_俺INT2拜定义为该肮控制器接收百到不支持的昂PID而产扳生的中断:搬Ep_IN蔼T2靶=Pid_拔ERROR白。Ep_I澳NT4俺和Ep_I办NT3岸分别表示B瓣uffer阿1和Buf柏fer0的邦满或空的状斑态位。笆d。扒Ep
48、_BU瓣F31颁(标记缓冲癌器是否被使稗用过)在使捌用后被控制翱器置“爱1”把,在清空或安重填充该缓爱冲器后,控摆制器清除该搬位。该闰初笆始化时为“半0”百。Ep_B昂UF30半:17指爱定缓冲器能容纳的字节隘数。Ep_爱BUF1靶6:0缓胺冲器的指针岸,装载存储翱器SRAM中数据的地搬址。白M。绊控制端点(颁Endpo柏int0)巴比较特殊,佰由于它既要瓣接收也要发爱送数据,因艾此对于控制疤端点,Bu哀ffer0扮用于OUT按缓冲器,B拔uffer艾1则是IN癌缓冲器。从挨SETUP疤和OUT分懊组来的数据蔼,写入Bu斑ffer0拌,IN分组癌的数据则是袄从Buff敖er1中获爸取。佰o。懊
49、2.4 D笆MA操作癌DMA操作芭允许控制器懊与功能接口把之间数据的翱透明传输。搬一旦设置了把DMA操作敖,则不需要熬微控制器的碍干预。每个巴端点有一对爸DMA_R癌EQ和DMA_ACK巴信号。当C败SR寄存器百中DMA使拔能信号位(白Ep_CS靶R15艾)被置位时靶,USB控捌制器使用D癌MA_RE矮Q和DMA隘_ACK这翱两个信号来傲进行DMA碍的流控制。扳当缓冲区有氨数据或为空疤需要填充时搬发送DMA盎请求信号D芭MA_RE白Q,每传输白4字节,响澳应一个DM碍A_ACK耙信号。笆V。啊由于USB摆2.0协议蔼定义的事务佰操作以8bit为单位袄,因此完成爱一次32b挨it的DM扒A操作需
50、要扳进行4次写哀8bit。鞍内部DMA敖采用高效的敖One-h搬ot状态机傲设计方法,挨状态转换如懊图7所示。扒当需要将接哎收到的数据挨存储到SR跋AM(rx稗_dma_摆en=1)安时进入WA版IT_MR胺D状态,在巴该状态选中办一个临时数柏据寄存器,霸并向存储器盎发送请求信吧号mreq版,从存储器班中预取4字版节(当接收白到的数据少唉于4字节时芭,保证有4罢字节的数据扳写入存储器皑)到该寄存佰器中,然后霸进入MEM挨_WR状态佰。当PL的翱分组拆装器按接收到1字艾节数据时,笆将该字节写俺入临时存储扒器,转入下啊一状态ME白M_WR1八;当分组拆班装器没数据跋给DMA仲班裁器时则进搬入MEM
51、_澳WR2状态哎,在此状态背将临时存储矮器中的数据安写入SRA捌M,然后回蔼到IDLE半状态。在操败作过程中,靶使用计数器办adr_c瓣b对传输字胺节数进行计瓣数,通过a叭ddr_c佰b1:0拔的值标识翱当前传输的凹是32bi笆t中的哪个阿字节。计数昂器sizu盎_c每接收疤1字节数值哀加1。伴h。伴在需要读取安SRAM中扳的数据(t暗x_dma肮_en=1吧)时,DM澳A仲裁器由唉IDIE状胺态进入ME埃M_RD1阿状态,读取隘4字节数据稗到发送缓冲哎区中,然后碍进入状态M版EM_RD昂2,再读4笆字节进入状吧态MEM_绊RD3,这跋8字节轮流跋使用Buf疤fer0和颁Buffe爸r1缓冲区
52、隘:爸p。霸在需要读取颁SRAM中百的数据(t邦x_dma安_en=1袄)时,DM背A仲裁器由盎IDLE状绊态进入ME拜M_RD1白状态,读取颁4字节数据袄到发送缓冲安区中,然后扳进入状态M吧EM_RD靶2,再读4搬字节进入状扮态MEM_翱RD3,这跋8字节轮流哎使用Buf把fer0和叭Buffe扮r1缓冲区扮:袄s。盎if(N阿OT ad奥r_cb版2) A碍ND ma巴ck摆then 埃Buffe坝r0=S哀RAM_D隘ATA_I白;奥elsif熬 (adr拌_cb2白 AND跋 mack扳)耙then 罢Buffe哎r1=S颁RAM_D芭ATA_I笆;版end i叭f;摆在MEM_懊RD
53、3状态隘判断是否还稗需要读下一澳个数据,如碍果需要再进半入状态ME按M_RD2叭,否则在传吧输完所有字搬节后,返回翱到IDLE隘状态。在发巴送数据过程板中,使用1叭4bit计肮数器siz拜d_c决定矮传输字节数挨,取自Ep罢_BUF安30:17肮,每发送埃1字节数据艾,它的值减隘1。在图7跋中的各个状袄态中,由于啊超时、CR安C校验错误阿或得到的数傲据发生错误稗时,PE产班生的Abo伴rt信号会罢使当前状态都回到ID瓣LE。扮F。半文中阐述了把USB2.奥0功能控制吧器的一种实矮现方案。 佰其VHDL哎语言实现代搬码,已在X拔ILINX坝公司的FP敖GA Vi坝rtex 白XVV30碍06fg
54、4肮56中通过奥了Xili扒nx IS胺E的仿真、哎综合及布局拜布线。FP啊GA的规模唉是32万门般,1536百个CLB(扮可配置逻辑把单元)。该颁控制模块占鞍用2050佰个Slic皑e(66%奥),使用了吧1697个扮Slice颁触发器(2翱7%)和3佰047个4奥输入LUT捌表(49%拜)。整个F佰PGA的速吧度可达到5靶6.870翱MHz,完把全满足视频敖数据的高速搬传输(对3吧2bit数把据操作,达矮到480M佰b/s的速澳度时钟只需邦15MHz懊)。该方案拜实现的控制搬器便于修改昂且易于实现凹,可作为一颁个功能模块邦嵌入到SO拌C中,可使芭不同情况最巴大限度地灵傲活设计片上绊系统。
55、按m。敖用FPGA巴器件实现U半ART核心版功能的一种绊方法班串行外设都百会用到RS鞍232-C奥异步串行接笆口,传统上罢采用专用的唉集成电路即案UART实安现,如TI暗、EXAR颁、EPIC摆的550、摆452等系班列,但是我袄们一般不需熬要使用完整奥的UART矮的功能,而摆且对于多串矮口的设备或扮需要加密通挨讯的场合使矮用UART安也不是最合胺适的。如果翱设计上用到扒了FPGA蔼/CPLD艾器件,那么瓣就可以将所笆需要的UA斑RT功能集艾成到FPG暗A内部,本碍人最近在用俺XILIN奥X的XCS啊30做一个设计的时候扒,就使用V爸HDL将U拜ADT的核靶心功能集成昂了,从而使斑整个设计更霸加紧凑,更瓣小巧、稳定拌、可靠,下拜面就谈谈设办计方法。 啊o。拜- 疤分析UAR版T的结构,巴可以看出U隘ART主要巴由数据总线熬接口、控制八逻辑和状态奥接口、波特霸率发生器、班发送和接受皑等部分组成般,各部分间稗关系如图一班。 耙c。盎- 案了解了UA绊RT的各部凹分组成结构暗后,下面对按各部分的功奥能进行详细埃的分析。我板们假定所要版设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国际贸易采购规定合同
- 股份制企业合同及文书管理手册
- 智能机器人控制系统开发合同
- 装修施工合同国家
- 资阳环境科技职业学院《中国现当代文学(1)》2023-2024学年第二学期期末试卷
- 日照航海工程职业学院《商务沟通》2023-2024学年第二学期期末试卷
- 成都东软学院《城市公交规划与运营管理》2023-2024学年第二学期期末试卷
- 湘西民族职业技术学院《建筑物联网技术》2023-2024学年第二学期期末试卷
- 三明学院《健美操I》2023-2024学年第二学期期末试卷
- 大连医科大学中山学院《办公空间室内设计》2023-2024学年第二学期期末试卷
- 付款申请英文模板
- 大同大学综测细则
- 生活会前谈心谈话提纲
- 比较思想政治教育(第二版)第十二章课件
- 普通外科常见疾病临床路径
- 人教版九年级下册初中英语全册作业设计一课一练(课时练)
- 2021新版GJB9001C-2017体系文件内审检查表
- 风筛式清选机的使用与维护
- 《计算流体力学CFD》
- 马克思主义宗教观课件
- 语文版九年级下册课外阅读练习
评论
0/150
提交评论