ADNK - 6003 - SP01光学鼠标设计指南解析

电子说

1.4w人已加入

描述

ADNK - 6003 - SP01光学鼠标设计指南解析

在当今的计算机外设领域,鼠标作为重要的输入设备,其性能和设计不断发展。ADNK - 6003 - SP01光学鼠标设计套件为电子工程师提供了一个出色的设计方案,下面我们来详细解析这个设计指南。

文件下载:ADNK-6003-SP01.pdf

一、整体概述

USB(通用串行总线)是计算机与鼠标、键盘等外设之间的标准串行接口。本设计指南介绍了如何使用Sunplus的SPCP825A USB微控制器和Avago Technologies的ADNS - 6000光学传感器构建一个经济高效的USB光学鼠标。

ADNS - 6000激光鼠标套装是世界上首个激光照明导航系统,具有高性能架构,能在传统LED光学导航难以工作的表面上正常操作,可感应高达20英寸/秒的速度和8g的加速度。

二、光学鼠标基础

光学鼠标通过光学方式获取连续的表面图像(帧),并通过数学方法确定移动的方向和幅度来测量位置变化。Z轮的移动通过解码光学传感器产生的正交信号来实现。

三、核心组件介绍

3.1 Sunplus SPCP825A

它是一款通用的OTP USB微控制器,具有双USB速度(低速和全速),支持PS/2模式,收发器由固件完全控制,USB SIE为固件处理USB协议提供了良好的灵活性。内置PLL允许CPU使用一个6MHz晶体或谐振器以6MHz或12MHz工作。

3.2 ADNS - 6000光学传感器

作为主要导航引擎,它包含图像采集系统、数字信号处理器、双通道正交输出和四线串行端口。SPCP825A会定期读取其Delta_X和Delta_Y寄存器,以获取鼠标移动的水平和垂直运动信息。该传感器具有跟踪精度高、可通过SPI端口编程、自动帧率(1000fps - 6400fps)等优点,还能在传统LED技术无法跟踪的表面(如光滑和有光泽的表面)上实现出色的跟踪。此外,它还具有Burst模式,可减少三种预定义操作(运动读取、SROM下载和帧捕获)的串行事务时间。

四、硬件实现

4.1 硬件架构

标准鼠标硬件中,X和Y方向的移动由光学传感器检测,Z轮移动由一组输出正交信号的光学传感器检测。每个按钮对应一个开关,通过内置上拉电阻上拉。D线通过连接到VREG引脚的1.3k欧姆电阻上拉。

4.2 固件可配置GPIO

参考固件按附录A中的原理图配置GPIO引脚,但为满足PCB设计的机械约束,可通过修改SPCP825A_A6000.asm列表开头的I/O定义来重新配置引脚连接。

4.3 通信接口

SPCP825A和ADNS - 6000之间通过集成的SPI接口通信。芯片处于掉电模式(NPD低)或复位(RESET高)时,串口不能激活。SPI通过PB0(NCS)启用时,PB2(SCLK)、PB1(MISO)和PB3(MOSI)GPIO引脚具有特殊功能,以实现与外部硬件的通信。

五、鼠标光学与按钮

5.1 鼠标光学

Z轮的运动通过解码光学传感器产生的正交信号来检测。两个光电晶体管以源极跟随器配置连接,红外LED发光使光电晶体管导通,其间的针轮随鼠标球滚动,其扇叶会阻挡红外光,使光电晶体管以正交输出模式导通和关断,通过比较光电晶体管输出的状态变化来确定鼠标移动的方向和计数。

5.2 鼠标按钮

鼠标按钮作为标准开关连接,通过微控制器内部的上拉电阻上拉。用户按下按钮时,开关闭合,引脚电平拉低到GND,低电平表示按钮被按下,高电平表示按钮释放或未被按下。通常在固件中对开关进行15 - 20ms的消抖处理。本参考设计中有左、Z轮和右三个开关。

六、USB连接与操作

6.1 USB连接

SPCP825A有一个配置寄存器,可将D +和D -引脚的控制从SIE切换到手动控制,使固件能够动态配置为USB鼠标。参考设计的固件会自动检测主机拓扑(USB)。

6.2 USB操作流程

  1. 设备插入:USB设备首次连接到总线时,通电并运行固件,但在主机发出USB总线复位之前,USB通信仍无法工作。
  2. 总线复位:D -上的上拉电阻通知集线器连接了一个低速(1.5Mbps)设备,主机识别到新设备并发起总线复位。
  3. 枚举:主机发起SETUP事务,获取鼠标的通用和特定信息,为鼠标分配新的唯一USB地址,完成枚举过程。
  4. 枚举后操作:主机与鼠标建立通信后,外设负责在控制和数据端点上发送和接收数据。主机配置端点1后,鼠标在有数据时将按钮和运动数据发送回主机。

6.3 USB请求

  • 端点0:作为主机的控制端点,上电时是所有USB设备的默认通信通道。主机通过Control - Read和Control - Write确定设备类型和配置通信方式,本设计仅需Control - Read事务来枚举鼠标。
  • 端点1:是鼠标按钮、滚轮和移动信息的数据传输通信通道。主机配置端点1后,会发送中断IN请求收集鼠标数据。鼠标空闲时,固件会拒绝端点1的请求,仅在鼠标状态改变时报告数据。

七、固件实现

7.1 所需文件

固件用Avago Technologies汇编语言编写,编译鼠标需要多个文件,如SPCP825A _A6000.asm(主鼠标固件)、calibration_hid.asm(HID兼容设备USB描述符ROM表)等。

7.2 主要功能函数

固件包含多个功能函数,如IO_initial(设置微控制器的输入输出)、Usb_initial(启用USB模式)、sample_mouse(获取X、Y和Z轮的运动信息)等。这些函数协同工作,实现鼠标的各种功能。

八、其他注意事项

8.1 系统要求

使用Windows 95/98/NT/2000的PC,并加载标准3按钮USB鼠标驱动。

8.2 拆卸与组装

ADNK - 6003 - SP01由塑料鼠标外壳、PCB、镜头、按钮和USB电缆组成。拧下底部的一个螺丝可打开设备,进一步取出PCB进行拆卸。组装时要确保Z高度(镜头参考平面到表面的距离)有效。

8.3 启用SROM

ADNS - 6000必须从外部加载程序运行,外部程序由Avago Technologies提供,可烧录到可编程设备中。上电和复位时,使用同步串行端口部分描述的突发模式程序将ADNS6000程序下载到易失性内存中。

8.4 法规要求

该鼠标在按建议组装并使用屏蔽电缆时,需通过FCC B和全球类似的发射限制、IEC - 1000 - 4 - 3辐射抗扰度水平、EN61000 - 4 - 4/IEC801 - 4 EFT测试,达到UL94 V - 0阻燃等级,并提供足够的ESD爬电/间隙距离以避免高达15kV的放电。

8.5 眼睛安全

ADNS - 6000及相关组件应符合IEC 60825 - 1的1类眼睛安全要求。Avago Technologies建议制造商对每个鼠标进行眼睛安全测试,并审查可能的单故障机制。

8.6 激光功率调整

激光功率调整需在环境温度25°C ± 5°C下进行,设置VDD3为永久值,确保激光驱动占空比为100%,编程LP_CFG0和LP_CFG1寄存器使输出功率接近506uW但不超过。

通过以上对ADNK - 6003 - SP01光学鼠标设计指南的解析,我们可以看到它在硬件和固件设计上的诸多特点和优势。电子工程师在实际设计中可以参考这些内容,打造出高性能的光学鼠标产品。你在设计类似鼠标产品时,是否也遇到过一些挑战呢?欢迎在评论区分享。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分