碧波液压网 欢迎你,游客。 登录 注册

利用USB控制器设计的Windows音量控制器

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  USB技术在现代电子系统中应用得越来越广泛。很多计算机上甚至去掉了传统的串口,全部改用USB口的鼠标、键盘,甚至风扇。传统的USB控制器在使用时,需要大量的与主控机相连的接口连线,占用了大量的CPU I/O口资源。随着电子技术的高速发展,USB控制器向小体积、低功耗的方向发展。本文介绍如何使用MAX3420进行Windows系统HID设计的过程。

  本设计的首要目的就是,寻找一种快捷的方法来调整音量或者暂停播放,而不需要移动鼠标来寻找Windows Media Player窗口。该系统插在USB端口上,只有一个旋钮起主要作用。旋转这个按钮可以调节音量。按一次旋钮暂停播放,再按一次开始播放。由于该旋钮掌控主要的Windows音量控制,因此,它可以调节任何当前播放声音的音量,例如,电子邮件提示音或者是游戏声音。该音量控制器即使在Windows播放器不是当前操作窗口的情况下也仍然对其有效。为了省去设计底层驱动程序的工作,把该器件设计成USB人机接口设备(HID)。把HID接入Windows系统,它就可以工作了。

  1 低成本的USB系统

  系统设计中最重要的一点是,选择一种低成本的微控制器和USB解决方案。ATtiny13型微控制器本身并不含有USB控制器,所以使用Maxim公司的 MAX3420E型USB控制器,而且仅需要一些用于普通的串行外围接口设备(SPI)的指令就可以与任何微处理器联合使用。与MAX3420E对话,会占用ATtiny13中5个I/O引脚中的4个。

  这里简单介绍一下MAX3420。它是Maxim公司推出的一种全速USB(12 Mbps)外设控制器,支持USB2.0协议。MAX3420内建全速收发器,支持±15 kV的ESD保护,可以编程控制USB总线的连接和断开;内含的串行接口引擎可以控制底层的USB协议细节,如错误校验和总线重连接。MAX3420通过SPI接口操作其内部寄存器,工作频率为26 MHz,任何支持SPI主模式的CPU只使用3~4根线便可增加USB功能。

  图1是本系统的电路原理。U1是USB控制器MAX3420E。U2是MAX6349TL,它可提供3.3 V、150 mA的输出,具有上电复位(POR)电路,可直接与MAX3420E的RES引脚连接。在USB外设这样的热插拔设计中,良好的外部POR电路非常重要。与USB连接头上的 VBUS5 V信号相连接,并且将其调整至MAX3420E和ATtiny13所需的3.3 V。旋转编码器和发光二极管与MAX3420E的通用I/O引脚相连接。连接器J2用于ATtiny的调试和编码输入。电阻R1将编程/输入复位同系统复位隔开。上拉电阻R2确保当编程器或ICE使用调试连接器J2时,MAX3420E的SPI端口不被选中。

  ATtiny13在管理MAX3420E的SPI端口时采用半双工模式,只使用一个双向数据引脚。电阻R3可避免在使用这种方式读取MAX3420E寄存器数据时的争用问题。在第8个SCLK信号上升沿到来时,MAX3420E的SPI开始对命令字节的第8位进行采样,并在第1个数据位到来后立即驱动数据引脚。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论