USB设备firmware

USB设备在上电后,初始化USB芯片和MCU,然后通过前后台程序交互进行USB与主机通信。前台程序不断检测中断标志,后台程序处理中断事件。数据接收时,USB芯片通过中断通知MCU,MCU分析处理数据;发送数据时,MCU将数据写入USB芯片缓存,等待主机请求。在处理USB请求如Get Descriptor时,设备响应主机的SETUP和IN令牌包,完成数据交换。

USB设备内部都有USB的芯片和MCU(Micro CPU Unit)。 USB设备上电后,首先初始化(设备自身逻辑和USB芯片的初始化) 。连接PC后即可开始USB设备与主机的交互进程。

1,Firmware程序的基本框架

设备Firmware的工作往往采用前、后台的方,前后台通过中断标志位进行通信,中断标志位可设置成全局变量以简化设计。

前台程序:死循环。不断的检测标志位,判断是否有中断,有则进入到相应的时间处理函数中。如果有操作系统则会不止这么简单 。

后台程序:中断处理程序。读取中断标记,判断并处理中断事务(如传输错误、收到Setup包、收到令牌包、传输完成等),设置相应的标志位。

下面是一个基本的USB firmware的基本交互框架。 

========后台============      ============前台=================

•中断处理函数(ISR)                     

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值