打印

哈哈,还是老X的那工具**,再出一个思考题

[复制链接]
楼主: 古道热肠
手机看帖
扫描二维码
随时随地手机跟帖
21
ayb_ice| | 2008-12-13 11:49 | 只看该作者 回帖奖励 |倒序浏览

LS,可以就到底倍分好,还是等分好呢

这个问题讨论一下.
我当然认为是等分好,至于理由:
1: 算法简单,可以直接用除法,因为是线性的,程序执行也快,代码也少.
2: 硬件简单,所有电阻是一样的.
3: 同样的AD可以支持更多的按键数量.
可能还有其它的理由,不过这些足够影响选择了.

使用特权

评论回复
22
xwj| | 2008-12-13 12:04 | 只看该作者

其实,还是要看应用的

如果是要考虑多键同按,就应该用二进制(倍分);
如果确定只要考虑单键,那就应该用等分


实际上,当按键是短路(改变)分母时,是永远做不到真正的等分、倍分的,
只有按键放在分子位置,而分母不变(或有公倍数关系)时,才能做到真正的等分、倍分。

使用特权

评论回复
23
ayb_ice| | 2008-12-13 12:24 | 只看该作者

仅从理论上讲

无论是倍分还是等分,AD扫键都很难解决多键同时按下的可能,因为按键一多,AD误差,温度变化,电压变化,本身还要留一定余量,不可能根据一个确定AD值确定是哪个键下比如AD=50代表按键1...
我不知道有多少人在项目中使用AD扫键盘,不过我估计应该不多.
我的项目一般资源都有富余,何况4个普通IO就可以接十几个按键.

使用特权

评论回复
24
xwj| | 2008-12-13 12:29 | 只看该作者

AD扫键一般只用于线控器或者实在没IO时

而就算“实在没IO时”,我也会优先考虑IO复用

所以,除非是做耳机线上的线控器,否则我是不会考虑它的
而LZ这个设计又不能用于耳机线哦..

使用特权

评论回复
25
linqing171| | 2008-12-13 13:37 | 只看该作者

复合键的时候有一点点小问题。

复合键是有问题的。
如果要用复合按键,还是要用等倍的,然后k1和r2并联的。

另外提一个应用,就是想把pc机的键盘,做成不扫键的。全是中断方式的。
把pc机的所有按键都可以同时按下。用途:比如扩展程序的快捷键,级联菜单的速度还是慢了一点。比如我的键盘DF同时按下的时候er就检测不到了。

现在碰到的问题就是资源不够。。。


使用特权

评论回复
26
t.jm| | 2008-12-13 13:56 | 只看该作者

肯定是等比(等倍)

如果按健多了更是等比好,等比相当于让误差均匀分布,算法才是更简单,判断阀值可以由编译器完成。理由:
再次的AD线性也优于1%,参考是VCC抵消了,电阻的精度才是当忧的问题。
我想做过测量仪表,明白了它的误差分布特性是不难理解等比分布的好处的。
就像称一吨的重物你容易误差一公斤吗?称一两的重物误差一公斤可能吗?

使用特权

评论回复
27
ljm810010| | 2008-12-13 17:29 | 只看该作者

倍分好还是是等分好?

认为等分好的,我举个反面的例子:等分100份,机器能轻松分辨1与2的差别,却很难分辨99与100的差别;1与2 相差100%,与99与100只差1%。

认为倍分好的,我也举个反面的例子:38mV~5V按5%间距分100份,5V低一级是4.76V相差240mV,38mV高一级是40mV只差2mV。

分的级别多了点,只是说明问题,两者都是偏向一端较好,另一端较差。

使用特权

评论回复
28
ayb_ice| | 2008-12-13 17:32 | 只看该作者

27L

如果等分100不能实现的话,那请问倍分100可以实现吗.

使用特权

评论回复
29
t.jm| | 2008-12-13 18:23 | 只看该作者

27L,28L还是没明白等比的策略,

等比能支持的按健更多是肯定的。
等比每个健的可靠程度是一样的!
等分在高端的可靠性要差!低端的分变率又被浪费!
等分已通过的按健,把它改成等比,那么以等分高端的倍率(总之以等分最小的倍率)往下倒推改成等比,等到低端分变率不够时,等比要比等分出好多按健了。

使用特权

评论回复
30
ljm810010| | 2008-12-13 18:50 | 只看该作者

RE:27L 28L

27L:分100份只是举例说明问题,使问题更明显。
28L:
“等比能支持的按健更多是肯定的”10bitADC用等分理论上可以支持1024键,用等比能支持多少?
“等比每个健的可靠程度是一样的”27楼例子中,240mV间距与3mV间距,也是具有相同的可靠程序?
“等分在高端的可靠性要差!低端的分变率又被浪费!”等分高低端的间距AD转换后都是相同,又怎回被浪费?

使用特权

评论回复
31
ayb_ice| | 2008-12-13 18:53 | 只看该作者

不明白

原话"等分在高端的可靠性要差!低端的分变率又被浪费!"
难道AD不线性,请指教.
再补充一点,一般AD也就+/-几个最低分辨率而已.

使用特权

评论回复
32
ljm810010| | 2008-12-13 19:40 | 只看该作者

仍是搞不清这份AD键图有何奥妙

细看了一下,有这个现象:
按下K3,分压得1/2 VCC
同按下K2,K4,分压也是1/2 VCC
同按下K1,K5,分压也是1/2 VCC

使用特权

评论回复
33
linqing171| | 2008-12-13 23:02 | 只看该作者

32L,已经说了,不支持同时按,软件也不支持。

以下所有结论考虑电阻误差,不考虑AD测量的随机误差,考虑AD的固定误差。

等分能放1024个,等比只能放10个按键。

如果每个按键都是并联一个电阻,等分不能同时按,等比可以同时按,这就是区别。
而在这个电路,按下一个按键,他和输入之间的按键都被短路了,所以不存在能同时按下的时候,等比也就没有用了。

关于26L 让误差均匀分布,这句话是说错了。

而关于512对1的影响的问题不是问题,先按下1,后按512,程序里面有个先后关系自然能知道,先按512,后按1,程序也可以分辨出来。

使用特权

评论回复
34
古道热肠|  楼主 | 2008-12-14 10:32 | 只看该作者

回ljm810010

俺这图也是从其它地方看来的,觉得电阻与键盘并联,而且阻值都一样,画PCB和焊接时都很方便.就这么用了.

使用特权

评论回复
35
ljm810010| | 2008-12-14 11:14 | 只看该作者

狂晕,俺一直认为是高科技

使用特权

评论回复
36
iammercy| | 2008-12-18 16:05 | 只看该作者

寫得太雜了

使用特权

评论回复
37
dragon_hn| | 2008-12-19 01:25 | 只看该作者

不赞成这种键盘方式

AD键盘不赞成,包括矩阵键盘也不赞成.实在IO口不够可以用74HC165扩展.
因为不支持多按键同时按下的判断,尽管你可以在说明书上标明,但是你不能强制用户不这样做,用琴键开关大部分情况又不太现实.
AD键盘还有一个缺点,不适用于导电橡胶按键时.

使用特权

评论回复
38
兴隆| | 2008-12-19 07:25 | 只看该作者

大多按键板是独立的PCB板,如果用74HC165或164扩展.

如果用165,164扩展键盘,的连接一排连线,有电源2条,时钟,数据,等等。通常要6条排线,布局,维修,都不方便。还不如,直接用4-6个I/O口好。
   A/D键盘已经大量应用于电视机中。大家找一些电视机图纸看看。有点是连线简单,使用I/O口少。
    

使用特权

评论回复
39
koolean| | 2008-12-19 18:52 | 只看该作者

该设计害怕潮湿天气

另:倍分的话,A/D表好做,等分的话,A/D测试容易;

使用特权

评论回复
40
ayb_ice| | 2008-12-19 19:53 | 只看该作者

ad扫键确实用于电视机

但经常串键,按音量键成了换频道...

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则