用msp430f5529lp驱动 ad采集电压怎么处理

MSP430F5529 (四)电源&&&(五)工作模式 - 落叶遍地 - 上海大学乐乎博客--思考,交流,分享,行动,成长,快乐
我在这,你在哪
& MSP430F5529 (四)电源&&&(五)工作模式
9:28:13&|&MSP430F5529 (四)电源&&&(五)工作模式
&之前发布的那几章,会逐步放到通信2011圈子里,在论坛里看的人实在不多&&、电源管理模块(PMM)和供电监控简介&&Power Management Module and Supply Voltage Supervisor&&&&&&& 我觉得电源管理与监控是一个很复杂很难掌控的部分,不仅涉及到&&&到源模式的选择,还牵扯到复杂的中断、以及中断如何处理等等。虽然学好这一部分对实现降低功耗的目的很有帮助,但对于目前的我们来说貌似&&&&& &功耗&一词还稍微远了点。此外,这部分控制对防止和处理供电意外(&(过高过低等)的发生很有帮助,不过貌似这个开发板如果不独立拿来做项&&项目而只是接在电脑USB供电的话,一般也不会有什么问题。所以,我也&&也只打算简单学一下。(到后期有机会会再仔细学)。I/O口和所有模拟单元包括晶振在内都由DVCC供电。内存(flash和RAM)和数字单元由核心电压VCORE供电。DVCC:宽的电源电压范围1.8V-3.6V;VCORE:DVCC经低压降电压调整器(LDO),产生的一个二次核心电压,专门为CPU数字逻辑供电,共有1.4V(0-12MHZ),1.6V(0-16MHZ),1.8V(0-20MHZ)和1.9V(0-25MHZ)四个级别。VCORE的最小允许电压依赖于选择的MCLK大小,也就是说高主频时需要配套较高的VCORE。管理会产生复位(主要是上电期间),监控会产生中断(监控电压是否过高过低)。我们最常用的是设置核心电压VCORE,还好有专门的函数库HAL_PMM.c/h。&&&&&&&&&&&&&&&& 在这个函数库里除了一些设置的定义外,最重要的就是定义了三个函数:&&&&&&&&&&&&&&&&&&&&&&& 降低核心电压&&&&&&&&&&&&&&&&&&&&&&& SetVCoreUp(uint8_t level): 提高核心电压&&&&&&&&&& SetVCore(uint8_t level):直接设置核心电压值(0-3共四级)/*这个函数最重要,或者说有了这一个,前面两个就不需要了*/&五、系统工作模式&&& 第四章我们提到可以从电源层入手,达到从源头上控制功耗的目的。这一章&& 我们就会讲CPU工作模式,如何从次一级来控制功耗。&&& 不同工作模式下,CPU会禁用一些模块,从而达到控制功耗的目的。&&& (PS:同样那句话,&功耗太远&,一般都不会去更改工作模式,所以简&&& 单学习)简介几句话:①改变工作模式会立即生效;②发生中断时,当前的模式设置信息会被保存,以便恢复(除非中断服务程序中改变了工作模式);③处于LPM4.5模式时,PMM的电源监管不会生效,所有的RAM和寄存器都会丢失,但是I/O口状态会锁定;④从LPM4.5唤醒,有一套专门的流程,有兴趣就去看; &下面这张图很有意思,可以清楚的看清工作模式之间转换的流程与方向,以及每种工作模式是怎样设置的,又控制了哪些部分。BOR: Brown-Out Reset 低电压检测复位(欠压复位)POR: Power-On &Reset 上电复位PUC: Power-Up Clear& 上电清除浅色部分表示一个事件,深色部分表示一种操作或设置①设置工作模式主要是设置寄存器SR的SCG0、SCG1、OSCOFF、CPUOFF位,AM(Active Mode)模式时四位均置零,且系统默认为AM模式;②除了AM,其余都为低功耗模式,处理器进入低功耗模式以后,一般由中&&& 断来唤醒。可以是外部中断,也可以是内部的定时器等中断;③LPM0-LPM4模式下,外围模块都会正常工作,且RTC时钟不会停止;④要进入LPM4.5这一模式(更少用),只需在LPM4的基础上多一个&&&&&&& PMMREGOFF置位。该模式下,系统的所有时钟、内存和监督管理机&&& 制都停了,连实时时钟RTC都禁止操作了。⑤和LPM1一组,除了上图显示的特征外,该模式下SMCLK是选通的&&&& &(SMCLKOFF =0),DCO的时钟源如果是ACLK或者SMCLK,则DCO也是有&&&&&& 效的;⑥ LPM2和LPM3一组,除了上图显示的特征外,该模式下SMCLK是禁止的,&&&& DCO的时钟源如果是ACLK,则DCO也是有效的;⑦MSP430的头文件对低功耗模式有详尽的定义,如:要进入低功耗模式0,可&&&& 在程序中直接写LPM0; 进入低功耗模式4,可以直接写LMP4。退出低功& &&&&&& 耗模式如下:LPM0_EXIT; //退出低功耗模式0& //太方便了有木有LPM4_EXIT; //退出低功耗模式4(LPM4.5除外)总结实验:一个很有意思的程序&/*低功耗模式的体现,不用无限循环,程序也不会终止*//*大家会发现,LPM3后面的语句不会执行,程序只会定期执行一下中断服务程序,这是因为LPM3模式下MCLK和SMCLK、FLL都禁止了*/#include&&msp430.h&&void main(void){&& WDTCTL=WDTPW+WDTCNTCL+WDTTMSEL+WDTIS1+WDTIS0;//WDT作定时器用&& SFRIE1|=WDTIE;&&&&&&&&&& //开看门狗中断&& P1DIR|=BIT1+BIT2;&&&&&&&&&& //P1.1接LED,设定为输出方向&& P1OUT=BIT1+BIT2;&& __enable_interrupt();&&& //开总中断&& //_BIS_SR(GIE);& 这句话的意思也是开总中断&& /*这里掌握一个用法_BIS_SR( ):将括号内的变量置位*/&& LPM3;&&&&&&&&&&&&&&&& //进入LPM3低功耗模式,此模式下SMCLK被禁止&& P1OUT&=~BIT2;//这句话执行不了,所以P1.2就会保持常亮,而不会变暗}#pragma vector=WDT_VECTOR__interrupt void WatchTimer(void){&& P1OUT^=BIT1;&&& //定时翻转,以实现闪烁}&&此贴由 落叶公子 在
9:29:38 进行编辑...此贴由 落叶公子 在
10:52:32 进行编辑...此贴由 落叶公子 在
18:47:10 进行编辑...
( 504 KB ) 下载次数 25<div class="votes" id="Score
(不得超过 50 个汉字) (输入完内容可以直接按Ctrl+Enter提交)【问】tiMSP430的AD支持负电压采集吗?-电源网
EMI预一致性测试和调试最大的挑战是如何一次性通过测试。
详解TI每周最新电源产品信息、参数对比、应用设计等内容。
电源网独家视频专访。
包含一个完善的基于LM5175的降压-升压转换器、一个用于PWM调光的驱动器和FET。。
此参考设计是一种扩展工业输入电压范围为 12V 至 36V 的隔离式 Fly-Buck 转换器。
热门课程排名
泰克新闻动态
泰克知识库
怎样运用示波器和探头的功能
PI热门参考设计分类
热门方案下载排行
在交流输入端上进行电流谐波测量
对一个开关装置进行功率和能量损耗测量
对一个电源开关装置进行斜率测量
如何执行与具体电源相关的测量
在线研讨会
演讲嘉宾:赵勇
演讲时间:
简介:基于开关电源的结构和设计
为工程师打开不一样的大牌之门
加入芯派粉丝团,有组织,有靠山
会议主题:泰克LED驱动电源测试方案
会议时间: 10:00
主 讲 人:陈鑫磊
报名人数:火热报名中
演讲嘉宾:陈鑫磊 研发经理
会议时间:
演讲嘉宾:Cale.Huang FAE
会议时间:
演讲嘉宾:吕宝华
会议时间:
【问】tiMSP430的AD支持负电压采集吗?
阅读: 2755
电源币:182&nbsp|&nbsp主题帖:202&nbsp|&nbsp回复帖:36
ti的低功耗单片机MSP430f169的AD支持负电压采集吗?除了用绝对值电路还有其它的方法吗?现在我的方法只能是绝对值电路去处理
电源币:146&nbsp|&nbsp主题帖:228&nbsp|&nbsp回复帖:0
ti的低功耗单片机MSP430f169有以下功能:
12位AD转换器
双路12位DA转换器
两路16位定时器
模拟比较器
两个多功能串口USART
3通道DMA控制器
上电/掉电/电压监测模块
如果要采样负电压,则需要先把负电压转换为正电压才行!
电源网VIP会员专享
无所不能无所不会
电源币:2850&nbsp|&nbsp主题帖:2992&nbsp|&nbsp回复帖:147
AD一般都不支持负压,用绝对值电路比较好,比镜像电路要好。
一般都是用绝对值转换电路。
电源币:40&nbsp|&nbsp主题帖:439&nbsp|&nbsp回复帖:37
进来学习下。
电源币:1173&nbsp|&nbsp主题帖:514&nbsp|&nbsp回复帖:13
不可以哦,430供电为正的,采样就要为正电压。
只需把负电压转为正电压来采样就可以了,
编程的时候知道采样的电压值为负的,那就可以解决问题了
电源币:1362&nbsp|&nbsp主题帖:413&nbsp|&nbsp回复帖:24
学习,AD是不支持负电压采集的,一般都是用用绝对值电路
电源币:0&nbsp|&nbsp主题帖:279&nbsp|&nbsp回复帖:83
不支持的~AD采样必须是正电压~
要把一个负电压范围转换成一个正电压范围~还可以用加法器~加一个正的偏置量~
电源网VIP会员专享
电源币:184&nbsp|&nbsp主题帖:1591&nbsp|&nbsp回复帖:137
一般是不支持的,需要先变成正的才可以额
电源币:440&nbsp|&nbsp主题帖:327&nbsp|&nbsp回复帖:41
不支持的,AD采样要正电压才行的
电源币:806&nbsp|&nbsp主题帖:73&nbsp|&nbsp回复帖:1
不可以,430不支持负压采集的
关于电源网
我们的服务
服务时间:周一至周五9:00-18:00
电源网版权
增值电信业务经营许可证:津B2-
网博互动旗下网站:后使用快捷导航没有帐号?
查看: 1981|回复: 7
关于430F5529DA输出正弦波和AD采集
在线时间8 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 8, 距离下一级还需 192 积分
一粒金砂(中级), 积分 8, 距离下一级还需 192 积分
这次要用MSP430F5529来输出正弦波,可用外设DA,不知道选什么芯片,也不知道程序怎么写
在线时间8 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 8, 距离下一级还需 192 积分
一粒金砂(中级), 积分 8, 距离下一级还需 192 积分
本帖子中包含更多资源
才可以下载或查看,没有帐号?
在线时间8 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 8, 距离下一级还需 192 积分
一粒金砂(中级), 积分 8, 距离下一级还需 192 积分
外设DA用TLV5616,现在问题是怎么输出正弦波。。跪求各位大神帮妹纸写个输出正弦波的程序
在线时间8 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 8, 距离下一级还需 192 积分
一粒金砂(中级), 积分 8, 距离下一级还需 192 积分
#include&msp430x552X.h&
#include &HAL_Dogs102x6.h&
#define SCLK_HIGH& && &P4OUT |= BIT5
#define SCLK_LOW& && & P4OUT &= ~BIT5
#define CS_HIGH& && &&&P4OUT |= BIT4
#define CS_LOW& && && &P4OUT &= ~BIT4
#define FS_HIGH& && &&&P2OUT |= BIT0
#define FS_LOW& && && &P2OUT &= ~BIT0
#define DIN_HIGH& && & P7OUT |= BIT0
#define DIN_LOW& && &&&P7OUT &= ~BIT0
unsigned&&int temp, temp1;
unsigned int sin[120]={0x800,0x86b,0x8d5,0x940,0x9a9,0xa11,0xa78,0xadd,0xb40,
0xba1,0xbff,0xc5a,0xcb3,0xd08,0xd59,0xda7,0xdf1,0xe37,0xe78,0xeb5,0xeed,0xf20,
0xf4e,0xf77,0xf9b,0xfb9,0xfd2,0xfe6,0xff4,0xffd,0xfff,0xffd,0xff4,0xfe7,0xfd3,
0xfba,0xf9c,0xf78,0xf4f,0xf21,0xeee,0xeb6,0xe7a,0xe39,0xdf3,0xda9,0xd5c,0xd0a,
0xcb5,0xc5d,0xc02,0xba4,0xb43,0xae0,0xa7b,0xa14,0x9ac,0x943,0x8d9,0x86e,0x803,
0x798,0x72d,0x6c3,0x659,0x5f1,0x58a,0x525,0x4c2,0x461,0x403,0x3a7,0x34f,0x2fa,
0x2a8,0x25a,0x210,0x1cb,0x189,0x14c,0x114,0xe1,0xb2,0x89,0x65,0x46,0x2d,0x19,
0xb,0x3,0x0,0x2,0xa,0x18,0x2b,0x44,0x62,0x86,0xae,0xdc,0x10f,0x147,0x183,0x1c4,
0x20a,0x253,0x2a1,0x2f2,0x347,0x39f,0x3fa,0x458,0x4b9,0x51c,0x581,0x5e7,0x650,
0x6b9,0x723,0x78e};
void init_clk()& &&&
&&BCSCTL1 &= ~XT2OFF;& &//打开XT2高体振荡器
& & IFG1 &= ~OFIFG;& &&&//清除晶振失败标志
& & for (i = 0xFF; i & 0; i--); //等待8MHZ晶体起振
&&while ((IFG1 & OFIFG) != 0);&&//晶振失效标志仍然存在?
&&BCSCTL2 |= SELM_2;&&//MCLK和SMCLK选择高频晶振
&&BCSCTL2 |= SELS;
void Dac5616_Init(void)
&&P2DIR |= BIT0;
&&P4DIR |= (BIT4 + BIT5);
&&P7DIR |= BIT0;
void Dac_5616(unsigned int data)
&&CS_HIGH;
&&SCLK_HIGH;
&&FS_HIGH;
&&for (i=0; i&16; i++)
& & if (data & 0x8000) DIN_HIGH;
& & else DIN_LOW;
& & SCLK_LOW;
& & data = data && 1;
& & SCLK_HIGH;
& && && && && && &
&&FS_HIGH;
&&CS_HIGH;& & & &
void delay (int x)
&&unsigned int i, j = 1;
&&while(1)
& & for (i = 0; i & i++)
& && &for (j = 0; j & 5000; j++)
& && &;;& && &
void port_init()
&&temp = 0;
&&temp1 = 0;
void TimerB_init()
&&TBCCR0 = 1;
&&TBCTL |= TBSSEL_2 + TBCLR + MC_1;
&&TBCCTL0 = CCIE;
#pragma vector = TIMERB0_VECTOR
__interrupt void Timer_B (void)
&&temp++;& &&&
&&if (temp == 120)
& & temp = 0;
&&temp1 = sin[temp];
&&Dac_5616(temp1);
void main( void )
&&// Stop watchdog timer to prevent time out reset
&&WDTCTL = WDTPW + WDTHOLD;
&&Dogs102x6_init();
&&Dogs102x6_backlightInit();
&&Dogs102x6_setBacklight(5);
&&Dogs102x6_setContrast(8);
&&Dogs102x6_clearScreen();
&&/*char string[6];
&&Dac5616_Init();
&&P1DIR |= BIT7;
&&P1REN |= BIT7;& & //上拉电阻
&&P1OUT |= BIT7;
&&P2DIR |= BIT2;
&&P2REN |= BIT2;& & //上拉电阻
&&P2OUT |= BIT2;
&&if (0 == (P2IN & BIT2))
& & delay(5);
& & if (0 == (P2IN & BIT2))
& && &temp = temp + 8;
& && &if (temp == 4096)
& && &&&temp = 0;
& && &Dac_5616(temp);
&&string[0] = temp/1000 + '0';
&&string[1] = temp/100%10 + '0';
&&string[2] = temp/10%10 + '0';
&&string[3] = temp%10 + '0';
&&string[4] = '\0';
&&Dogs102x6_stringDraw(3, 10, &STEP&, DOGS102x6_DRAW_NORMAL);
&&Dogs102x6_stringDraw(3, 60, string, DOGS102x6_DRAW_NORMAL);
&&if (0 == (P1IN & BIT7))
& & delay(5);
& & if (0 == (P1IN & BIT7))
& && &temp = temp - 8;
& && &if (temp == 0)
& && &&&temp = 4096;
& && &Dac_5616(temp);
&&string[0] = temp/1000 + '0';
&&string[1] = temp/100%10 + '0';
&&string[2] = temp/10%10 + '0';
&&string[3] = temp%10 + '0';
&&string[4] = '\0';
&&Dogs102x6_stringDraw(3, 10, &STEP&, DOGS102x6_DRAW_NORMAL);
&&Dogs102x6_stringDraw(3, 60, string, DOGS102x6_DRAW_NORMAL);
&&//init_clk();
&&port_init();
&&Dac5616_Init();
&&TimerB_init();
&&_EINT();
&&while(1);
为什么我这个程序无法输出正弦波?
在线时间89 小时
芯币144 枚
TA的帖子TA的资源
一粒金砂(中级), 积分 30, 距离下一级还需 170 积分
一粒金砂(中级), 积分 30, 距离下一级还需 170 积分
楼主可不可以交流一下,我还不会的感觉
我也不会。。。&
在线时间8 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 8, 距离下一级还需 192 积分
一粒金砂(中级), 积分 8, 距离下一级还需 192 积分
楼主可不可以交流一下,我还不会的感觉
我也不会。。。
在线时间89 小时
芯币144 枚
TA的帖子TA的资源
一粒金砂(中级), 积分 30, 距离下一级还需 170 积分
一粒金砂(中级), 积分 30, 距离下一级还需 170 积分
好吧,楼主努力
在线时间17 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
while(1);只是执行一遍???
Powered by
逛了这许久,何不进去瞧瞧?MSP-EXP430F5529LP建立工程与烧写_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
MSP-EXP430F5529LP建立工程与烧写
上传于||文档简介
&&M&#8203;S&#8203;P&#8203;-&#8203;E&#8203;X&#8203;P&#03;3&#03;F&#03;5&#03;9&#8203;L&#8203;P&#8203;建&#8203;立&#8203;工&#8203;程&#8203;与&#8203;烧&#8203;写
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩2页未读,继续阅读
你可能喜欢MSP-EXP430F5529LP快速测试_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
MSP-EXP430F5529LP快速测试
上传于||文档简介
&&M&#8203;S&#8203;P&#8203;-&#8203;E&#8203;X&#8203;P&#03;3&#03;F&#03;5&#03;9&#8203;L&#8203;P&#8203;快&#8203;速&#8203;测&#8203;试
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
你可能喜欢

我要回帖

更多关于 msp430f5529lp驱动 的文章

 

随机推荐