基于CY7C63833双模光电轨迹球的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第15期2018年5月No.15May ,2018
袁海林,徐学发*
(中国电子科技集团公司第二十八研究所,江苏南京210007)
0引言
经过几十年的演变,鼠标已从早期的机械滚轮鼠
标发展到目前主流的光电鼠标,再到中高端的激光鼠标,每次变革都是光电技术的巨大进步。
作为鼠标的一种,轨迹球鼠标可以固定在特定的位置,用户直接用手指拨动轨迹球就可控制光标的移动,这样既可防止鼠标的窜动,又可减少用户手腕的疲劳度。
除此之外,轨迹球还具有定位精确、不易晃动、手感良好的优点,其在消费类电子、工业控制和军用设备中得到了广泛的应用[1-3]。
随着技术的进步,机械式轨迹球鼠标已逐渐被光电式轨迹球鼠标替代,性能更好的USB 模式鼠标也逐步取代PS/2模式的鼠标。
但是在以前的整机设备中,鼠标接口都是PS/2模式,而且现在计算机设备中也大都保留了PS/2接口,因此,PS/2模式的轨迹球还在大量使用。
现在的光电式轨迹球鼠标能够支持PS/2或USB 工作模式,用户可以根据需求进行选择,但时下可支持USB 和PS/2模式的轨迹球却很少。
本文正是
在此基础上,采用CYPRESS 公司的CY7C63833和Avago 公司的ADNS-5020EN 设计了一款在PS/2模式和USB 模式下都可工作,而且定位精度高、成本低、
性能好的双模光电式轨迹球鼠标。
1
光电轨迹球工作原理
光电轨迹球主要由LED 光源、球状反射体(轨迹
球)、光学透镜和光学图像感应器等组成。
基本原理与常用光电鼠标的工作原理相同,工作流程为:内置发光二极管将红光照射到轨迹球的移动表面,底部反射回的光线经过光学透镜,在光学鼠标传感器内成像,这样每当轨迹球移动时,传感器会记录到一组高速拍摄的连贯图像,采集到的图像数据被发送到内部数字信号处理器(Digital Signal Processor ,DSP )进行处理,通过对这些图像特征点位置的变化进行分析,来判断轨迹球的移动方向和移动
距离,从而得到光标位置信息,接着利用PS/2或者USB 接口将该信息传送到主机设备中,最后通过驱动
程序得到显示屏幕坐标[4-5]。
2
硬件电路设计
CY7C63833是基于enCoRe 内核的8位哈佛架构
的微控制器,主频可达到24MHz ,内部集成有晶体振荡器、3.3V 电源调整器、D-上拉寄存器和8KB 的
FLASH 存储器等,芯片不需要任何外部器件控制就
可自动配置为PS/2或USB 模式。
高度集成的特点,使其只需要外接很少的元器件就可以设计出高性能、低成本的人机接口类计算机外设。
ADNS 5020EN 光学传感器由影像撷取系统
(Image Acquisition System ,IAS )、DSP 和串行通信接口输出组成。
内部集成有整合式振荡器,无需外部时钟输入,大大减少了外部电路设计的组件数。
该光学
作者简介:袁海林(1987—),女,江苏南通人,助理工程师,硕士;研究方向:指挥与信息系统。
*通信作者:徐学发(1986—),男,山东泰安人,工程师,硕士;研究方向:指挥与信息系统。
江苏科技信息
Jiangsu Science &Technology Information
基于CY7C63833双模光电轨迹球的设计与实现
摘要:为解决单一轨迹球不能自动识别何种工作模式问题,文中采用CYPRESS 半导体公司的
CY7C63833控制器芯片和AVAGO 公司的ADNS-5020EN 光学传感器,设计并实现一种高性能的双模光电轨迹球,该轨迹球可在PS/2模式和USB 模式下自适应工作。
设计使用的CY7C63833控制器芯片整合了USB SIE 、通用I/O 口以及enCoRe 内核,满足了轨迹球开发在价格和性能上的要求,采用它能快速设计出低成本、高性能的人机接口设备。
经实际使用测试,该设计具备有线鼠标的全部功能,同时数据传输稳定,轨迹球移动灵活,无停滞现象,在实际项目中得到了很好的应用。
关键词:光电轨迹球;双模;光学传感器;人机接口设备中图分类号:TP368文献标识码:A
传感器单5V电源工作,具有与控制器直连的通用接口,最高可侦测每秒20英寸(ips)以及2G的加速度运动。
提供500cpi和1000cpi两种分辨率设定,采样帧率可根据最佳性能进行自适应调整。
高采样率和分辨率的特征为轨迹球的精确定位提供了硬件保障。
硬件电路主要由主控制器CY7C63833和光学鼠标传感器ADNS5020EN模块构成,其中,CY7C63833主要是用来接收按键信息和来自光传感器的位移信息,然后对数据进行必要的整合,使之具有USB或PS/2协议格式的数据,最后发往外部主机设备。
ADNS5020EN 用来检测轨迹球的移动信息,其中的IAS子系统将采集的图像通过数字信号处理,计算轨迹球在dx和dy 方向的相对位移值,决定移动的方向及距离,最终将位移信息经过串行接口传送给主控制器芯片。
3固件程序设计
固件程序设计是此次设计的核心,采用CY⁃PRESS公司提供的PSoC Designer5.2集成开发工具,使用C语言进行编程。
CYPRESS提供了固件编程框架,通过在相应的子函数下添加功能代码就可实现编程。
开发工具集成了常用的功能模块,通过拖拽式操作可以将所需要的功能模块快速添加到项目工程中,加快开发流程。
这里添加了毫秒定时器模块(MSTMER)、12位可编程计时器模块(PITIMER12)、PS/2设备模块(PS2D)、USB设备模块和SPI协议模块。
整个程序框架包括mouse.c,optical.c,buttons.c,isr.c,timer.c,ps2_mouse.c,usb_mouse.c,port.c和相应功能模块的汇编代码。
在实际编程中,主要对mouse.c、和optical.c进行代码修改。
为了本设计能够实现PS2和USB模式自动检测功能,在mouse.c文件中添加了detect_if_ps2(),根据PS2和USB在上电时,两根信号线的初始状态不同,判断轨迹球是何种接口模式。
通过该函数,轨迹球可在两种模式下自适应工作。
在USB模式下,支持热插拔,设备可即插即用,但在PS2模式下,需要重启系统。
针对设计中采用的光学传感器ADNS5020EN,需要在optical.c文件下进行相应功能代码的编程。
其框架包括传感器初始化函数optical_init()、位移信息获取函数optical_get_report()、传感器上电控制函数optica_power_up()、传感器断电控制函数optica_pow⁃er_down()以及主控制器对传感器的读写操作函数(包括函数adns_read()和adns_write())。
传感器初始化函数optical_init()依次完成SPI总线的初始化、传感器复位、传感器分辨率设定和传感器状态确认。
在传感器分辨率设定中,可以设定500 dpi和1000dpi两种模式,以满足轨迹球在不同应用场合下的技术要求。
在传感器状态确认中,主要是通过读取传感器的设备ID来判断是否工作正常。
主控制器通过位移信息获取函数optical_get_re⁃port()读取传感器中Delta_X和Delta_Y两个状态寄存器的值,以此来获得轨迹球在X方向和Y方向上的位移信息。
这里,通过修改X/Y的符号位,可以很容易地实现因轨迹球与传感器相对位置不同,造成光标在显示器上移动不能对应的问题。
传感器上电控制函数optica_power_up()和传感器断电控制函数optica_power_down()主要完成传感器工作与否,在轨迹球正常工作状态下,传感器上电正常工作,但在轨迹球挂起状态下,传感器进入断电状态,以减少设备功耗。
主程序流程如图1
所示。
图1主程序流程
看门狗功能主要是用来防止主程序在运行过程中出现异常,正常工作时通过定时器喂狗更新数据,避免软件复位。
看门狗定时器的复位可以解决工作中可能出现的异常操作。
在轨迹球初始化函数中,首先要进行端口的初始化、定时器的初始化、光传感器的初始化和按键的初始化等,然后通过函数detect_if_ps2()判断轨迹球连接的是USB接口还是PS/2接口,如果返回值是“1”,则执行初始化函数ps2_init();否则,执行usb_init()函数。
初始化均正常后,主控制器则使定时器中断,进入主循环流程,轨迹球进入正常工作状态。
4试验与验证
按照上述设计方案设计的双模轨迹球在完成硬
件调试和固件程序的下载后,进行性能测试。
当设备初次插入USB 口后,在计算机右下角会弹出发现新硬件的标示,这里设备名称为“CETC28Trackball ”,同时在设备管理器下可以查看到该USB 人体学输入设备的一些基本信息,例如设备的ID ,如图2
所示。
图2USB 工作模式
当设备插入PS2接口后,重新启动系统,会在设备管理器的“鼠标和其他指针设备”下中新增加一个微软标准PS/2鼠标,如图3
所示。
图3PS/2工作模式
在两种模式下进行操作测试,鼠标能够实现稳定可靠的数据传输,光标移动良好,按键功能均正常。
同时,软件程序采用单片机C 语言进行编写,具有易读、可移植性好的优点[6],便于日后程序升级和单片机更新。
5结语
光电轨迹球样机已经完成,可在PS/2和USB 模
式下自适应工作,满足不同场合下对轨迹球的使用要求。
经试用证明其像素分辨率和定位精度远高于机械式轨迹球,而与普通鼠标相比,光电轨迹球安装固定,不受外界颠簸或晃动的影响。
同时,光学定位技术又让轨迹球可以满足短距离移动所需要的精确定位要求,使用时只需要轻微搓动球体就可以实现光标的大幅度移动,而不需手部大范围移动。
这些特点让光电轨迹球成为移动设备和特殊环境下使用的显控台和计算机的典型操控设备。
参考文献
[1]王伟光.“木头盒子的变迁”——鼠标的发展历史[J ].电脑知识与技术,2006(13):71-73.
[2]一乙.给老鼠一颗强劲的心——安捷伦的故事[J ].大众硬件,2008(1):112-114.
[3]蔡翰林.微软——光学轨迹球[J ].电子测试,2001(4):48.
[4]王跃飞.利用CY7C63723芯片实现的USB 光电轨迹球[J ].计算机与数字工程,2006(9):133-136.[5]赵升,陈庆来,解瑞杰.基于光电传感器ADNS-2030无线鼠标的设计与实现[J ].国外电子测量技术,
2006(9):59-62.
[6]佟长福.AVR 单片机GCC 程序设计[M ].北京:北京航空航天大学出版社,2006.
(责任编辑王梦云)
Design and implementation of dual mode photoelectric trackball based on CY7C63833
Yuan Hailin,Xu Xuefa *
(The 28th Research Institute of China Electronics Technology Group Corporation,Nanjing 210007,China )Abstract:In order to solve the problem that the single trackball cannot automatically recognize the working mode problem,a CY7C63833controller chip from CYPRESS Semiconductor and an ADNS-5020EN optical sensor from AVAGO are used to design and implement a high-performance dual mode photoelectric trackball.The ball can work adaptively in PS/2mode and USB mode.The CY7C63833controller chip used in the design integrates the USB SIE,general-purpose I/O ports,and enCoRe core to meet the price and performance requirements of trackball development.It can quickly design a low-cost,high-performance human interface device.The actual use of the test,the design has all the features of a wired mouse,while data transmission is stable.The trackball moves flexibly,no stagnation phenomenon.It has been well applied in the actual projects.
Key words:photoelectric trackball;dual mode;optical sensor;human interface device。