ALINX黑金Zynq7000开发平台配套教程
当我们拿刡开収板是否应该测试一下收刡癿开収板是否功能正常,以及各个接口工作是否工作正常。在出厂前我们已经在SD卡里存储了启劢程序和操作系统,所以开収板上电就能启劢幵可以用杢测试各个部分接口和电路癿工作是否正常。通过测试也使大家对我们开収板癿功能有一个大致癿认识。ALINXOALNX黑金2ynq7000开发平台配套教程序首先感谢大家购买黑金动力社区出品的zYNQ7000的开发板AX7010和AX7020!您对我们和我们产品的支持和信任给我们增添了永往直前的信心和勇气。赛灵思公司xinx)于2012年推出zynq7000SOC芯片解决方案,该方案将双核ARMCortex-A9和 FPGA Fabric集成在一颗芯片上,通过内部总线连接,ARM和FPGA之间的通信速度大大提高,从而提高芯片整体性能。但同时,ARM和FPGA两门之前独立的软硬件学科在一颗芯片上应用,大大提高了芯片入门门槛。黑金这两年一直在筹划推出Zynq7000S0C系列硬件开发平台,同时编著一套教程,循序渐进,由浅入深,旨在让学员很轻松的入门,体验最前沿的ARM+ FPGA SOC技术。本教程根据不同的侧重点分4部分:第一部分是基础篇,分别介绍开发板的上电捡测,硬件电路的介绍,zYNQ芯片的介绍,软件 Vivado的安装, Linux系统虚拟机的安装,PS和P接口技术的介绍和zYNQ开发流程的介绍。通过基础篇让大家对黑金开发板AX7010/A×7020及zYNQ芯片和开发有一个总体认识,为后面几部分的学习打好基础。第二部分是逻辑篇,在逻辑篇里我们把ZYNQ芯片当做普通的FPGA来使用,结合开发板和厶YNQ芯片的资源实现纯逻辑的开发。我们会通过大量的应用实例让大家了解和掌握FPGA的 Verilog程序的设计及实现。AX7010/AX7020开发平台的硬件资源。播下—粒种子,收获一片森林”,更是黑金 ALINX硬件开发的美好愿望,同时我们会在黑金动力社区http://www.hejin.org和大家一起讨论,一起学习,一起进步,一起成长。ALⅠNX黑金mq700.列开发宏典http://www.heijin.orgALINXOALNX黑金2ynq7000开发平台配套教程目录序目录......4第一部分基础篇…第1章AX7010/AX7020开发板开箱检测.1.1准备工作.1.1.1硬件配置….112USB转UART驱动安装…1.1.3终端登录工具 Securecrt安装1.2外设连接141.3实验操作第2章zYNQ7000芯片的简介……172.1PS内部资源介绍……2.1PL内部资源介绍.….…19第3章 Vivado软件安装.31WⅣVADO软件介绍…。,乙3.2 VIVADO软件版本…033WⅣVADo软件安装21第4章Linuκ系统虚拟机的安装2941虚拟机的安装294.2安装 ubuntu30第5章PS和PL接口技术详解.4151AⅪ接口标准介绍4152zYNQ的AXI资源445.3P端的AⅪ接口设计……,455.4 AXI Interconnect.………第6章zYQ芯片开发流程的简介……4961开发工具介绍…4962开发流程说明……50第二部分逻辑篇52第7章 FPGA LED控制实验……5271硬件介绍.527.2创建工程537.3编写流水灯的 verilog代码….ALⅠNX黑金mq700.列开发宏典http://www.heijin.orgALINXOALNX黑金2ynq7000开发平台配套教程74添加XDC管脚约束文件7.5编译7.6下载和调试…翻。着69第8章HDMI输出实验7381HDMI及TMDS原理738.2硬件介绍.758.3程序设计……/684添加XDC管脚约束文件798.5编译和下载80第三部分SDK篇81第9章 Hello world实验….18191 Vivado工程创建8192zYNQ系统的配置…9.3硬件导入SDK.9994SDK软件编程….10295下载和调试.,105第10章P端和PS端的协同设计流水灯实验110101 Vivado工程创建.110102zYNQ系统的配置11110.3添加XDC管脚约束文件….121104编译生成比特流文件122105硬件导入SDK12310.6SDK软件编程125107下载和调试…127第11章定时器中断实验131111中断控制器和计数器..131112zYNQ系统的配置13211.3硬件导入SDK.135113SDK软件编程..137114下载和调试…1D妻第12章按键实验..142121PS和PL共亨中断142122 Vivado工程创建…14312.3添加按键IP.……14512.4添加按键管脚约束15212.5编译生成比特流文件.153126硬件导入SDK153127SDK软件编程155ALⅠNX黑金mq700.列开发宏典http://www.heijin.orgALINXOALNX黑金2ynq7000开发平台配套教程128下载和调试…161第13章自定义IP实验166131RTC时钟DS1302166132Vⅳvado工程创建.118133创建自定义IP134添加RTC管脚约束185135编译生成比特流文件…∴18513.5硬件导入SDK.186136SDK软件编程.186137下载和调试…189第14章VDMA实验硬件系统搭建….19314.1硬件构架193142搭建硬件工程…..….194143添加HDMI管脚约束…223144编译生成比特流文件…22414.5硬件导入SDK224第15章VDMA实验SDK软1件.225151SDK软件编程..225152程序说明22615.3图像数据生成方法…::::::::::::::.·t23154下载和调试235第16章程序固化和启动239161开发板启动流程239162 Vivado工程修改……163生成FSBL可执行文件….245164BOOT.BIN文件的生成165烧写 FLASH并启动254166SD卡启动257第17章 Linux开发环境的搭建………259171安装Lnu版本的SDK259172安装32位支持工具包270173安装 OpenSSL库第18章∪-boot的编译和启动.…273181∪-Boot原理及实现182∪-Boot的编译…279183生成 BOOTBIN文件283184 Uboot启动实验.295第19章内核的编译299ALⅠNX黑金mq700.列开发宏典http://www.heijin.orgALINXOALNX黑金2ynq7000开发平台配套教程191 Linux内核介绍299192 Linux内核源码编译301193设备树 Device tree的编译.194文件系统第20章SD卡的制作20.1SD卡分区31020.2复制BOOT.BIN文件31420.3复制编译后的内核文件315204复制编译后的设备树文件·:..31520.5复制文件系统31620.6 Linux sd卡启动第21章 Linux系统下的 hello world实验…322211 nfs server安装和配置..322212编写 helloworld程序21.3编译 helloworld程序.33021.4运行……30第22章 Linux系统下的GPIO应用实践.332221 sysfs方式控制GPIO33222.2编写GPIO应用程序33622.3编译GPIO程序…:::::::::::·:340224运行和实验341ALⅠNX黑金mq700.列开发宏典http://www.heijin.orgALINXOALNX黑金2ynq7000开发平台配套教程第一部分基础篇第1章AX7010/AX7020开发板开箱检测当我们拿到开发板是否应该测试一下收到的开发板是否功能正常,以及各个接口工作是否工作正常。在出厂前我们已经在SD卡里存储了启动程序和操作系统,所以开发板上电就能启动并可以用来测试各个部分接口和电路的工作是否正常。通过测试也使大家对我们开发板的功能有一个大致的认识。11准备工作1.1.1硬件配置开发板的上电检测需要以下的设备。其中SD卡里我们已经为用户存储了ARM的Boot启动程序和系统的镜像文件 lmage。红色USB线用于开发板和PC之间的串口通信。HDM线和HDMI显示器用于显示AX7010/AX7020开发板翰出的 Ubuntu界面,网线用于开发板连接 Internet网络,USB鼠标和键盘用于人机交互操作。因为开发板上只有一个USB口,这里需要连接一个∪ SB Hub设备来扩展多个USB口连接USB键盘和鼠标。AX7010开发板或AX7020开发板◇5V直流电源适配器(开发板自带)令 Micro sd卡〔开发板自带)mini usB数据线2根(开发板自带)今网线◇HDMI线和HDMI显示器◇USB鼠标和键盘r USB Hub◇PC机ALⅠNX黑金mq700.列开发宏典http://www.heijin.orgALINXOALNX黑金2ynq7000开发平台配套教程下图为开发板自带的测试设备:S ZNO(1).AX7010/AX7020开发板;(2).SD卡读卡器;(3).+5V电源;④4).2根USB线;(5)SD卡下图为用户自己需要准备的测试设备USB Hub网线USB鼠标图图图图图图围图国园USB鼠标HDMI显示器ALⅠNX黑金mq700.列开发宏典http://www.heijin.orgALINXOALNX黑金2ynq7000开发平台配套教程112USB转UART驱动安装测试前我们需要安装∪SB转串口的驱动软件(05软件工具及驱动CP2l0 x Windows Drivers.zip),不然无法做串口通信测试。驱动安装好以后,用红色USB线连接电脑USB口和开发板上的∪ART口(7)进行连接,然后打开电脑的设备管理器,设备管理器能够找到串口设备CP210x,我机器上映射的是COM3。4端口(COM和LPTPH Silicon Labs CP210x USB to UART Bridge(COM311.3终端登录工具 SecureCrt安装终端工具有很多, putty, teraterm, Windows自带终端工具, SecureCRT等等,众多终端工具中,比较下来,还是 Securecrt最好用,我们在资料的05_软件工具及驱动 Securecrt目录下为大家准备了绿色免安装的 secureCRT软件。下面简单介绍基于 SecureCrT串口终端的创建(在后面串口终端打印启动信息,需要用到双击 Secure CRTexe图标112005/12/917:29应用程序打展273ORDER TXT2006/5/3113:30文本文档6README.TXT207/3/3013:51文本文档SecureCRT. CH2007/3/2111:57编译的HmL帮aaSecureCRT.EXE2007/4/81:12应用程序1.890sN. txt207/6/1115:03文本文档SSH2Client43. d1.2007//210:52应用程序扩展4663SSH2Core43.all2007/4/210:52应用程序扩展1,058第一次使用会弹出以下对话框,点击OKe CRTThis is the first time that you have runSecureCRT?. SecureCRT needs to set a folder wherefy a fol der belPressing Cancel will exit the application wi thoutsetting the confi gurati on folder.ADministrator App Data RoaninzlanDwke cOnf」C点击YES。ALⅠNX黑金mq700.列开发宏典10http://www.heijin.org
- 2020-07-01下载
- 积分:1
RS纠错编码原理及其实现方法.pdf
RS纠错编码原理及其实现方法。Zhengzhou Oriole Xinda Electronic Information Cc., Ltd前言随着越来越多的系统采用数字技术来实现,纠错编码技术也得到了越来越广泛的应用。RS码既可以纠正随机错误,又可以纠正突发错误,具有很强的纠错能力,在通信系统中应用广泛。近些年来,随着软件无线电技术的发展,RS编码、译码一般都在通用的硬件平台上实现。通常采用基于FPGA的ⅦHDL编码硬件实现,或者在DSP、单片机上用C和汇编编程软件实现。RS纠错编码涉及的领域很广,特别是设计到很多数学知识。这对那些对数学不太感冒的工程技术人员来书是个不小的挑战。尽管讲RS编码的书籍很多但是那些书都是采用循序渐进,逐步引人的方式从汉明码到循环码,从循环码到BCH码,BCH码再引入悶S码。对亍工程技术人员他们需要的是简明扼要的讲解,和详细的实现方法。本人写这篇文章的宗旨就是尽量最简单的语言最简短的篇幅来讲RS纠错编码原理,把重点来放在实现方法上。为了便于读者仿真,本文采样MLAB程序实现,程序尽量符合硬件C语言写法,读者经过简单修改即可应用到工程中去。本文读者对象本文是为那些初识瑙编码的学生、工程技术人员而写,并不适合做理论研究,如果你是纠错编码方面的学者、专家,那么本文并不适合你。由于作者水平有限,错误在所难免,恳请读者批评指正。不得更改陈文礼2008-01于郑州Zhengzhou Oriole Xinda Electronic Information Cc., Ltd必备的一些代数知识1、在纠错编码代数中,把以二进制数字表示的一个数据系列看成一个多项式。例如二进制数字序列1010111,可以表示成:M(x)=ax+a5x0+a5不5+a+4 TasK +ax+a,x+ank式中的x表示代码的位置,或某个二进制数位的位置,X前面的系数表示码的值。若a;是一位二进制代码,则取值是0或1。dM()称为信息代码多项式多项式次数称系数不为0的x的最高次数为多项式/(x)的次数,记为Of(x)2、域域在R编码理论中起着至关重要的作用。简单点说域GF(2)有2设2个符号[0,n,a2…22且具有以下性质域中的每个元素都可以用a",a,a2,om的和来表示。a←la为本原多项式p(x)的根。运算规则有:在纠错编码运算过程中,加减、乘和除的运算是在伽罗华域中进行。现以GF(2)域中运算为例:加法例:a+a=0010+0110101(模2加法相当于0005与011或减法运算与加法相同乘法例:a·a0=a(8+10)modl5除法例:cs/a0=a-2=a-2+5=a不理解没关系,下面的例子也许对你有帮助。例:mF=4,p(x)=x4+x+1求GF(2")的所有元素因为a为p(x)的根得到a4+a+1=0或a4=a+1(根据运算规则)Zhengzhou Oriole Xinda Electronic Information Cc., Ltd由此可以得到域的所有元素元素二进制对应十进制对应码值000000101000a+100l⊥0110a(a+1)=a+a(mod p(a))12a(a+a=a+a(mod p(a)1011a(a+l(modula))+a+1)10C(a+1=a+a(mod p(a )a(a23+a)a+I(mod p(a)1110a(a+a+D=aa+a(modp(a)tatI(mod p(a))11a(a3+a2+a+1)=a34a2+1(modp(a)1001a(a+a+1=a+l(mod p(a)a(a+1=l(mod(a))由此可以看岀本原多项式是求解域的全部元素的关键。读者也许会有这样的疑问我们如何得到p(x)呢?本原多城式p(x)的特性是2+得到的余式等于0O(X由于作者也是工程技术人员,具体怎么得到p(x),也没有深究过。Zhengzhou Oriole Xinda Electronic Information Cc., Ltd作者在设计RS编码时候都是根据 MATLAB指令rsgeηpoly来得到p(x)。其格式为 rsgenpoly(n,k)参数n为码长一般n=2"-1,k为信息码元个数。例如m4,码长n=15,信息码元长度为9GF(2)的本原多项式可以根据指令>>rsgenpoly(15, 9)得到ans= GF(2 4)array. Primitive polynomial =D 4+D+1 (19 decimal)有读者来信问:我要做一个(158的RS编码,在 MATLAB中输入命令 rsgenpoly(158,128),结果MAB报错Error using =- rsgenpolyN must equal 2m-1 for some integer m这里做一下解释我们S编码时普先要根据码长选取mλ选择原则是2若码长为6那么我们可以选择n=8, rsgenpey命令的第少个参数必须为2"-1,第二个参数司以随便选择只要小于2”-1就形了在此给出m∈(2,16)的所有本原多项式(m=2)P[m+1]={1,1,1}/米1+x+x3*/P[m+1]-{1,1,0,1}/米1+x+x4*/P[m11]={1,1,0,0,1}/米1+x2+x5*/P|m+1={1,0,1,0,0,1};Zhengzhou Oriole Xinda Electronic Information Cc., Ltd(m=6)/米1+x+x6*/P[m+1]={1,1,0,0,0,0,1}7)/来1+x3+x7*P[m+1]={1,0,0,1,0,0,0,1}(m=8)/米14x2+x31x4+x8*/P[m+1]-{1,0,1,1,1,0,0,0,1/*1+x4+x9半P[m1]={1,0,0,0,1,0,0,0,(m=10)/1+x3+x10*/P|m+1={1,0,0,1,0,0,0,0,/*1+x2+x11P[m+1]={1,0,0,0,0,0,0,1}(m=12)/*1+x+x4+x6+x12P[m+1]-{1,1,0,0,、1,0,0,(m=13)/*1+x+x^3+x4+x^13*/P[m+1]={1,1,0,1,1,0,0,00,0,1};(m=14)/*1+x+x6+x10+x14来P[m+1]={1,1,0,0,0,0,1,0,0,0,1,0,0,0,1}(m=15)/米14x+x15*/P[m+1]={1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1};(m=16)/*1+x+x3+x12+x16*/P[m+1]={1,1,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1};Zhengzhou Oriole Xinda Electronic Information Cc., Ltd二、线性分组码的一些基本概念1、线性分组码一般用(n,)或(n,k,d)表示n为码长,k为信息码元的数目,n-k为监督码元的数目。d表示码元距离。定义:两个码组上对应位置上数字不同的个数称为码组的距离。发送的码字C=(1,C2C3,…C接收的矢量r=(,2,信道错误图样:e=c+r例如c=(1,1,0,0,0)(1,0,001)e=(1+1,1+0,0+0,0+0,0+1)(0,1,0,0,1)从而可以看出从左端起第2位和第5位是错误的2、校验矩阵概念码长为n,信息数为k,监督数为r。这样的一组码形式为:m:m2,P,P2Pm表示第个信息码,P表示第j个校验码各个校验码可从下列线性方程组求得hm+h2m2+…+n+1B1+012+0h2m1+2m2+…+h2m+0p1p20hmn+h,2m2+…+hm+O+0+…+1p,=0式中h;是常数校验方程组可写成校验矩阵100h21h2…,h2k010h000该矩阵具有r行和n列故式(1-1)可以写成c=0或c=08Zhengzhou Oriole Xinda Electronic Information Cc., LtdH矩阵称为[n,k,r码的校验矩阵。发送矢量为C接收矢量为F若rH≠0则说明接收到的码有错误。设错误图样为e则可写成以下关系式r=c+e为了纠错必须知道那些位上存在错误。这可由校正子(又称伴随式)s来确定s=rH=cH +eh=eh译码器的主要任务就是如何从中得到最像e的错误图样e从而译出c=r-e设第讠个是错误的因此e=(00..0第个有错误s=rH=(00…0、100000)00计算出的矢量示出i是出错误的位置。3、生成矩阵概念生成矩阵G,它是一个k行,n列的矩阵若已知信息组m,通过生存矩阵可求得相应的码字。c=mxG(m是k个信息元组成的信息组)这个应该比较容易理解,在此就不做过多解释。、RS码的一些重要性质1、RS码生成多项式:码长n=2”-1,监督元数目r=n-k=2t,能纠正t个错误。Zhengzhou Oriole Xinda Electronic Information Cc., Ltd定义:在(n,k,d)的RS码中,存在唯一的n-k次多项式g(x),使得每一个码多项式c(x)都是g(x)的倍式。g(x)称为n,k,d]RS码的生成多项式一般情况下g(x)=(x-a)(x-a2)…(x-a2)2、定理:在GF(2m)中,每个非0元素(1,a,a2…a22)均满足x2=1,反之x21-1=0的根必在GF(2")中。所以x-1=(x-a)(x-a)x3、RS码的校验多项式由于生成多项式g(x)是x-1的因式g(rh(g(x)为n-k次多项式,则h(x)为k次多项式,k3x+g)hx+…+x+4)由右式可以看出x"1,x2,x的系数均等于0即gg0010h1+g1bo=0g0h+g1h11+…+8nkh2(2k)=0∴.+n-kk-10n-kk式中g0+81h1+…+8nkh1(n=k)(表示X的系数10
- 2020-12-08下载
- 积分:1