问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

DSP处理器和鼠标内部的芯片是否有区别?

发布网友 发布时间:2022-05-05 12:08

我来回答

2个回答

热心网友 时间:2022-06-27 12:03

HDNS2000光学感测芯片在运动检测中的应 用2009年02月17日 星期二 下午 10:40
摘 要:安捷伦(Agilent)公司的hdns2000芯片是一种高性能的运动检测器件,在目前的光学鼠标中应用广泛,其易用性和廉价性使其非常适合应用于中低精度的运动和位置检测中。本文介绍hdns2000的功能、特点,从硬件与软件两个方面讨论hdns2000与AVR单片机的接口设计。

关键词:hdns2000 运动检测 AVR

在机电产品设计中,有时需要检测物体间的相对运动,包括运动方向和运动距离。若采用机械式的结构,比如机械鼠标中的滚轮和轨迹球,则会由于频繁的机械运动而发生故障,导致精度下降甚至失效,维修起来也不方便。另外它需要两个物体表面相接触,靠相互间的摩擦进行工作,这在某些场合是不能允许的。解决方案之一就是采用光电器件,运用光学原理来测定运动。安捷*司的hdns2000就是为此而设计的,虽然它的市场是针对光学鼠标,但也可以作为一种高性能而又廉价的器件运用于工业控制领域中。
1 hdns2000芯片介绍

1.1 主要功能与特性

hdns2000是安捷伦推出的高性能的光学感测芯片,它的内部包含三个基本模块:图像拾取系统、DSP处理器、PS/2或四状态输出转换器,如图1所示。在hdns2000芯片的底部有一个感光眼,如同一个小型的摄像头,不断地对物体表面进行拍照,接着将前后两次的图像送入DSP中进行处理,以判断物体移动的方向和大小,最后将数据转化为PS/2格式或者以两通道四状态格式输出。图2中的(a)与(b)分别为芯片前后两次拾取的图像。比较图2中的(a)和(b)可以看出,物体向左下方移动了一点。
hdns2000的图像拾取系统每秒钟可以拾取1500张图像,可以精确地测量最高30.48 cm/s(12 英寸/s)的运动,解析度为400点每英寸。

1.2 引脚介绍
hdns2000的主要引脚框图如图3所示。
PS2_C:PS/2接口的时钟端。
MODE/XA:复用引脚,接高电平时表示选择PS/2模式;否则,为XA输出。
RB/XB:复用引脚,PS/2模式时为鼠标右键输入;否则,为XA输出。
MB/YB:复用引脚,PS/2模式时为鼠标中键输入;否则,为YB输出。
LB/YA:复用引脚,PS/2模式为鼠标左键输入;否则,为YA输出。
XY_LED:激光LED控制输出,在物体长时间不移动时,hdns2000可以控制LED关闭,以节约能量。
VDD3:3.3 V直流电源输入。
REFB:内部参考引脚,通过电容与VDD3相连。
PS2_D :PS/2接口的数据端。
NRESET:低电平复位引脚。
VDD5:5 V直流电源输入。
GND:电源地。
OSC2:晶振输出。
OSC1:晶振输入,外接18.432 MHz晶振。

2 hdns2000与AVR单片机接口设计
2.1 hdns2000与AT90S8015接口

hdns2000直接提供有PS/2接口,方便了PS/2鼠标的设计;但在机电控制中,为了提高效率,宜直接采用hdns2000的另一种输出模式,即X向与Y向两通道四状态输出模式。此时XA、XB指示X向移动状态,而YA、YB指示Y向移动状态。图 4为hdns2000与AVR单片机AT90S8515的接口原理图。接口主要占用了4个引脚,其它两个是可选的,所以,即使是AVR中最低档的ATtiny系列也可以方便地与hdns2000连接。

另外在对节能要求不高的场合,可以将激光LED的一端直接与地相连接,而通过控制开关三极管2N3906来主动控制hdns2000的工作状态。本文作者在设计时正是采用的这种方式。在进行系统设计时,最好采用安捷*司提供的套件,其中包括hdns2000芯片、HDNS2100透镜、HDNS2200 激光LED卡件及HLMP-ED80激光LED,激光波长为639 nm。
2.2 四位状态机的工作过程

在hdns2000内部有两个状态机分别指示X、Y两个方向,每个状态机又有四个稳定的状态。图5是状态机的示意图。由图5可见,一开始系统处于状态0,每当检测到物体向正向或反向移动1个单位时就转移到下一个状态,所以只要连续监测状态机状态的变化就可以判断物体移动的方向和距离。图6(a)和(b)分别为负向移动和正向移动时状态机输出的波形。值得注意的是,每个状态的最少停留时间为133μs。

2.3 接口软件设计
由状态机输出波形图可以看出,有一种很简单自然的接口设计方法,就是将状态输出引脚接到单片机的外部中断引脚上,使其在每个波形的上下边沿都产生中断,再在中断处理程序中,检测另一对应波形的电平高低,就可以判断移动方向。比如在XA的上升沿时,若XB是低电平就是左移,若XB是高电平就是右移。这种方法需要单片机提供足够多的外部中断。若同时检测X向与Y向运动,且单片机1个引脚不能同时提供上升沿和下降沿中断的情况下,就需要占用8个中断、8条引脚;而目前许多单片机仅提供2个外部中断引脚,这种要求显然较为苛刻。

另一种方式就是降低精度要求,仅在XA与YA的上升沿进行检测,此时仅需要2个外部中断引脚。但这种方式在一种极端条件下会出错,读者可以自行分析。若只检测X一个方向,则可以同时检测上下沿中断,这样不会出错。这种方式牺牲了一点对运动换向和震颤的敏感度;但编程简单,不失为一种好方法。

本文采用的是查询方式,这种方式不占用任何中断,且能够不损精度地同时检测X向与Y向运动。前面已经提过,每个状态的最小保持时间为133 μs,所以,只要将查询的周期控制在60μs之下就可以抓住每个状态的变化。对于AT90S8515,若按晶振为8 MHz计算,则只需将查询周期汇编指令数控制在450条以下就可以了。实际上,以下给出的C语言程序经过编译后只有不大于60条汇编指令,完全能够满足系统要求。

该方法的基本思想是将状态机的前一状态与现在的状态组合在同一字节内,如表1所列,寻找其中的规律,简化程序设计。表1中以PRE开头的表示前一状态的对应值。

以X向移动为例(仅看前半字节),正向移动时对应的值为0b1000、0b1110、0b0111、0b0001,负向移动时对应的值为0b0010、0b1011、0b1101、0b0100。假设状态不变的情况已经排除,且查询周期足够短,不会出现相对周期的组合值。所以只要能将以上两组值区分开来就可以了,这也正是程序中两条条件判断语句的目的。读者可以对照程序自行验证。接口程序如下:
while(1){
state=PINA&0xcc;
state_change=state^pre_state;
combo_state=sate | (pre_state>>2);
if(state_change & 0x0c)
{
if((combo_state & 0x06) == 0x06)
{asm("INC R20");goto next;}
if((combo_state | 0x09) == 0x09)
{asm("INC R20");goto next;}
asm("DEC R20");
}
next:
if(state_change & 0xc0)
{
if((temp & 0x60) == 0x60)
{asm("INC R21");goto end;}
if((temp | 0x90) == 0x90)
{asm("INC R21");goto end;}
asm("DEC R21");
}
end:pre_state=state;}

程序已经事先定义了寄存器R20与R21分别为X、Y向的计数器,用来表示X、Y向移动的距离。以上程序段利用内嵌汇编语句优化了程序结构。实际上,还可以对编译器生成的汇编代码进行优化,这里就不再详述了。

结 语

以上软硬件接口设计虽然是以功能强大的AVR单片机作为例子,但通过仔细分析不难发现,在简单的应用场合,用普通的51单片机,甚至如AT89C2051在12 MHz晶振频率下也可以实现其功能。所以整个系统会是相当廉价的。

热心网友 时间:2022-06-27 12:04

你确认你的光电鼠标里面的芯片是DSP处理器?
一个DSP处理芯片最便宜的也要100以上吧
鼠标里面的那个芯片具体型号我不知道
但是,那个芯片只是提供一个USB接口加一个编码器吧
相当于那个光传感器把信号传给那个芯片,
芯片编码后通过USB接口传给电脑来识别鼠标动作
这个东西我正在考虑通过一个PIC单片机加2401来做一个无线鼠标
所以了解较多一点
DSP是一个数字信号处理器
不同的DSP芯片它的引脚数量是不同的
我们DSP实验课用过的5401处理器有100多引脚吧
传感器编码后的数字信号就是通过这些引脚输入到DSP处理器里面的
所以,,,一个DSP芯片足够了哦
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
2017款 雪佛兰科鲁兹 手动 三厢先锋版 7.5万公里保养项目多少钱_百度知 ... 会计师是什么岗位 会计师是指什么级别 会计师属职务还是什么 08年的大众速腾车电保护瓶盖怎么拿下来 从西三旗桥东到鸟巢坐哪路公交车? 从小汤山疗养院怎么去鸟巢呀 从鸟巢到大兴区政府(海北路)怎么乘车? 从东小口坐多少路车能到鸟巢? 如何去除橡胶手套味道 丰巢快递柜除了取快递,还有什么其他功能吗? DSPIC30F系列单片机中DSP内核的使用方法 丰巢快递柜是什么,看到别人去那里拿件。是不是小区里别人送快递过来放那里,然后自己去拿 dsp中的"定标"是什么意思? 试从C54X-DSP硬件结构方面总结:为什么说DSP是一种特别适用于数字信号处理算法的微处理器? dsp 条件算法 0300左移15位怎么算 dsp如何从Q31转换为Q30格式 DSP中EXP指令什么意思 世界之窗浏览器如何设置属性 世界之窗浏览器的Inter选项在哪里? 世界之窗浏览器的选项在哪里啊? 世界之窗浏览器怎么把浏览器改成兼容模式 怎么设置世界之窗浏览器的兼容模式?急求!!! 世界之窗3.6浏览器的兼容模式怎样设置 为什么工具栏里找不到“浏览模式” 世界之窗浏览器怎么设置兼容性视图 吴姓男孩 想取个带轩的名字 求问 安卓平板电脑(4.1)用什么浏览器快! 再求一个好一点的桌面系统! 桌面浏览器 请问什么浏览器好用非内核和IE内核的、那个输入法好用、那个桌面工具好用?回答详细,我会给予奖励。 电脑上用哪个浏览器比较好?两个能同时放桌面上吗??用uc浏览器好吗? 关于fpga的除法 什么叫高级处理器 怎么解决32位飞思卡尔dsp,32位数和32位数相乘溢出的问题 洗尿布用滚桶洗衣机还是波轮洗衣机好 宝宝的尿布可以用全自动洗衣机洗吗? 给宝宝洗尿布和洗衣服能用同一个洗衣机吗 洗尿布的洗衣机什么牌子 什么牌子的迷你洗衣机质量好?带甩干功能? 洗尿布有必要买个小洗衣机吗? 用不用给宝宝买个小洗衣机,专门洗尿布用的,亲是怎么 用洗衣机想给宝宝洗尿布怎么提前清洗洗衣机 尿布能用洗衣机洗吗,给个科学的理由,不要想当然的 许昌市哪有卖洗尿布的洗衣机的? 英国的文官制度与中国的科举制有什么异同? 试比较中国传统的科举制与西方现代文官制度的联系与区别 科举制度是中国的发明,为何却与欧洲文官选拔制度有着千丝万缕的联系? 科举制对西方文官制度的影响 科举制在哪些方面影响了近代西方的文官考试制度?科举制与现代的文官考试制度有何不同? 中国古代科举制对英国文官制度产生了怎样的影响 有人说西方文官制度,学习自中国科举制度,证据在哪