ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:40.40KB ,
资源ID:17070217      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17070217.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SOPC嵌入式系统基础教程Word文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SOPC嵌入式系统基础教程Word文档格式.docx

1、29包装版本:第1版装帧:平装开本:16正文语种:中文产品信息有问题吗?请帮我们更新产品信息。内容简介SOPC嵌入式系统基础教程为SOPC嵌入式开发系列教程的理论教材,介绍了在嵌入式系统中日益广泛应用的SOPC技术基础知识。主要以Altera公司的技术资料为基础,加之作者的实践及理解,全面、深入浅出地介绍了SOPC技术。全书分为3部分:第1、3、4章为基础部分,主要介绍SOPC技术、Nios 处理器的体系结构、Nios 处理器的常用外设;第2、5、6章为应用部分,重点介绍SOPC开发流程、FPGA配置、Flash编程、软件开发等;第7、8、9章为提高部分,主要介绍Avalon接口规范、SOPC

2、深入设计、混合语言编程等。SOPC嵌入式系统基础教程可作为高等院校电子工程、计算机、微电子、通信、自动控制等相关专业SOPC嵌入式系统课程的理论教材,也可作为从事SOPC嵌入式系统应用开发工程师的参考资料。SOPC嵌入式系统基础教程有配套实验教程以及多媒体教学课件。第1章 概述11.1 SOPC及其技术11.1.1 基于FPGA嵌入IP硬核的SOPC系统11.1.2 基于FPGA嵌入IP软核的SOPC系统11.1.3 基于HardCopy技术的SOPC系统21.2 Nios 软核处理器31.2.1 Nios 软核处理器简介31.2.2 可配置嵌入式软核处理器的优势51.3 Altera支持SO

3、PC的FPGA简介91.3.1 Cyclone系列91.3.2 Cyclone 系列111.3.3 Stratix系列121.3.4 Stratix 系列14第2章 SOPC开发流程及开发平台简介162.1 SOPC开发流程162.1.1 硬件开发182.1.2 软件开发182.1.3 SOPC基本开发流程简介192.2 简单SOPC实例开发任务及步骤212.3 分析系统需求222.4 使用Quartus 建立工程232.4.1 打开Quartus 软件并建立工程232.4.2 建立顶层模块262.5 使用SOPC Builder创建Nios 系统272.5.1 SOPC Builder简介2

4、72.5.2 启动SOPC Builder292.5.3 指定目标FPGA和时钟设置312.5.4 添加Nios 处理器内核312.5.5 添加片内存储器332.5.6 添加PIO352.5.7 添加系统ID外设352.5.8 指定基地址和中断请求优先级362.5.9 设置Nios 复位和异常地址362.5.10 生成Nios 系统372.6 集成Nios 系统到Quartus 工程392.6.1 添加Nios 系统模块到Quartus 顶层模块392.6.2 添加引脚和其他基本单元402.6.3 选择器件型号412.6.4 分配FPGA引脚422.6.5 器件和引脚的其他设置432.7 设置

5、编译选项并编译硬件系统442.7.1 设置编译选项442.7.2 编译硬件系统442.7.3 查看编译报告442.8 下载硬件设计到目标FPGA462.9 使用Nios IDE建立用户程序472.9.1 创建一个新的C/C+应用工程472.9.2 设置C/C+应用工程系统属性522.9.3 编译连接工程532.10 调试/运行程序532.10.1 在目标硬件上运行程序542.10.2 在目标板上调试程序54第3章 Nios 体系结构573.1 Nios 处理器结构573.2 Nios 的寄存器文件583.2.1 Nios 的通用寄存器583.2.2 Nios 的控制寄存器603.3 算术逻辑单

6、元(ALU)613.3.1 未实现的指令613.3.2 用户指令613.3.3 浮点指令613.4 复位信号623.5 Nios 处理器运行模式623.6 异常和中断控制器633.6.1 异常控制器633.6.2 中断控制器633.7 Nios 的异常处理643.7.1 异常类型643.7.2 异常硬件处理流程643.7.3 异常判别及优先级643.7.4 异常的嵌套653.7.5 异常返回663.7.6 异常响应时间663.8 存储器及I/O结构663.8.1 指令与数据总线673.8.2 高速缓存683.8.3 紧耦合存储器693.8.4 地址映射703.9 存储器和外设访问703.9.1

7、 寻址方式703.9.2 高速缓存访问713.10 Nios 处理器性能71第4章 Nios 外围设备734.1 并行输入/输出内核734.1.1 PIO寄存器描述734.1.2 PIO内核配置选项754.1.3 软件编程774.2 SDRAM控制器内核774.2.1 SDRAM控制器内核概述774.2.2 SDRAM内核配置选项794.2.3 软件编程814.2.4 SDRAM应用814.3 CFI控制器内核824.3.1 CFI 控制器内核综述834.3.2 CFI控制器内核设置834.3.3 软件编程854.4 EPCS控制器内核854.4.1 EPCS控制器内核综述854.4.2 软件

8、编程864.5 定时器内核874.5.1 定时器内核综述874.5.2 定时器寄存器描述884.5.3 定时器内核配置选项904.5.4 软件编程924.6 UART内核934.6.1 UART内核综述934.6.2 UART内核的寄存器描述954.6.3 UART内核配置选项994.6.4 软件编程1014.7 JTAG_UART内核1044.7.1 JTAG_UART的寄存器描述1054.7.2 JTAG_UART内核配置选项1064.7.3 软件编程1084.8 SPI内核1104.8.1 SPI内核综述1104.8.2 SPI内核的寄存器描述1124.8.3 SPI内核配置选项1154

9、.8.4 软件编程1174.9 DMA内核1184.9.1 DMA控制器内核综述1184.9.2 DMA寄存器描述1194.9.3 DMA控制器配置选项1224.9.4 软件编程1234.10 带Avalon接口的互斥内核1254.10.1 互斥内核描述1254.10.2 互斥内核配置选项1264.10.3 软件编程1264.11 带Avalon接口的邮箱内核1294.11.1 邮箱内核描述1294.11.2 邮箱内核配置选项1294.11.3 软件编程1304.12 System ID内核1324.12.1 System ID寄存器描述1334.12.2 软件编程133第5章 FPGA配置和

10、Flash编程1345.1 FPGA配置1345.1.1 FPGA配置方式1345.1.2 FPGA配置过程1365.2 Cyclone及Cyclone FPGA配置1385.2.1 主动串行配置1405.2.2 主动串行配置(AS)的配置时间估算1435.2.3 JTAG配置1435.3 配置芯片1455.4 配置的软件设置1465.4.1 配置方式及配置芯片选择1465.4.2 复用配置引脚处理1475.5 配置文件1485.5.1 配置文件的格式1485.5.2 配置文件设置和转换1495.5.3 配置文件的压缩1505.6 配置可靠性及电路设计注意事项1525.6.1 配置的可靠性15

11、25.6.2 电路设计注意事项1535.7 下载配置文件到FPGA1535.8 下载配置文件到EPCS1555.8.1 AS接口的EPCS直接编程1555.8.2 JTAG接口的EPCS间接编程1575.8.3 SOF文件转换为JIC文件1585.8.4 JIC文件转换为JAM文件1615.8.5 JIC和JAM文件的内容1635.8.6 使用JIC文件和Quartus Programmer对EPCS编程1635.8.7 使用JAM文件和Quartus Programmer对EPCS编程1635.9 IDE Flash Programmer介绍1645.9.1 IDE Flash Progra

12、mmer编程工作过程1655.9.2 Flash编程设计1655.9.3 目标板Flash编程设计1655.9.4 Flash编程内容的类型1665.9.5 Flash文件1665.10 用户程序引导1675.10.1 从CFI Flash引导1675.10.2 从串行配置器件EPCS引导1675.10.3 引导复制程序1685.10.4 用户程序ELF文件连接设置1695.10.5 用户程序引导小结1715.11 使用IDE Flash Programmer编程1725.12 创建目标板Flash编程设计176第6章 Nios 应用程序及其外设HAL驱动开发1846.1 Nios IDE简介

13、1846.2 设置工程系统库属性和编译选项1866.2.1 C/C+ Build设置1876.2.2 C/C+ Indexer设置1886.2.3 System Library设置1886.3 调试/运行程序1906.3.1 调试器目标连接设置1916.3.2 调试器设置1926.3.3 运行程序1946.4 下载程序到Flash1946.5 硬件抽象层(HAL)系统库1946.5.1 HAL的构成1956.5.2 HAL的通用设备模型1966.6 使用HAL开发应用程序1976.6.1 Nios IDE工程结构1976.6.2 与目标系统相关的system.h系统描述文件1986.6.3 数

14、据宽度及HAL类型定义2006.6.4 HAL对系统启动的支持2006.6.5 HAL与异常处理2016.6.6 提高处理性能的措施2036.7 设备驱动概述2046.7.1 设备的寄存器抽象2056.7.2 处理器外围设备的分类2056.7.3 标准I/O访问方法2066.7.4 标准I/O函数到具体驱动程序的映射2066.7.5 驱动程序与设备交互的方法-轮询和中断2086.7.6 调用设备驱动的方式2086.8 开发HAL下的设备驱动2096.8.1 创建一个描述设备寄存器的头文件2096.8.2 为各类设备创建驱动程序2106.8.3 把设备驱动集成到HAL中2186.9 C/OS22

15、16.9.1 C/OS简介2226.9.2 设备驱动的线程安全2226.9.3 Newlib C标准库的线程安全2236.9.4 HAL系统时钟与C/OS系统时钟2246.9.5 C/OS代码编译和初始化2256.9.6 使用Nios IDE开发C/OS应用程序2256.9.7 C/OS基本常识2306.10 Nios C语言至硬件加速编译器(C2H)简介231第7章 Avalon接口规范2337.1 Avalon总线简介2337.2 术语和概念2357.2.1 Avalon交换结构2357.2.2 Avalon外设2377.2.3 Avalon信号2387.2.4 Avalon端口2387.

16、2.5 主从端口对2397.2.6 传输2397.2.7 周期2397.2.8 PTF文件与SOPC Builder2397.3 Avalon信号2407.3.1 信号命名规则2417.3.2 信号类型的完全列表2417.3.3 信号极性2447.3.4 信号序列和时序2447.3.5 传输属性2457.4 从端口传输2467.4.1 从端口基本信号2467.4.2 从端口基本读传输2477.4.3 带传输属性的从端口读传输2487.4.4 从端口基本写传输2527.4.5 带传输属性的从端口写传输2527.5 主端口传输2557.5.1 主端口信号2567.5.2 主端口基本读传输2577.

17、5.3 主端口基本写传输2587.5.4 主端口传输的等待周期、建立时间及保持时间属性2597.5.5 主端口传输的流水线、突发及三态属性2607.6 流水线传输属性2607.6.1 具有固定延迟的从端口流水线读传输2607.6.2 具有可变延迟的从端口流水线读传输2617.6.3 主端口流水线读传输2637.7 流控制属性2647.7.1 具有流控制的从端口传输2657.7.2 具有流控制的主端口传输2677.8 三态传输属性2697.8.1 三态从端口传输2707.8.2 三态主端口传输2767.9 突发传输属性2777.9.1 主端口突发传输2777.9.2 从端口突发传输2807.10

18、 非传输相关的信号2837.10.1 中断请求信号2837.10.2 复位控制信号2857.11 地址对齐2867.11.1 静态地址对齐2867.11.2 动态地址对齐2877.11.3 为Avalon端口选择地址对齐参数2887.11.4 不同地址对齐方式的连线及编程操作289第8章 Nios 系统深入设计2918.1 定制基于Avalon的用户外设2918.1.1 定制用户外设简介2918.1.2 PWM设计说明2938.1.3 将PWM设计封装为SOPC Builder元件2968.1.4 使用并验证新创建的PWM元件3008.1.5 手工修改创建的元件3028.2 定制Nios 用户

19、指令3028.2.1 Nios 定制指令综述3038.2.2 定制指令实现方式3078.2.3 定制指令设计示例3088.2.4 定制指令的使用方法312第9章 Nios 汇编程序设计及混合语言程序开发3179.1 历史回顾3179.2 Nios 的指令集3189.2.1 数据传输指令3189.2.2 寄存器间数据拷贝指令3199.2.3 算术逻辑运算指令3199.2.4 比较指令3209.2.5 移位指令3219.2.6 跳转、分支和子程序调用指令3219.2.7 断点及异常指令3229.2.8 用户指令3229.2.9 未实现的指令3239.2.10 空操作3239.3 Nios 汇编程序

20、设计3239.3.1 利用Nios 汇编语言实现“Hello World!”3239.3.2 在C语言中内嵌汇编3349.4 使用混合语言进行程序开发341附录1 SmartSOPC多功能教学实验开发平台344附录2 LA系列高性能逻辑分析仪349参考文献354 看更多目录序言微电子技术的发展历史是一个不断创新的过程,这种创新包括理论创新、技术创新和应用创新。每一种创新都能开拓出一个新的领域,带来新的市场,产生重大的影响。在集成电路(IC)发展初期,电路设计主要是器件的物理版图设计。后来出现了集成电路单元库(Cell ,使得集成电路设计从器件级进入逻辑级,极大地推动了IC产业的发展。随着IC设

21、计与工艺水平的提高,原先由许多IC组成的电子系统可以集成到一个芯片上,构成片上系统(System on Chip,SOC)。SOC的设计思想有别于普通IC:SOC从整个系统的角度出发,把处理机制、模型算法、芯片结构直至器件的设计紧密结合起来,在单个(或少数几个)芯片上实现整个系统的功能。SOC的设计以IP核为基础,以分层次的硬件描述语言为系统功能和结构的主要描述手段,并需要借助EAD工具。研究表明,与IC组成的系统相比,由于SOC设计能够综合考虑整个系统的各种情况,因而可以在同样的工艺条件下,实现更高性能的系统指标。SOPC(System On Programmable Chip,可编程的片上

22、系统),是Altera公司提出来的一种灵活、高效的SOC解决方案,是一种新的软硬件协同设计的系统设计技术。它将处理器、存储器、I/O口、LVDS、CDR等系统设计需要的功能模块集成到一个可编程器件上,构成一个可编程的片上系统。SOPC是PLD和ASIC技术融合的结果。目前0.13 m的ASIC产品制造价格仍然相当昂贵,而集成了硬核或软核CPU、DSP、存储器、I/O设备和可编程逻辑的SOPC芯片,在应用灵活性和价格上有相当大的优势,所以有人认为SOPC代表了半导体产业未来的发展方向。本书为SOPC嵌入式开发系列教程的理论教材,而事实上,本书的内容并非纯理论的,也包含很多实践部分。以作者的经验,

23、SOPC技术只有通过大量的实战与实践才能很好并快速地掌握,因此本书的内容编排力求实用、深入浅出。本书内容编排如下:第1章以简短的篇幅介绍了SOPC技术及Altera公司系列产品中可用于SOPC的FPGA,重点介绍了32位Nios 软核处理器。第2章首先详细介绍了SOPC开发的基本流程,然后非常详细地描述了一个简单SOPC系统的设计过程,包括使用Quartus 、SOPC Builder定制Nios 系统以及利用Nios IDE进行应用程序开发。本章力求通过实例让读者以最快的方式了解SOPC开发以及各软件的使用,从而激起读者对SOPC的兴趣。第3章详述了Nios 处理器的体系结构,以便让读者了解

24、Nios 处理器的工作细节。虽然在软件开发过程中我们多数情况下只使用C语言,无须关心体系结构的细节。但熟悉体系结构对开发出高效、健壮的程序是非常有好处的。第4章介绍了Nios 处理器常用外围设备的特点、配置以及软件编程,供读者在使用这些外设定制Nios 系统时查阅。第5章对较难掌握的FPGA配置、Flash(包括EPCS)编程、目标板Flash编程设计的创建以及Nios 系统用户程序引导等内容进行了详细阐述。第6章首先简单介绍Nios IDE开发环境的使用;然后重点介绍了硬件抽象层(HAL)系统库,包括HAL下的应用程序开发以及开发HAL下的设备驱动两部分内容;最后讲述了MicroC/OS-实

25、时操作系统及其应用程序开发实例。本章还简单介绍了最新的Nios C语言至硬件加速编译器。第7章详细介绍了Avalon接口规范,着重从Avalon外设的角度论述Avalon接口。如果用户只使用已经定制好的外设来创建自己的系统,就无须了解有关Avalon的相关知识。但对于需要自己设计外设的用户来说,就需要掌握诸如传输类型、信号时序等全面的Avalon接口知识,第7章的内容就显得尤为重要。第8章讲述有关SOPC的深入设计,以帮助读者掌握如何定制用户逻辑外设和用户指令。定制用户逻辑外设和定制用户指令是使用Nios 嵌入式软核处理器的SOPC系统的重要特性,用户还可以通过定制用户逻辑外设和定制用户指令来

26、实现各种应用要求。第9章首先简单地回顾了程序语言发展的历史,并从中总结了汇编程序的重要性;随后概要地介绍了Nios 的指令集;最后重点介绍了Nios 汇编程序的设计方法以及混合语言程序开发。附录1介绍了广州致远电子有限公司的SmartSOPC多功能教学实验开发平台,本书的许多内容都在该开发平台上通过验证。附录2首先简单介绍了逻辑分析仪的基础知识;重点比较了逻辑分析仪与示波器的区别,以此得出逻辑分析仪在数字电路设计中的重要作用。最后向读者简单介绍了广州致远电子有限公司的LA系列高性能逻辑分析仪。在阅读本书的过程中,请读者注意以下几点:本书的部分内容是基于Altera公司的6.0版本的英文手册,A

27、ltera公司会不断更新和修改各参考手册的内容,如遇到不符,请读者以最新的手册为准。本书列出了作者们在验证内容过程中遇到很多问题的解决方法和注意事项,书中特别用 表示出来。本书对一些术语在不同场合下并没有严格进行统一,事实上Altera公司的英文手册也是如此。不统一的术语主要是外设、元件、IP Core。在SOPC Builder中通常使用元件(component)或IP Core来描述硬件模块,而在软件编程中通常把在SOPC Builder中称之为元件或IP Core的硬件模块描述为外设或设备。由于中文资料缺乏,一些内容是在Altera英文文档及软件帮助内容的基础上翻译的,在翻译过程中一些表

28、达可能不恰当,为此在括号内给出了相应的英文表达,以便于读者更好地理解。最后建议读者在学习本书的过程中要进行实际的动手操作,“纸上得来终觉浅,绝知此事要躬行”。再好的讲述也比不上亲身的体验,如果不亲自动手,可能永远都不知道什么是困难。在实验的过程中,推荐使用本书的配套实验教程Nios SOPC嵌入式系统实验教程(一)以及Smart SOPC多功能教学实验平台。本书适合于高等院校电子工程、计算机、微电子、通信、自动控制等专业以及对此类专业感兴趣的高年级本科生和研究生。作者相信本书的读者只要认真、勤奋地学习好书中的内容,并勇于实践,就能较快地进入SOPC技术世界。参与本书编写工作的主要人员有周书武、刘英斌、张晶、芮文彬、杜佳、许惠泉、余文亮等,本书由周立功负责规划、内容编排、定稿与修改。感谢北京航空航天大学出版社的大力支持,使本书得以快速出版。由于作者水平有限,书中的内容难免有疏忽、不恰当甚至错误的地方,恳请各位老师及同行指正,并请您将阅读中发现的错误或建议发送到tools,以使本书不断完善。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1