登录
首页 » Others » 基于SOC fpga的开发教程

基于SOC fpga的开发教程

于 2020-12-06 发布
0 330
下载积分: 1 下载次数: 1

代码说明:

SoC 芯片, 相较于传统的单一 ARM 处理器或 FPGA 芯片, Intel Cyclone V SoCFPGA 既拥有了 ARM 处理器灵活高效的数据运算和事务处理能力, 同时又集成了 FPGA 的高速并行处理优势, 同时, 基于两者独特的片上互联结构, 使用时可以将 FPGA 上的通用逻辑资源经过配置,映射为 ARM 处理器的一个或多个具有特定功能的外设。目录目录基于 Cyclone V SoC FPGA的嵌入式系统设计教程.1ntel Cyclone SoC FPGA介绍SOC FPGA的基木概念soPC的基本概念SoPC与 SOC FPgA之间的差异SOC FPGA架构的优势基于 Cyclone V SoC FPGA器件的重要电路设计FPGA IO和时钟SOC FPGA JTAG电路设计569AC501SoC开发板介绍11布局及组件11轻触按键用户LED……14时钟输入....::.::::::.:::∴15GP|O接∏15DDR3 SDRAM重着::::::....:::...通用显示扩展接口USB to uart∴………以太网收发器,21SOC EPGA开发板的FPGA配置数据下载和固化…….…SOC FPGA启动配置方式介绍∴23sof文件烧写方式.24JC文件生成和烧写26SOC FPGA开发流程简介31SOCEPGA开发流程使件开发.31软什开发AC501 SOC FPGA开发板黄金参考设计说明34什么是GHRD…34GHRD FOR AC501-SoC34打开和查看GHRD.…34clk o38sysid qsys39led_pio...,.,…,…………39button pIospIi2c 042alt vip vfr tft0.......……………42alt vip itc_ 044总结Step by step为HPS添加UART外设,45目录修改GHRD工程打开GHRD工程45添加 UART IP.246关于HPS与FPGA数据交互连接UART|P信号端口分配组件基地址…49生成Qsys系统的HDL文件50添加uat_1的端口到 Quartus工程中51分配FPGA管脚生成配置数据二进制文件54制作 Preloader Image打开 SOCEDS工具生成bsp文件56编译 preloader和 uboot60更新 preloader和 uboot62使用新的 Uboot启动SoC.:::::::::::·::·制作设备树设备树制作流程...64准备所需文件65生成dts文件…生成dtb文件.…67运行修改后的工程.68使用Ds-5编写和调试SoC的 Linux应用程序,,,…70启动DS-5创建C工程…72编详工程.176建立SSH远程连接77创建远程连接复制文件到目标板3运行应用程序85远程调试…GDB设置GDB连接和调试287总结使用 Win sCp在 Windows和 Linux系统之间传输文件……91为什么要使用 Winscp.安装 Win SCP.…91建立远程主机连接91新建远程连接.94调用 putty终端基丁虚拟地址映射的 Linux硬件编程....….….97什么是虚拟地址映射97虚拟地址映射的实现:::::::::.:a·基于虚拟地址映射的PIO编程应用目录P|O外设的虚拟地址映射…在DS-5中建立PO应用工程.102添加和包含HPS库文件.103添加FPGA侧外设硬件信息P|O|P核介绍108Po核寄存器映射110P|O|P核应用实例..112合理的程序退出机制.…116关于按键消抖.基于虚拟地址映射的UART编程应用…..119UART(RS232 Serial port)核介绍UART(RS-232 Serial port)寄存器映射UART|P核应用实例……122在DS-5中建立UART应用工程…虚拟地址射122设置波特率.:::::::·:.::.·:.124字符发送124字符串发送…125字符接收125宇符串接收UART|P核板级调试131总结基于虚拟地址映射的12C编程应用……133Open Cores2CP简介133Open Cores2C|P奇存器哄射.134PRER:时钟频率预分频寄存尜134CTRL:控制寄存器.134TXR:发送数据寄存器CR:命令寄存器135SR:状态寄存器136l2CP核应用实例.….135在DS-5中建立12C应用工程136虚拟地址映射1362C|P核基本寄存器配冒,140使用12C|读写图像传感器寄存器1412C护P读写oV5640摄像头板级调试.146总结.152本章小节152基于 Linux应用程序的HPS配置FPGA……………………53制作 Quartus工程.153生成rbf格式配置数据……154编译 Linux配置FPGA应用稈序156在系统重配置FPGA实验…157本章小结159目录编译嵌入式LiuX系统内核160安装 VMware161安装 Ubuntu系统灬162下载 Linux系统源码172设置交叉编译环境…配置和编译内核∴……180快速配置内核180使能 Altera UART驱动182使能 Altera sp驱动使能OC12C控制器驱动.…184使能 Framereader驱动保存内核配置文件.187编详内核使用内核启动开发板本章小节192Linux设备树的原理与应用实例.:::::::::::..........:::..:193什么是设各树193设备树基木格式194设各树加载设备驱动原理编写12C控制器设备节点202加载OC12C驱动206使用RTC206使用 EEPROM∴211编写5P控制器设备节点211本章小节214基于 Linux标准文件/o的设备读写…………………………215什么是文件/O215基于文件|O操作的一般方法215文件描述符215打开设备(open)21向设各写入数据( write):::.::aa..216读取设备数据(read).216杂项操作( ioctl)…………217关闭设备(cose)……218其他操作218使用文件1O实现12C编程218本章小节.…221FPGA与HPS扃速数据交互应用222FPGA与HPS通信介绍.……………………………………22H2 LW AXI Master桥H2FAX| Master桥224F2 H AXI Slave桥225AX与 Avalon-MM总线的互联……225Ayalon-MM总线225目录Avalon-MM Slave接口227基本Aa|on- MM Slave iP设计框架29PWM控制器设计…1233Avalon-MM Master接口.253常见的通用 Avalon mm master主札………….…253高速数据采集系统……261Linux驱动编写与编译..273基本字符型设备驱动274字符型设备驱动框架275头文件包含276变量和宏定义.………277en方法278e方法278read方法.278write方法279ioct|方法:::::.::::::::::..a:::a.:....:280fops定义..281模块初始化代码282模块退出代码…284模块声明…284PWM控制器驱动完整源码.….284驱动编译 Makefile289Ubuntu卜编译设备驱动291字符型设备驱动验证292安装驱动文件292设计测试程序…::::::::::.:.:.·:...:::·293基于DMA的字符型设备驱动Avalon -MM Master Write驱动…297Avalon-MM Master Write测试303安装驱动文件303设计测试程序.::::·303本章小节310介绍介绍的基本概念(原于年发布的一款在单一芯片上集成了双核的处理器和逻辑瓷源的新型芯片,相较于传统的单处理器或片既拥有了处理器灵活高效的数据运算和事务处理能力,同时又集成的高速并行处理优势,同时,基于两者独特的片上互联结构,使用时可以将上的通用逻辑资源经过配置,映射为处理器的一个或多个具有特定功能的外设,通过高达位宽的高速总线进行通信,完成数据和控制命令的交互。出于片上的处理器是经过布局布线的硬线逻辑,因此其能工作的时钟主频较高,因此单位时间内能够执行的指令也更多。的基本概念在技术推出之前,各大厂家已经推广了有多年的技术。和不相同的是,是在单纯的心片上使用的逻辑和存储器资源搭建一个软核系统,由该软核实现所需处理器的完整功能。由于是使用的通用逻辑搭建的,因此具有一定的灵活性,用户可以根据自己的需求对进行定制裁剪,增加一些专用功能,例如除法或浮点运算单元,用于提升在某些专用运算方面的性能,或者删除些在系统里面使用不到的功能,以节约逻辑资源。另外也可以根据用户的实际需求,为添加各种标准或定制的外设,例如等标准接口外设,同时,用户也可以自己使用的逻辑资源,编写各种专用的外设,然后连接到总线上,由进行控制,以实现软硬件的协同工作,在保证系统性能的同时,増加了系统的灵活性。而且,如果单个的软核无法满足用户需求,可以添加多个软核,搭建多核系统,通过多核协同工作,让系统拥有更加灵活便捷的控制能力但是,由于是使用的通用逻辑资源搭建的,相较使用经过布局布线优化的硬核处理器来说,软核处理器够运行的最高实时钟主频要低一些,而且也会相应的消耗较多的逻辑资源以及片上存储器资源,因此方案仅适用于对于数处理器整体性能要求不高的应用,例如整个系统的初始化配置,人机交互,多个功能模块问的协调控制等功能介绍与之间的差异从架构的角度来说,和是统一的,都是由部分和处理器部分组成。在中,嵌入的是公司的硬核处理器,简称技术中,嵌入的是软核处理器,两者指令集不一样,处理器性能也不一样核处理器性能远远高于软核处理器。片上的部分,不仅集成了有双核的硬核处理器,还集成了各种高性能外设,如控制器控制器等,有这些外设,部分就可以运行成熟的操作系统,提供统一的系统,降低开发者的软件开发难度。而软核虽然可以通过配置,用逻辑资源来搭建相应的控制器以支持相应功能,但是从性能和开发难度上来说,基于架构进行设计开发是比较好的选择。另外,虽然片上既包含了有又包含了有,但是两者一定程度上是相互独立的,芯片上的处理器核并非是包含于逻辑单元内部的,和()处理器只是封装到同一个芯片接冂、电源引脚和外设的接口引脚都是独立的,因此,如果使用芯片进行设计,即使不使用到片上的处理器,处理器部分占用的芯片资源也无法释放岀来,不能用作通用的资源。而」是使用通用逻辑和存储器资源搭建的,当不使用时部分占用的资源可以被释放,重新用作通用资源。架构的优势嵌入式处理器开发人员面对的一个最大挑战就是如何选择一个满足其应用要求的处理器。现在口有数百种嵌入式处理器,每种处理器都具备一组不同的外设、存储器、接口和性能特性,用户很难做出一个合理的选择:要么为∫匹配实际应川所需的外设和接口要求而不得不选择在某些性能上多余的处理器要么为」保持成本的需求而达不到原先预计的理想方案。采用集成架构的芯片,用户将不会局限于预先制造的处理器技杺,而是根捃自己的要求定制处理器,按照需要选择合适的外设、存储器和接口。此外,用户还可以轻松集成自己专有的功能(如,用户逻辑),创建一款“完美”的处理器,如图所示,使用户的设计具有独特的竞争优势。介绍vOFLASHlo LIcCPUFLASH1/OSDRAMFPGADSPFPGACPU CPU DSPSDRAM用户所需要的嵌入式设备主控制器,应该能够满足当前和今后的设计功能及性能需求。由于今后发展具有不确定性,因此,设计人员必须能够更改其设计,例如为处理器加入新的功能电路,定制硬件加速器,或者加入协处理器,以达刭新的性能日标,而基于的系统能够满足以上要求。采川芯片,用户不仅可以使川处理器的高性能运算和事务处理能力,还可以根据需要定制功能。在单个中实现高性能处理器、外设、存储器和接口功能,可以降低用户的系统总体成本。开发人员希望快速将产品推向市场并保持一个较长的产品生命周期,避免更新换代。基于的系统在以下几个方面可以帮助用户实现此目标≯缩短产品的上市时间—可编程的特性使其具有最快的产品上市速度。许多的设计通过简单的修改都可以被快速地实现到设计处理器能够运行成熟的操作系统,基于操作系统,用户能够非常简单高效的编写应用程序,加快软件开发周期。而系统的灵活性和快速上市的特性源于提供完整的开发套件、众多的参考设计、强大的硬件开发工具(和软件开发工具(套件。用户可以借助厂商提供的参考设计和易用的开发工具。在几个小吋内就完成自己的设计原型。建立有竞争性的优势一维持一个基于通用硬件平台的产品的竞争优势是非常困难的。而器件,能够充分发挥的可编程特性,设讣独有的硬件加速和协处理逻辑,配合处理器协同工作,具备硬件加速、定制的可裁剪的外设等的系统,具备了竞争的优势>延长了产品的生存时间一使川器件的产品带来的一个独特优势就是能够对硬件进行升级。即使产品口绎交付给客户,仍可以定期升级。这些特性可以解决很多问题:

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • Altium designer元件库和封装库(含51单片机)
    altium designer常用元件库,含有单片机8051.IntLib,AD转换.lib,CMOS系列.Lib,数码管光耦.SCHLIB,单片机及相关.SCHLIB,TTL74系列IC.SCHLIB,IC.SCHLIB,场效应管.LIB,可控硅.Lib,LM317-337封装.PcbLib,开关.PcbLib,数码管.PcbLib,液晶显示器.PcbLib,继电器.PcbLib,阻容.PcbLib,集成块.PcbLib,常用元件封裝庫(pcb).PCBLIB,变压器.PcbLib,4位共阳极数码管.SchLib,J继电器.SchLib,LCD显示.SchLib,OP光耦.SchLib,Op
    2020-12-05下载
    积分:1
  • 温度控制直流电动机转速protues仿真
    温度控制直流电动机转速protues仿真有仿真文件,源程序代码文件,程序已经分模块,给有需要的人学习
    2021-05-06下载
    积分:1
  • 基于matlab的yalmip+cplex的二阶锥SOCP-OPF的IEEE33算例潮流.zip
    【实例简介】请注意!!!!本资料自2021.10.15更新了OLTC、DG的问题,解决了同学们提出的一些问题错 基于算例IEEE33还有PG69,使用CPLEX+YALMIP进行二阶锥松弛建模的多时间断面潮流,内容丰富,包含本人所有的复现资料,有主动管理OLTC,CB,SVC,ESS等,配电网重构,综合负荷,注释绝对清晰,程序易懂,可改写能力强,适用小白。复现自《主动配电网最优潮流研究及其应用实例》-高红均,约束什么都一样。 有主动配电网二阶锥最优潮流的所有学习资料,看完我这个,绝对不会有这方面的问题。运行问题可以帮忙解决!!!可答疑
    2021-12-15 00:41:55下载
    积分:1
  • java加入购物车源码实例(附数据库文件)
    一个 java加入购物车实例,实现了购物车的增删改,jdk1.6以上,tomcat6.0以上,eclipse、myeclipse、idea导进去就可运行,附带了数据库文件。
    2020-11-04下载
    积分:1
  • 高光谱图像分类--SVM
    matlab 本身自带的SVM有缺陷,libsvm使用起来麻烦,本程序使得你只用两行代码就能搞定图像的分类,简单轻松。感兴趣的可以下去试一下,因为代码是本人研究课题中的一部分,暂时不方便公开,但大家可能方便地使用。如果有什么BUG,欢迎留言,我会进行更新。
    2020-12-07下载
    积分:1
  • OFDM仿真(matlab)完整可运行
    完整的OFDM仿真。基于matlab平台开发,包含了信道卷积编码,信道交织编码,导频,降PAPR矩阵变化,IFFT,定时同步,频率同步,解交织等等一系列的完整过程。
    2020-12-05下载
    积分:1
  • 使用FPGA控制DDR实现步骤与注意细节
    【实例简介】文档目的:通过一个例子,详细介绍如何使用Cyclone III FPGA实现对4片DDR的控制。 包含内容: 1. 生成DDR Control IP核的过程; 2. 如何参考Altera所提供的IO管脚说明文档; 3. 如何分配DDR的数据线; 4. 如何分配DDR的地址线; 5. 如何分配DDR的控制线; 6. 在综合、布线过程中所需注意的实现细节,为提高效率如何使用的辅助工具; 本文档为原创,是结合一个实际的项目所编写的,对其它的项目实现具有较强的借鉴和指导意义。
    2021-11-06 00:31:59下载
    积分:1
  • 单纯形法matlaB
    matlab 解决单纯形法.................
    2020-12-01下载
    积分:1
  • 支持向量机MATLAB
    基于MATLAB程序的支持向量机psoSVMcgForRegress:回归问题参数寻优[pso based on CV]函数接口:[bestCVmse,bestc,bestg,pso_option] = psoSVMcgForRegress(train_label,train,pso_option)=======================================gaSVMcgForClass:分类问题参数寻优[ga based on CV]函数接口:[bestCVaccuracy,bestc,bestg,ga_option] = gaSVMcgForClass(tr
    2021-05-06下载
    积分:1
  • 16×64LED点阵显示屏的设计(附完整proteus仿真图和源序)
    16×64LED点阵显示屏的设计(附完整proteus仿真图和源程序)答辩记录1、例举设计过程中遇到的问题及其解决方法(至少两例)。答:(1)问题说明:解决方法:(2)问题说明:解决方法2、教师现场提的问题记录在此(不少丁2个问题)《单片机原理及应用》课程设计摘要LED电子显示屏是利川发光二极管构成的点阵模块或像素单元组成可变面积的显示屏幕,在信息显示领域得到了广泛的应用,实现显示屏的技术也有很多和。本文介绍了基于单片机80C51为控制器的16×64LED点阵显示屏系统的设计。整机以美国 ATMEL公司生产的40脚单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。通过该芯片控制一个行驱动器74LS154和八个列驱动器74HC595米驱动显示屏显示。该电子显示屏可以显示各种文字或单色图像,全屏能显示4个汉字,采用16块8×8点阼LED显示模块来组成一个16×64点阼显示模式。显示采用动态显示,使得图形或文字能够实现静止、移入移出等多种显示方式。本文介绍了利用 Proteus7.10软件进行原理图的绘制,利用汉字转换软件将汉字转换为将要发送给单片机的点阵数据,在keil软件当中采用C语言编程,与 proteus进行联调,并通过仿真软件Proteus7.10最终实现自己设想的效果,总体上系统的设计简单、显示清晰、成本较低。关键词:单片机;LED;点阼屏;c语言《单片机原理及应用》课程设计目录摘要设计任务基本要求选做设计方案点阵屏显示模块原理数据传输方案系统硬件电路的设计单片机系统及外围电路点阵显示屏设计点阵显示器的扫描驱动系统软件的设计显示驱动程序系统主程序总结参考文献附录:总设计图附录:总源程序《单片机原理及应用》课程设计设计任务从LED材料的不断更新,灰度控制技术的发展,真彩色图像的展现:到驱动电路的灵活、高效,控制系统技术的提高无不体现了LED行业技术的飞跃发展另外,随着计算机的网路技术的发展,LE显示屏在网路环境下的使用情况越来越多,在多媒体、多和显示设备组成的信息显示系统中,采用智能化网路控制,联网控制多屏技术也在实际屮得到应用。本文讨论了利用单片机为控制信号完成一个点阵显示屏系统的设计。11基本要求设计一款能够显示不同字符的点阵广告牌;2.设计不同的字符切换效果(如內烁,静止,平移等);设计控制按钮,可以在不同的效果间切换;12选做4能够显示图形或自定义字符5通过串行口从电脑上下载更新需显示的字符6其他功能(创新部分)图示例图《单片机原理及应用》课程设计设计方案21点阵屏显示模块原理四个8×8的点阵构成一个16×16的点阵,共由256个LED构成。如果LED的阴极与行相连,而阳极与列相连,那么只要给该LED对应的行以低电平,列以高电平,那么对应的LED就发光。图2-1画岀了可显示一个汉字的16×16的点阵屏模块。这种模块由256个发光LED以16×16的形式构成一个正方形模块,然后引出2列16针的引脚将内部电路接口引出,供驱动电路使用0200100fFC200生400gfEO004000800100TFFE010010001000005000200图2.1LED点阵显示原理图行对应的给LED的阴极,先给第一行以低电平,如果送给16列的代码为0200,则第一行的第7个LED被点亮,再给第二行以低电平,如果送给16列的代码为0100,则第二行的第8个被点亮,接着给第三行以低电平,同时给列以动代码,这样不断地进行行行的扫摧,只要速度够快,由于人的祧觉暂留作用,就不会感觉釗明显的闪烁感。点阵上会看到一个清晰的“字”字《单片机原理及应用》课程设计22数据传输方案显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并列传输的方案是不可取的。采用牛行传输的方法,控制电路可以只用根信号线,将列数据位一位传往列驱动器,在硬件方面无疑是卜分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这行的各列才能并行地进行显小。这样,对于一行的显小过程就可以分解成列数据准备(传输)和列数据显示两部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下留给行显示的时间就人少了,以致影响到LED的亮度。解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一列数据。为了达到重叠处理的目的,列数据的显示就需要具有所存功能。经过上述分析,就可以归纳出列驱动器电路应具有的功能。对于列数据准备来说,它应能实现串入并处的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响行的显示。图22为显示屏电路实现的结构框图列驱动列驱动列驱动列驱动单片机控制器行驱动6×6LED16×⊥6LED16×16LED6×6LED点阵点阵点阵点阵图点阵显示屏系统框图《单片机原理及应用》课程设计系统硬件电路的设计本系统采用单片机作控制器。整个电路主要由单片机控制及其接口电路、驱动显小电路、电源电路等部分纽成。为了简化显示屏电路,降低成本,本系统在单片机部分不加字库存储器,而在机上编辑汉字和字符显示信息,并将其转换为相应的点阵显示数据。然后通过串口送给单片机存储并进行显示处理使件电路大致上可以分成单片机系统及外围电路、列驱动电路和行驱动电路部分。31单片机系统及外围电路单片机采用MSC-51或其兼容系列芯片,采用24MHZ或更高频率晶振,以获得较高的刷新频率,时期显小更稳定。单片机的串口与列动器相连,用来显小数据。P1口低4位与行驱动器相连,送出行选信号;P1.5~P1.7口则用来发送控制信号MSC51单片机部分管脚说明如下:P0口:P0口为一个8位漏级开路刈向I/0口,每脚可吸收8TTL门电流。当P凵的管脚第次写1时,被定义为高阻输入。P0能够用于外部程序薮据存储器,它可以被定义为数据/地址的第八位P1凵:P1凵是一个内部提供上拉电阻的8位双向I/0凵,P1凵缓冲器能接收输出4L门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH编程和校验时,P1口作为第八位地址接收P2凵:P2凵为一个内部上拉电阻的8位双向I0凵,P2凵缓冲器可接收输出4个TL门流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将《单片机原理及应用》课程设计输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“I”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2凵输出其特殊功能寄存器的内谷。P2凵在 FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/0口,可接收输出4个TTL门电流。当P3凵写入“1”后,它们被内部上拉为髙电平,并用作输入。作为输入,由亍外部下拉为低电平,P3凵将输出电流(IL)这是由于上拉的缘故RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。CF气x1灯TAP0ADD□P0.2/AD236C2F4/D4F0.5AD5PO, 3JAD6RSTPO.7/A07A3t4C3H山ARo 1nFP2.2A10PSENP2.3A|1ALEF2.4inP2541328P25A1427P27A|5P123P3. 0/RXD F10F1.1/2EP3. ITXDP3 2/NT0F13P1361. 4P34/014P3 6R16PC/FD17B9C54图单片机最小系统原理图
    2020-12-12下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载