打印

【MSP430i2xx教程第三讲】24-BitΣ-Δ ADC & FlashCtl-Flash存储控制器

[复制链接]
楼主: xlhtracy
手机看帖
扫描二维码
随时随地手机跟帖
61
吼吼430新手围观!

使用特权

评论回复
62
anvy178| | 2015-4-11 09:02 | 只看该作者
本帖最后由 anvy178 于 2015-4-11 09:07 编辑
数码小叶 发表于 2015-4-10 15:59
我的意思是他的优势那块,没搞明白

同步数据采样  就是  优势   ,同步数据采样的 AD   单单一个AD  都比 这个CPU贵 。同步数据采样在很多场合是需要用到的,特别 是在电力系统中 ,相当有用。  还有就单单一个通道来说  (其实这个是 AD转换内核的优势),他的优势 就是 信噪比  别的同样的  24位AD  提高了(相对于CPU来说,AD公司的专门 AD比它的 好不少, 信噪比)。

使用特权

评论回复
63
anvy178| | 2015-4-11 09:14 | 只看该作者
feiting94 发表于 2015-4-10 13:10
是不是这里一个converter对应一个channel,选好了converter就确定了channel了呢?
不过这里converter只有 ...

converter  相当于 AD转换的内核  ,通道对应的是模拟输入, 但是converter 选择那一个通道进行转换,使用者可以通过编程 寄存器来实现, 相当于在  converter 之前 有个多路模拟开关跟channel 是连接的。

使用特权

评论回复
64
anvy178| | 2015-4-11 10:29 | 只看该作者
hanzhenfei 发表于 2015-4-10 12:52
根据图5.2内部应该有7个通道的ADC,其中通道0~5是测量外部信号用,通道6是测量温度传感器模块的。
输入通道 ...

你仔细看 这个系列的通道选择寄存器  你就会明白    所谓的 通道选择 寄存器    其实 就真正的 只有两个选择
一个转换器  只能选择一个外部通道,就是说  转换器0  只能选择A0  通道。 现在  所有的 这个系列的430  最多就只有 4 对  外部通道。  

使用特权

评论回复
65
anvy178| | 2015-4-11 11:36 | 只看该作者
本帖最后由 anvy178 于 2015-4-11 13:45 编辑

      MSP430I23xxx 系列  SD24 功能小分解。 SD24  AD转换功能功能的强大 大家可以看介绍就行了。下面专门针对读者两个比较困惑的问题发表一下。
        第一个是 输入通道 跟转换器之间的关系。一看  介绍  ,此 AD有4个独立的AD转换核心 还每个converter都可以通过 SD24INCHx
(x代表1,2,3,4.   ,4个converter的输入通道选择寄存器)来选择不同的输入通道。 如下图红色方框圈住的就是输入通道控制寄存器SD24INCTLX
其中的三个位(SD24INCHx)。



大家 看到这里  就会想, 哇塞 好多AD口啊  ,4个converter  通过SD24INCTLX 的三个位来切换,就有4X8=32 个模拟输入通道哦(可能还有别的想法,或者4个converter可以随意接到这上面的8个通道的 任何一个)。但是  事实个这个是有50%的误差的 ,为什么是百分之50呢。就是分开模拟输入通道与 温度传感器通道来说的。  对 温度传感器通道来说(温度传感器通道在第六通道),确实是这样子的 ,就是4个converter 都可以分别选择到温度传感器这个通道上。(能不能一起选,没试过,现实使用我估计也没人这么用法)。但是模拟输入通道,就不是这个样子的了,前面6个模拟输入通道选择(实际上这个系列的MCU 根本就没有6对模拟输入 我暂时看的这个系列的所有CPU,最多只有4对),应该是说跟各个converter绑定在一起的 。 举个例子说明下,  比如说你选择了converter0,那么不管你选择那个通道(0,1,2,3,4,5,除了第六个是连接内部温度传感器的外)。你实际的物理模拟输入通道 ,只会是A0.0。  证据在那里呢?看 MSP430i2xx Family user guide的SD24部分的  输入控制寄存器SD24INCTLX(x代表0,1,2,3)中的输入通道控制寄存器位 ,大家看红色圈圈圈住的  是不是都是指向同一个模拟通道啊 ?!  所以 ,在编程之中 ,就只有SD24_INPUT_CH_ANALOG 与SD24_INPUT_CH_TEMPERATURE这两个参数的区分,并不区分输入的 1,2,3,4,5通道。用户选中相对的converter之后,只要确定是模拟输入 还是温度输入就行了。


  





第二个功能 就是此AD的  分组功能。此功能在通道控制寄存器的第1位上(SD24GRP)。所以,param的第三个成员参数,就是为了设置这个位的。 把4个converter 分组有什么好处呢?正常我们控制AD的时候,都是一个一个的控制 ,就是一个一个通道的分别分时采集。SD24分组后,就可以同时同步的进行不同的通道或者说 不同的converter进行同步的采集。分组就是为了实现这个同步采集的的功能。在分组中 ,只需要对其中一个converter进行转换,那么跟他一组的 converter 也会同步进行转换。这就是所谓的同步数据采集。 举个例子:假如你把4个converter 都弄成了同一组,那么你只需要对第四个converter进行控制转换,其它的三个converter就会同时跟着进行自动转换了,不用对每一个converter都进行一次SD24_startConverterConversion的操作。


     









使用特权

评论回复
66
1552424793| | 2015-4-11 12:33 | 只看该作者
强势围观中

使用特权

评论回复
67
hanzhenfei| | 2015-4-11 12:38 | 只看该作者
本帖最后由 hanzhenfei 于 2015-4-11 12:48 编辑

举个例子说明下,  比如说你选择了converter0,那么不管你选择那个通道(0,1,2,3,4,5,除了第六个是连接内部温度传感器的外)。你实际的物理模拟输入通道 ,只会是A0.0。

楼上any分析的很透彻。 图上也确实是这样的。
     

这是chanel 1的图,   A1.0+, A1.0-   对应的都是    000  to 101.
看了下用户手册   SD24INCHx 选择  :A0.0+,A0.0- ;A1.0+,A1.0- ; A2.0+, A2.0- ;A3.0+, A3.0- 对应的都是 000 to 101

使用特权

评论回复
68
必胜客A| | 2015-4-11 12:43 | 只看该作者
cowboy2014 发表于 2015-4-9 21:19
这个是msp430单片机自己带的AD吗?

是的,这是这个系列单片机的特色

使用特权

评论回复
69
hanzhenfei| | 2015-4-11 12:51 | 只看该作者
anvy178 发表于 2015-4-11 10:29
你仔细看 这个系列的通道选择寄存器  你就会明白    所谓的 通道选择 寄存器    其实 就真正的 只有两个 ...

是的,现在明白了。

使用特权

评论回复
70
hanzhenfei| | 2015-4-11 17:59 | 只看该作者
本帖最后由 hanzhenfei 于 2015-4-11 19:39 编辑

学习啦

使用特权

评论回复
71
aliu_us| | 2015-4-11 18:47 | 只看该作者
anvy178 发表于 2015-4-10 10:25
这个AD的 积分非线性  去到正负%0.003  还要 加上 增益误差   不同的设置增益   增益误差 是不一样的。还 ...

先不说精度,不知道稳定性如何?用过SD16,确实是能稳定的获得16bit采样结果。
SD24是对SD16的改进,不知道实际效果如何?

使用特权

评论回复
72
地瓜patch| | 2015-4-11 22:23 | 只看该作者
xlhtracy 发表于 2015-4-9 09:54
详解void FlashCtl_eraseSegment (uint8_t  *flash_ptr)  擦除单个闪存块段。  对于像 MSP430i204x 的MCU, ...


指针,写程序这么久,指针用的还是很烂。写个程序一直一直绕开指针,能不用聚不用。必须用也不用。到现在还是不会用。
技术高,再来个指针的专题吧。不要复制的长篇大论,要你自己理解,你的应用经验。

使用特权

评论回复
73
数码小叶| | 2015-4-11 23:15 | 只看该作者
本帖最后由 数码小叶 于 2015-4-11 23:48 编辑

回复错误:L

使用特权

评论回复
74
数码小叶| | 2015-4-11 23:16 | 只看该作者
地瓜patch 发表于 2015-4-11 22:23
指针,写程序这么久,指针用的还是很烂。写个程序一直一直绕开指针,能不用聚不用。必须用也不用。到现在 ...

你去搜下“七个指针”,简单明了;P

使用特权

评论回复
75
数码小叶| | 2015-4-11 23:18 | 只看该作者
本帖最后由 数码小叶 于 2015-4-11 23:47 编辑

回复错误:L

使用特权

评论回复
76
数码小叶| | 2015-4-11 23:29 | 只看该作者
anvy178 发表于 2015-4-11 10:29
你仔细看 这个系列的通道选择寄存器  你就会明白    所谓的 通道选择 寄存器    其实 就真正的 只有两个 ...

看官方资料,可以最多达到7个,不是4个,并且各个寄存器也是有的,7个,可以查看头文件

使用特权

评论回复
77
数码小叶| | 2015-4-11 23:31 | 只看该作者
aliu_us 发表于 2015-4-11 18:47
先不说精度,不知道稳定性如何?用过SD16,确实是能稳定的获得16bit采样结果。
SD24是对SD16的改进,不知 ...

实际效果,有待作者给大家验证下;P;P

使用特权

评论回复
78
hanzhenfei| | 2015-4-12 07:07 | 只看该作者
本帖最后由 hanzhenfei 于 2015-4-12 07:12 编辑

我查了下,目前i系列的mcu只有i202x,i203x,i204x,i204x最多也只有4个chanel sd24转换器,a0.0~a3.0。最多达7个可能为以后预留的。

使用特权

评论回复
79
地瓜patch| | 2015-4-12 11:38 | 只看该作者
本帖最后由 地瓜patch 于 2015-4-12 11:41 编辑
数码小叶 发表于 2015-4-11 23:16
你去搜下“七个指针”,简单明了


这个“七个指针”真没找到,谢谢楼上

使用特权

评论回复
80
anvy178| | 2015-4-12 15:23 | 只看该作者
数码小叶 发表于 2015-4-11 23:29
看官方资料,可以最多达到7个,不是4个,并且各个寄存器也是有的,7个,可以查看头文件 ...

你看用户指南SD24  输入控制寄存器  就知道了  是有7个  不过 其实 就两个

使用特权

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

本版积分规则