




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、 名词解释什么是IC、ASIC、SOC、SOPC、EDA、嵌入式系统等IC:是半导体元件产品的统称,包括:集成电路、三极管、特殊电子元件。ASIC:专用IC。是指为特定的用户、某种专门或特别的用途而设计的芯片组。SOC:片上系统。随IC设计与工艺的提高,使原先由许多IC组成的电子系统可集成到一个芯片上,构成SOC。SOPC:可编程的片上系统。是Altera公司提出来的一种灵活、高效的SOC解决方案。也可认为是基于FPGA解决方案的SOC。EDA:电子设计自动化 。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。 二、简答题1, 嵌入式系统的基本架构如何?2, 构成SOPC的方案有几种途径?简述它们的实现方法并比较优劣。构成SOPC的方案有三种途径,1.基于FPGA嵌入IP硬核的SOPC系统;2. 基于FPGA嵌入IP软核的SOPC系统;3. 基于HardCopy技术的SOPC系统1)基于FPGA嵌入IP硬核的应用。这种SOPC系统是指在FPGA中预先植入处理器。这使得FPGA灵活的硬件设计与处理器的强大软件功能有机地结合在一起,高效地实现SOPC系统。2)基于FPGA嵌入IP软核的应用。这种SOPC系统是指在FPGA中植入软核处理器,如:NIOS II核等。用户可以根据设计的要求,利用相应的EDA工具,对NIOS II及其外围设备进行构建,使该嵌入式系统在硬件结构、功能特点、资源占用等方面全面满足用户系统设计的要求。3)基于HardCopy技术的应用。这种SOPC系统是指将成功实现于FPGA器件上的SOPC系统通过特定的技术直接向ASIC转化。把大容量FPGA的灵活性和ASIC的市场优势结合起来,实现对于有较大批量要求并对成本敏感的电子产品,避开了直接设计ASIC的困难。3, 简述Nios II 处理器系列包括哪几种内核?并说明具体特点。Nios II 处理器系列包括三种内核分别是Nios II/f (快速)、Nios II/e (经济)、Nios II/s (标准)。Nios II/f (快速):性能最高,但占用的逻辑资源最多。Nios II/e (经济):占用的逻辑资源最少,但性能最低。Nios II/s (标准):平衡的性能和尺寸。NiosII/s内核比第一代的Nios CPU更快,占用的资源更少。4, 简述可配置嵌入式软核处理器的优势。优势:1. 提供合理的性能组合;2. 提升系统的性能;3. 降低系统成本;4. 延长产品的生命周期。5, 基于Nios II软核处理器的SOPC开发需要用到哪些开发工具软件?答:需要用到Quartus II、SOPC Builder以及Nios II IDE6, SOPC开发分为哪两个部分,简述其开发流程,并画出SOPC开发流程框图。答:SOPC开发分为两个部分:基于Quartus II、SOPC Builder的硬件设计、基于NiosII IDE的软件设计。Nios II CPU的基本开发流程为:(1) 在Quartus II中新建一个工程(硬件)。(2) 在SOPC Builder中根据自己的需要加入各种IP核。(3) 利用SOPC Builder产生Quartus II能够识别的文件。(4) 在(1)中新建的工程中加入(3)中生成的文件。(5) 加入输入、输出以及双向端口,并根据需要对其命名。(6) 对(5)中命名的输入、输出核双向端口根据选定的FPGA进行引脚分配。(7) 编译工程。(8) 下载编辑代码到FPGA。(9) 利用Nios II IDE新建另一个工程(软件)。(10) 根据(2)中的资源,编写项目需要的代码。(11) 编译、下载并调试,查看运行结果,直到正确。(12) 如果需要,将(11)中生成的代码下载到代码Flash中。7, 以控制LED闪烁的简单NiosII处理器系统为例,详细说明SOPC的开发过程。1. 分析系统需求。2. 启动QuartusII软件和新建实例设计工程。3. 启动新的SOPC Builder系统。4. 在SOPC Builder中定义并生成系统。5. 集成SOPC Builder系统到QuartusII工程。6. 选择芯片型号并进行管脚分配。7. 设置编译选项并编译硬件系统。8. 下载硬件设计到目标FPGA。9. 使用NiosII IDE开发用户程序。10. 调试用户程序。11. 运行程序。8, 简述NIOSII 体系架构。 9, 简述NIOSII 处理器结构。10, Nios II处理器支持哪两个复位信号?并详细说明之。Nios II处理器支持两个复位信号:reset和cpu_resetrequest。reset:是一个强制处理器核立即进入复位状态的全局硬件复位信号。cpu_resetrequest:是一个可以让CPU复位但不影响Nios II系统其它外设的局部复位信号。11, 简述Nios II处理器的异常与中断。 12, 简述Avalon 交换结构总线特点,并比较它与传统CPU总线的区别。特点:1.所有外设的接口与Avalon总线时钟同步,不需要复杂的握手/应答机制。这样就简化了Avalon总 线的时序行为,而且便于集成高速外设。Avalon总线以及整个系统的性能可以采用标准的同步时序分析技术来评估。2.所有的信号都是高电平或低电平有效,便于信号在总线中高速传输。在Avalon总线中,由数据选择器(而不是三态缓冲器)决定哪个信号驱动哪个外设。因此外设即使在未被选中时也不需要将输出置为高阻态。3.为了方便外设的设计,地址、数据和控制信号使用分离的、专用的端口。外设不需要识别地址总线周期和数据总线周期,也不需要在未被选中时使输出无效。分离的地址、数据和控制通道还简化了与片上用户自定义逻辑的连接 。区别:Avalon 交换结构总线使用从属设备仲裁技术,使并行多控制器操作最大限度地提高系统性能。如果多个控制器同时存取从属设备,则由从属设备仲裁决定哪一个控制器得到从属设备的存取权 。在传统的总线中,单个仲裁器控制一个或多个总线控制器跟总线从属设备进行通信,由于每次只能有一个控制器可以存取系统总线而形成带宽瓶颈 。13, 典型的SOPC Builder 外设IP 在功能上可分成哪几部分?典型的SOPC Builder 外设IP 在功能上可分成以下几部分:1.外设行为逻辑:实现了外设所要完成的功能;2. 寄存器:提供了访问行为逻辑的存储器映射;3. Avalon 总线接口:是访问寄存器的物理接口;4.软件驱动子程序:提供了应用程序访问外设的接口。14, 简述PIO外设IP使用方法,详细叙述PIO内核相关寄存器软件编程方法,如何初始化PIO内核,并书写PIO中断服务程序。 答:使用方法:控制LED、获取开关量、控制显示设备、配置非片上设备或与其进行通信编程方法:读写数据寄存器IORD_ALTERA_AVALON_PIO_DATA(base)IOWR_ALTERA_AVALON_PIO_DATA(base, data)读写方向寄存器IORD_ALTERA_AVALON_PIO_DIRECTION (base)IOWR_ALTERA_AVALON_PIO_DIRECTION(base, data)读写中断屏蔽寄存器IORD_ALTERA_AVALON_PIO_IRQ_MASK(base)IOWR_ALTERA_AVALON_PIO_IRQ_MASK(base, data)读写边沿捕捉寄存器IORD_ALTERA_AVALON_PIO_ EDGE_CAP (base) IOWR_ALTERA_AVALON_PIO_ EDGE_CAP (base, data)n 中断初始化static void Button_ISR_Init(void) void *pEdge_Capture = (void *)&Edge_Capture;/允许4个按键中断IOWR_ALTERA_AVALON_PIO_IRQ_MASK(S1_S4_BASE, 0xf);/清除中断标志寄存器IOWR_ALTERA_AVALON_PIO_EDGE_CAP(S1_S4_BASE, 0x0);/注册中断alt_irq_register(S1_S4_IRQ, pEdge_Capture, Button_Irq_Handler); n 中断服务程序static void Button_Irq_Handler(void *context, alt_u32 id)volatile int *edge_capture_ptr = (volatile int *) context;/保存中断标志寄存器*edge_capture_ptr = IORD_ALTERA_AVALON_PIO_EDGE_CAP(S1_S4_BASE);/中断服务处理/把对应的LED点亮IOWR_ALTERA_AVALON_PIO_DATA(D5_D8_BASE, *edge_capture_ptr);. IOWR_ALTERA_AVALON_PIO_EDGE_CAP(S1_S4_BASE, 0); /清除中断标志寄存器15, 综述定时器内核,详细叙述定时器内核相关寄存器软件编程方法,如何初始化定时器内核,并书写定时器中断服务程序。 SOPC Builder中的Timer核是一个32位、基于Avalon接口的软核,它有以下特性:n 启动、停止核复位都可由软件控制n 两种计数模式:单次向下计数模式和连续向下计数模式n 向下计数周期寄存器n 可屏蔽中断(当计数器递减到0的时候)n 可工作在看门狗模式n 可提供一个端口输出,使其产生周期性的脉冲n 兼容32位和16位处理器n 读写状态寄存器 IORD_ALTERA_AVALON_TIMER_STATUS(base) IOWR_ALTERA_AVALON_ TIMER_STATUS (base, data)n 读写控制寄存器 IORD_ALTERA_AVALON_ TIMER_CONTROL (base) IOWR_ALTERA_AVALON_ TIMER_CONTROL(base, data)n 读写周期寄存器 IORD_ALTERA_AVALON_ TIMER_PERIODL (base) IOWR_ALTERA_AVALON_ TIMER_PERIODL(base, data) IORD_ALTERA_AVALON_ TIMER_PERIODLH(base) IOWR_ALTERA_AVALON_ TIMER_PERIODH(base, data)n 读写计数器快照寄存器 IORD_ALTERA_AVALON_PIO_ TIMER_SNAPL (base) IOWR_ALTERA_AVALON_PIO_ TIMER_SNAPL (base, data) IORD_ALTERA_AVALON_PIO_ TIMER_SNAPH(base) IOWR_ALTERA_AVALON_PIO_ TIMER_SNAPH (base, data)n 定时器中断初始化static void Timer_ISR_Init(void) /初始化中断/清除Timer1中断标志寄存器IOWR_ALTERA_AVALON_TIMER_STATUS(TIMER1_BASE, 0);/注册Timer1中断alt_irq_register(TIMER1_IRQ, NULL, Timer1_Irq_Handler); /允许Timer1中断IOWR_ALTERA_AVALON_TIMER_CONTROL(TIMER1_BASE, 0x01);/-n 定时器中断服务程序static void Timer1_Irq_Handler(void *context, alt_u32 id)/驱动LED1闪烁LED1 = (LED1 + 1) % 4;IOWR_ALTERA_AVALON_PIO_DATA(LED1_BASE, LED1);/清除Timer1中断标志寄存器IOWR_ALTERA_AVALON_TIMER_STATUS(TIMER1_BASE, 0);16, 综述UART内核,详细叙述UART内核相关寄存器软件编程方法,如何初始化UART内核,并书写UART中断服务程序。 UART内核(通用异步接收器/发送器内核)执行RS-232协议时序,并提供可调整的波特率。用户可配置奇偶校验位、停止位和数据位,以及可选的RTS/CTS流控制信号。内核提供一个简单的Avalon从控制器接口,该接口允许Avalon主控制器(例如NiosII处理器)通过读写寄存器与UART内核进行通讯。n 读写数据接收寄存器 IORD_ALTERA_AVALON_UART_RXDATA(base) IOWR_ALTERA_AVALON_UART_RXDATA(base, data)n 读写数据发送寄存器 IORD_ALTERA_AVALON_UART_TXDATA(base) IOWR_ALTERA_AVALON_UART_TXDATA(base, data)n 读写状态寄存器 IORD_ALTERA_AVALON_UART_STATUS(base) IOWR_ALTERA_AVALON_UART_ STATUS (base, data)n 读写控制寄存器 IORD_ALTERA_AVALON_UART_CONTROL(base) IOWR_ALTERA_AVALON_UART_ CONTROL (base, data)n 读写分频寄存器 IORD_ALTERA_AVALON_UART_ DIVISOR (base) IOWR_ALTERA_AVALON_UART_ DIVISOR (base, data)n 读写包结束寄存器 IORD_ALTERA_AVALON_UART_ EOP (base) IOWR_ALTERA_AVALON_UART_ EOP (base, data)n UART中断初始化static void UART_ISR_Init(void)/清除中断标志寄存器IOWR_ALTERA_AVALON_UART_STATUS(UART0_BASE, 0x0);/注册中断 alt_irq_register(UART0_IRQ, NULL, UART_Irq_Handler); /允许UART接收中断IOWR_ALTERA_AVALON_UART_CONTROL(UART0_BASE, 0x0080);n UART中断服务程序static void UART_Irq_Handler(void *context, alt_u32 id)alt_u8 rx_dat;/读取接收数据rx_dat = IORD_ALTERA_AVALON_UART_RXDATA(UART0_BASE);/发送接收数据IOWR_ALTERA_AVALON_UART_TXDATA(UART0_BASE, rx_dat);/清除中断标志寄存器 IOWR_ALTERA_AVALON_UART_STATUS(UART0_BASE, 0x0);17, 综述SPI内核,详细叙述SPI内核相关寄存器软件编程方法,如何初始化SPI内核,并书写SPI中断服务程序。 SPI是一种工业标准的串行接口协议,主要用在控制器与数据转换器、存储器核控制设备之间通信,由于是串行接口,所以占用端口资源很少。SOPC Builder中提供的SPI核支持主和从两种工作模式,最多可同时连接16个SPI外设,数据位最多支持16位,如此性能的SPI控制器足以满足绝大多数场合需求。n 读写数据接收寄存器 IORD_ALTERA_AVALON_SPI_RXDATA(base) IOWR_ALTERA_AVALON_SPI_RXDATA(base, data)n 读写数据发送寄存器 IORD_ALTERA_AVALON_ SPI _TXDATA(base) IOWR_ALTERA_AVALON_ SPI _TXDATA(base, data)n 读写状态寄存器 IORD_ALTERA_AVALON_ SPI _STATUS(base) IOWR_ALTERA_AVALON_ SPI _ STATUS (base, data)n 读写控制寄存器 IORD_ALTERA_AVALON_ SPI _CONTROL(base) IOWR_ALTERA_AVALON_ SPI _ CONTROL (base, data)n 读从设备选择寄存器 IORD_ALTERA_AVALON_ SPI_SLAVE_SEL (base) IOWR_ALTERA_AVALON_ SPI_SLAVE_SEL (base, data)软件还可以通过函数alt_avalon_spi_command()来访问SPI接口,该函数在altera_Avalon_spi.h中得到了定义,具体如下:int alt_avalon_spi_command( alt_u32 base, alt_u32 slave, alt_u32 write_length, const alt_u8 * write_data, alt_u32 read_length, alt_u8 * read_data,alt_u32 flags)不过上述的函数仅能访问数据位宽不超过8位的SPI接口,对于数据位宽超过8位的SPI接口,该函数尚不支持。n SPI中断初始化static void SPI0_ISR_Init(void)/清除中断标志寄存器IOWR_ALTERA_AVALON_SPI_STATUS(SPI0_BASE, 0x0);/注册中断alt_irq_register(SPI0_IRQ, NULL, SPI0_Irq_Handler); /允许SPI发送结束中断IOWR_ALTERA_AVALON_SPI_CONTROL(SPI0_BASE, 0x0040);n SPI中断服务程序static void SPI0_Irq_Handler(void *context, alt_u32 id)/读取ADC转换结果dat = IORD_ALTERA_AVALON_SPI_RXDATA(SPI0_BASE);dat = 1;dat &= 0xfff;/输出数据进行DAC转换IOWR_ALTERA_AVALON_SPI_TXDATA(SPI0_BASE, dat);/清除中断标志寄存器IOWR_ALTERA_AVALON_SPI_STATUS(SPI0_BASE, 0x0);18, 综述JTAG_UART、DDR2SDRAM控制器、DMA控制器、CFI控制器、EPCS控制器等内核。 综述JTAG_UART :JTAG UART内核通过Avalon从控制器接口连接到Avalon总线。JTAG UART内核包含2个32位寄存器(数据和控制),它们可通过Avalon从控制器端口进行存取。Avalon主控制器访问寄存器来控制内核并在JTAG连接上传输数据。JTAG UART内核提供高电平有效的中断输出,该输出在读FIFO几乎为满或写FIFO几乎为空时申请一个中断。有读写FIFO也是JTAG UART内核与UART内核的不同点之一。FIFO可以改善JTAG连接的带宽。FIFO深度可由用户设置。DDR2SDRAM控制器:SDRAM控制器内核提供一个连接片外SDRAM芯片的Avalon接口,并可以同时连接多个SDRAM芯片。SDRAM控制器内核具有不同数据宽度(8、16、32或64位)、不同内存容量和多片选择等设置。SDRAM控制器不支持禁能的时钟模式。SDRAM控制器使cke引脚永久地有效。DMA控制器:带Avalon接口的直接存储器存取控制器(DMA控制器)替代Avalon主控制器执行储存器对储存器或者储存器与IO设备间的批量数据传输。当DMA控制器执行数据传输任务时,主控制器可自由执行其它并行的任务。CFI控制器:对于Nios II处理器,Altera为CFI控制器提供硬件抽象层(HAL)驱动程序。驱动程序提供了遵循CFI接口规范的Flash存储器的通用访问函数。因此,用户不需要写任何代码就可以访问遵循CFI接口规范的Flash器件EPCS控制器:Altera EPCS 串行配置器件(EPCS1和EPCS4),它可用于存储程序代码、非易失性程序数据和FPGA配置数据。带Avalon接口的EPCS设备控制器内核(“EPCS控制器”)允许NiosII系统访问Altera EPCS串行配置器件。Altera提供集成到NiosII硬件抽象层(HAL)系统库的驱动程序,允许用户使用HAL应用程序接口(API)来读取和编写EPCS器件。19, 对FPGA配置方式有哪几种?详细叙述配置过程。 根据FPGA在配置电路中的角色,可以将配置方式分为三类:1.FPGA主动串行(AS)方式 2. JTAG方式 3. FPGA被动(Passive)方式20, 了解FPGA配置芯片及配置软件设置。 Altera FPGA的配置芯片可以分为3类:1. 增强型配置器件:EPC16、EPC8、EPC4;2. 主动串行配置器件:EPCS64、EPCS16、EPCS4和EPCS1;3. 普通配置器件:EPC2、EPC1、EPC1441。配置软件设置:1配置方式及配置芯片选择,在Quartus II软件中,可以设置配置方式和配置芯片;2复用配置引脚处理置,当用户选择了一种配置方式后,在【Dual-Purpose Pins】选项卡中将自动把这种方式下可复用为IO口的管脚列出。用户可选择如何处理这些引脚。21, 了解FGPA配置文件格式。 1.SRAM目标文件(.sof).sof文件一般是在调试时通过下载电缆和JTAG直接下载到FPGA中的SRAM中。SOF文件在Quattus II软件编译时自动生成。所有其他配置文件都是由SOF文件转换生成的。2.编程目标文件(.pof).pof文件用于对各种Altera配置芯片进行编程。当在Quartus II中设置好配置芯片类型后,软件会在编译时为用户生成对应器件类型的POF文件。多个FPGA的sof文件可放到一个POF文件中,形成一个配置文件。Quartus II也可以将配置文件分到几个配置芯片中。3.原始二进制文件(.rbf)RBF是原始二进制配置数据的文件,只包含配置数据的内容。RBF文件通常被用于外部带微处理器的配置电路中。在被动配置方式(PS)时,可以将.rbf文件存储在大容量存储器中(如NOR Flash),然后通过微控制器读取二进制数据并装载到FPGA中去。4.原始编程数据文件(.rpd)RPD是包含Cyclone器件二进制位流配置数据的二进制文件。该文件存储在串行配置器件中,用于带嵌入式处理器环境,但在Quartus II软件以外Cyclone FPGA主动配置方式的配置。RPD文件的大小等于目标串行配置器件存储容量大小。但不同于RBF文件,它只给单一的配置器件提供配置。每个字节的低位LSB应先写入串行配置器件。5.十六进制文件(.hex)HEX文件是Intel HEX格式的ASCII文件。微控制器或外部主机可使用HEX文件来存储和传送配置数据。该文件也可以用于第三方的编程器对Altera公司的配置器件进行编程。6.文本列表文件(.ttf)文本列表文件是一种提供了逗号分隔的列表ASCII文件,该文件中的配置数据用于FPP、PPS、PPA和位宽。TTF文件可以允许用户将配置数据以包含或源命令行的形式作为微控制器的源代码,微控制器能从配置器件和大容量存储器中访问这些数据并下载到目标器件(FPGA)。7.JAM文件(.jam)JAM文件是用来存储器件编程信息的ASCII文本文件。这些文件在QusrtusII编程器和带嵌入式处理器的环境中常用于一个或多个器件的编程、校验、查空。8.字节编码文件(.jbc)JBC文件是同JAM文件内容一样的二进制文件。此外还有串行位流文件(.sbf)是用于FLEX 10K和FLEX6000器件的配置。22, 掌握如何把配置文件下载到FPGA中和配置芯片EPCS中。 要使用JTAG下载配置数据到FPGA,首先要生成可用于JTAG下载的配置数据文件,这些配置数据文件包括:.sof、.Jam以及.JBC。一般来说,JTAG方式利用SOF文件即可,JAM和JBC可以不用。利用JATG接口和ByteBlasterII电缆下载配置数据到FPGA的过程使用AS方式对Cyclone FPGA配置前,必须将配置文件写入串行配置器件EPCS。写入的方法有3种:1. 在QuartusII的Programmer中,通过专门与EPCS连接的AS下载接口来下载.pof文件到EPCS;2. 在QuartusII的Programmer中,使用JTAG接口,通过FPGA中间通道来间接对EPCS进行编程;23, 详述配置文件下载到EPCS中的编程方法。1.AS接口的EPCS直接编程利用Byt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年美学试题及答案全套
- 超声医学科考试试题及答案
- 2025年邮政培训试题及答案
- 龙年美术活动题目及答案
- 2025年供应科考试试题及答案
- 药厂人员上岗考试试题及答案
- 教师招聘之《小学教师招聘》能力提升题库学生专用附答案详解
- 2025企业管理资料范本广东省合作协议(版本)
- 2025年教师招聘之《小学教师招聘》练习题包及参考答案详解(精练)
- 2025年文明城市考试题及答案
- 重庆市南开中学高2026届高三第一次质量检测+数学答案
- GJB135B-2021合成航空发动机润滑油规范
- 小学科学新教科版二年级上册第一单元 造房子教案(共6课)(2025秋)
- 《系统工程》课件 胡祥培 第1-3章 绪论、系统工程相关理论、系统工程方法论
- 《人工智能基础》课件-AI的前世今生:她从哪里来
- 营造林技能竞赛试题及答案
- 科比受伤及励志
- 平均站间距计算方法
- 信息技术ppt课件完整版
- JIS G4305-2021 冷轧不锈钢板材、薄板材和带材
- 多维阅读第13级—A Lion's Story 重返自然
评论
0/150
提交评论