基于FPGA的SOPC设计课件_第1页
基于FPGA的SOPC设计课件_第2页
基于FPGA的SOPC设计课件_第3页
基于FPGA的SOPC设计课件_第4页
基于FPGA的SOPC设计课件_第5页
已阅读5页,还剩134页未读 继续免费阅读

下载本文档

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

文档简介

基于FPGA的的SOPC设计计信息学院院·李贞贞妮二○一三年年五月1第四章NiosII外围围设备2本章介绍绍了NiosII处处理器常常用外围围设备(Peripherals)内核的的特点、、配置以以及软件件编程。。这些外设设都是以以IP核核的形式式提供给给用户的的,用户户可以根根据实际际需要把把这些IP核集集成到NiosII系统中中去。主要介介绍::硬件结结构;;内核的的特性性和接接口;;SOPCBuilder中中各内内核的的配置置选项项;软件编编程。。主要内内容3本章内内容4.1并并行行输入入/输输出(PIO)内核核4.2SDRAM控控制器器内核核4.3CFI(通用用Flash)控制制器内内核4.4EPCS控制制器内内核4.5定定时时器内内核4.6UART内核核4.7JTAG_UART内内核4.8SPI内内核4.9DMA内内核4.10带带Avalon接口口的互互斥内内核4.11带带Avalon接口口的邮邮箱内内核4.12SystemID内核核4本章内内容4.1并并行行输入入/输输出(PIO)内核核4.2SDRAM控控制器器内核核4.3CFI(通用用Flash)控制制器内内核4.4EPCS控制制器内内核4.5定定时时器内内核4.6UART内核核4.7JTAG_UART内内核4.8SPI内内核4.9DMA内内核4.10带带Avalon接口口的互互斥内内核4.11带带Avalon接口口的邮邮箱内内核4.12SystemID内核核54.1并并行输输入/输出出内核核并行输输入/输出出内核核(PIO内核核①)提供供Avalon从从控制制器端端口和通用I/O口②间的存存储器器映射射接口口。PIO内核核提供供简单单的I/O访问问用户户逻辑辑或外外部设设备,,例如如:控制LED读取开开关量量控制显显示设设备配置并并且与与片外外设备备通信信说明::SOPCBuilder中中提供供了PIO内核核,可可以很很容易易将PIO内核核集成成到SOPCBuilder生生成的的系统统中。。通用I/O端口口既连连接到到片内内逻辑辑又连连接到到外部部设备备的FPGAI/O管管脚。。64.1并并行输输入/输出出内核核PIO内核核简介介最多32个个I/O端端口CPU内核PIO内核寄存器NiosII系系统PIO内核Pio[31]Pio[30]Pio[29]Pio[3]Pio[2]Pio[1]Pio[0]Pio[7]Pio[6]Pio[5]Pio[4]Pio[3]Pio[2]Pio[1]Pio[0]PIO内核端口数可设设置每个Avalon接接口的PIO内核可可提供32个I/O端口且端端口数可设设置,用户户可以添加加一个或多多个PIO内核。CPU通过过I/O寄寄存器控制制I/O端端口的行为为。I/O口可以配配置为输入入、输出和和三态,还还可以用来来检测电平平事件和边边沿事件。。CPU通过过寄存器控控制I/O端口行为为PIO内核核结构框图图74.1并并行输入/输出内核核PIO内核核寄存器描描述偏移量寄存器名称R/W(n-1)…2100数据寄存器读访问R读入输入引脚上的逻辑电平值写访问W向PIO输出口写入新值1方向寄存器①R/W控制每个I/O口的输入输出方向。0:输入;1:输出。2中断屏蔽寄存器

①R/W使能或禁止每个输入端口的IRQ。1:中断使能;0:禁止中断。3边沿捕获寄存器

①②R/W当边沿事件发生时对应位置1。注:①该寄存存器是否存存在取决于于硬件的配配置。如果果该寄存器器不存在,,那么读寄寄存器将返返回未定义义的值,写写寄存器无无效。②写任意意值到边沿沿捕获寄存存器将清除除所有位为为0。“①该寄存存器是否存存在取决于于硬件的配配置。如果该寄存存器不存在在,那么读寄寄存器将返返回未定义义的值,写写寄存器无无效。”8PIO内核核寄存器描描述数据寄存器器:读数据寄存存器:返回回在输入引引脚上出现现的值。如如果PIO内核硬件件配置为::“Outputportsonly”,,则读数据据寄存器返返回未定义义的值。写数据寄存存器:驱动动输出口输输出写入的的值。如果果PIO内内核硬件配配置为:““Inputportsonly”,则写写数据寄存存器无效。。如果PIO内核配配置在双向向模式下,,那么方向向寄存器中中对应为设设为1时,,值才输出出。4.1并并行输入/输出内核核9PIO内核核寄存器描描述方向寄存器器:只有PIO工作模式式配置为““Bidirectionalports””时,方向向寄存器才才存在。PIO工作作模式在添添加PIO内核时指指定,且在在系统生成成后不能改改变。方向寄存器器控制每个个PIO口口的数据方方向。当方方向寄存器器中的位n设为1时时,端口n为输出模模式;0时时,端口n为输入模模式。复位后,方方向寄存器器的所有位位设置为0,所有的的双向I/O口配置置为输入。。4.1并并行输入/输出内核核10PIO内核核寄存器描描述中断屏蔽寄寄存器:当中断屏蔽蔽寄存器的的位设为1时,使能能相对应的的PIO输输入口中断断。中断操作取取决于PIO内核的的硬件配置置,只有配配置为输入入口时才能能进行中断断操作。中断屏蔽寄寄存器只有有在硬件配配置为“GenerateIRQ””时才存在在。复位后,中中断屏蔽寄寄存器所有有位为0,,禁止所有有PIO口口的中断。。4.1并并行输入/输出内核核11PIO内核核寄存器描描述边沿捕获寄寄存器:只要在输入入口上检测测到边沿事事件时,边边沿捕获寄寄存器(Edgecapture)中中对应位n置1。Avalon主控制制器可读边边沿捕获寄寄存器来确确定边沿在在哪一个PIO输入入口出现。。写任意值到到边沿捕获获寄存器将将使寄存器器所有位清清0.要检测的类类型在PIO添加时时指定。4.1并并行输入/输出内核核12PIO内核核寄存器描描述中断操作::当硬件配置置为电平触触发方式时时,只要高高电平出现现并且中断断使能,就就申请一个个中断。当当硬件配置置为边沿触触发方式时时,只要捕捕获到边沿沿事件并且且中断使能能时,就申申请一个中中断。中断IRQ一直保持持有效直到到禁止中断断(中断屏屏蔽寄存器器相应位清清0)或清清边沿捕获获标志(向向边沿捕获获寄存器写写一个任意意值)为止止。每个PIO核的的I/O口共用用一个中中断号((系统生生成时指指定),,用户需需要在中中断服务务子程序序中通过过中断掩掩码的方方式来查查明是哪哪个I/O口产产生了中中断。4.1并并行输输入/输输出内核核134.1并并行输输入/输输出内核核双击-PIO内核配置选项144.1并并行输输入/输输出内核核-PIO内核配置选项BasicSettings选选项卡I/O口口宽度:可设置置为1~~32的的任何整整数值。。Direction中文描述Bidirectional(tri-state)ports双向(三态)端口Inputportsonly仅为输入端口Outputportsonly仅为输出端口Bothinputandoutputports输入和输出端口154.1并并行输输入/输输出内核核-PIO内核配置选项BasicSettings选选项卡Direction中文描述Bidirectional(tri-state)ports双向(三态)端口Inputportsonly仅为输入端口Bothinputandoutputports输入和输出端口outputportsonly仅为输出端口164.1并并行输输入/输输出内核核-PIO内核配置选项InputOptions选项项卡边沿捕获获寄存器器中断寄存存器RisingEdge:上上升沿FallingEdge::下降沿沿EitherEdge:上上升或或下降沿沿Level:输输入为高高电平且且中断使使能,则则PIO内核产产生一个个IRQ。Edge:边沿沿捕获寄寄存器相相应位为为1且中中断使能能,则PIO内内核产生生一个IRQ。。说明:当当指定类类型的边边沿在输输入端口口出现时时,边沿沿捕获寄寄存器对对应位置置1。说明:中中断只有有高电平平中断,,如果希希望低电电平时中中断,则则需在该该I/O输入引引脚前加加一个““非”门门。174.1并行行输入/输出出内核-PIO内核配置选项Simulation选选项卡当需要对外进进行仿真时,,要设置simulation选项项卡。184.1并行行输入/输出出内核软件编程PIO内核提提供了对硬件进行寄存器级访问的文件。。Altera_avalon_pio_regs.h该文件定义了了内核的寄存存器映射并提提供硬件设备备访问宏定义义。设备驱动动程序使用该该文件中的宏宏定义访问硬硬件。可通过阅读上上述文件以熟熟悉PIO设设备的软件访访问方法,但但不应该修改改文件。194.1并并行输入/输输出(PIO)内核4.2SDRAM控控制器内核4.3CFI(通用用Flash)控制器内内核4.4EPCS控制制器内核4.5定定时器内核4.6UART内核核4.7JTAG_UART内核核4.8SPI内核4.9DMA内核4.10带带Avalon接口的的互斥内核4.11带带Avalon接口的的邮箱内核4.12SystemID内内核本章内容204.2SDRAM控制制器内核SDRAM控控制器内核概概述SDRAM控控制器内核提提供一个连接接片外SDRAM芯芯片的Avalon接口,并并可以同时连连接多个SDRAM芯片片通常用于需要要大量易失性性存储器且成成本要求高的的应用系统。。SDRAM便便宜,但需要要实现刷新操操作,行列管管理,不同延延迟和命令序序列等逻辑。。SDRAM控控制器内核提提供了连接一一个或多个SDRAM芯芯片的接口,,并处理所有有SDRAM协议要求。。214.2SDRAM控制制器内核SDRAM控控制器内核概概述SDRAM控控制器内核具具有不同数据据宽度(8、、16、32或64位)、不同内存存容量和多片片选择等设置置。SDRAM控控制器可选择择与其他的片片外Avalon三态器器件共用地址址和数据总线线,该特性在在I/O引脚脚资源紧张的的系统中很有有用。SDRAM芯芯片必须和Avalon接口一样以以相同的时钟钟驱动。利用用片内PLL来调整SDRAM控制制器内核与SDRAM芯芯片之间的时时钟相位差。。224.2SDRAM控制制器内核234.2SDRAM控制制器内核SDRAM控控制器内核概概述PPL(片内内锁相环):通常用于调调整SDRAM控制器内内核与SDRAM芯片之之间的相位差差。Avalon三态桥:SDRAM控制器可与与现有三态桥桥共用引脚,,这用能减少少I/O引脚脚使用,但将将降低性能。。fMAX(最高时钟频频率):目标FPGA的系列和和整个硬件设设计都会影响响硬件设计可可实现的最高高时钟频率。。244.2SDRAM控制制器内核-SDRAM内核配置选项可直接选择预预定义的SDRAM芯片片型号,对话话框将自动改改变下面两个个选项卡的值值来匹配指定定配置。MemoryProfile::用于于指指定定SDRAM的的结结构构。。例如如地地址址和和数数据据线线宽宽度度,,片片选选信信号号的的数数目目和和区区的的数数目目等等。。254.2SDRAM控控制制器器内内核核数据据宽宽度度允许许值值::8、、16、、32、、64默认认值值::32描述述::该该值值确确定定dq总总线线(数数据据)和和dqm总总线线(字字节节使使能能)的的宽宽度度。。具具体体数数值值请请查查阅阅SDRAM数数据据手手册册。。264.2SDRAM控控制制器器内内核核结构构设设置置--片片选选允许许值值::1、、2、、4、、8默认认值值::1描述述::独立立芯芯片片的的数数目目在在SDRAM子子系系统统中中选选择择。。通通过过使使用用多多个个片片选选信信号号,,SDRAM控控制制器器可可组组合合多多个个SDRAM芯芯片片为为一一个个存存储储器器子子系系统统。。274.2SDRAM控控制制器器内内核核结构构设设置置--区区允许许值值::2、、4默认认值值::4描述述::区的的数数目目,该该值值确确定定连连接接到到SDRAM的的ba总总线线((区区地地址址))宽宽度度。。具具体体数数值值请请查查阅阅SDRAM数数据据手手册册。。284.2SDRAM控控制制器器内内核核地址址宽宽度度设设计计--行行允许许值值::11、、12、、13、、14默认值值:12描述::行地址址位的的数目目。该该值确确定addr总总线的的宽度度。具具体数数值请请查阅阅SDRAM数数据手手册。。294.2SDRAM控制制器内内核地址宽宽度设设计--列允许值值:>=8,且且小于于行的的值默认值值:8描述::列地址址位的的数目目。例例如,,SDRAM排排列为为4096行、、512(29)列,,所以以列的的值为为9。。具体体数值值请查查阅SDRAM数据据手册册。304.2SDRAM控制制器内内核通过三三态桥桥共用用管脚脚允许值值:是是、否否默认值值:否否描述::当设设为No时时,所所有管管脚都都专用用于SDRAM芯片片。当当设为为Yes时时,addr,dq和dqm管脚脚在系系统内内可与与三态态桥共共享。。314.2SDRAM控制制器内内核当控制制器与与其他他三态态器件件共用用引脚脚时,,平均均访问问时间间通常常增加加而带带宽减减少。。当其他他器件件访问问三态态桥时时,SDRAM要求求行开开启和和结束束开销销周期期。SDRAM控制制器必必须在在再次次授权权访问问之前前连续续等待待几个个时钟钟周期期。为了使使带宽宽最大大化,,只要要紧接接的读读或写写操作作在相相同行行和区区内连连续,,SDRAM控控制器器就自自动保保留三三态桥桥的控控制。。只要在在紧接接操作作中出出现间间隔,,或需需要一一个刷刷新操操作时时,SDRAM控制制器才才关闭闭一个个行列列,因因此控控制器器不能能永久久阻止止访问问其他他共用用三太太桥的的器件件。324.2SDRAM控制制器内内核包括系系统测测试台台的功功能存存储模模块允许值值:是是、否否默认值值:是是描述::当打打开选选项时时,SOPCBuilder创创建SDRAM芯片片的功功能仿仿真模模型。。该默默认的的存储储器模模型加加速创创建的的过程程和检检验使使用SDRAM控制制器的的系统统。334.2SDRAM控制制器内内核消息框框显示SDRAM期望望的内内存容容量,,以兆兆字节节,兆兆位以以及可可寻址址的字字数为为单位位。将这些些期望望值与与选择择的SDRAM的实实际大大小相相比较较可以以检验验设置置是否否正确确。344.2SDRAM控制制器内内核-SDRAM内核配置选项Timing::根据在在SDRAM芯芯片数数据手手册中中提供供的参参数来来设置置芯片片的时时序规规范354.2SDRAM控制器内内核CAS等待待时间允许值:1、2、3默认值:3描述:从读读命令到数数据输出的的等待时间间(以时钟钟周期计算算)。364.2SDRAM控制器内内核初始化刷新新周期允许值:1-8默认值:2描述:复位位后,该值值指定SDRAM控控制器将执执行多少个个刷新周期期作为初始始化序列的的一部分。。374.2SDRAM控制器内内核每隔一段时时间执行一一个刷新命命令允许值:-默认值:15.625us描述:该值值指定SDRAM控控制器多久久刷新一次次SDRAM。典型型的SDRAM每64ms需需要4,096刷新新命令,通通过每64ms/4,096=15.625us执行一一个刷新命命令来符合合这个要求求。384.2SDRAM控制器内内核在初始化前前、上电后后延时允许值:-默认值:100us描述:从稳稳定的时钟钟和电源到到SDRAM初始化化的延时。。394.2SDRAM控制器内内核刷新命令(t_rfc)的持持续时间允许值:-默认值:70ns描述:自动动刷新周期期。404.2SDRAM控制器内内核预充电命令令(t_rp)的持持续时间允许值::-默认值::20ns描述:预预充电命命令周期期。414.2SDRAM控控制器内内核ACTIVE到到READ或WRITE延时时允许值::-默认值::20ns描述:ACTIVE到到READ或WRITE延时时。424.2SDRAM控控制器内内核访问时间间(t_ac)允许值::-默认值::5.5ns描述:时时钟边沿沿的访问问时间。。该值由由CAS的等待待时间决决定。434.2SDRAM控控制器内内核写恢复时时间(t_wr,无自自动预充充电)允许值::-默认值::14ns描述:如如果执行行了明确确的预充充电命令令,写恢恢复。该该SDRAM控控制器总总是执行行明确的的预充电电命令。。444.2SDRAM控控制器内内核Timing选选型卡无论用户户输入的的精确时时序值如如何,每每个参数数实现的的实际时时序将为为Avalon时钟的的整数倍倍。对于于每隔一一段时间间执行一一个刷新新命令的的参数,,实际时时序将不不超出目目标值。。对于其其他所有有参数,,实际时时序将大大于或等等于目标标值。454.2SDRAM控控制器内内核软件编程程当通过Avalon接接口访问问时,SDRAM控制制器操作作起来像像简单的的SRAM存储储器,没没有可配配置的软软件设置置,没有有存储器器映射的的寄存器器。处理理器访问问SDRAM控控制器不不需要软软件驱动动程序。。464.2SDRAM控控制器内内核SDRAM应用用一个带32位数数据总线线的128MbitSDRAM芯芯片474.2SDRAM控控制器内内核SDRAM应用用两个带16位数数据总线线的64MbitSDRAM芯片片结果为:一个个128M位位,数据总线线宽度为32位的存储器器484.2SDRAM控制制器内核SDRAM应应用两个带32位位数据总线的的128MbitSDRAM芯片片结果为:一个个256M位位,数据总线线宽度为32位的存储器器494.2SDRAM控制制器内核SDRAM应应用504.1并并行输入/输输出(PIO)内核4.2SDRAM控控制器内核4.3CFI(通用用Flash)控制器内内核4.4EPCS控制制器内核4.5定定时器内核4.6UART内核核4.7JTAG_UART内核核4.8SPI内核4.9DMA内核4.10带带Avalon接口的的互斥内核4.11带带Avalon接口的的邮箱内核4.12SystemID内内核本章内容514.3CFI控制器内内核CFI控制器器内核综述对于NiosII处理理器,Altera为CFI控制器器提供硬件抽抽象层(HAL)驱动程程序。驱动程程序提供了遵遵循CFI接接口规范的Flash存存储器的通用用访问函数。。因此,用户户不需要写任任何代码就可可以访问遵循循CFI接口口规范的Flash器件件。NIOSII开发套件提提供一个基于于NIOSII处理器和和CFI控制制器的下载程程序FlashProgrammer,可以以用来将程序序下载到任何何连接到AlteraFPGA的的遵循CFI的Flash存储器中中。524.3CFI控制器内内核CFI控制器器内核综述CFI控制器器框图534.3CFI控制器内内核-CFI控制器内核设置CFI控制器器框图Attributes::用于完成Presets、size和BoardInfo这3个选选项的设定。。Presets:选择预设好的的CFIFlash。。当选定某个芯芯片型号,该该CFI控制制器的所有设设置都会相应应更新。Size::地址宽度:Flash地地址总线宽度度。数据宽度:Flash数数据总线宽度度。大小设置使SOPCBuilder为Flash器件分分配正确的地地址空间。BoardInfo::该设置与NIOSIIIDE中集集成的FlashProgrammer相关关。用于映射CFI控制器目目标系统板元元件的已知芯芯片。544.3CFI控制器内内核-CFI控制器内核设置CFI控制器器框图Timing:用于完成时序序设置,包括括建立时间、、等待周期、、保持时间等等。Setup:chipselect有效后,read或write信信号有效前所所需的时间。。Wait:每次数据传传输过程中,,read或或write信号需要保保持的时间。。Hold:write信号无效后后,chipselect信号无效效前所需要的的时间。Units:用于Setup、Wait和Hold值的时时间单位,可可以是ns、、us、ms和时钟周期期。55软件编程Avalon主控制器可可以直接读Flash芯芯片。对于NiosII处理器用用户,Altera提供供HAL系统统库驱动程序序和API函函数来支持对对Flash存储器的擦擦除和写操作作。当前,Altera提供供的CFI控控制器驱动程程序仅支持AMD和Intel的Flash芯芯片。4.3CFI控制器内内核564.1并并行输入/输输出(PIO)内核4.2SDRAM控控制器内核4.3CFI(通用用Flash)控制器内内核4.4EPCS控制制器内核4.5定定时器内核4.6UART内核核4.7JTAG_UART内核核4.8SPI内核4.9DMA内核4.10带带Avalon接口的的互斥内核4.11带带Avalon接口的的邮箱内核4.12SystemID内内核本章内容574.4EPCS控制器器内核EPCS控制制器内核综述述AlteraEPCS串行配置置器件:可用用于存储程序序代码、非易易失性程序数数据和FPGA配置数据据。带Avalon接口的EPCS设备备控制器内核核(“EPCS控制器””)允许NiosII系系统访问AlteraEPCS串串行配置器件件。Altera提供集成到到NiosII硬件抽象象层(HAL)系统库的的驱动程序,,允许用户使使用HAL应应用程序接口口(API)来读取和编编写EPCS器件。584.4EPCS控制器器内核EPCS控制制器可用于::在EPCS器器件中存储程程序代码:EPCS控制制器自带Boot-loader代代码,允许用用户在EPCS器件中存存储程序代码码。存储非易失性性数据:例如串行号,,NIC号和和其他需要长长久储存的数数据。管理FPGA配置数据::EPCS可存存储FPGA的配置数据据,并在上电电时自动完成成对FPGA的配置。具具有网络接口口的嵌入式系系统可从网上上接收新的FPGA配置置数据,并通通过EPCS控制器将新新的配置数据据下载到EPCS串行配配置器件中。。594.4EPCS控控制器内核核EPCS控控制器内核核综述EPCS控控制器结构构框图Boot-LoaderROMEPCS控控制器配置存储空间通用存储空间EPCS配配置器件Avalon总线NiosIICPU片内外设AlteraFPGA存储FPGA配置数数据剩余空间可可用于存储储用户非易易失性数据据。1KB的片片内存储器器604.4EPCS控控制器内核核EPCS控控制器内核核综述:NIOSII处理器器可设置成成从EPCS控制器器开始引导导。在这种种情况下,,复位CPU后首先先执行引导导EPCS控制器的的Boot-loaderROM中中的代码,,从EPCS通用内内存区域复复制数据到到RAM。。启动代码码无须编写写,由NIOSIIIDE自动生成成。AlteraEPCS配置置器件与FPGA上上特定的引引脚相连,,EPCS控制器内内核在高层层SOPCBuilder模块不会会产生I/O口。EPCS控控制器内核核信号自动动连接到EPCS器器件的引脚脚上。每个FPGA设计只只能添加一一个EPCS控制器器。614.4EPCS控控制器内核核软件编程Altera提供的的HALFlash设备驱驱动程序已已经完全屏屏蔽了Flash的的硬件访问问细节,访访问EPCSFlash的的软件编程程和访问CFIFlash的软件编编程完全一一样。EPCS控控制器提供供了硬件的的底层接口口和HAL驱动程序序。624.4EPCS控控制器内核核软件编程定义集成到到HAL系系统库所需需的驱动程程序的头文文件和源文文件。Altera_avalon_epcs_flash_controller.h通过直接控控制EPCS设备来来进行读写写操作的头头文件和源源文件。Altera_avalon_epcs_flash_controller.cepcs_commands.hepcs_commands.c634.1并并行输入入/输出(PIO)内核4.2SDRAM控制器器内核4.3CFI(通用Flash)控制器内内核4.4EPCS控制器内内核4.5定定时器内内核4.6UART内核4.7JTAG_UART内核4.8SPI内内核4.9DMA内内核4.10带带Avalon接口的互互斥内核4.11带带Avalon接口的邮邮箱内核4.12SystemID内核核本章内容644.5定定时器内核核定时器是一一个重要的的外围设备备。它可以作为为周期性时时钟源;也可以作为为一个定时时器,测定定时间发生生的时间;;还可以对外外输出周期期性脉冲,,或作为一一条监管系系统正常运运行的watchdog654.5定定时器内核核定时器内核核综述定时器是挂挂载在Avanlon总线上上的32位位定时器,,特性如下下:两种计数模模式:单次次减1和连连续减1计计数模式(软件设置置)定时器到达达0时产生生中断请求求(IRQ);可选择设定定为看门狗狗定时器,,计算到达达0时复位位系统;可选择输出出周期性脉脉冲,在定定时器计算算到达0时时输出脉冲冲;可由软件启启动、停止止或复位定定时器;可由软件使使能或屏蔽蔽定时器中中断。664.5定定时器内核核定时器内核核综述定时器内核核结构框图图StatusControlPeriodhPeriodlSnaphSnapl控制逻辑计数器寄存器文件件TimeoutpulseIRQReset数据总线地址总线(看门狗))Avanlon总线从机接口到内核逻辑提供状态信信息和控制制信息674.5定定时器内核核定时器可进进行的基本本操作如下下所述:Avalon主控制制器通过对对控制寄存存器执行不不同的写操操作来控制制:启动和停止止定时器使能/禁能能IRQ指定单次减减1计数或或连续减1计数模式式处理器读状状态寄存器器获取当前前定时器的的运行信息息。处理器可通通过写数据据到periodl和periodh寄存器来来设定定时时器周期。。684.5定定时器内核核定时器可进进行的基本本操作如下下所述:内部计数器器计数减到到0,立即即从周期寄寄存器开始始重新装载载。处理器可以以通过写snapl或snaph获取取计数器的的当前值。。当计数器计计数到达0时:如果IRQ被使能,,则产生一一个IRQ(可选的))脉冲发生生器输出有有效持续一一个时钟周周期(可选的))看门狗输输出复位系系统694.5定定时器内核核定时器寄存存器描述偏移量名称R/W位描述15…432100statusRW*RUNTO1controlRW*STOPSTARTCONTITO2periodlRW超时周期-1(位15..0)3periodhRW超时周期-1(位31..16)4snaplRW计数器快照(位15..0)5snaphRW计数器快照(位31..16)EPCS控控制器结构构框图RUNTOSTOPSTARTCONTITOperiodlPeriodhsnaplsnaph注::*表表示示该该位位保保留留,,读读取取值值未未定定义义。。704.5定定时时器器内内核核-定定时时器器寄寄存存器器描描述述1.状状态态寄寄存存器器::名称读/写/清除描述TOR/C当内部计数器减到0时,timeout被置为1。一旦发生timeout事件,TO位保持置为状态直到被主控制器清除。向TO位写0即可清除置为状态。RUNR当内部计数器运行时,RUN位为1;否则该位为0。对RUN的写操作无效。偏移量名称R/W位描述15…432100statusRW*RUNTO712.控控制制寄寄存存器器::名称读/写/清除描述ITOR/W如果ITO位为1,则使能定时器中断;如果ITO位为0,则屏蔽定时器中断CONTR/W连续方式位决定内部计数器减到0的操作。该位为1,则计算器连续运行,直到STOP信号将其停止。如果该位为0,则计数器在减到0后停止。当计数器减到0,不管CONT位的值如何,都会自动装载periodl和periodh寄存器中的32位计数值。STARTW写1到START位启动内部计数器运行(减1计数),写0到起始位无效。STOPW写1到停止位停止内部计数器,写0到停止位无效。如果定时器硬件配置为“关闭Start/stopcontrolbits”,则写停止位无效。偏移量名称R/W位描述15…432101controlRW*STOPSTARTCONTITO4.5定定时时器器内内核核-定定时时器器寄寄存存器器描描述述723.periodl&periodh寄寄存存器器::偏移量名称R/W位描述15…432102periodlRW超时周期-1(位15..0)3periodhRW超时周期-1(位31..16)存储储超超时时周周期期的的计计数数值值。。当当以以下下任任意意情情况况发发生生时时,,保保存存在在该该寄寄存存器器中中的的32位位值值会会装装载载到到内内部部计计数数器器中中。。对periodl或或periodh寄寄存存器器进进行行写写操操作作;;内部部计计数数器器减减到到0定时时器器实实际际周周期期是是periol和和periodh寄寄存存器器的的值值加加1,,因因为为内内部部计计数数器器减减到到0时时,,也也需需要要一一个个时时钟钟周周期期。。4.5定定时时器器内内核核-定定时时器器寄寄存存器器描描述述734.snapl&snaph寄寄存存器器::可通通过过对对snapl或或snaph寄寄存存器器的的写写操操作作((写写数数据据任任意意))来来获获得得32位位内内部部计计数数器器的的当当前前值值。。当对对snapl或或snaph执执行行写写操操作作时时,,计计数数器器的的当当前前值值会会被被复复制制到到snapl和和snaph中中,,不不管管计计数数器器是是否否正正在在运运行行,,这这个个过过程程都都会会执执行行,,并并且且不不改改变变内内部部计计数数器器的的运运行行状状态态。。偏移量名称R/W位描述15…432104snaplRW计数器快照(位15..0)5snaphRW计数器快照(位31..16)4.5定定时器器内核-定时器器寄存器器描述74中断操作作:只要内部部计数器器减到0且控制制寄存器器的ITO位为为1,定定时器内内核就会会产生IRQ。。用户要用用以下的的任意一一种方式式应答IRQ::清除状态态寄存的的TO位位,等待待下一个个超时事事件的发发生;通过将控控制寄存存器的ITO位位清零来来禁止中中断。4.5定定时器器内核-定时器器寄存器器描述754.5定定时器器内核-定时器内核配置选项CFI控控制器框框图Initialperiod:用于预设设硬件生生成后的的定时器器周期,,即perodl和periodh寄存器器的值。。如果不不用软件件更改的的话,那那么定时时器将按按照这个个周期产产生timeout事事件。764.5定定时器器内核-定时器内核配置选项CFI控控制器框框图PresetConfigurations::可选择的的预定义义的硬件件配置。。简单周期期中断::用于仅要要求周期期性IRQ发生生器的系系统。固固定周期期且不能能停止定定时器,,但可以以禁止IRQ。。完整特性性:用于产生生一个具具有可变变周期的的完整特特性的定定时器,,可以在在处理器器控制下下启动和和停止该该定时器器。看门狗::用于需要要看门狗狗的定时时器系统统,以便便在系统统已经停停止响应应的情况况下复位位系统。。774.5定定时器器内核-定时器内核配置选项CFI控控制器框框图Writeableperiod:使能:主主控制器器可通过过写period而改改变向下下计数周周期。禁能:向向下计数数周期由由TimeoutPeriod确确定,且且period寄存器器不在硬硬件中存存在。Readablesnapshot:使能:主主控制器器可读当当前向下下计数器器的值。。禁能:计计数器的的状态仅仅通过状状态寄存存器或IRQ信信号来检检测。Snap寄存器器不在硬硬件中存存在。Start/Stopcontrolbits:使能:主主控制可可通过写写START和和STOP位来来启动和和停止定定时器。。禁能:定定时器连连续运行行。784.5定定时器器内核-定时器内核配置选项CFI控控制器框框图Timeoutpulse:使能:定定时器到到0时,,timeout_pulse输出出一个时时钟周期期的高电电平。禁能:timeout_out信号号不存在在。Systemresetontimeout:使能:定定时器器到0时时,resetrequest信信号输出出一个时时钟周期期的高电电平使系系统复位位。禁能:resetrequest信号不不存在。。794.5定定时器器内核软件编程程Altera为为NiosII处理器器用户提提供硬件件抽象层层(HAL)系系统库驱驱动程序序,允许许用户使使用HAL应用用程序接接口(API)函数来来访问定定时器内内核。HAL系系统库支支持系统时钟钟驱动程程序时间标记记驱动程程序软件文件件804.1并并行行输入/输出(PIO)内核核4.2SDRAM控制器器内核4.3CFI(通通用Flash)控制制器内核核4.4EPCS控控制器内内核4.5定定时时器内核核4.6UART内内核4.7JTAG_UART内核核4.8SPI内核核4.9DMA内核核4.10带带Avalon接口的的互斥内内核4.11带带Avalon接口的的邮箱内内核4.12SystemID内内核本章内容容814.6UART内核核UART(通用用异步接接收器/发送器器)是一一个常用用的字符符型外围围设备NIOSII系统可可以集成成两种UART内核JTAG-UART::其数据据通过JTAG通讯端端口与PC机进进行交互互,一边边用于程程序调试试;UART:其数数据以RS232协议议的形式式与外界界进行交交互824.6UART内核核UART内核综综述UART内核((通用异异步接收收器/发发送器内内核)执执行RS-232协议议时序,,并提供供可调整整的波特特率。用户可配配置奇偶偶校验位位、停止止位和数数据位,,以及可可选的RTS/CTS流控制制信号。。内核提供供一个简简单的Avalon从从控制器器接口,,该接口口允许Avalon主主控制器器(例如如NiosII处理器器)通过过读写寄寄存器与与UART内核核进行通通讯。834.6UART内核核UART内核综综述UART内内核的的结构构框图图用户可可见部部分为为6个个寄存存器及及外引引的四四根RS-232接接口信信号线线。RTS请请求发发送CTS允允许发发送TXD发发送数数据RXD接接收数数据844.6UART内内核UART内内核综综述RS-232接接口发送逻辑接收逻辑波特率生成成854.6UART内内核UART内内核综述RS-232接口::UART内内核执行RS232异步发送送和接收逻逻辑。UART内核核通过TXD和RXD端口发发送和接收收串行数据据。大部分AlteraFPGA系列上上的I/O引脚不遵遵循RS232电压压电平规范范,如果通通过RS232连接接器的信号号直接与FPGA相相连,可能能会损害器器件。解决办法::在FPGAI/O管脚和和外部的RS232连接器之之间加入一一个外部的的电压转换换缓冲器,,例如MaximMAX3237.864.6UART内内核UART内内核综述2.发送逻逻辑:UART发发送器包括括7/8/9位发送送数据寄存存器(Txdata)和相应应的7/8/9位发发送移位寄寄存器。Avalon主控制制器通过Avalon从控制制器端口写写发送数据据寄存器。。在当前不进进行串行移移位操作时时,发送移移位寄存器器自动从发发送数据寄寄存器装入入数据。发送移位寄寄存器直接接连接到TXD输出出。数据最最低有效位位先从TXD移出。。874.6UART内内核UART内内核综述2.发送逻逻辑:发送数据寄寄存器和发发送移位寄寄存器提供供双重缓冲。主控制器可可以在前一一个字符正正在移动时时将新数值值写入发送送数据寄存存器,并可可通过读出出状态寄存存器的TRDY位,,发送移位位寄存器的的空TMT位和发送送溢出错误误TOE位位监视发送送器的状态态。发送逻辑根根据RS232规范范在串行TXD数据据流中自动动插入数量量正确的起起始位,校校验位和停停止位。884.6UART内内核UART内内核综述3.接收收逻辑:UART接接收器包括括7/8/9位接收收数据寄存存器(Rxdata)和相应应的7/8/9位接接收移位寄寄存器。Avalon主控制制器通过Avalon从控制制器端口读读接收数据据寄存器。。每当新字符符完全接收收后,接收收数据寄存存器自动从从接收移位位寄存器装装入数据。。接收移位寄寄存器和接接收数据寄寄存器提供供双重缓冲。894.6UART内内核UART内内核综述4.波特特率生成:UART内内核的内部部波特率时时钟来源于于Avalon时钟钟输入。内部波特率率时钟通过过时钟分频频器生成。。904.6UART内内核UART内内核的寄存存器描述偏移量寄存器名称R/W描述/寄存器位15…1312111098765432100接收数据(rxdata)RO①②②接收数据1发送数据(txdata)WO①②②发送数据2状态(status)③RW①eopctsdcts⑴errdytrdytmttoeroebrkfepe3控制(control)RW①ieoprtsidctstrbkieirrdyitrdyitmtitoeiroeibrkifeipe4除数(divisor)④RW波特率除数5数据包结束符(endopacket)④RW①②②数据包结束符值UART内内核寄存器器映射发送数据(txdata)接收数据(rxdata)状态(status)③控制(control)除数(divisor)④④数据包结束束符(endopacket)④④914.6UART内内核-UART内核配置页BaudRate:波特率设置置确定复位后后的默认波波特率。数据位设置置数据位:该该设置确定定发送寄存存器,接收收寄存器和和数据包结结束符寄存存器的宽度度;停止位:该该设置确定定内核在每每个字符后后发送1个个还是2个个停止位。。奇偶校验::确定UART是否否发送带奇奇偶校验的的字符。流控制UART包包含相应的的硬件。基于这些硬硬件,Avalon主控制器器可检测CTS和发发送RTS流控制信信号。流数据控制制允许Avalon主主控制器当当且仅当UART内内核可接收收新字符时时写数据,,UART内核有可可用数据时时读数据。。924.6UART内内核软件件编编程程HAL系系统统支支持持驱动动程程序序选选项项ioctl()操操作作软件件文文件件934.1并并行行输输入入/输输出出(PIO)内内核核4.2SDRAM控控制制器器内内核核4.3CFI(通通用用Flash)控控制制器器内内核核4.4EPCS控控制制器器内内核核4.5定定时时器器内内核核4.6UART内内核核4.7JTAG_UART内内核核4.8SPI内内核核4.9DMA内内核核4.10带带Avalon接接口口的的互互斥斥内内核核4.11带带Avalon接接口口的的邮邮箱箱内内核核4.12SystemID内内核核本章章内内容容944.7JTAG_UART内内核核JTAG_UART内内核核综综述述带Avalon接接口口的的JTAGUART设设备备实实现现PC和和NIOSII系系统统间间的的串串行行通通信信。。与UART不不同同之之处处::JTAGUART是是通通过过JTAG接接口口来来传传输输数数据据的的。。JTAGUART内内核核通通过过Avalon从从控控制制器器接接口口连连接接到到Avalon总总线线。。JTAGUART内内核核包包含含2个个32位位寄寄存存器器((数数据据和和控控制制)),,它它们们可可通通过过Avalon从从控控制制器器端端口口进进行行存存取取。。Avalon主主控控制制器器访访问问寄寄存存器器来来控控制制内内核核并并在在JTAG连连接接上上传传输输数数据据。。JTAGUART内内核核提提供供高高电电平平有有效效的的中中断断输输出出,,该该输输出出在在读读FIFO几几乎乎为为满满或或写写FIFO几几乎乎为为空空时时申申请请一一个个中中断断。。有读写FIFO也是JTAGUART内核与与UART内内核的不同点点之一。FIFO可以改改善JTAG连接的带宽宽。FIFO深度可由用用户设置。954.7JTAG_UART内核JTAG_UART内核核综述UART内核核寄存器映射射964.7JTAG_UART内核JTAG_UART的寄寄存器描述UART内核核寄存器映射射偏移量寄存器名称R/W位描述31…161514…1110987…2100数据RWRAVAILRVALID保留DATA1控制RWWSPACE保留ACWIRI保留WR数据控制974.7JTAG_UART内核-JTAG-UART配置选项卡JATG_UART配置置选项卡WriteFIFO::写FIFO设设置ReadFIFO:读FIFO设设置984.1并并行输入/输输出(PIO)内核4.2SDRAM控控制器内核4.3CFI(通用用Flash)控制器内内核4.4EPCS控制制器内核4.5定定时器内核4.6UART内核核4.7JTAG_UART内核核4.8SPI内核4.9DMA内核4.10带带Avalon接口的的互斥内核4.11带带Avalon接口的的邮箱内核4.12SystemID内内核本章内容994.8SPI内核SPI内核综综述SPI:嵌入入式系统常用用的标准串行行接口。SPI内核可可执行主控制制器或从控制制器协议。当配置为主控控制器时,SPI内核可可控制多达16个独立的的SPI从控控制器。接收收和发送寄存存器的宽度在在1~16位位之间配置。。SPI内核提提供一个中断断输出,只要要传输结束,,该输出就可可标记一个中中断。1004.8SPI内核SPI内核综综述SPI内核框框图SPI发送逻逻辑SPI接收逻逻辑1014.8SPI内核SPI内核综综述SPI内核框框图主控制器模式式端口配置名称方向描述MOSI输出输出数据到从控制器MISO输入从控制器输入数据sclk输出所有从控制器的同步时钟ss_nM输出从控制器选择信号,其中M为0到15之间的数。1024.8SPI内核SPI内核综综述SPI内核框框图从控制器模式式端口配置名称方向描述MOSI输入从主控制器输入数据MISO输出输出数据到主控制器sclk输入同步时钟ss_nM输入选择信号1034.8SPI内核SPI内核的的寄存器描述述UART内核核寄存器映射射内部地址寄存器名称15…111098765432…00rxdata接收数据(n-1..0)1txdat发送数据(n-1..0)2statusERRDYTRDYTMTTOEROE3controlssoIEIRRDYITRDYITOEIROE4保留5slaveselect从控制器选择屏蔽txdatstatuscontrol保留slaveselectrxdata接收数据寄存存器发送数据寄存存器状态寄存器控制寄存器从控制器选择择寄存器1044.8SPI内核-SPI配置选项卡SPI配置选选项卡Master&Slave:主控制器/从从控制器设置置GenerateSelectSignals:通用选择信号号指定SPI控控制器将连接接的从控制器器数量。(1~16)SPIClockRate:SPI时钟率率确定在主控制制器和从控制制器之间的SCLK信号号。SpecifyDelay:指定延时DataRegister:数据寄存器设设置:影响SPI内核核中数据寄存存器的大小和和操作。Timing:时序设置时钟极性:当当时钟极性为为0时,SCLK的空闲闲状态为低电电平时钟相位:当当时钟相位为为0时,在SCLK的上上升沿锁存数数据,在SCLK的下降降沿输出数据据。Waveforms:波形显示1054.8SPI内核软件编程Altera提供一个访访问SPI的的函数alt_avalon_spi_command(),该函数数为配置生成成主控制器的的SPI内核核提供通用访访问。1064.1并并行输入/输输出(PIO)内核4.2SDRAM控控制器内核4.3CFI(通用用Flash)控制器内内核4.4EPCS控制制器内核4.5定定时器内核4.6UART内核核4.7JTAG_UART内核核4.8SPI内核4.9DMA内核4.10带带Avalon接口的的互斥内核4.11带带Avalon接口的的邮箱内核4.12SystemID内内核本章内容1074.9DMA内核DMA综述在实际应用中中,需要在两两个存储器之之间或外设与与存储器之间间频繁地进行行数据存储操操作。这些操操作如果通过过CPU来进进行,会耗费费大量的CPU时间。整整个操作过程程不需要任何何的算术逻辑辑运算,完全全不需要CPU的干预。。在这种情况况下,就可以以使用DMA(直接存储储访问,directmemoryaccess)对I/O设备备的访问除了了有软件控制制的查询式和和中断式,还还有由硬件控控制的DMA方式。在DMA数据传传输方式下,,DMA控制制器接管了总总线的控制权权,并以中断断的方式向CPU报告传传送操作的结结束。1084.9DMA内核DMA内核综综述带Avalon接口的直直接存储器存存取控制器((DMA控制制器)替代Avalon主控制器执执行储存器对对储存器或者者储存器与IO设备间的的批量数据传传输。当DMA控制制器执行数据据传输任务时时,主控制器器可自由执行行其它并行的的任务。1094.9DMA内核DMA内核综综述DMA控制器器将数据从源源地址空间传传输到目的地地址空间。数据源或者目目的地可以是是Avalon从控制器器外设(一个个固定地址))或存储器中中的一段地址址范围DMA控制器器具有连续数数据流的处理理能力,允许许固定或可变变长度的数据据传输。当DMA操作作结束时,DMA控制器器发出一个中中断请求IRQ;DMA控制器器有两个Avalon主主控制器端口口(主控制器器读端口和主主控制器写端端口)和一个个用于控制DMA的Avalon从从控制器端口口。1104.9DMA内核DMA内核综综述DMA控制器器结构框图1114.9DMA内核典型的DMA传输过程CPU通过写写控制端口配配置DMA控控制器用于数数据传输DMA控制器器向CPU发发出HOLD信号请求使使用总线;CPU响应DMA控制器器,并将总线线让出,DMA控制器获获得总线控制制权;DMA控制器器读端口从源源地址(可能能是存储器或或外设)读数数据,写端口口向目的地址址(可能是存存储器或外设设)写数据,,读写端口间间利用FIFO缓存数据据。当传输完指定定的数据,或或数据包结束束信号有效时时,DMA传传输结束。传传输结束时,,DMA控制制器发出中断断请求。CPU响应DMA数据传传输完成事件件后,DMA控制器撤销销HOLD信信号,归还总总线控制权,,数据传送结结束。1124.9DMA内核DMA寄存器器描述偏移量寄存器名称读/写31…111098765432100状态⑴RW(2)LENWEOPREOPBUSYDONE1源地址RW读取数据的起始地址2目的地址RW数据写入的起始地址3长度RWDMA传输长度(以字节为单位)4-保留(3)5-保留(3)6控制RW(2)(4)(5)WCONRCONLEENWEENREENI_ENGOWORDHWBYTE7-保留(3)DMA控制器器结构框图源地址目的地址长度控制状态1134.9DMA内核-DMA配置选项卡SPI配置选选项卡TransferSize:DMA长度寄寄存器的宽度度,

温馨提示

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

评论

0/150

提交评论