Board logo

标题: STEVAL-MKI109V2的详细资料 [打印本页]

作者: williamwang_st    时间: 2012-5-25 11:09     标题: STEVAL-MKI109V2的详细资料

本帖最后由 williamwang_st 于 2012-6-8 10:32 编辑

STEVAL-MKI109V2作为eMotion Board 套件的母版,它为设计者提供完整的、便捷的ST-MEMS传感器应用开发平台。板上的DIL-24的插槽,可以与ST标准的数字/模拟输出的任意MEMS传感器模组相兼容。板载的高性能32位ARM微处理控制单元,作为连接传感器与计算机之间的桥梁,可以让开发者通过GUI或专用软件来定制自己的应用程序。

steval-mki109.jpg

技术文档
——Data Brief

——User Manual:

硬件资料
——Bill of Materials
      
——PCB Layout


——Schematic Packs


软件资料
——FirmWare
      
——SW Function(该软件为UNICO1.0.0.0版本,Unico2.0.0.0版本点此下载)

虚拟串口驱动: <STM32_VCP_V1.3.1_SETUP>  




For more,please refer to product page! Go to ---> STEVAL-MKI109V2


图片附件: steval-mki109.jpg (2012-5-25 11:09, 30.88 KB) / 下载次数 942
http://bbs.eccn.com/attachment.php?aid=20450&k=2bfbd1d96dba90266a6aadc97f5394e9&t=1732567398&sid=4V8886


作者: 中哈哈    时间: 2012-6-7 22:05

不详细吧…………
作者: zt1234418    时间: 2012-8-7 17:12

貌似电路图和实物不一致啊,比如O1板上连接到第三脚而电路图连接到第二脚。
目前看124V1没有用的引脚也就是可以扩展用的引脚只有模拟输入功能,不知正确与否?
作者: williamwang_st    时间: 2012-8-8 00:34

3# zt1234418

你说的O1指的是不是109上J4上的第5引脚? 经过一个运放之后成为O1_u,最终与STM32的第20脚相连的那个?

没有用到的引脚 你指应该是124的JP1的第3-第12脚吧,也就是109的JP2的第3-12,这些引脚是不是输出,那得看STM32程序中是如何定义/绑定引脚的。
作者: sdu168    时间: 2012-8-16 22:04

4# williamwang_st
版主:
1、 FirmWare 给出的 IAR 工程源码文件里面貌似没有传感器数据的融合这一块?
2、从109V2上传到PC 的只是加速度计、磁力计和陀螺仪的原始数据吗?3、3、 pitch、roll、yaw 三个姿态角度是在Unico中完成的吗?
谢谢
作者: williamwang_st    时间: 2012-8-17 15:42

5# sdu168

1、融合算法好像是不在里面,我再跟公司R&D确认一下。

2、如果程序中没有对数据进行处理,应该是原始数据。

3、Unico 作为一个DEMO软件,它可以实现姿态角的测量(Inclinometer 功能演示)。
作者: lengyusong    时间: 2012-8-17 17:14

    基于卡尔曼滤波器(KalmanFilter)理论,意法半导体iNEMO引擎采用一套自适应预测和滤波算法,能够识别由加速度计、陀螺仪、罗盘以及压力传感器组成的多个传感器的输入信息。新产品可自动修正传感器的测量失真、错误以及干扰,将运动感应数据的真实性提升至前所未有的水平。
    意法半导体的iNEMO引擎传感器整合套件包括iNEMO引擎Lite和iNEMO引擎Pro两个部件。iNEMO引擎Lite是免费运动检测系统评估软件库;iNEMO引擎Pro是含有数据融合算法的编译软件库,能够分析处理多个传感器输出数据,用户可以根据不同的操作系统和硬件平台定制软件。
————以上文字出自【CompoTech China / 2011.10 P80】

    小弟有问题如下,请问:
          1)如果说*debug命令写入后,返回的是原始值,那么就是说iNEMO引擎没有预先写在固件了咯?
          2)如果是这样,那么大赛主办方会为我们提供上述的融合算法的函数库吗?
          3)或者使用者对数据进行滤波、解算,本来就应该是比赛的一部分?
     
!!!另问:我设置加速度计采样率1.25KHz,磁力计220Hz,陀螺仪750Hz;计时采样1s,用*debug返回测量数据,一共可以接收到112组的数据。
          1)三个传感器的采样率不一致,那么按组返回数据中加速度和角速度的测量值如何匹配?(因为1s中会采集1250个加速度值,而只会采集750个角速度值,不是按时一一对应的)是会“以多为主”,即返回1250组数据,其中相邻时间内的角速度可能不更新;还是会“以少为主”,即返回220组数据,其中加速度与角速度多出的测量值会被丢弃?
          2)但是如先前所述,1s中内我只接收到了112组数据,远远小于我的采样率(即便是以220Hz为主)。我又检查了一下,一共返回12,432 字节数据,简单计算一下,12432*8bit~=100000bit~=BaudRate(115200).所以我猜测,我之所以只接受到112组数据是受传输速率限制。请问我的猜测对吗?
          3)按照之前的设定,先假设板子1s内会产生1250组测量数据,如果我在2)中的猜测是对的,也就是说1s内板子无法一次性返回1250组数据给计算机,那么这返回的112组数据是均布在1250组数据中,其他间隔数据被板子舍弃以便实时传送;还是说这112组数据是1250组数据中在前面连续的112组,而后面剩余的数据被写入内存,待发?
作者: williamwang_st    时间: 2012-8-20 16:38

本帖最后由 williamwang_st 于 2012-8-21 14:31 编辑

7# lengyusong

对于前三个问题:
1)*debug命令后,返回是持续采集到的数据、且为readable的。针对iNEMO引擎,我没有在emotion_REL_2.3的代码中没找到,应该是不在。

2)算法数据库涉及到ST的一款软件产品,在官网上的状态为可申请下载,你们可以试下。

3)对传感器数据的处理和使用,肯定是你们项目的一部分。C语言实现的卡尔曼滤波函数网上是找得到的。

至于后面的问题:
首先,你所说是ODR(output data rate)吧,跟采样率应该是2种不同概念。按照emotion_REL_2.3例程,sensor与ARM使用I2C通信。关于速率和数据读取,你看一下tenAxismodule20.C相关的代码,读取A,G,M,P时候的速率虽然不同,但引入变量fastest = GetFastest(actualSpeed, SENSORS_NUMBER),再由*zoff,*start 和*debug的函数定义,不同传感器的读取不是同时的,是由If语句判断。所以应该不存在丢弃的问题。

但是按串口的波特率115200,算下来也就14400字节/M秒,在*start函数中,输出一组buffer[0]~buffer[34] × 8bit, 大概四百多组。正如你所说,这样的速度受串口波特率限制。

输出数据更新模式由CTRL_REG4(LSM303)、CTRL_REG4(l3gd20)、CTRL_REG1(LPS331) 控制,即BDU控制字, Block data update. Default value: 0 (0: continuos update; 1: output registers not updated until MSb and LSb reading)。
作者: liudongyu    时间: 2012-8-26 11:56

看看。。。学习学习
作者: lixiang0210    时间: 2012-8-28 11:28

真是没有想不到的,只有做不到的
作者: zkjdz2012    时间: 2012-9-4 15:09

路过

http://www.jingzgen88.com
作者: sunmete    时间: 2012-9-22 15:36

。。。学习学习
作者: rjp320125    时间: 2012-10-20 20:53


顶一下
作者: esdm    时间: 2012-11-6 16:23

说的挺好,很有用,收藏了www.esd.cn
作者: ae38    时间: 2013-3-29 23:02

看起来不错,谢谢分享




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0