电子工程专辑互动社区>博客>专家博客>allen_zhan博客>驱动VTI-CMA3000之GSENSOR的重要提示
博客档案
呢称:allen_zhan???? 文章(68)???? 访问(134614)???? 评论(350)???? 投票(267)???? 订阅本博??
介绍: Allen Zhan
软件与嵌入式系统开发与服务
GV-TECH
全部博文:
2014年??-?? 8月 7月 6月 5月
查看全部博文
????博客首页

最新精彩博文(2014年3月)?
驱动VTI-CMA3000之GSENSOR的重要提示发布时间:2010-04-11 10:59:21 ? 推荐到论坛

推荐博文到论坛,
即刻奖励2积分!

1. 前言: gsensor的简单选型
对于今天市场上充斥着各种型号, 铺天盖地出货量的 gsensor. 工程师可以做的选型很多. 比较而言,

(1)? bosch 的出货量保证了其价格维持在一个相当的低位.
a. 令人惊叹的复杂的 datasheet 与 sample driver/application. (作为精度不高的 gsensor 的应用, 这样复杂的功能的作用在哪里?``` 当然也可以说, 有比没有好`). 我们可以分析出, bosch的软件开发团队一定比较 powerful.
b. bma020 似乎会干扰 spi 总线? 当然这可能是我们的误用. 是否某些初始设定不正确, 导致 bma020 触发某些中断? 复杂的文档决定我们没有时间再去细研.
c. bma020 的焊盘脆弱, 在smt阶段, 这不是个问题. 在调试阶段, 没有转接板的情况下, 调试是工作量较大的.

(2) 美新号称工业级别的 gsensor 也引起了极大的兴趣.
a. 毕竟同 bosch/vti 服务于消费类电子的几种主流型号比较. 美新的pin 脚(邮戳状)决定了加工便易, 以及将来设备运行的高可靠度.
b. 但是 datasheet 只给出了 i2c, 没有 spi? 这令人奇怪, 是否我们检查的型号不够多?
c. 3d在哪里? 没有3d好奇怪. 如果只有2d 的模块, 限定了设备的安装方向?

(3) vti的 cma3000
a. 超小的size, 目视比 0805 的电阻/电容封装大不了多少? -- 手持设备的开发者超喜欢吧?
b. 芬兰的小型公司制作? 导致价位偏高?
c. 球状焊盘, 很好很强大, 接触面积大, 调试也不容易弄掉.
d. spi/i2c 兼容. spi 着重强调了多个 slave 的使用.?对 spi bus 上挂上 cma3000,提供了充分的信心.
e. 简洁的 datasheet, 少到10个左右寄存器, 简单到仅仅2个 read/write function 的sample driver code. acc-x/y/z 输出很理想, 1bytes 搞定. 很容易计算补码输出,这些均导致代码量小, 兼容简单.
f. 最终我们兼容了 bosch bma020 与 vti cma3000. 限于?TTM 时间, 以上仅仅是数周内的一孔之见.


?2.VTI CMA3000 的 datasheet 的重要疏漏
(1) 调试的过程本来是轻松的简单旅途. 被 datasheet 的疏漏弄成了 1天痛苦煎熬. 记录在此, 方便将来的同行的工作.
(2) 反复检查简单到最简的应用电路, 确定没有连接问题. 再次换用新的 sample 也不能顺利读出数据.
(3) 再次检查 datasheet, 一个不起眼的地方引起我们的兴趣, cma3000 开机后, 会报告 soft_reset / hard_reset 状态. 而且状态位固定为2个 bit, 在 tx bus 上主动输出, 并放置在 cmd resp data 之前.
(4) 我们确认, 重新上电后, bit6/bit7 的位置应该固定输出 1.
(5) 通过阅读 tx bus, 我们的确观察到两个1, 但是遗憾不在 bit6/bit7. 但是无论如何, 这说明 cma3000 在工作...
(6) 调整 spi 的时序, 调整 spi 的speed, 主动加入 delay 在 spi read function. 我们观察到了这两个 1 bit 的位置不断的变化? 那么真的是 spi bus 错误吗?
(7) 枯燥的思考和调试过程不表.
(8) 结论是, cma3000 使用 spi mode0. 使用 spi mode3, 它会不爽.
发现如此简单的事实后, 在下再次努力阅读了 datasheet. 在下在凌晨1点时产生一种冲动, 就是希望给 datasheet 的 writer 的大头上, 一个狠狠的糖炒栗子. 为啥不说呢? 只认mode0, 不认mode3, 你倒是要说啊?!...
(9) 之后的工作是简单愉快的, 就不表了. (~&~)


标签:??
有[ 8 ]名读者喜欢此文 ????
阅读(2039)?? 评论(7)?? [最后更新:2010-04-11 10:59:21]
收藏??I?? 打印??I?? 推荐到我的小组??I?? 转发到我的博客 (0)
对不起,您还没有登录,请先登录注册


新浪微博关注
有 [ 6 ] 名读者发表评论 - 驱动VTI-CMA3000之GSENSOR的重要提示

网友:

传感器视角 快速回复
对不起,您还没有登录,请先登录注册
引用回复 (0)
对不起,您还没有登录,请先登录注册
2010-04-21 16:13
评论: 其实很多从设备都不会去规定是哪类SPI mode的,他们只是规定时序“MISO在SCK的下降沿开始传数据,而MOSI在SCK上升沿开始传输数据”。这类似于规定了SPI的工作模式,那些带硬件SPI的MCU经常会去定义工作模式,然后通过寄存器去选择,切换工作模式。
臭鸡蛋 (0) 鲜花 (0)

网友:

faye.wang 快速回复
对不起,您还没有登录,请先登录注册
引用回复 (0)
对不起,您还没有登录,请先登录注册
2010-04-20 10:54
评论: 顶一下
臭鸡蛋 (0) 鲜花 (0)

网友:

allen_zhan 快速回复
对不起,您还没有登录,请先登录注册
引用回复 (0)
对不起,您还没有登录,请先登录注册
2010-04-14 08:30
评论: 谢谢 JKC2 老兄. 主动输出"敲击"中断的确是一个比较特别的地方. 一般我们见过的 module 都会输出 motion 中断. vti 我记得会给出"自由落体" interrupt. 那也提供信息于此, 方便将来某些行业的同行缩短查询资料的时间.
臭鸡蛋 (0) 鲜花 (0)

网友:

steel。chen 快速回复
对不起,您还没有登录,请先登录注册
引用回复 (0)
对不起,您还没有登录,请先登录注册
2010-04-14 00:11
评论: 之前用过美新的一个Gsensor和freescale的一款,对于一般的简单的运用,freescale的相对更好用一些,可以直接读出芯片的各种姿态,也可以通过读reg来获得若干个简单的动作(如“敲击”之类的),而美新的是通过I2C读取数据,然后自己写算法来做的,相对要麻烦一些。
臭鸡蛋 (0) 鲜花 (0)

网友:

allen_zhan 快速回复
对不起,您还没有登录,请先登录注册
引用回复 (0)
对不起,您还没有登录,请先登录注册
2010-04-13 09:28
评论: ST 的产品线十分复杂, 我们阅读了几个sample datasheet, 我一个粗略的印象是同时支持 I2C 和 SPI. Freescale 我们没有找到供应商支持. 所以无法评价. 电子世界就是这样, 我们选型一方面被产品性能, 价格决定, 一方面则取决于分销商的服务和一贯的合作...
臭鸡蛋 (0) 鲜花 (0)

网友:

forcheer 快速回复
对不起,您还没有登录,请先登录注册
引用回复 (0)
对不起,您还没有登录,请先登录注册
2010-04-13 08:03
评论: 博主写的很好! 不过还有ST和Freescale呢,都不错啊
臭鸡蛋 (0) 鲜花 (0)

网友:

Mike_GS 快速回复
对不起,您还没有登录,请先登录注册
引用回复 (0)
对不起,您还没有登录,请先登录注册
2010-04-12 10:43
评论: 很实用的文章!
臭鸡蛋 (0) 鲜花 (0)
我来评论 - 驱动VTI-CMA3000之GSENSOR的重要提示
您的昵称: 美国的游客 ?????? (您将以游客身份发表,请登录?|?注册 )
您的评论:
?
你还可以输入1000
分享到 新浪微博?? qq空间?? qq微博?? 人人网?? 百度搜藏??
验证码:
? ?
转发到我的博客
评论?@allen_zhan's BLOG?的“驱动VTI-CMA3000之GSENSOR的重要提示”
1.前言:gsensor的简单选型对于今天市场上充斥着各种型号,铺天盖地出货量的gsensor.工程师可以做的选型很多.比较而言,(1)bosch的出货量保证了其价格维持在一个相当的低位.a.令人惊叹的复杂的datasheet与sampledriver/application.(作为精度不高的gsensor的应用,这样复杂的功能的作用在哪里?```当然也可以说,有比没有好`).我们可以分析出,bo
你还可以输入20000
同时评论给?allen_zhan
????
快速回复
?
你还可以输入1000
????
引用回复
引用评论?
?
你还可以输入1000
????
最新评论
热门标签
返回博客首页
有问题请反馈