基于fpga驱动高速点阵板驱动系统及相关接口研制_第1页
基于fpga驱动高速点阵板驱动系统及相关接口研制_第2页
基于fpga驱动高速点阵板驱动系统及相关接口研制_第3页
基于fpga驱动高速点阵板驱动系统及相关接口研制_第4页
基于fpga驱动高速点阵板驱动系统及相关接口研制_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

贵州民族学院理学院毕业论文-PAGE39-基于FPGA驱动高速点阵板驱动系统及相关接口研制摘要论文立足于当今行业流行的LED控制技术,以新型控制器FPGA为核心研究点阵板高速驱动方案,文中介绍LED屏在国内发展现状及前景,国内具有良好的技术和产业链,研究LED控制器具有不可轻视的意义,结合点阵屏特点确定了该论文的控制方案及FPGA集成并行扫描。第二、三章介绍LED点阵板组成的基本原理、发光特性及人眼视觉特性,介绍LED驱动的三种方案并进行论述,得出脉冲驱动的方案具有极大的优势。第四章介绍FPGA的基本原理,目前较为流行的AlteraFPGA系列器件EP2C5T144C8N,介绍流行的FPGA开发工具QuartusⅡ、NIOSⅡ及ModelSim,FPG开发流程和开发特点,介绍目前流行的硬件描述语言VerilogHDL特点。第五章结合点阵板基本组成原理和该设计的控制方案,设计了提高传输效率的数据组织方法。文章重点在第六章,介绍各软件模块和软硬件模块的组成和结合方式,结合点阵板组成原理及其特点确定控制器的实现的目的,本系统设计的具体实施方案,各模块工作原理有详细的描述,模块VerilogHDL描述,IP核的使用,各模块结合软硬件仿真调试过程和调试结果,最终实现设计要求达到的目的。第七章介绍硬件设计的结构,各个模块的基本组成及模块的结合。第八章结合作者的实际设计经验谈了FPGA系统设计的经验和技巧以提高设计效率设计的人性化,包括电路模块化方法、IP核使用技巧、电路仿真测试技巧,模块复用优势及系统调试结果。关键词:FPGA集成并行扫描点阵屏PC机串口模块化FPGA-basedhigh-speeddotmatrixdriverboarddrivesystemandrelatedinterfacesaredevelopedPanMaoshengSummaryPaperbasedontoday'spopularLEDcontroltechnologyindustrytothecoreofthenewcontrollerFPGAboardhigh-speeddot-matrixdrivingscheme,thepaperdescribesthedevelopmentofLEDscreensinthedomesticsituationandprospectsofChinawithgoodtechnicalandindustrialchainofLEDcontrollerhasnotunderestimatethesignificance,combinedwithdot-matrixscreenfeaturestodeterminethecontrolschemeofthepaperandtheFPGAintegratedparallelscan.Second,LEDdotmatrixboardcomposedofthreechaptersintroducethebasicprinciplesoflightandhumanvisualcharacteristics,introducedthreeLEDdriverstodiscusstheprogramandobtainedpulse-drivenprogramhasagreatadvantage.ChapterIVintroducesthebasicprinciplesofFPGA,AlteraFPGAandmostpopulardevicesEP2C5T144C8N,introducedthepopularFPGAdevelopmenttoolQuartusⅡ,NIOSⅡandModelSim,FPGdevelopmentprocessanddevelopmentfeatures,andintroducesthepopularfeaturesofthehardwaredescriptionlanguageVerilogHDL.Latticeboardchaptercombineselementsofthedesignprincipleandcontrolscheme,designedtoimprovethetransmissionefficiencyofDataOrganization.ItfocusesonChapterVI,describesthevarioussoftwaremodulesandhardwaremodulesofthecompositionandcombinationofmethods,combinedwithdot-matrixplatesanditsfeaturestodeterminethepurposeofrealizationofthecontroller,thesystemdesignfortheconcreteimplementation,themoduleworksdetaileddescriptionofVerilogHDLdescriptionofthemodule,IPcoreuse,thecombinationofhardwareandsoftwaremodulesanddebugthedebuggingprocesssimulationresults,andultimatelytoachievethedesignrequirements.ChapterVIIofthehardwaredesignofthestructure,thebasiccomponentsofeachmoduleandmodulecombination.ChapterVIIIofthecombinationofpracticaldesignexperienceontheFPGAsystemdesignexperienceandskillstoimprovetheefficiencyofthedesignofhumandesign,includingcircuitmodularapproach,IPcoreusingthetechnique,circuitsimulationtesttechniques,modulereuseadvantagesandsystemdebuggingresults.Keywords:FPGAintegratedparallelportscanningdotmatrixscreenPC-modular目录TOC\o"1-4"\h\z\u摘要: 1Summary: 2目录 3第一章概述 51.1 LED显示屏及应用 51.2 显示屏驱动器的发展状况和趋势 61.3 本课题的内容 7第二章LED器件基本工作原理 102.1光学度和视觉特性 102.2发光二极管特性 112.3LED的伏安特性 112.4LED器件的驱动原理 132.4.1直流驱动 132.4.2恒流驱动 132.4.3脉冲驱动 14第三章LED显示屏及驱动电路 143.1 LED显示屏屏体 153.2 双色LED单元板硬件组成及工作原理[4] 15第四章FPGA开发要点 174.1 PLD简介 174.2 Altera的EP2C5T144 184.3 FPGA开发工具 184.4 FPGA开发流程 194.5 VerilogHDL的特点 20第五章数据的组织方法 215.1 显示数据组织的基本原则 215.2 静态显示数据的组织 21第六章系统整体方案的设计 266.1 本系统设计流程 266.2 设计要求说明 266.3 行为级描述 276.4 各模块工作原理 276.4.1 取模软件 276.4.2 串口发送 286.4.3 串口接收 296.4.4 片上RAM存储器 346.4.5 RAM数据管理器、数据分配器 356.4.6 点阵基本驱动器 416.4.7 整体整体结构 45第七章系统硬件设计 477.1 电路的整体结构 477.2 电源部分 487.3 JTAG下载器 487.4 接口驱动 497.5 串口下载 49第八章系统调试与总结 508.1 语法错误 508.2 电路模块化 508.3 使用IP核 528.4 电路仿真与测试 538.5 模块复用 538.6 调试结果 53致谢 55原创性声明 56学位论文使用授权说明 57参考文献 58概述LED显示屏及应用LED显示屏的应用涉及社会经济的许多领域,主要包括:证券交易、金融信息显示。这一领域的LED显示屏占到了前几年国内LED显示屏需求量的50%以上,目前仍为LED显示屏的主要需求行业。上海证券交易所、深圳证券交易所及全国上万家证券、金融营业机构广泛使用了LED显示屏。机场航班动态信息显示。民航机场建设对信息显示的要求非常明确,LED显示屏是航班信息显示系统FIDS(FlightinformationDisplaysystem)的首选产品,首都机场、上海浦东国际机场、海口美兰机场、珠海机场、厦门高崎机场、深圳黄田机场、广州白云机场及全国数十家新建和改扩建机场都选用了国产的LED显示屏产品。港口、车站旅客引导信息显示。以LED显示屏为主体的信息系统和广播系统、列车到发揭示系统、票务信息系统等共同构成客运枢纽的自动化系统,北京站、北京西站、南昌站、大连港等国内重要火车站和港口都安装了国内厂家提供的产品和系统。体育场馆信息显示。LED显示屏已取代了传统的灯泡及CRT显示屏,四十三届世乒赛主场地天津体育中心首次采用了国产全彩色视频LED显示屏,受到普遍好评,上海体育中心、大连体育场等许多国内重要体育场馆相继采用了LED显示屏作为信息显示的主要手段。道路交通信息显示。智能交通系统(ITS)的兴起,在城市交通、高速公路等领域,LED显示屏作为可变情报板、限速标志等,替代国外同类产品,得到普遍采用。调度指挥中心信息显示。电力调度、车辆动态跟踪、车辆调高度管理等,也在逐步采用高密度的LED显示屏。邮政、电信、商场购物中心等服务领域的业务宣传及信息显示。遍布全国的服务领域均有国产LED显示屏在信息显示方面发挥作用。广告媒体新产品。除单一大型户内、户外显示屏做为广告媒体外,国内一些城市出现了集群LED显示屏广告系统;列车LED显示屏广告发布系统也已在全国数十列旅客列车上得到采用并正在推广。演出和集会。大型显示屏越来越普遍的用于公共和政治目的的视频直播,如在我国建国50周年大庆、美国总统大选、莫斯科850周年庆典、日本NAGANNO冬季奥运会、波兰教皇的访问、巴西狂欢节、世界各地的新千年庆典。这些节日中大型显示屏增加了艺术影响力,在播放广告和信息的同时也团结了人们。展览和租赁。在许多展览会,LED显示大屏幕作为展览组织者提供的重要服务内容之一,向参展商提供有偿服务,国外还有一些较大的LED大屏幕的专业性租赁公司,也有一些规模较大的制造商提供租赁服务。显示屏驱动器的发展状况和趋势LED显示屏驱动器经历了从单色、双色图文显示屏,到图像显示屏,一直到今天的全彩色视频显示屏的发展过程。目前LED显示屏驱动器根据使用场所不同,可以分为室外屏和室内屏两种,其主要区别是发光管的发光亮度不同。而根据所显示的内容不同也可以分为图像屏和文字屏两种。目前LED电子显示屏驱动器的显示向更高亮度、更高耐气候性、更高的发光均匀性、更高的可靠性、全色化、多媒体方向发展,系统的运行,操作与维护也向集成化、网络化、智能化方向发展。高亮度、全彩化蓝色及绿色超高亮度LED产品出现以来,成本逐年快速降低,使LED全彩色显示屏产品成本下降,推广速度加快。同时,随着控制技术的发展和LED显示屏体稳定性的提高,使全彩色LED显示屏的亮度、色彩、白平衡均达到比较理想的效果,完全可以满足户外全天候的环境条件要求,而且图像更清晰、更细腻、更亮丽。标准化、规范化材料、技术的成熟及市场价格基本均衡之后,LED显示屏驱动器的标准化和规范成为LED显示屏发展的一个趋势。近几年业内的发展中,价格调整达到基本均衡后,产品质量、系统的可靠性等将成为主要的竞争因素,这就对LED显示屏的标准化和规范化有了较高的要求。行业规范和标准体系的形成,IS09000系列标准的应用,使LED显示屏行业的发展趋于有序化。产品结构多样化随着信息化社会的形成,信息领域愈加广泛,LED显示屏及驱动器的应用前景更为广阔。预计大型或超大型LED显示屏为主流产品的局面将会发生改变,适合于服务行业特点和专业性要求的小型LED显示屏会有较大提高,面向信息服务领域的LED显示屏产品门类和品种体系将更加丰富,部分潜在市场需求和应用领域将会有所突破,如公共交通、停车场、餐饮、医院等综合服务方面的信息显示屏需求量将有更大的提高,大批量、小型化的标准系统LED显示屏在LED显示屏市场总量中将会占有多数份额。本课题的内容研究的内容主要包括,首先深入了解大屏幕LED显示系统的结构,工作原理,其次学习基于ALTERACycloneⅡEP2C5T144C8N的FPGA芯片,的并行工作提高数据传输效率,提高传输速度,设计并制作控制器外围电路,最后完成基于EP2C5T144C8N的LED显示系统的设计。要求包括能够获得较大的显示区域,能够达到稳定的显示效果。控制器选型选择FPGA的理由,这个与FPGA的比较物是单片机(MCU),这里把各类ARM芯片也归类进来。MCU实现的是软逻辑。MCU根据烧写在存储器中的代码进行动作。MCU内部的处理器首先要从存储器中读取代码,然后解释代码,执行代码。FPGA实现的是硬逻辑。工程师用硬件描述语言(Verilog/VHDL)描述需实现的逻辑,然后通过专门的工具综合后生成目标文件。把目标文件下载进FPGA后,FPGA内部便形成了实现预定功能的硬件电路,这些电路是由基本的门电路和触发器构成。不过现在FPGA通过IP核的方式也可实现类似MCU的软逻辑。相对MCU,FPGA的优势主要有:速度快,应用灵活等。速度快的优势来源于FPGA的硬逻辑方式。由于FPGA的逻辑功能全部用硬件电路实现,故所有的延迟只来源于门电路,而一般门电路的延迟都在ns级别。FPGA较MCU,应用更加灵活。一个型号的MCU,外围设备种类是固定的个数也是固定的。而FPGA的设备是可以由编程人员配置的,这就加大了硬件使用的灵活性。系统设计方案及论文结构上一节阐述了FPGA与MCU的区别和各自的工作特点,在这一节中我们就参照它们的特性列出三个驱动器的设计方案,比较它们的优缺点,挑选出最佳设计方案,设计出控制器系统及硬件。设计方案,比较它们的优缺点,挑选出最佳设计方案,设计出控制器系统及硬件。方案1-1:采用普通的单片机MCU做控制系统,由于一块普通单片机刷新频率不足,不能满足显示区域较大,那么就需要采用多块单片机分散控制,如图1-1所示,这样一来对数据的管理非常麻烦,程序编制比较复杂,显示难以同步,因此不应采纳。图1-3-1基于51单片机的系统结构图方案1-2:采用基于EPC25T144的FPGA的高性能处理器做控制系统,系统时钟高达160MHz(使用ARM也是类似的控制方式),这样在传输速度上就解决了普通单片机不能解决的问题,结构如图1—2。图1-3-2基于FPGA的系统结构图但是在灰度控制中FPGA速度足够快,但是LED屏体传输速度只有24MHz,实现大屏灰度控制困难,在方案1—2中使用的仅仅是FPGA的速度这就没有把FPGA的优势体现出来。图1-3-3,FPGA集成并行扫描方案1-3:在1.5节中提到FPGA资源可配置的灵活性和并行工作的特点,这里把方案1-1并行传输和1-2速度快的优点结合起来,如图1-3-3所示,使用FPGA集成并行扫描方式解决这一问题。论文从介绍了LED显示屏开始,接着对LED发光器件作了说明,然后详细说明了LED显示屏屏体电路和显示屏控制系统,介绍了显示屏的接口电路,软件的编写等,最后讲述了作者在制作过程中遇到的问题和解决方法以及对自己的工作总结。LED器件基本工作原理光学度和视觉特性为了使LED显示屏达到理想的显示效果,除了需要对LED器件本身的工作原理及特性有很好的理解之外,首先要对光学特性(亮度、色彩、视角)等和人眼的视觉特性有所了解。由于图像显示的最终效果是与光源特性(如果是反射光的话,还要考虑反射体的光学特性)和视觉特性双方有关的,它既有光学原理所描述的客观存在,也有人眼视觉主观感受的因素,两者兼顾才能收到良好的效果。光度是对有关的辐射能量与人眼亮度感受两者关系的描述;色度是对有关彩色形成与彩色视觉关系的描述。人眼对亮度的敏感程度与颜色有关,在整个可见光范围并不是均匀的[2]。人眼对不同颜色光线的敏感程度不同,人眼对颜色的感觉来源于视网膜上三种不同类型的视锥细胞。不同的视锥细胞对不同的颜色敏感,它们的视敏曲线表示在图2-1上,分别为Rs(λ)、Gs(λ)、Bs(λ),即三种视锥细胞分别对红﹑绿﹑蓝三色最敏感。三种细胞的共同作用下,就可以得到人对颜色的总体感觉。根据对人眼的研究,可知用R﹑G﹑B三基色的不同比例,可以合成不同的颜色。三种颜色不同比例的混合就能发出从白到黑的各种颜色的光。这就是LED显示屏为什么以R﹑G﹑B为三基色[2]。图2-1视锥细胞视敏函数曲线人眼的亮度感觉不会因光源的消失而立即消失,要有一个延迟时间,这就是视觉惰性。视觉惰性可以理解为光线对人眼的作用﹑传输﹑处理等过程都需要时间,因而使视觉具有一定的低通特性。实验表明,当外界光源突然消失时,人眼的亮度感觉是按指数规律逐渐减小的。这样当一个电源反复通断,在通断频率较低时,人眼可以发现亮度的变化;而通断频率增高时,视觉就逐渐不能发现相应的亮度变化了,刷新频率越高,画面质量越好,但刷新频率越高,对屏体背后的驱动电路和控制电路的要求也越高。视觉惰性可以说是LED显示屏得以广泛应用的基础。首先,在LED显示屏中可以利用视觉惰性,改善驱动电路的设计,形成了目前广为采用的扫描驱动方式。扫描驱动方式的优点在于LED显示屏不必对每个发光灯提供单独的驱动电路,而是若干个发光灯为一组共享一个驱动电路,通过扫描的方法,使各组发光灯依次点亮,只要扫描频率高于临界闪烁频率,人眼看起来各组灯都在发光。由于LED显示屏所使用的发光灯数量很大,一般在几千只到几万只的范围,所以节约驱动电路的效益是十分可观的[2]。发光二极管特性发光二极管(lightemittingdiode,LED),是一种把电能变成光能的特种器件,当电流通过它的时候(图2—0-1),可以产生可见光。图2-0-1点亮一个LED发光二极管的结构主要由PN结芯片、电极和光学系统构成。我们知道,发光是一种能量转化现象。当系统受到外界激发后,会从稳定的低能态跃迁到不稳定的高能态;当系统由不稳定的高能态重新回到稳定的低能态时,能量差以光的形式辐射出来,就会产生发光现象。当在PN结上加以正向电压之后,P区的空穴注入至N区,N区的电子注入至P区,相互注入的电子与空穴相遇后即产生复合,这些少数载流子在PN结的注入和复合中产生辐射而发光。它是自发辐射发光,不需要较高的注入电流产生粒子数反转分布,也不需要光学谐振腔,发射的是非相干光。描述LED的特性有许多参数,这些参数之间的关系呈现非线性。因此,用特性曲线来描述这些关系,在工程应用中更具有使用价值。下面就以其主要的特性曲线作简单介绍[2]。LED的伏安特性LED的伏安特性与普通二极管类似,只是开始导通的正向电压较大,大约在1.5-3.0之间,视不同的半导体材料而定,其特性曲线如图2-3:图2-3LED的伏安特性曲线可以用以下公式描述:(2.2.1)其中:m是符合因子,Is是反向饱和电流(MA),e是电子电量,K是波尔兹曼常数,U是PN结电压(V),T是绝对温度(K)当LED两端正向压降超过门坎电压时,LED开始发光,发光的波长取决于电子跃迁的能量差。实际上LED发出的光,不是单一波长的光,而是某一波段的光,LED显示屏三基色色纯度越高,光谱分布越窄,合成的图像颜色越自然。发光强度Iv与正向电流If的关系曲线总体上看发光强度是随正向电流的增加而增加的,但不同半导体材料制成的LED器件,其发光强度L与正向电流I的变化关系有所不同。图2-4给出了由A-GaAsP(N)、B-GaP(N)和C-GaP(Zn-O)三种不同半导体材料制成的LED器件的电流与发光强度的关系曲线[2]。图2-4LED发光强度与正向电流的关系一般的LED发光强度正比于电流的m次方,当低电流密度时m=1.3-1.4,当大电流密度时m=1。可见,在大电流时光强随电流增加,这个特性使LED在窄脉冲驱动方式下,也可获得较高亮度。(2.2.2)其中:K是一个常系数,I是正向电流[2]。LED器件的驱动原理从LED器件的发光机理可以看出,当向LED器件施加正向电压时,流过器件的正向电流使其发光,因此LED的驱动就是要使它的PN结处于正向偏置,其具体的驱动方式有以下几种[11]:2.4.1直流驱动直流驱动是最简单的驱动方法,就是通过稳定电源,经限流电阻为发光二极管LED提供电流的方法。这种驱动方式虽然简单,但不能在LED显示屏上使用。由于LED正向特性陡峭,加上组件参数的分散性,即使相同的电源,相同的限流电阻,每个LED的正向电流也不尽相同,导致LED器件的发光强度不同,亮度不均。这种驱动方式适合于LED器件较少,显示固定,发光强度恒定的情况。2.4.2恒流驱动恒流驱动基本上克服了器件分散性的影响,由于三极管的输出特性具有恒流的性质,所以可采用晶体管驱动LED,如图2-5是用三极管进行恒流驱动的原理图,LED的导通电流与LED本身无关,取决于外部参数,其正向电流是:(2.3.1)图2-5LED恒流驱动2.4.3脉冲驱动利用人眼的视觉惰性,采用向LED重复通断的方式使其点亮,就是脉冲驱动方式。脉冲驱动的主要应用有两个方面:扫描驱动和占空比驱动。扫描驱动的主要目的是节约驱动器,简化电路。采用这种方式时应该注意两个问题:脉冲电流幅值的确定和重复频率的选择。首先,要想获得与直流驱动方式相当的发光强度,脉冲驱动电流的平均值I就应该与直流驱动的电流值相同。如图2-6所示,平均电流Ia是瞬时电流i的时间积分,对于矩形波来说,有如下表达式(2.3.2)图2-6LED的脉冲驱动 (2.3.3)其中ton/T就是占空比的一种描述,为了使脉冲驱动方式下的平均电流Ia与直流驱动电流Io相同,就需要使它的脉冲电流幅值满足:(2.3.4)可见脉冲驱动时,脉冲电流的幅值应该比直流驱动电流大T/ton倍。其次是脉冲重复频率的问题,因为人眼视觉暂留的特性,脉冲重复频率必须高于24HZ,否则会感觉有闪烁现象。该系统采用的扫描驱动方式,是通过数字逻辑电路,使若干LED器件轮流导通。LED显示屏是将发光灯按行列布置的,在扫描驱动方式下可以按行扫描,按列控制,也可以按列扫描,按行控制。所谓“扫描”的含义就是指一行一行地循环接通整行的LED器件,而哪一列的LED器件是否应该点亮由所谓的列控制电路来负责。LED显示屏及驱动电路LED显示屏屏体LED显示屏是以发光二极管为像素,由LED点阵显示单元拼接而成的,不论是图形还是文字,都是控制组成这些图形或文字的各个点所在的位置相对应的LED器件发光。根据需要设计好合适的数据文件,每个LED发光器件占据数据中的一位,在需要该LED器件发光时数据中相应的位填1,否则填0,这样依照所需显示的文字,按显示屏的各行各列逐点填写显示数据,就可以得到满意的显示效果。LED点阵显示单元有5X7,7X9,8X8等不同规格,前两种主要用于显示各种西文字符,后一种常用于显示各种汉字字符,8X8点阵单元的外观及等效电路图如图3-1所示。图3-18X8点阵显示单元从图上可以看出,它的每一列均共享一根列线,每一行共享一根行线。当相应的列接高电平,行接低电平时,对应的发光二极管将被点亮。本次研究的是由8X8的双基色LED点阵显示单元拼接而成的32行X256列的条屏,由128块点阵显示单元,按4X32块的单元板(从厂家购买)方式组成。对LED显示屏采用的是逐行动态扫描的工作方式,由峰值较大的按窄脉冲驱动,逐次不断地对显示屏各行进行选通,同时又像各列送出表示图形或文字信息的脉冲信号,反复循环,从而显示各种图像或文字信息。双色LED单元板硬件组成及工作原理[4]常见的室内双色LED单元板电路框图如图1(a)所示。其中行扫描电路由2片74HC138(3—8译码器)构成的4—16译码器加上多个4953(MOS管)组成的,扫描方式为1/16。上下半屏分别由2组用74HC595串行移位寄存器实现红色、绿色显示数据的列输入,在图1(a)所示的64×32标准LED单元板中,每组串行移位寄存器中有8个74HC595级联,4组共用了32个74HC595。74HC595内部电路框图如图1(b)所示。所有4组74HC595的控制信号RCK、SCK、EN全部接在一起。74HC595的控制信号和4组串行移位寄存器的输入以及行扫描控制信号A、B、C、D构成整个LED单元板的输入;74HC595的控制信号经驱动后和4组串行移位寄存器的输出以及行经过驱动的扫描控制信号A、B、C、D构成整个LED单元板的输出,用于级联下一个LED单元板的输入。双色LED单元板等效电路框图如图1(c)所示。(a)双色LED单元板电路框图(b)(c)74HC595串行移位寄存器电路框图FPGA开发要点选择好的系统设计方案,确定以FPGA为核心的驱动器设计,就设计的过程中了解FPGA开发相关基础知识是十分有帮助和有必要的,FPGA相对MUC不管在国内还是国外还是国内起步晚了十多年,无论在教学方面还是普及程度都远远不及MCU,对于这样一个陌生的事物,了解可编程逻辑器件的组成、结构及特性之后对其有个感性的认识,消除对未知恐惧更容易入门进行学习。其次可编程逻辑门的基本单元就是与非门,这就要求具备数字电路基础知识,通过描述来与硬件结合起来,选择优秀的描述语言可以大大提供设计者的开发效率,其中应用最为普片的为VerilogHDL和VHDL,选择什么语言视设计者的工作场合、个人喜好和习惯而定,硬件选择方面尽可能选择资源丰富,性价比高的器件,如cycloneⅡ系列,在成本和规模都比较可观的,然而在设计中开发软件是设计者最为关注的了,一个好的开发软件,一个好的开发软件能给设计者节省宝贵的时间,如quarterⅡ丰富的IP核、NIOS处理器、DSPBuilder、嵌入式逻辑分析仪、仿真工具等,都极大的提高了设计的的开发效率并确保系统安全可靠。PLD简介PLD(ProgrammableLogicDevice)是可编程逻辑器件的缩写,可编程逻辑器件是一种数字集成电路的半成品,在其芯片上按一定排列方式集成了大量的门电路和触发器等基本逻辑单元,使用者可利用某种开发工具对其进行加工,即按设计要求将这些片内的元件连接起来,此过程就是我们所说的编程。当设计者完成编程过程后,根据不同PLD器件的特点,共有两种写入方式,一种是下载,一种是配置。当芯片具有掉电保持功能时,设计者只需将设计文件写入PLD器件中,该器件就能够永久保存设计内容,这种方式我们称之为下载。而不具有掉电保持功能的PLD器件,在停止供电后,写入的信息就会消失,变为写入前的空白芯片,因此需要另外一块芯片(通常为E2PROM)来保存设计内容,并且在每一次系统上电后,该PLD器件还要自动读取E2ROM中的信息,这种方式我们称之为配置。经过编程、下载/配置后,PLD器件就可以按设计者的要求完成某个逻辑电路或系统的功能,成为一个可在实际电子系统中使用的专用集成电路(ASIC-ApplicationSpecificIntegrateCircuit)。随着芯片技术的不断提高,PLD器件的种类也越来越多,目前应用较为广泛的PLD主要有CPLD和FPGA两大类。CPLD(ComplexPLD)是复杂可编程逻辑器件,FPGA(FieldProgrammableGateArrary)是现场可编程门阵列。CPLD的结构与SPLD(SimplePLD)类似,只不过单个芯片上集成的门数要远远大于SPLD,也因此能够实现更大规模的逻辑功能。Altera的EP2C5T144FPGA(现场可编程门阵列)与CPLD(复杂可编程逻辑器件)都是可编程逻辑器件,FPGA/CPLD的规模比较大,它可以替代几十甚至几千块通用IC芯片。这样的FPGA/CPLD实际上就是一个子系统部件,这种芯片受到世界范围内电子工程设计人员的广泛关注和普遍欢迎。经过了十几年的发展,许多公司都开发出了多种可编程逻辑器件。比较典型的就是Xilinx公司的FPGA器件系列和Altera公司的CPLD器件系列,全球PLD/FPGA产品60%以上是由Altera和Xilinx提供的。可以讲Altera和Xilinx共同决定了PLD技术的发展方向。当然还有许多其它类型器件,如:Lattice,Vantis,Actel,Quicklogic,Lucent等。分布如图图4-1-2FPGACPLD市场分布情况ALTERACycloneⅡEP2C5T144C8N芯片,它具有89个可编引脚,2个PLL,8个时钟输入端,8个时钟网络,119808RAMBits,263个9bit乘法器,4608个逻辑单元,TQFP封装,1.2V,+3.3V供电,价格便宜,目前广泛使用。FPGA开发工具全球提供PLD开发软件的厂家有进百家之多,规模较大的为Altera和Xilinx公司的开发软件,Altera公司提供的QuartusⅡ开发工具有较多优点,(1)、内部嵌入VHDL、VerilogHDL、AHDL逻辑综合器,可以检查定位文本和原理图设计中的错误,而且可以将VHDL、VerilogHDL、AHDL设计转换为便于观察的底层电路,及寄存器传输级RTL(RegisterTransportatLevel)。(2)QuartusⅡ包含许多可编程配置的LPM(LibraryofParameterizedModules)功能模块,如单口RAM、双口RAM、ROM、FIFO、移位寄存器、硬件乘法器、嵌入式逻辑分析仪、内部寄存器在系统编程等,可用于构建复杂、高级的逻辑系统。(3)、QuartusⅡ不仅可以利用第三方综合工具(如LeonardoSpecreum、SynplifyPro、FPGACompilerⅡ)支持第三方仿真工具(如ModelSim),,而且与MATLAB和DSPBuilder结合可以进行基于FPGA的DPS系统开发和32位NiosⅡ软核的嵌入式设计。要注意的是QuartusⅡ试用版和未注册的软件不能生成下载文件,只能用于仿真,不能生成电路。FPGA开发流程了解利用EDA技术进行可编程器件设计开发的流程,对正确选择可使用开发软件、优化设计项目、提高设计效率十分有益。下图是图4-4-1开发流程图编辑输入:首先根据输入习惯将硬件描述语言输入相应的软件,可以是文本输入、原理图输入、状态图输入、波形输入等多种,也可以是它们的混合输入。综合:综合是将由硬件描述语言表述的电路行为转换为地级的、可综合的逻辑器件结构映射的网表文件或电路连接图。适配:是为了将综合器产生的网表文件装配到指定的目标器件上,而产生最终的编程文件。功能仿真与时仿真:仿真是利用EDA工具软件根据一定的算法和仿真库对EDA设计进行模拟,以便验证设计和排除错误。功能仿真是指直接对文本设计、原理图设计及其它的设计方式的逻辑功能进行的模拟测试,以便了解所设计电路实际的功能是否合符要求。时序仿真的结果更为接近真实器件的运行特征,因此仿真文件都必须是针对具体的器件的适配测试结果,而且仿真的耗时较长。编程下载:把生成的编程文件通过编程器载入目标器件,以便进行硬件验证和调试,进而完成设计。VerilogHDL的特点在选择设计语言上选择通用的语言有利于设计开发和跟同行进行交流,欧美地区习惯使用VHDL,而亚太地区习惯使用VerilogHDL,相比之下VerilogHDL有如下特点:VerilogHDL语法类似与C语言,对有C变成经验的设计者来说,更容易学习和掌握。VerilogHDL允许在同一个电路模型进行不同抽象的层次描述。设计者可以从开关级、门级、RTL或行为级等各个层次对电路模型进行定义绝大多数的综合工具都支持VerilogHDL,这一点是VerilogHDL成为设计者的首选语言的重要原因之一。所以的制造商都提供用于VerilogHDL综合之后的逻辑仿真元件库,同因此使用VerilogHDL进行设计,即可以在更广泛的范围选择制造商。编程语言接口(PLI)是Verilog语言的重要特征之一,它使得设计者都可以通过自己编写的C代码来访问Verilog内部的数据结构。设计者可以使用PLI按照自己的需求来配置VerilogHDL仿真器。数据的组织方法在第三章中已经完成了LE控制在理论上的分析与论述,而数据的组织对于LED彩色显示屏显示控制系统也是非常关键的技术之一。从第三章关于LED显示屏的工作原理可以看出:与普通CRT显示器相比,LED显示屏有一个明显的特点,即LED显示屏是一个多扫描线数字显示系统。在这种多扫描线工作方式下,显示数据的组织方法是涉及显示信息提取和数据生成、存储模式、数据重构、显示存储器设计等诸多环节的重要因素,并且对数据输出速率,刷新频率等系统性能指标具有直接影响,因此有必要对LED显示屏的数据组织方法进行系统的研究。目前,绝大多数文献对LED显示屏控制技术的讨论主要针对显示屏控制系统的硬件实现方案展开分析,而对于显示数据的组织方法这一重要课题却鲜有提及。因此,本章将从多扫描线的角度对LED显示屏显示数据的组织方法进行探讨,以便为显示屏控制系统的实现提供更好的支持。显示数据组织的基本原则在组织LED显示屏的显示数据时,首先要考虑的问题是LED显示屏显示时所需的各种效果,如静态显示、画面移动及灰度显示等。任何形式的画面移动都可分解为水平移动和垂直移动两种基本移动方式,斜线或曲线移动可视为两种基本移动方式的叠加。由于显示屏采用单元板串行级联的方式构成,在屏幕上完成信息的显示需要经过数据的串行移位和并行锁存两个阶段;因此为提高显示屏的刷新频率应尽量缩短数据传送的时间,同时还要考虑到实现正确的信息显示所需的数据格式。所以对LED显示屏而言,无论需要什么样的显示效果,为了达到显示数据输出速度最快的目的,其数据组织都应遵循以下基本原则:根据多扫描线工作方式的特点,显示数据应当按照单元板串行移位寄存器组的移位先后顺序在存储器中连续排列,即LED显示屏每一行的显示数据顺序排列在存储器中;并且在可能的情况下将每一行显示数据排列后形成的数据块也按扫描行的扫描顺序连续排列。下面按照上述原则从静态显示和动态显示两方面对LED显示屏显示数据的组织方法进行分析。静态显示数据的组织以图5.1所示的LED显示屏为例说明静态显示的数据组织方法。图5.1256×128单色LED显示屏图中所示为一个256x128点阵的单色LED显示屏,由16块64x32标准单元板构成,采用1/16扫描方式,单元板的连接形式为横向串行级联,显示数据从右向左依次串行移入。以屏幕左上角像素点为原点、水平方向自左至右为X轴、垂直方向由上至下为Y轴建立坐标系,根据显示数据连续排列的原则和静态显示的要求将显示数据在存储器中排列成如表5-1表5-1-2静态数据地址宇板位置对应关系第一列L1L2L3第一列L412345678127812345678第一行R11012345678………2324252627282930312323334353637383940………5556575859606162633646566676869707172………878889909192939495……………………15448449450451452453454455456………47147247347447547647747847916480481482483484485486487488………503504505506507508509510511第二行R21512513514515516517518519520………5355365375385395405415425432544545546547548549550551552………5675685695705715725735745753576577578579580581582583584………599600601602603604605606607……………………15960961962963964965966967968………983984985986987988989990991169929939949959969979989991000………101510161017101810191020102110221023第三行R31102410251026102710281029103010311032………1047104810491050105110521053105410552105610571058105910601061106210631064………1079108010811082108310841085108610873108810891090109110921093109410951096………111111121113111411151116111711181119……………………15147214731474147514761477147814791480………14951496149714981499150015011502150316150415051506150715081509151015111512………152715281529153015311532153315341535第四行R41103610371038103910401041104210431044………1059106010611062106310641065106610672106810691070107110721073107410751076………1091109210931094109510961097109810993110011011102110311041105110611071108………112311241125112611271128112911301131……………………15198419851986198719881989199019911992………20072008200920102011201220132014201516201620172018201920202021202220232024………203920402041204220432044204520462047此时屏幕上任何一个像素点唯一地映射到某存储单元的某一位。如屏幕上原点X=0,Y=0)对应于地址为0存储器的第0位(DO),行选择为DCBA=0000(L0);(X=l,Y=49)点对应于地址为257存储器的第3位(D3),行选择为DCBA=0001(L1);(X--255,Y=127)点对应于地址为2047H存储器的第7位(D7);行选择为DCBA=Il11(L15)。LED屏上任意一点对应的显示数据取值(“0"或“1")决定于单元板LED模块的驱动方式,如果为共阴方式则用“1’’表示点亮,共阳方式则用“O"表示点亮,常见LED单元板的LED从图3.2和表3.1可以得到静态显示时单色LED显示屏上任一像素点与显示数据存储器字节地址i及位地址J之间的对应关系。设:显示屏的宽度Lw=256显示屏的高度Lh=128两条扫描线之间的扫描宽度为Sw=16(一条扫描线对应于16行)显示数据存储器字节地址为i,字节中的位地址用J表示,j=0,l,⋯,7,分别对应DO,D1,D2…D7此时有以下约束条件成立:i=0,1,⋯,Lw一1X=0,1,⋯,Lw一1Y=0,l,⋯,Lh一1当已知i、J计算X、Y时,由于每个数据块的长度为Lw,因此存储单元地址对Lw取模的结果为该单元对应像素点在数据块内的偏移量,即X坐标值;而存储单元的位地址与扫描线具有一一对应的关系,且每条扫描线的扫描宽度为Sw,所以乘积(jXSw)为第J条扫描线对应的起始行坐标,同时i整除Lw的结果为第J条扫描线相对于其起始扫描行的行偏移量。由此可以确定以下二式:X号imodLw(3.1)Y=(i/Lw)+j×Sw(3—2)当已知X、Y计算i、J时,Y对Sw取模的结果为该像素点所在的内存数据块编号,X为块内偏移量;Y整除Sw为扫描线编号,即位地址。因此:i=(YmodSw)×Lw+X(3.3)j_-Y/Sw、(3-4)按表5.1的形式完成数据组织后,如需要显示一场信息时:首先从L0数据块中顺序取出显示数据并行输出到8组移位寄存器组,当该行256列数据全部串行传送到对应的列驱动器之后再锁存到输出端完成该行显示;⋯依此类推直到L15行,从而完成一屏信息的表态显示,算法流程如图5.3所示。这根线应在哪?Y或N不要放在线内,而应在这。这根线应在哪?Y或N不要放在线内,而应在这。图5.2静态显示一场算法流程图在表5.1中,不但每一行显示数据都按列连续排列,而且按行扫描的数据块也是连续排列的,因此可以最大限度地保证显示数据的输出速度。对于双基色LED显示屏,组织显示数据时可将红色扫描线对应于DO、D2、D4、D6;而将绿色扫描线对应于D1、D3、D5、D7,即用一个字节中的两位(DO和D1、D2和D3、D4和D5及D6和D7)表示LED显示屏上的一个点,其余与单色LED显示屏完全一致。在控制器并行口数据宽度确定的情况下驱动宽度相等的显示屏时,双基色显示屏的高度将比单色显示屏的高度减少一半;而为了实现8bit级灰度显示则将不同灰度的8场显示数据块连续排列即可。系统整体方案的设计本章内容介绍这个设计的开发流程,它每一步是如何生成的,介绍设计要求说明,阐述行为描述,第4节介绍各模块的工作原理和组成原理,并给出源程序本系统设计流程图6-1-1系统设计流程相对传统的电路设计而言,使用上图的设计流程不需要反复的制作硬件、只需要在仿真器上进行进行验证及修改,这大大简化设计流程和节约编程、硬件制作的时间以减小开发投入,缩短开发周期。设计要求说明1.要求所设计的系统能控制宽512、长256点的LED双色标准点阵屏。2.系统能显示字符、图案,实现移动。3.能通过计算机串口发送数据控制显示内容。4.断开计算机连接后能显示预先存入到FLASH的内容。行为级描述行为级描述主要包含以下几点1.使用计算机端的取模软件生成图像数据。2.使用计算机的串口发送软件发送到FPGA驱动板。3.FPGA驱动板上RS232串口接收并存储到片内RAM和片外FLASH。4.点阵基本扫描驱动循环读取读取RAM的数据并传输到点阵屏上。下图6-1-2是系统完整的执行过程图6-1-2系统完整的执行过程每个步骤的详细过程如下:各模块工作原理取模软件取模软件使用的是陈新江的PCtoLCD2002程序,使用该软件是免费的,该软件能方便的把文字,图像转换为点阵的数据,然后可以通过编程或通信的方式送到存储器。使用起来十分简便,首先点击运行PCtoLCD2002.exe,在菜单栏点击“模式”选择工作模式为“字符模式”,然后点击菜单栏的“选项”设计数据流方式,设置好工作模式后就可以在文本输入框内输入需要的文字如“FPGA点阵”,下一步点击“生成字模”,在输出框就可以得到需要的数据了。使用“保存字模”可以将数据保存到文本文件中供其它软件调用。图6-4-1陈新江的PctoLCD2002取模软件串口发送串口发送使用的是“铭心软体”/cmsoft/的“串口发送助手”,该软件完全免费无任何功能限制。该软件把数据通过计算机的串口发送出去,首先点击运行“UartAssist.exe”在串口号中选择好使用的串口如我使用的“COM3”,下一步设置波特率如“9600”这要与接收端的一致,校验位、数据位、停止位都要与接收端保持一致,发送区设置只需选择“按十六进制发送”,点击文件载入选择上面生成的文本文件,即可把上面生成的数据载入到发送窗口如图6-2-2-1所示,最后点击发送,即可把数据通过串口发送出去。如果使用的是“文件载入”的话,需要对载入文件编辑,删掉文件名和文件路径相关信息,保证发送数据的正确。图6-2-2-1铭心软体的串口发送助手串口接收串口接收是在FPGA内部设计的一个电路模块,设计要求与发送端得参数保持一致,该系统使用参数如表6-2-3-1表6-2-3-1串口通信参数波特率9600校验位NONE数据位8停止位1数据流十六进制具体通信的时序关系在书本上没有找到详细的讲解,我就使用测量工具对计算机发送的时序进行了细致的检测。使用的是泰克TeKtronixTDS1001B-SC对计算机发送端TXD检测,电平采用的是经过RS232电平转换而来的TTL电平(及1为高,0为低)图6-2-3-2为示波器测到的计算机COM口TXD波形,参数设定如表6-2-3-1,发送的数以0X55为例。图6-2-3-2由上图可以得出在波特率为9600时的每一个位的时间宽度为104微秒(uS),数据的低位在前高位在后,校验位无,停止位1位。通信格式如图6-2-3-3所示,该异步通信方式不要求收发双方时钟的严格一致,实现容易,设备开销较小,但是有传输速度慢、传输距离短的弊端。知道了串口异步通信的时序关系后我们就可以开始进行电路设计了,我们需要设计一个串口模块来接收到接收缓冲寄存器,接收完成后写入RAM。串口接收模块结构如图6-3-2-4所示。图6-3-2-4(串口接收模块)模块名为uart_r各端口定义如下端口名称连接线网属性意义RX计算机串口TXD输入模块串口数据输入Clk板上时钟网络输入时钟dataout[7..0]RAM数据端输出数据输出缓冲寄存器address_w[12..0]RAM写地址输出数据dataout的地址WrenRAM读写控制输出RAM读写控制1为读,0为写address_r[12..0]调试使用输出调试使用它们之间的时序关系如图6-3-2-5,图6-3-2-5uart_r的时序关系上图6-3-2-5为uart_r模块经过综合后在片上通过逻辑分析仪SignalTapⅡ监测到的的实际运行结果,使用的最小刻度为1us,对应关系为时间-32——48;接收到数据位十六进制FFh;在时间47把FFh写入地址为02655的单元。时间48——128;接收到数据位十六进制00h;在时间127把00h写入地址为02656的单元。-29——-21之间检测到104uS的低电平即起始位,进入接收状态,把接下来的8个RX接收到的数据(及-21——46之间的数据)保存到缓冲寄存器中,然后检测第9个数据即停止位(47——48之间)为1,则把缓冲寄存器的数据FFh送至输出缓冲寄存器,接下来写地址(address_w=2654)增加1(address_w=2655),wren在时刻47值低电平把接收到的数据写入RAM.Uart_r模块的流程图uart_r模块用Verilog描述如下://模块名uart_r//功能:接收串口收到的数据,并收到的数据写入寄存器RAM//输入clk;RX//输出dataout;address_w,address_r,wren//参数:clk时钟50MHz;波特率9600;moduleuart_r(inputwireRX, inputwireclk, outputreg[7:0]dataout, outputreg[12:0]address_w=0, outputregwren=0, outputreg[12:0]address_r );regR;regRX_END;wireq_r;wirems500;regRX_OK=0;reg[7:0]count_R_EN,count_R,temp;/////////////////////////////////接收程序开始//////////////////////////////////////////usuart_r_us0(1,1,clk,q_r); //调用us模块1us输出一次高电平在ns.v文件内always@(posedgeq_r)begin if(~RX||R) begin R=1; count_R_EN=count_R_EN+1; //检测到起始位进入临界态 end if(count_R_EN==13) begin count_R_EN=0; count_R=count_R+1; RX_OK=0; end case(count_R) 4:if(RX)beginR=0;count_R=0;end //消除干扰退出接收态,进入准备态 elsebeginR=1;RX_OK=0;end 12:if(RX)temp=(8'h00|8'h01);elsetemp=8'h00; 20:if(RX)temp=(temp|8'h02);elsetemp=temp; 28:if(RX)temp=(temp|8'h04);elsetemp=temp; 36:if(RX)temp=(temp|8'h08);elsetemp=temp; 44:if(RX)temp=(temp|8'h10);elsetemp=temp; 52:if(RX)temp=(temp|8'h20);elsetemp=temp; 60:if(RX)temp=(temp|8'h40);elsetemp=temp; 68:if(RX)temp=(temp|8'h80);elsetemp=temp; 75:if(RX)begindataout=temp;RX_OK=1;wren=1;end //检查停止位 elsebegindataout=8'bz;RX_OK=0;wren=0;end 76:if(RX)begintemp=0;RX_OK=0;wren=0;end 77: beginR=0;count_R=0;end //退出接收态,进入准备态 default:begintemp=temp;R=R;count_R=count_R;RX_OK=RX_OK;dataout=dataout;wren=1;address_w=address_w;end endcase RX_END=R; //接收完毕提示读出end////////////////////////////////接收程序结束///////////////////////////////////////////always@(negedgewren)begin address_r=address_w; address_w=address_w+1;endmsuart_r_ms0(500,1,clk,ms500);endmodule上面的程序通过下载到FPGA的EPCT144C8N实体上验证无误.到此串口接收的模块已经完成,下一步就该把数据写入到RAM存储器。片上RAM存储器Altera提供了RAM存储器的软件和硬件模块,可以方便的调用。由于设计可知需要8096Bit的RAM,如图6-4-4图6-4-4-1RAM存储器该模块是Altera的altdpram,及DPRAM(双端口内存)各端口定义如下表6-4-4-2:表6-4-4-2altdpram端口定义端口名称属性意义data[7..0]输入写入的数据wraddress[12..0]w输入写地址wren输入1为写/0为读rdaddress[12..0]输入读地址Clock输入同步时钟,两个时钟产生一个写/读q[7..0]输出读出的数据数据宽度定义为8位,地址宽度为13位及8KB,存储器保存的数据需要数据管理器读取到基本扫描器。图6-4-4-3altdpram模块的测试文件上图6-4-4-3为altdpram模块在片上通过逻辑分析仪SignalTapⅡ测试结果,测试过程为先向地址0000、0001、0002、0003、0004、0005分别写入00h、01h、02h、03h、04h、05h、都地址为0000(时间272至320)。然后再将地址0000、0001、0002、0003、0004、0005的数据读出来(时间320至368)。由上图6-4-4-3的实验结果验证了altdpram模块的功能正确性。在下一节详细介绍数据管理器。RAM数据管理器、数据分配器RAM存储的数据需要一个健全的管理体制对数据进行管理、交换和分配.如图6-4-5-1把data_in数据分派到data_jqr1……data_j4g2供给点阵基本驱动器使用。图6-4-5-1数据管理分配器根据使用屏的特点(详见第3章第2节“双色LED单元板硬件组成及工作原理”)这里使用自定义的数据分配器,由5.2节静态数据的组织表中可以看出数据的对关系,如果把模块第1列第一行的数据地址Address_data_j1r1作为基地址的话。则可以得出他们之间的关系。Address_data_j1r2=Address_data_j1r1+512;Address_data_j2r1=Address_data_j1r1+1024;Address_data_j2r2=Address_data_j1r1+1536;Address_data_j3r1=Address_data_j1r1+2048;Address_data_j3r2=Address_data_j1r1+2560;Address_data_j4r1=Address_data_j1r1+3072;Address_data_j4r2=Address_data_j1r1+3586;Address_data_j1g1=Address_data_j1r1+4096;Address_data_j1g2=Address_data_j1r1+4608;Address_data_j2g1=Address_data_j1r1+5120;Address_data_j2g2=Address_data_j1r1+5632;Address_data_j3g1=Address_data_j1r1+6144;Address_data_j3g2=AAddress_data_j4g1=Address_data_j1r1+7168;Address_data_j4g2=Address_data_j1r1+7680;模块verilog文本描述如下moduledata_get(clk,data_in,address_in,address_out, data_j1r1,data_j1r2,data_j1g1,data_j1g2, data_j2r1,data_j2r2,data_j2g1,data_j2g2, data_j3r1,data_j3r2,data_j3g1,data_j3g2, data_j4r1,data_j4r2,data_j4g1,data_j4g2);inputclk;input[7:0]data_in;input[12:0]address_in;outputreg[12:0]address_out;outputreg[7:0]data_j1r1,data_j1r2,data_j1g1,data_j1g2;outputreg[7:0]data_j2r1,data_j2r2,data_j2g1,data_j2g2;outputreg[7:0]data_j3r1,data_j3r2,data_j3g1,data_j3g2;outputreg[7:0]data_j4r1,data_j4r2,data_j4g1,data_j4g2;///////////////reg[7:0]count;always@(posedgeclk)begin case(count) 0: address_out=address_in; 1: address_out=address_in; 3: address_out=address_in; 4: address_out=address_in; 5: address_out=address_in; 6:begin address_out=address_in;data_j1r1=data_in;end//J1R1 7: address_out=address_in; 8: address_out=address_in; 9: address_out=address_in; 10: address_out=address_in+512; 11: address_out=address_in+512; 12: address_out=address_in+512; 13: address_out=address_in+512; 14: address_out=address_in+512; 15:begin address_out=address_in+512;data_j1r2=data_in;end//J1R2 16: address_out=address_in+512; 17: address_out=address_in+512; 18: address_out=address_in+512; /////////////////////////////////////////////////////////////// 19: address_out=address_in+1024; 20: address_out=address_in+1024; 21: address_out=address_in+1024; 22: address_out=address_in+1024; 23: address_out=address_in+1024; 24:begin address_out=address_in+1024;data_j2r1=data_in;end//J2R1 25: address_out=address_in+1024; 26: address_out=address_in+1024; 27: address_out=address_in+1024; 28: address_out=address_in+1536; 29: address_out=address_in+1536; 30: address_out=address_in+1536; 31: address_out=address_in+1536; 32: address_out=address_in+1536; 33:begin address_out=address_in+1536;data_j2r2=data_in;end//J2R1 34: address_out=address_in+1536; 35: address_out=address_in+1536; 36: address_out=address_in+1536; //////////////////////////////////////////////////////////// 37: address_out=address_in+2048; 38: address_out=address_in+2048; 39: address_out=address_in+2048; 40: address_out=address_in+2048; 41: address_out=address_in+2048; 42:begin address_out=address_in+2048;data_j3r1=data_in;end//J3R1 43: address_out=address_in+2048; 44: address_out=address_in+2048; 45: address_out=address_in+2048; 46: address_out=address_in+2560; 47: address_out=address_in+2560; 48: address_out=address_in+2560; 49: address_out=address_in+2560; 50: address_out=address_in+2560; 51:begin address_out=address_in+2560;data_j3r2=data_in;end//J3R1 52: address_out=address_in+2560; 53: address_out=address_in+2560; 54: address_out=address_in+2560; //////////////////////////////////////////////////////////// 55: address_out=address_in+3072; 56: address_out=address_in+3072; 57: address_out=address_in+3072; 58: address_out=address_in+3072; 59: address_out=address_in+3072; 60:begin address_out=address_in+3072;data_j4r1=data_in;end//J4R1 61: address_out=address_in+3072; 62: address_out=address_in+3072; 62: address_out=address_in+3072; 64: address_out=address_in+3584; 65: address_out=address_in+3584; 66: address_out=address_in+3584; 67: address_out=address_in+3584; 68: address_out=address_in+35

温馨提示

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

评论

0/150

提交评论