zouke8036914

  • 2019-01-11
  • 发表了主题帖: CCS中如何通过graph观察DSPF2812的PWM输出?

    如题所示,最近在入门DSP的PWM波形的产生,网上是有一大段例程,个人也根据这一大段例程进行了相应的配置,配置EVA中T1定时器的波形比较PWM输出。用的CCS6.0版本,其中编译器中有一个动态显示变量数值的功能:expression中的graph。在手头没有示波器的情况下,想用这个去观察PWM波形变化。但是,试了很多次,graph中观察T1计数寄存器的时候,能够看出来定时器处于连续增模式下,但是,选择观察PWM输出I/O口的数据寄存器变量0和1的时候,并没有观察到PWM输出口数据寄存器的值有变化,这是不是说明没有配置成功?手头没有示波器看不了。。。 配置代码:         EvaRegs.T1PR = 15000; //设置周期值         EvaRegs.T1CMPR = 7500;         EvaRegs.T1CNT = 0x0000;  //         EvaRegs.T1CON.bit.TMODE = 2;  //连续增计数模式         EvaRegs.T1CON.bit.TPS = 7;   //定时器1的输入时钟预定标系数128         EvaRegs.T1CON.bit.TCLKS10 = 0; //定时器1使用内部时钟源         EvaRegs.T1CON.bit.TCLD10 = 0; //计数器为0时,重载定时器的比较寄存器         EvaRegs.T1CON.bit.TECMPR = 1; //使能定时器的比较操作         EvaRegs.GPTCONA.bit.TCMPOE = 1; //通过逻辑产生T1/T2PWM         EvaRegs.GPTCONA.bit.T1CTRIPE = 1;         EvaRegs.GPTCONA.bit.T1PIN = 0; //T1PIN低电平有效         EvaRegs.T1CON.bit.TENABLE = 1; //使能通用定时器GP 1

  • 2018-11-26
  • 回复了主题帖: 普通贴片叠层电感可以用作DC-DC升压电路的芯片电感吗?

    z45217 发表于 2018-5-10 09:41 这么多天过去了,有解决了吗,有没有试试不用电池,直接拿个可调电源,从3V慢慢减到2.7V
    有很多天过去了,结果还是电源的问题,锂电池带不动

    1. 【讨论】 CCS中如何通过graph观察DSPF2812的PWM输出? 0/101 【微控制器 MCU】 2019-01-11
    2. 【求助】 普通贴片叠层电感可以用作DC-DC升压电路的芯片电感吗? 23/3752 PCB设计 2017-09-05
    3. 【求助】 MSP430单片机DMA串口发送数据 0/1212 单片机 2016-12-25
    4. 【求助】 MSP430F5438A单片机对PWM方波采样,串口发送结果出不来波形 3/822 单片机 2016-12-21
    1. z45217 发表于 2018-5-10 09:41 这么多天过去了,有解决了吗,有没有试试不用电池,直接拿个可调电源,从3V慢慢减到2.7V
      有很多天过去了,结果还是电源的问题,锂电池带不动
    2. hdwcyzyy 发表于 2017-9-6 09:03 mcu应该没你想的那么脆弱,换电感可以了么?电源稳定了再说AD的问题哎
      换了个电感,电源能够接通一段时间,正常工作一段时间后电源又断了。检测电源通路时输出只有0.6V,通路时升压芯片输出0.8V说明升压芯片应该还在工作?断路时单测电源却有2.7V电压,说明电路整体电阻极小?哪里又不对了。。。{:1_98:}
    3. gxg1122 发表于 2017-9-6 11:40 建议楼主将这个电感改成绕制电感插件看看。感值调大点,几十uH看看
      明白,继续修改~
    4. hdwcyzyy 发表于 2017-9-6 09:03 mcu应该没你想的那么脆弱,换电感可以了么?电源稳定了再说AD的问题哎
      啊啊,好的去换个看看,毕竟PCB从改装到重新焊接需要时间。。
    5. hdwcyzyy 发表于 2017-9-6 08:47 mcu供电稳定,采样不会有啥影响 注意你的mcu离电感远点,电源地和采样的地隔离啥的·· 看你要求多高了 ...
      嗯嗯,十分感谢啦,我的整块板子大概就20*30mm大,可能MCU没法离得太远,而且MCU还是带蓝牙的,离得近一些上手个带屏蔽的线绕电感不会有太大问题吧。。。= =,(我也就问一下)
    6. chunyang 发表于 2017-9-5 22:47 叠层电感可做不到那么大的电感量,如能做到,可用但不好用,因为Q值太低,损耗太大。
      恩,谢谢版主,可否进一步问一下,有了电感后,这种升压电路是否是非线性的,如果是,会不会对后续MCU的采样产生什么影响?:)
    7. huaiqiao 发表于 2017-9-5 21:42 这个电感的感值类似这种电源芯片,这个在datasheet中有计算的吧 还有,这个电感一般用工字型电感,还有 ...
      嗯嗯,确实是有的,谢谢您的建议!我换成功率电感看看
    8. hdwcyzyy 发表于 2017-9-5 16:51 还是换绕线电感试试吧,值也可以加大试试~ 要不,锂电池不行?
      之前用降压模块AMS1117+锂电池一点问题都没有。。。因为想的是纽扣电池方便携带,要做的比较小,所以用了升压。。好吧我试试看。 另外,一个小问题,线绕电感应该是让电压非线性变换,这样的话,如果MCU还要对小信号进行AD采样,是不是有比较大的影响?
    9. cruelfox 发表于 2017-9-5 16:36 TI芯片的手册上应该有推荐的电感和电容的型号,找同样或者相当的来用。DC-DC电路里面电感是储能元件,我见 ...
      好的,谢谢建议
    10. 学习~
    11. 想法是能够对两路方波得每个高低电平进行有顺序的采样,也就是一个电平能够采取固定长度的点存入数组中,实在不知道有何问题。。。
    12. void TimeAInit()                                //用两组定时器产生PWM方波 {       TA1CTL |= TAIE ;                           //中断使能,使0.25ms内采集的数据(对应于调制波形的四个电平周期中的一个电平的时间)进行输出    P2DIR |=BIT1  ;                            // P2.2口为定时器方波输出口    P1DIR |=BIT1+ BIT2   ;                            //P1.1口为定时器方波输出口    P1SEL |=BIT1+ BIT2  ;    P2SEL |=BIT1  ;                            // 切换为第二功能    TA0CCR1 = 750-1;    TA0CCR0 = 750-1;                            //    1KHz方波    3MHZ/(1500 *2) = 1kHz    TA1CCR0 = 1500-1;                            // PWM 周期 2KHZ方波  3MHZ/(750 *2) = 2kHz    TBCTL |=  TBSSEL_2 + MC_1;    TBCCTL0 |= CCIE;    TBCCR0 |= 375-1;    TA0CCTL0 = OUTMOD_4;    // 电平反转模式   TA1CCTL0 = OUTMOD_4;    TA1CTL = TASSEL_2 + MC_1 ;         //SMCLK,加法计数模式  TACLR为计数器清零    TA0CTL = TASSEL_2 + MC_1 ;       } **********************************************这个是定时器初始化部分
    13. #pragma vector = ADC12_VECTOR __interrupt void ADC12_shuru(void) {         ADCMix1[i]=ADC12MEM0;      //想法是采样后的结果依次存入数组中       i++;       if(i >= ADlength)//一个电平的所有点进行处理,下抽样成为一个点      {             i=0;        ADCMix_Ave[ADC_Ave_Count] =0;      for(time=0;time<ADlength;time++)       ADCMix_Ave[ADC_Ave_Count]+=ADCMix1[time];       ADCMix_Ave[ADC_Ave_Count] =  ADCMix_Ave[ADC_Ave_Count]/(ADlength);         Trans_flag = 1; ADC12CTL0 &=~ADC12ENC;        }                         } void ADC12Init()   //ADC设置,采样率为266KHz ,每个电平可采样77个点,下抽样成一个点,提高1位精度 {   ADC12CTL0 &= ~ADC12ENC; //转换器不使能才能设置   ADC12CTL0 = ADC12SHT0_3 + ADC12SHT1_3 + ADC12ON + ADC12MSC;  // 设置采样保持时间,所有寄存器均设置时间为64/24MHz = 2.6μs以达到高采样速度 // ADC12CTL2 |= ADC12TCOFF ; // 关闭内部内部温度检测以降低功耗,注意或操作否则修改转换精度   ADC12CTL1 |= ADC12SHP + ADC12SSEL_2 + ADC12CONSEQ_2;   //采样来自时钟定时器,时钟源为主时钟MCLK=24MHZ;重复单通道转换   ADC12MCTL0 = ADC12SREF_0+ ADC12INCH_0;    //选择参考电压为AVcc与AVss,采样通道为外部通道A0,   ADC12IE |= ADC12IE0;   //中断请求打开   ADC12CTL2 |= ADC12SR;     P6SEL |= BIT0;    //设置采样通道A0,对应AD存储结果MEM0;     __delay_cycles(75);     //??    ADC12CTL0 |= ADC12ENC;   //转换器使能   } ****************************************************上面是我的ADC初始化模块和ADC中断代码 #pragma vector = TIMERB0_VECTOR __interrupt void TB_Transform(void) {        ADC12CTL0 |=ADC12ENC;     ADC12CTL0 |= ADC12SC;     // Delay_us(5); } ********************************************************************这个是定时器B中断
  • TA暂时无记录哦~
  • TA暂时无记录哦~
  • TA暂时无记录哦~
TA暂时无记录哦~

最近访客

< 1/1 >

统计信息

已有4人来访过

  • 芯币:45
  • 好友:--
  • 主题:4
  • 回复:13
  • 课时:--
  • 资源:--

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言