打印

请教关于stm32的dac转换时间的疑问

[复制链接]
3769|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
大家好:
     我现在的设计需要用到DA,转换速率100K左右。以前用的都是DA新片。现在改用stm32,它自己有DA,因此想用它自带的DA,但是发现点疑问。 ,假设他是转换时间的话,他的转化速度是1M,也就是说从0x000到0xfff的时间是1us。而我写了一个程序测试了一下。初始化程序这里就不写了,没有问题,操作程序是:
INT16U da=0;
void delay_us( INT32S time )
{   
   da=(~da);
  do
   {
     time--;
   }
  while ( time > 1 );
  
}
int main (void)
{
  INT8U reset_bit=0;
  
  RCC_Configuration();   
  GPIO_Configuration();//初始化端口
  DAC_Configuration();
  delay_us(time);
  DAC_SetChannel2Data(DAC_Align_12b_R, da);
  DAC_SoftwareTriggerCmd(DAC_Channel_2, ENABLE);

  }
}
首先说明延时程序是1us没有问题,用示波器测过,下面是time分别设置为1、10、20的波形。波形下面的黄色线为地,Y轴每隔1V,X轴每隔2.5us

波形为什么不是方波而是三角波啊。我的DA管脚什么都没接,悬空状态下测量的,如果他的转换速度能够达到1M的话是不是应该是方波。
沙发
香水城| | 2011-5-12 17:26 | 只看该作者
请看清楚括号里的条件:(from code i to i+1LSB);简单地说就是转换数值变化一个数字单位时,响应速度可以达到1M/s。

使用特权

评论回复
板凳
adqprint|  楼主 | 2011-5-16 11:51 | 只看该作者
谢谢

使用特权

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

本版积分规则

0

主题

60

帖子

1

粉丝