欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《嵌入式设计技术的工程方法》第3章(续1)典型外设.ppt

    • 资源ID:5898042       资源大小:1.16MB        全文页数:56页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《嵌入式设计技术的工程方法》第3章(续1)典型外设.ppt

    ,第四节 典型 Nios II 外围设备简介,4.1 并行输入输出(PIO),PIO Core是一个可配置的Avalon从外设,提供Avalon从端口和通用I/O端口之间的寄存器映射接口。,Avalon主外设(Nios II)通过读/写PIO的寄存器来控制I/O端口的行为。,每一个PIO最多可提供32个I/O端口,I/O端口可配置成输入、输出和三态方式。配置成输入模式时,可用来检测电平事件和边沿事件,并可申请一个中断。,在一个SOPC系统中,可添加一个或多个PIO Core。,PIO Core的配置在SOPC Builder提供的配置界面中完成。,PIO Core 常用于:配置成输出方式,控制 LED;配置成输入方式,从开关或键盘采集数据;配置成输入方式,检测外部事件,申请一个中断;配置成双向方式,控制LCD显示设备;配置并且与(FPGA)片外逻辑器件通信。,LCD,PIO Core的寄存器,根据PIO配置情况,该寄存器可能不存在,此时的读操作返回不确定值,写无效。写操作,将该寄存器清零。,数据(data)寄存器,数据寄存器的读写硬件逻辑是独立的。虽然只有一个偏移地址,但读写操作是针对两个独立寄存器进行的。,即:读取数据寄存器时,不会返回先前写入的值。,读取数据寄存器将返回输入端口的值。如果PIO配置成只输出方式,读操作将返回不确定值。,写数据寄存器意味着将数据送往输出端口。如果PIO配置成只输入方式,写操作无效。如果PIO配置成双向模式,仅送往方向寄存器为1(输出)对应的输出端口。,方向(direction)寄存器,仅当PIO配置成双向模式时,该寄存器才存在。其它模式下,读操作返回不确定值,写无效。,在双向模式下,方向寄存器控制每个双向I/O端口的数据方向,该寄存器第n位为1时,对应的I/O端口用作输出;该寄存器第n位为0时,对应的I/O端口用作输入。,系统复位时,方向寄存器清零,I/O端口均为输入。如果I/O端口被连接到FPGA器件引脚上,将呈现高阻状态。,中断屏蔽(interruptmask)寄存器,该寄存器只有在硬件配置为输入模式且“Generate IRQ”时才存在。,当该寄存器的第n位置1时,允许对应输入端口中断;置0时,禁止对应输入端口中断。,复位后,该寄存器清零,禁止所有输入端口的中断。,每个PIO Core只有一个中断请求IRQ信号,主外设可以读data寄存器或edgecapture寄存器,进一步判断产生中断的输入端口。,沿捕获(edgecapture)寄存器,当硬件配置有边沿捕获功能时,该寄存器才存在。,当检测到输入端口上的边沿事件(上升沿、下降沿或二者兼有,配置时确定)时,该寄存器的对应位置 1。,对该寄存器的写操作,意味着清全零。,PIO的中断操作,当硬件配置为电平触发中断,只要输入端口出现高电平并且中断使能(即data和interruptmask对应位均为1),就申请一个中断。,当硬件配置为沿触发中断,只要 edgecapture 和interruptmask 对应位均为1,就申请一个中断。,PIO的IRQ一直保持有效,直到被响应后,主设备发出禁止中断的操作:interruptmask相应位清零或对edgecapture写操作。,主设备的中断服务程序应进一步判断中断源。,SOPC Builder 中 PIO Core 配置选项,Basic Settings标签,设定PIO的端口数量(位宽)132位,设定I/O端口的方向,有四种选择:,PIO配置成输入输出且支持中断,中断屏蔽,边沿捕获,32路输入,32路输出,地址数据控制IRQ,Avalon从端口信号,方向控制,32路,地址数据控制,Avalon从端口信号,PIO配置成双向端口,不支持中断,Input Options 标签,仅当配置中有输入端口时,此标签可用。,在此标签中可选择设定边沿事件类型:上升沿、下降沿、上升沿或下降沿,在此标签中还可选择设定是否支持中断:电平型只要输入为高电平且中断使能,则产生 IRQ。若希望低电平时中断,则应在输入端加“非门”。边沿型只要edgecapture不为零且中断使能,则产生 IRQ。,软件编程,PIO Core提供头文件 altera_avalon_pio_regs.h,这个文件中定义了PIO Core的寄存器映射并提供硬件设备访问宏定义。,例如:读数据寄存器button=IORD_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE);,例如:写数据寄存器IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE,DATA);,4.2 通用异步收发器(UART),实现SOPC系统与外部器件之间的符号流通信。UART核实现了RS-232协议。用户可配置选择波特率、校验位、停止位、数据位以及RTS/CTS控制信号。Avalon主外设通过读/写寄存器,与UART核通讯。,RS-232接口,UART内核实现RS-232协议的异步发送和接收,通过TXD发送串行数据,通过RXD接收串行数据。,由于大部分FPGA器件的I/O引脚为TTL或CMOS电平,不符合RS-232电平要求,因此需要一个电平转换电路。,发送逻辑,UART的发送器由7/8/9位发送数据寄存器、7/8/9位发送移位寄存器以及相应控制逻辑组成。,Avalon主设备将数据写入发送数据寄存器,发送逻辑自动将发送数据寄存器内容装入发送移位寄存器,并从最低位开始通过TXD移出。,发送逻辑根据RS-232规范,在串行数据流中自动插入正确的起始位、校验位和停止位。,发送数据寄存器和发送移位寄存器提供双重缓冲。主设备可在前一个字符正在移出时,将新数据写入发送数据寄存器。,主设备可通过状态寄存器中的发送准备好(TRDY)位、发送移位寄存器空(TMT)位和发送溢出错误(TOE)位监视发送器的工作。,接收逻辑,UART的接收器由7/8/9位接收移位寄存器、7/8/9位接收数据寄存器以及相应控制逻辑组成。,接收逻辑将RXD上的串行数据移入接收移位寄存器,每当新字符完全接收后,自动装入接收数据寄存器,并准备接收下一个字符。,主设备从接收数据寄存器中获取接收到的字符。并可通过状态寄存器中接收准备好(RRDY)、接收溢出错误(ROE)、间断检测(BRK)、校验错误(PE)和帧错误(FE)监视接收器的工作。,接收逻辑根据RS-232规范,在串行数据流中自动检测正确的起始位、校验位和停止位。并检查接收中的4种异常,设置状态寄存器中的对应位。,波特率生成,通过对Avalon总线时钟的分频,可获得UART内核的波特率时钟。,分频值的来源:系统生成时的指定的一个常量值(系统采用固定波特率,硬件中不包含波特率除数寄存器)波特率除数寄存器中的16位值(系统可通过软件改变波特率),UART内核的寄存器,保留位是否存在,取决于硬件配置写0到状态寄存器将清零DCTS、E、TOE、ROE、BRK、FE、PE是否存在,取决于硬件配置,接收数据寄存器(Rxdata),新字符从RXD输入,经接收移位寄存器完全接收后,保存到Rxdata中,并将状态寄存器的RRDY位置1。,当主设备从Rxdata中取走数据后,状态奇存器的RRDY位清零。,若Rxdata中的数据没有被主设备取走(RRDY=1),又有新字符输入,则发生溢出错误,状态寄存器的ROE位置1。新数据覆盖Rxdata中的原内容。,发送数据寄存器(Txdata),主设备把需要发送的字符写入Txdata,此时,状态寄存器的TRDY=0;当Txdata内容被传送到发送移位寄存器时,TRDY=1。,只有TRDY=1时,才能写下一个需要发送的字符到Txdata。,除数寄存器(Divisor),如果配置时选择使用Divisor,则可写入分频值,动态调整波特率。,这一点通常用于波特率自适应设备。,状态寄存器(Status),控制寄存器(Control),控制寄存器的每一位用于使能状态寄存器中对应位的中断。,即:当状态位及其对应的中断使能位都为1时,UART内核产生一个中断。,例如:状态寄存器中的PE=1时,表示发生了校验错误。若控制寄存器中对应的IPE位为1,则可发出一个中断,请求主设备的服务;若IPE=0,则禁止校验错时的中断请求。,SOPC Builder 中UART内核的配置,若选择,硬件包含Divisor寄存器。可写入新值改变波特率。,提供RS-232协议标准波特率设置选择,也是复位时的默认值。,设置校验方式,设置数据位宽,设置停止位,流控制选择(硬件握手),与DMA配合的流数据控制选择(含有包结束符寄存器),UART的软件编程,寄存器级访问,altera_avalon_uart_regs.h,定义内核的寄存器映射并提供硬件设备访问宏定义。,通过HAL API和ANSI C标准库访问UART,altera_avalon_uart.haltera_avalon_uart.c,实现了HAL系统库的UART内核设备驱动程序。,快速驱动程序(默认):中断方式小型驱动程序:查询方式,使用ANSI C标准库函数发送和接收字符,/识别字符t和v的简单程序#include#include int main()char*msg=“detected the character t.n”;FILE*fp;char prompt=0;fp=fopen(“/dev/uart1”,“r+”);if(fp)while(prompt!=v)prompt=getc(fp);if(prompt=t/如接收到 t 则打印 fwrite(msg,strlen(msg),1,fp);fprintf(fp,“closeing the UART file.n”;fclose(fp);return 0;,4.3 定时器(TIMER),用户可见6个16位寄存器的Avalon接口和一个脉冲输出端主设备写控制寄存器 进行启、停操作;选择计数模式:单次减1计数或连续减1计数;使能/禁止Timer中断。主设备写周期寄存器,可改变Timer的定时周期主设备可从状态寄存器获得Timer的当前状态主设备可分两步随时读取内部计数器的当前值 先写当前值寄存器,发起请求,控制逻辑将计数器的当前值复制到 当前值寄存器;再读当前值寄存器,即可获得。内部计数器是减1计数,当减到0时,从周期寄存器中重新载入初值。当计数器减到0时:若允许中断,则产生中断请求;可选择是否输出一个脉冲;若配置选择看门狗功能,则产生复位请求,引起系统复位。,Timer 的功能特点:,状态寄存器,控制寄存器,中断控制与操作,只要内部计数器减到0(状态寄存器TO=1)且控制寄存器的ITO=1(允许中断),则定时器内核产生一个IRQ。用户可用下列方式应答IRQ。,清除状态寄存器的TO位,等待下一次超时事件发生;将控制寄存器ITO位清零,禁止中断。,SOPC Builder 中 Timer 的配置,设置周期寄存器初值。若以s、ms、s为单位,系统生成时计算填写;若选clocks,则需填写初值。,简单的周期中断方式,适用于仅要求周期性IRQ发生器的系统,固定周期且不能停止定时器,但可禁止中断。,全特性方式,可生成一个具有可变周期、可启停的全特性定时器。,看门狗(watchdog),便于软件运行“飞出”时的系统复位。,选择时,硬件包括周期寄存器,主设备可通过写周期寄存器改变计数周期。,选择时,硬件包括当前值寄存器,主设备可随时读取计数器的当前值。,选择时,可程序控制定时器的启动、停止;否则定时器连续运行。但在看门狗方式下,START必存在。,选择时,定时器计数到0,输出一个脉冲,脉宽为一个时钟周期。,选择时,内核包括Avalon从端口信号resetrequest。只要计数器减到0时,产生复位请求,复位整个系统。通过写START可重启。,定时器(Timer)的软件编程,Altera公司在HAL系统库中提供了两种定时器设备模型:系统时钟定时器和时间戳定时器。,用户尽量使用 HAL API 访问定时器,而不是访问定时器的寄存器。,altera_avalon_timer_regs.h 定义内核的寄存器映射,并提供硬件设备访问宏定义。,altera_avalon_timer.haltera_avalon_timer_sc.caltera_avalon_timer_ts.caltera_avalon_timer_vars.c,4.4 SDRAM控制器,基本性能,可连接一个或多个SDRAM芯片的接口。自动完成刷新操作、行列管理。用户可像使用SRAM一样,使用SDRAM。可配置成不同的数据宽度、存储容量。提供多片SDRAM结构下的独立片选信号。支持读、写传输的等待。主设备读连续地址时,第一个数据在等待时间的初始周期后返回,后续读操作在每个时钟周期产生新数据。由于定时刷新操作,不保证每个时钟周期返回数据。可选择与其它片外三态器件共享地址、数据、字节使能。,SDRAM控制器连接一片或多片SDRAM芯片示例,SOPC Builder 中 SDRAM 控制器的配置,如果实际使用的SDRAM器件型号与列表中一致,则可直接选择。匹配参数自动填入。,如果列表中没有相应的SDRAM器件型号,则应根据数据手册给出的参数进行定制(custom)。,设置数据总线宽度。即系统生成时,dq(数据)和 dqm(字节使能)的宽度。,确定SDRAM存储器子系统需要的片选信号的数量,SDRAM器件的分区数量(页地址),它决定系统生成时 ba 信号的宽度。,页内行地址数,允许值11、12、13、14,默认值12(即212=4096行)。系统生成时决定addr的宽度。,页内列地址数,允许值8且小于行的值,默认值8(即28=256行)。,在读、写时,行、列地址分时复用addr。,若选择,则addr、dq、dqm引脚在系统内可与三态桥共享。,若选择,则SOPC Builder 创建SDRAM器件的功能仿真模型。,时序配置,根据数据手册填写。,

    注意事项

    本文(《嵌入式设计技术的工程方法》第3章(续1)典型外设.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开