没有合适的资源?快使用搜索试试~ 我知道了~
USB数据通信接□模块的程序设计
0 下载量 182 浏览量
2020-11-14
07:24:28
上传
评论
收藏 547KB PDF 举报
温馨提示
试读
5页
本文主要介绍PDIUSBD12的固件编程问题。 USB通信固件设计的目标为使PDIUSBD12在USB上达到最大的传输速率。 1.总体规划 CPU忙于处理许多设备控制和数据处理等任务。通信固件设计成完全的中断驱动方式,当CPU处理前台任务 时,USB的传输可在后台进行,这就确保了最佳的传输速率和更好的软件结构,同时简化了编程和调试。 后台中断服务程序和前台主程序循环之间的数据交换通过事件标志和数据缓冲区来实现,例如,PDIUSBD12 的批量输出端点可使用循环的数据缓冲区,当DIUSBD12从USB收到一个数据包时,就对CPU产生一个中断请求 ,CPU立即响应中断。
资源详情
资源评论
资源推荐
USB数据通信接数据通信接□模块的程序设计模块的程序设计
本文主要介绍PDIUSBD12的固件编程问题。 USB通信固件设计的目标为使PDIUSBD12在USB上达到最大
的传输速率。 1.总体规划 CPU忙于处理许多设备控制和数据处理等任务。通信固件设计成完全的中
断驱动方式,当CPU处理前台任务 时,USB的传输可在后台进行,这就确保了最佳的传输速率和更好的软件结
构,同时简化了编程和调试。 后台中断服务程序和前台主程序循环之间的数据交换通过事件标志和数据缓
冲区来实现,例如,PDIUSBD12 的批量输出端点可使用循环的数据缓冲区,当DIUSBD12从USB收到一个数据
包时,就对CPU产生一个中断请求 ,CPU立即响应中断。
本文主要介绍PDIUSBD12的固件编程问题。
USB通信固件设计的目标为使PDIUSBD12在USB上达到最大的传输速率。
1.总体规划
CPU忙于处理许多设备控制和数据处理等任务。通信固件设计成完全的中断驱动方式,当CPU处理前台任务 时,USB的
传输可在后台进行,这就确保了最佳的传输速率和更好的软件结构,同时简化了编程和调试。
后台中断服务程序和前台主程序循环之间的数据交换通过事件标志和数据缓冲区来实现,例如,PDIUSBD12 的批量输出
端点可使用循环的数据缓冲区,当DIUSBD12从USB收到一个数据包时,就对CPU产生一个中断请求 ,CPU立即响应中断。
在中断服务程序中固件将数据包从PDIUSBD12内部缓冲区移到循环数据缓冲区,并在随后清除DIUSBD12的内 部缓冲
区,以使其能接收新的数据包,CPU可以继续它当前的前台任务直到完成。
然后返回到主循环,检查循环缓冲区内是否有新的数据,若有就对其进行处理,否则开始其他的前台任务 。中断服务程
序与前台主循环通过事件标志EPPFLAGS和数据缓冲区CONROL XFER进行通信,EPPFLAGS的定义 如下:
USB通信固件采用层次结构,如图1所示
图1 USB通信模块层次图
2 分别介绍各层子模块的设计
(1)底层函数。
最底层为两个面向硬件电路的函数:outpodb(UCHAR addr, UCHAR dm)和inpofib(UCHAR addr) 用以 完成CPU
和D12之间的数据传输,这是所li其他函数的基础,具体代码如下:
weixin_38500944
- 粉丝: 7
- 资源: 943
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0