嵌入式设计技术的工程方法续1典型外设课件.pptx
《嵌入式设计技术的工程方法续1典型外设课件.pptx》由会员分享,可在线阅读,更多相关《嵌入式设计技术的工程方法续1典型外设课件.pptx(55页珍藏版)》请在三一办公上搜索。
1、,PIO Core 常用于:配置成输出方式,控制 LED;配置成输入方式,从开关或键盘采集数据;配置成输入方式,检测外部事件,申请一个中断;配置成双向方式,控制LCD显示设备;配置并且与(FPGA)片外逻辑器件通信。,LCD,牛牛文库文档分享,PIO Core 常用于:LCDAvalonNios II存,PIO Core的寄存器,根据PIO配置情况,该寄存器可能不存在,此时的读操作返回不确定值,写无效。写操作,将该寄存器清零。,牛牛文库文档分享,PIO Core的寄存器地址偏移寄存器名R/Wn-1210,数据(data)寄存器,数据寄存器的读写硬件逻辑是独立的。虽然只有一个偏移地址,但读写操作
2、是针对两个独立寄存器进行的。,即:读取数据寄存器时,不会返回先前写入的值。,读取数据寄存器将返回输入端口的值。如果PIO配置成只输出方式,读操作将返回不确定值。,写数据寄存器意味着将数据送往输出端口。如果PIO配置成只输入方式,写操作无效。如果PIO配置成双向模式,仅送往方向寄存器为1(输出)对应的输出端口。,牛牛文库文档分享,数据(data)寄存器数据寄存器的读写硬件逻辑是独立的。虽然,方向(direction)寄存器,仅当PIO配置成双向模式时,该寄存器才存在。其它模式下,读操作返回不确定值,写无效。,在双向模式下,方向寄存器控制每个双向I/O端口的数据方向,该寄存器第n位为1时,对应的I
3、/O端口用作输出;该寄存器第n位为0时,对应的I/O端口用作输入。,系统复位时,方向寄存器清零,I/O端口均为输入。如果I/O端口被连接到FPGA器件引脚上,将呈现高阻状态。,牛牛文库文档分享,方向(direction)寄存器仅当PIO配置成双向模式时,,中断屏蔽(interruptmask)寄存器,该寄存器只有在硬件配置为输入模式且“Generate IRQ”时才存在。,当该寄存器的第n位置1时,允许对应输入端口中断;置0时,禁止对应输入端口中断。,复位后,该寄存器清零,禁止所有输入端口的中断。,每个PIO Core只有一个中断请求IRQ信号,主外设可以读data寄存器或edgecaptur
4、e寄存器,进一步判断产生中断的输入端口。,牛牛文库文档分享,中断屏蔽(interruptmask)寄存器该寄存器只有在硬,沿捕获(edgecapture)寄存器,当硬件配置有边沿捕获功能时,该寄存器才存在。,当检测到输入端口上的边沿事件(上升沿、下降沿或二者兼有,配置时确定)时,该寄存器的对应位置 1。,对该寄存器的写操作,意味着清全零。,牛牛文库文档分享,沿捕获(edgecapture)寄存器当硬件配置有边沿捕获功,PIO的中断操作,当硬件配置为电平触发中断,只要输入端口出现高电平并且中断使能(即data和interruptmask对应位均为1),就申请一个中断。,当硬件配置为沿触发中断,只
5、要 edgecapture 和interruptmask 对应位均为1,就申请一个中断。,PIO的IRQ一直保持有效,直到被响应后,主设备发出禁止中断的操作:interruptmask相应位清零或对edgecapture写操作。,主设备的中断服务程序应进一步判断中断源。,牛牛文库文档分享,PIO的中断操作当硬件配置为电平触发中断,只要输入端口出现高,SOPC Builder 中 PIO Core 配置选项,Basic Settings标签,设定PIO的端口数量(位宽)132位,设定I/O端口的方向,有四种选择:,牛牛文库文档分享,SOPC Builder 中 PIO Core 配置选项Ba,P
6、IO配置成输入输出且支持中断,中断屏蔽,边沿捕获,32路输入,32路输出,地址数据控制IRQ,Avalon从端口信号,方向控制,32路,地址数据控制,Avalon从端口信号,PIO配置成双向端口,不支持中断,牛牛文库文档分享,PIO配置成输入输出且支持中断数据输入输出中断屏蔽边沿捕获3,Input Options 标签,仅当配置中有输入端口时,此标签可用。,在此标签中可选择设定边沿事件类型:上升沿、下降沿、上升沿或下降沿,在此标签中还可选择设定是否支持中断:电平型只要输入为高电平且中断使能,则产生 IRQ。若希望低电平时中断,则应在输入端加“非门”。边沿型只要edgecapture不为零且中断
7、使能,则产生 IRQ。,牛牛文库文档分享,Input Options 标签仅当配置中有输入端口时,此,软件编程,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);,牛牛文库文档分享,软件编程PIO Core提供头文件 altera_avalo,4.2 通用异步收发器(U
8、ART),实现SOPC系统与外部器件之间的符号流通信。UART核实现了RS-232协议。用户可配置选择波特率、校验位、停止位、数据位以及RTS/CTS控制信号。Avalon主外设通过读/写寄存器,与UART核通讯。,牛牛文库文档分享,4.2 通用异步收发器(UART)波特率除数接收寄存器状态,RS-232接口,UART内核实现RS-232协议的异步发送和接收,通过TXD发送串行数据,通过RXD接收串行数据。,由于大部分FPGA器件的I/O引脚为TTL或CMOS电平,不符合RS-232电平要求,因此需要一个电平转换电路。,牛牛文库文档分享,RS-232接口UART内核实现RS-232协议的异步发
9、送和,发送逻辑,UART的发送器由7/8/9位发送数据寄存器、7/8/9位发送移位寄存器以及相应控制逻辑组成。,Avalon主设备将数据写入发送数据寄存器,发送逻辑自动将发送数据寄存器内容装入发送移位寄存器,并从最低位开始通过TXD移出。,发送逻辑根据RS-232规范,在串行数据流中自动插入正确的起始位、校验位和停止位。,发送数据寄存器和发送移位寄存器提供双重缓冲。主设备可在前一个字符正在移出时,将新数据写入发送数据寄存器。,主设备可通过状态寄存器中的发送准备好(TRDY)位、发送移位寄存器空(TMT)位和发送溢出错误(TOE)位监视发送器的工作。,牛牛文库文档分享,发送逻辑UART的发送器由
10、7/8/9位发送数据寄存器、7/8,接收逻辑,UART的接收器由7/8/9位接收移位寄存器、7/8/9位接收数据寄存器以及相应控制逻辑组成。,接收逻辑将RXD上的串行数据移入接收移位寄存器,每当新字符完全接收后,自动装入接收数据寄存器,并准备接收下一个字符。,主设备从接收数据寄存器中获取接收到的字符。并可通过状态寄存器中接收准备好(RRDY)、接收溢出错误(ROE)、间断检测(BRK)、校验错误(PE)和帧错误(FE)监视接收器的工作。,接收逻辑根据RS-232规范,在串行数据流中自动检测正确的起始位、校验位和停止位。并检查接收中的4种异常,设置状态寄存器中的对应位。,牛牛文库文档分享,接收逻
11、辑UART的接收器由7/8/9位接收移位寄存器、7/,波特率生成,通过对Avalon总线时钟的分频,可获得UART内核的波特率时钟。,分频值的来源:系统生成时的指定的一个常量值(系统采用固定波特率,硬件中不包含波特率除数寄存器)波特率除数寄存器中的16位值(系统可通过软件改变波特率),牛牛文库文档分享,波特率生成 通过对Avalon总线时钟的分频,可获得UAR,UART内核的寄存器,保留位是否存在,取决于硬件配置写0到状态寄存器将清零DCTS、E、TOE、ROE、BRK、FE、PE是否存在,取决于硬件配置,牛牛文库文档分享,UART内核的寄存器偏移量寄存器R/W寄存器位描述15,接收数据寄存器
12、(Rxdata),新字符从RXD输入,经接收移位寄存器完全接收后,保存到Rxdata中,并将状态寄存器的RRDY位置1。,当主设备从Rxdata中取走数据后,状态奇存器的RRDY位清零。,若Rxdata中的数据没有被主设备取走(RRDY=1),又有新字符输入,则发生溢出错误,状态寄存器的ROE位置1。新数据覆盖Rxdata中的原内容。,牛牛文库文档分享,接收数据寄存器(Rxdata)新字符从RXD输入,经接收,发送数据寄存器(Txdata),主设备把需要发送的字符写入Txdata,此时,状态寄存器的TRDY=0;当Txdata内容被传送到发送移位寄存器时,TRDY=1。,只有TRDY=1时,才
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 设计 技术 工程 方法 典型 外设 课件

链接地址:https://www.31ppt.com/p-2070645.html