Interrupt Transfers

2023-12-15 06:20
文章标签 interrupt transfers

本文主要是介绍Interrupt Transfers,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文转载至: http://www.keil.com/pack/doc/mw/USB/html/_u_s_b__interrupt__transfers.html

The interrupt transfer is used for periodic transf ers where a time period is  requested by the device  and the host will guarantee that the data transfer will be scheduled within that time period. It does  not guarantee that the data is transferred on a consistent time basis all the time, just that it will  schedule the transfer prior to the time period expiration. The data throughput is lower for interrupt  transfers and is useful for applications like mice , keyboards where user input is continually needing  to be sent to the host.

Interrupt Transfers have a limited latency to or from a device. In USB, an Interrupt Transfer, or Interrupt Pipe, has a defined polling rate between:

  • 1ms and 255ms for full and low-speed
  • 125μs to 4096ms for high-speed endpoints.

The maximum packet size for the interrupt endpoint data is:

  • 64 or less bytes for full-speed
  • 1024 or less bytes for high-speed

The developer can define how often the host can request a data transfer from the device.

For example, for a mouse, a data transfer rate at every 10 ms can be guaranteed. However, defining the polling rate does not guarantee that data will be transferred every 10 ms, but rather that the transaction will occur somewhere within the tenth frame. For this reason, a certain amount of timing jitter is inherent in an USB transaction.

Typically, Interrupt Transfer data consists of event notifications, characters, or coordinates from a pointing device.

interruptTransfer.png

这篇关于Interrupt Transfers的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/495418

相关文章

sqlite3的db.interrupt方法深入解析

在Node.js环境中,sqlite3库是一个广受欢迎的轻量级数据库库,它为开发者提供了一个简洁的API来与SQLite数据库进行交互。在处理长时间运行或复杂的数据库查询时,有时可能需要中断这些查询。sqlite3库提供了db.interrupt方法来实现这一功能。本文将深入解析db.interrupt方法,包括其API函数定义和相应的代码示例解释。 一、db.interrupt方法简介 db

理解interrupt()方法

java interrupt()方法只是设置线程的中断标记,当对处于阻塞状态的线程调用interrupt方法时(处于阻塞状态的线程是调用sleep, wait, join 的线程),会抛出InterruptException异常,而这个异常会清除中断标记。因此,根据这两个思路,不同的run()方法设计,会导致不同的结果,下面是示例,并说明了运行了结果和原因 package com.concurr

MPC5748G之spi polling interrupt

开发环境: 硬件:MPC5748G软件:S32 Design Studio for Power Architecture Version 2017.R1外设:W25Q64 spi引脚: PI[6] CS0_2 xxxPE[15] SCLK_2 819PG[15] SOUT_2 xxxPG[14] SIN_2 818 步骤及注意事项: 1.配置好外设及系统时钟2.初始化sp

MPC5748G之can polling interrupt

开发环境: 硬件:MPC5748G软件:S32 Design Studio for Power Architecture Version 2017.R1外设:TPS43331 I2CTJA1043 CAN can引脚: PB0PB1 步骤及注意事项: 1.配置好外设及系统时钟2.初始化can设置1)轮询模式2)中断模式a.需要在中断向量表中配置中断函数b.初始化中断寄存器P

MPC5748G之adc polling interrupt

开发环境: 硬件:MPC5748G软件:S32 Design Studio for Power Architecture Version 2017.R1 adc引脚: PB5 步骤及注意事项: 1.配置好外设及系统时钟2.初始化adc设置1)轮询模式2)中断模式a.需要在中断向量表中配置中断函数b.初始化中断寄存器PSRc.使能adc转换中断 遇到的问题: EOC与ECH在

MPC5748G之i2c polling interrupt

开发环境: 硬件:MPC5748G软件:S32 Design Studio for Power Architecture Version 2017.R1外设:24LC256 I2C引脚: PE8PE9 步骤及注意事项: 1.配置好外设及系统时钟2.初始化I2C设置1)轮询模式2)中断模式a.需要在中断向量表中配置中断函数b.初始化中断寄存器PSRc.使能I2C接收发送中断

MPC5748G之uart polling interrupt

开发环境: 硬件:MPC5748G软件:S32 Design Studio for Power Architecture Version 2017.R1 串口引脚: PC8PC9 步骤及注意事项: 1.配置好外设及系统时钟2.初始化串口设置1)轮询模式2)中断模式a.需要在中断向量表中配置中断函数b.初始化中断寄存器PSRc.使能串口接收发送中断3.然后就可以愉快的开启串口终

imx6ull Enhanced Periodic Interrupt Timer (EPIT)

一、overview EPIT是一个32位的计时器,能够在处理器很少干预的情况下以固定的时间间隔提供精确的中断。软件使能后,EPIT就开始计数。IMX6ULL有2个EPIT定时器。其框图如下所示: 1.1 epit 特性 EPIT具有以下主要特性: •可选择时钟源的32位递减计数器 •12位预分频器,用于对输入时钟进行分频 •可即时编程的计数器值 •可以设置在低功耗和调试模式下,计数器仍

tq2440_External Interrupt Controller

在开始之前整理一下ARM9结构中断建立过程: /* EXCEPTION HANDLER VECTOR TABLE */  ^ DRAM_BASE  HandleUndef # 4  HandleSwi # 4  HandlePrefetch # 4  HandleAbort # 4  HandleReserv # 4  HandleIrq # 4  HandleFiq # 4  小注: 这里

【ARMv7-A】——WFI(wait for interrupt)

文章目录 WFI基本原理使用场景多任务模型注意事项代码实例linux 内核中的 WFI 指令不使用 WFI 指令使用 WFI 指令 WFI WFI 即 Wait for interrupt,常用于低功耗。 WFI (Wait for interrupt) 和 WFE (Wait for event) 是两个让 ARM 核进入 low-power standby 模式的指令,