写真1 AD9833 DDS MSOP 0.5ピッチ 変換基板に乗せる

 

それはさておき、

 

このチップは10ピンのMSOPで、写真にようにピンセットの先ほどの大きさです。

 

変換基板に取り付けましたが、ピンのピッチは0.5なので、半田付けにはちょっと技術が必要です。

 

まずチップをゲルタイプの瞬間接着剤で正確な位置に仮止めしておきます。

 

フラックスをほんのわずか塗って、すべてのピンにわざとまたがるくらい半田を盛ります。

 

半田吸い取り線で、余分な半田を吸い取って、出来上がり。

 

慣れれば簡単ですが、最初は数個パーにする覚悟がいります(笑)。

 

このDDSは、マスタクロック(MCLK)周波数は最高25MHzで、その場合最高発振周波数(ナイキスト周波数)は12.5MHzとなり、分解能は0.1Hzです。

 

今回は手持ち部品の関係で、20MHzのクリスタルを使用したので、10MHzまでのプログラマブルオシレータとして、実験してみました。この場合の分解能は約0.075Hzです。

階段波を作る STM32VL Discovery

投稿日 2012/03/27

STM32VL DiscoveryのDAC(D/Aコンバータ)で、階段波を作ってみました。

 

あらかじめ配列にセットした電圧値をTicker割り込みを使って順次出力しています。

 

Ticker割り込みは、

 

SysTick_Config(SystemCoreClock / 1000); //1ms
 

となっており、1ms毎となります。

 

従って、各ステップの電圧値を1ms出力し、0V + 16ステップ出力し、それを繰り返します。

 

ソースコード

 

#include "stm32f10x.h"
void DAC_Configuration(void);
uint16_t Step_No;
uint16_t Vvalue[17];

 

int main(void)
{

Vvalue[0] = 0x0000;
Vvalue[1] = 0x00FF;
Vvalue[2] = 0x01FF;
Vvalue[3] = 0x02FF;
Vvalue[4] = 0x03FF;
Vvalue[5] = 0x04FF;
Vvalue[6] = 0x05FF;
Vvalue[7] = 0x06FF;
Vvalue[8] = 0x07FF;
Vvalue[9] = 0x08FF;
Vvalue[10] = 0x09FF;
Vvalue[11] = 0x0AFF;
Vvalue[12] = 0x0BFF;
Vvalue[13] = 0x0CFF;
Vvalue[14] = 0x0DFF;
Vvalue[15] = 0x0EFF;
Vvalue[16] = 0x0FFF;

Step_No = 0;

SysTick_Config(SystemCoreClock / 1000); //1ms

DAC_Configuration();

while(1);

}

 

void DAC_Configuration(void) {

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC, ENABLE);

GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOA, &GPIO_InitStructure);


DAC_InitTypeDef DAC_InitStructure;

DAC_InitStructure.DAC_Trigger = DAC_Trigger_None;
DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None;
DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Disable;
DAC_Init(DAC_Channel_1, &DAC_InitStructure);

DAC_Cmd(DAC_Channel_1, ENABLE);

}

 

void SysTick_Handler(void){

DAC_SetChannel1Data(DAC_Align_12b_R, Vvalue[Step_No]);
Step_No++;
if(Step_No == 17) Step_No = 0;

}

STM32_VLD_DAC_3.jpg

写真1 DAC Ch1 出力 1周期 17msの階段波の観測 10:1プローブ 2ms/div 1V/div

 

電圧1ステップ当たり1ms幅です。

 

各ステップの電圧値

 

左実測値 右計算値
16 2.991V 3.000V
15 2.796V 2.813V
14 2.616V 2.625V
13 2.421V 2.438V
12 2.241V 2.250V
11 2.054V 2.063V
10 1.874V 1.875V
9 1.679V 1.688V
8 1.499V 1.500V
7 1.304V 1.313V
6 1.124V 1.125V
5 0.937V 0.938V
4 0.773V 0.750V
3 0.562V 0.563V
2 0.374V 0.375V
1 0.202V 0.188V
0 0.700V 0

 

実測値はデジタルオシロで読み取った値です。




 

(JF1VRR)