CC2430 Joystick硬件说明

CC2430 Joystick 硬件说明

1 目标

学习了CC2430的AD,UART和Timer之后,感觉自己有点入门了,接着做一点人机交互的内容。在这里我介绍一下Joystick的硬件连接。

刚开始看Joystick的硬件部分的时候,还很的觉得有点麻烦的,后来把这个电路分解为反相放大器,同相放大器之后,问题就好解决多了。

2 分解Joystick的4个按钮

刚开始拿到原理图的时候,4个按钮“纠结”在了一起,让人实在是看不懂是。后来我“分解”了这四个按键,在Proteus中重新绘制原理图。Proteus可以进行一定的仿真,我还模拟仿真了一下。建立的模型如下:

编号和原来图纸有所出入,但是原件参数还是一样的。每次按某个按键,U1:B就会输出不同的电压。这下我也放心了,至少原理就那么回事——通过检测不同的电压判断按键是否被按下。

3 反相放大器

观察图左边的放大器,本质上就是一个反相放大器。通过按下不同的开关,获得了不同的放大倍数。另外,放大器的正输入端还有一个参考电压,使得反相放大时不至于出现都负电压的情况(但后来的计算发现还是出现了负电压,不过没有关系)。输出和输入的关系如下图所示:

该图来自《嵌入式系统中使用单电源运算放大器》一文,在microchip官网上找到。microchip提供的资料,简单且易于理解,不乏经典的中文资料,应用手册条理清楚,堪称典范。

Vout1(左边放大器的输出)存在这样的关系:

Vout1 = -(R2/R1)*Vin + (1+(R2/R1))*VBIAS;

其中,Vin为3.3V,R1为800K,400K,200K和100K其中的一个;R2为50K。VBIAS有两个电阻分压得到,100/(100+220)*3.3V。这样就可以很简单的计算出4个按钮按下时,反相放大器的输出结果。但是需要注意的是,当R1为100K时,计算出的结果为-0.1V,小于0。由于放大器没有使用双电源,所以只能输出大于0V的部分,理论计算小于0的部分,只能委屈一点当0了。

4 同相放大器

同相放大器电路就简单一点了,计算公式如下图所示。同样来自《嵌入式系统中使用单电源运算放大器》一文。

这个放大器的放大倍数为3。实际的Vout = 3*Vout1。

5 总结

看的懂的觉得很简单,但是“不说”。分析软件的人要比分析硬件的多。我觉得这很难,好不容易看懂了,我就分享一下。具体的结果如下

UP键按下 2.67V

DOWN键按下 0V(-0.31V)

LEFT键按下下 1.39V

RIGHT键按下 2.24V

代码也写好了,一定公布。最近发现写博客还是很累人的,怪自己文笔太烂了。

最后,我的邮箱 xukai19871105@126.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值