打印

请高手指点:测量位置的PSOC微控制器与LVDT(Psoc学习之一)

[复制链接]
2691|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
碧水长天|  楼主 | 2008-6-5 14:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
   之所以要从《测量位置的PSOC微控制器与LVDT入手》学习psoc,不仅仅是因为我有一个lvdt,更因为这个题目很具挑战性。

   起源:《测量位置的PSOC微控制器与LVDT入手》一文被各大刊物转载,几年前就读到了这篇**,这次我决心实现它。

   首先,我仔细研读了原文,基本弄清了实现的原理,但是有几个问题不解,先列在这里,盼高手答疑,不胜感谢 !

   问题 :
在**最后一个图表配置图中,有几个疑问:
1. DBB00模块究竟是什么模块?看图中似乎是FreqSrc TIMER1,我在 PSOC Designer4.4中未找到这个模

块,并且,这个模块为什么有一个连接到ACB00并作为ACB00以及带通滤波器的时钟?

2 DBB10并未配置,为何有一个输出连接到多路开关?它起什么作用?

3 从**中看,LVDT的输出要通过同步整流后再加到低通滤波器,配置图中这个同步整流模块在哪里?或

者它是如何实现的?

4 没看明白方波信号是如何进入带通滤波器的?

5 P1(0)是做什么用的,为何电路原理图中此引脚是悬空的?

6 LPF_1为何能占用ASC12和ASD12,我配置时LBPF2_1 FLIN和FLOUT只能上下排列,而不能水平排列。

7 REFMUX模块在这里起什么作用?


原文:
中文链接 http://www.**news/display/article/11880
英文链接http://www.edn.com/article/CA6382647.html

请高手尤其请cypress公司的高手们指点一二,先行谢过。
相关链接:http://www.**news/display/article/11880
沙发
碧水长天|  楼主 | 2008-6-5 14:51 | 只看该作者

保留

此栏预留

使用特权

评论回复
板凳
牛刀小试| | 2008-6-5 17:23 | 只看该作者

建议搂主从PSoC基本入手

从基础入手的话就比较容易明白DBB,ASC,ASD等等没有那么神秘,只是基本的数字模块和模拟模块,在设置用户模块时可以放置在你想要的位置,建议你找一个代理商对PSoC Designer使用方法给你介绍一下,实际看一下就比较容易理解了

使用特权

评论回复
地板
PSoC_Rock| | 2008-6-6 11:47 | 只看该作者

牛刀小试的话很实在

牛刀小试的话很实在,不要好高务远。一口吃不了一个大胖子!

使用特权

评论回复
5
碧水长天|  楼主 | 2008-6-6 17:20 | 只看该作者

感谢二位关注,上原文。

感谢二位的关注,两位的话自然有道理,我把原文贴到这里,这样方便大家看,请有兴趣一起来学习,也请高手抽空指点我所要问的问题感激不尽。

至于使用psoc的pwm模块来点一个led,这样的例子我照教材是可以做到的,但这不是目的。我希望用它做一些有意思的东西,

   用于位置测量的PSoC微控制器与LVDT 

将一个LVDT(线性可变差分变压器)连接到微控制器是有挑战性的工作,因为LVDT需要交流输入激励和交流输出的测量,以确定其可移动核的位置(参考文献1)。多数微控制器都缺乏专用交流信号生成与处理能力,因此需要外部电路产生任意谐波、波幅与稳定频率的正弦波信号。LVDT输出信号的波幅与相位转换成与微控制器内部ADC兼容的形式,一般需要添加外部电路。

  与传统微控制器相比,Cypress半导体公司的PSoC微控制器含有用户可配置的逻辑和模拟模块,简化交流信号的生成与测量。PSoC器件具有无需连续CPU的干预就能生成模拟信号的独特功能。PSoC灵活的模拟与数字模块可以驱动一支LVDT,并无需外部电路就可以测量其输出。图1显示的是LVDT接口的完整电路,图2显示的是PSoC微控制器的内部电路框图。



图1 LVDT接口的完整电路(见第8楼)



图2 PSoC微控制器的内部电路框图(见第9楼)

  PSoC采用多对用户可配置的开关电容器模块,实现带通和低通滤波器。通过生成方波,并通过建立在首个开关电容器模块中的稳压器,加在PSoC开关电容滤波器上,从而创建  
高质量正弦波。通过一个中心位于方波基频的窄带带通滤波器,方波可以去除绝大多数谐波。

  为从PSoC开关电容带通滤波器产生最高保真度的正弦波,要使用尽可能高的过采样速率,因数约为33,即每个正弦波周期33阶。合成的正弦波足够平滑到足以驱动能衰减残余更高谐波的LVDT。用可编程增益放大器调整PSoC的内部电压基准,可以在滤波前对方波幅度作粗略的控制。为补偿波形直流偏置电压,放大器对2.6V内部模拟地基准进行缓冲,并驱动用作LVDT模拟地回路的输出管脚。

  LVDT输出由幅度可变的正弦波电压组成,其相对于正弦波激励电压的相位角要经受一个相当大的可变移位,有时相移会超过180。LVDT的信号驱动PSoC的可编程增益放大器,其输出送至开关电容低通滤波器,跟随一个用于同步整流的稳压器。整流后的信号驱动一输出管脚,以及PSoC的开关电容ADC。

  将LVDT输出加在同步稳压器上,跟随一个低通滤波器,产生直流电压送至ADC或直接驱动模拟反馈控制系统。在PSoC微控制器中,连接到ADC的低通开关电容滤波器需要相同的采样时钟驱动这两个电路,导致PsoC的11位Δ-S ADC的转换速率大约是低通滤波器角频率的一半。同步稳压产生两倍激励频率纹波频率,因此更容易被低通滤波器去除。将、重新设计低通滤波器的角频率为激励频率的三分之一,就可以在等于或低于1 LSB(最低有效位)标准差下,使LVDT输出的测量达到11位分辨率。

  用配置为计数器链的逻辑电路块将PsoC的24MHz内部系统时钟分频,产生开关电容器模拟电路模块所需的数字时钟信号。在加电或复位后,PSoC的CPU配置所有可配置的模拟和数字电路模块,并开始运行。从那以后,硬件便能够激励LVDT,并无需CPU参与的情况下,以每秒500次采样速率测量其输出。当PSoC CPU运行在12MHz时,处理ADC内部动作和中断只消耗CPU不到3%的资源。

  大量PSoC资源仍可用于计算LVDT位置,以及在LCD模块上以文本形式显示结果。四个模拟电路模块、五个逻辑电路模块和很多I/O管脚都可用于支持更高要求的应用。图3显示了可用于附加功能的可配置模块。



图3 可用于附加功能的可配置模块


相关链接:https://bbs.21ic.com/upfiles/img/20077/2007722173327187.pdf

使用特权

评论回复
6
碧水长天|  楼主 | 2008-6-6 17:23 | 只看该作者

还是上图片吧,不是很清楚


在下面的配置图中,有几个疑问:
1. DBB00模块究竟是什么模块?看图中似乎是FreqSrc TIMER1,我在 PSOC Designer4.4中未找到这个模

块,并且,这个模块为什么有一个连接到ACB00并作为ACB00以及带通滤波器的时钟?

2 DBB10并未配置,为何有一个输出连接到多路开关?它起什么作用?

3 从**中看,LVDT的输出要通过同步整流后再加到低通滤波器,配置图中这个同步整流模块在哪里?或

者它是如何实现的?

4 没看明白方波信号是如何进入带通滤波器的?

5 P1(0)是做什么用的,为何电路原理图中此引脚是悬空的?

6 LPF_1为何能占用ASC12和ASD12,我配置时LBPF2_1 FLIN和FLOUT只能上下排列,而不能水平排列。

7 REFMUX模块在这里起什么作用?

使用特权

评论回复
7
phoenixmy| | 2008-6-6 17:24 | 只看该作者

漂亮



psoc是可视化编程??
图很漂亮啊

使用特权

评论回复
8
碧水长天|  楼主 | 2008-6-6 17:28 | 只看该作者

继续传电路图

电路原理图

使用特权

评论回复
9
碧水长天|  楼主 | 2008-6-6 17:30 | 只看该作者

lvdt信号调理结构框图




lvdt信号调理结构框图。

使用特权

评论回复
10
PSoC_Rock| | 2008-6-10 16:09 | 只看该作者

请参考

1. DBB00模块究竟是什么模块?看图中似乎是FreqSrc TIMER1,我在 PSOC Designer4.4中未找到这个模块,并且,这个模块为什么有一个连接到ACB00并作为ACB00以及带通滤波器的时钟?

就是定时器模块,起了个名字叫FreqSrc.它作为SC模块的时钟.

2 DBB10并未配置,为何有一个输出连接到多路开关?它起什么作用?

它可能在程序里配置了.


6 LPF_1为何能占用ASC12和ASD12,我配置时LBPF2_1 FLIN和FLOUT只能上下排列,而不能水平排列。

可以水平排列,在选择滤波器时有上下和水平排列的选择。

7 REFMUX模块在这里起什么作用?

将内部的模拟参考电压AGND, REFHI, REFLO或由外部输入的参考电压路由到模拟输出总线.

其他就要问作者了.

使用特权

评论回复
11
碧水长天|  楼主 | 2008-6-10 22:25 | 只看该作者

多谢PSoC_Rock的回答



1. DBB00模块究竟是什么模块?看图中似乎是FreqSrc TIMER1,我在 PSOC Designer4.4中未找到这个模块,并且,这个模块为什么有一个连接到ACB00并作为ACB00以及带通滤波器的时钟?

就是定时器模块,起了个名字叫FreqSrc.它作为SC模块的时钟.

Q: 这个能更改名字吗,我在PSOC Designer4.4中并没有发现此功能,当然这个没关系。

2 DBB10并未配置,为何有一个输出连接到多路开关?它起什么作用?

它可能在程序里配置了.

Q: DBB10本身是空白的数字块,并未放置任何模块,程序能配置吗?
如果配置的话,那么这个块是做什么用的呢?


6 LPF_1为何能占用ASC12和ASD12,我配置时LBPF2_1 FLIN和FLOUT只能上下排列,而不能水平排列。

可以水平排列,在选择滤波器时有上下和水平排列的选择。

Q:我在PSOC Designer4.4中,选择了滤波器之后,在调整不同的位置时,一直没有发现能水平排列,因为水平排列已经跨越它所在的纵栏了。

7 REFMUX模块在这里起什么作用?

将内部的模拟参考电压AGND, REFHI, REFLO或由外部输入的参考电压路由到模拟输出总线.

RE:多谢,这个我再仔细看看。

有不懂的再向大家请教!

非常感谢!

使用特权

评论回复
12
PSoC_Rock| | 2008-6-11 11:37 | 只看该作者

回楼上

Q: 这个能更改名字吗,我在PSOC Designer4.4中并没有发现此功能,当然这个没关系。

任何模块的名字都可由用户再命名。

Q: DBB10本身是空白的数字块,并未放置任何模块,程序能配置吗?
如果配置的话,那么这个块是做什么用的呢?

配置模块就是设置寄存器,程序里也可以做。至于这个块是做什么用的呢就不知道了。

Q:我在PSOC Designer4.4中,选择了滤波器之后,在调整不同的位置时,一直没有发现能水平排列,因为水平排列已经跨越它所在的纵栏了。

水平排列一般在第一第二列或第三第四列。水平/垂直排列是在放置模块时选择。

使用特权

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

本版积分规则

20

主题

120

帖子

1

粉丝