2.5. Sin Generator
该部分为正弦激励发生器,使用DAC模块输出正弦激励,该部分涉及文件在sin_generator.c。
可选正弦激励频率如下。
enum sin_source {
SIN_GENERATOR_5K,
SIN_GENERATOR_20K,
SIN_GENERATOR_25K,
SIN_GENERATOR_30K,
SIN_GENERATOR_40K,
SIN_GENERATOR_50K,
SIN_GENERATOR_75K,
SIN_GENERATOR_100K,
SIN_GENERATOR_150K,
};
以下为输入DAC的正弦信号源,由于使用的是DAC的2M模式采样率,输入信号不能超过-6dB,因此该信号源为最大-6dB,通过改变DAC不同的采样率,输出不同频率的正弦激励。通过配置PA增益可以调节输出信号的幅值。
// -6db (2M模式)
const s8 sin_source[80] = {
0x01, 0x00, 0x09, 0x0a, 0xd4, 0x13, 0x1f, 0x1d, 0xb5, 0x25, 0x5d, 0x2d, 0xe7, 0x33, 0x29, 0x39,
0x04, 0x3d, 0x5c, 0x3f, 0x26, 0x40, 0x5d, 0x3f, 0x03, 0x3d, 0x29, 0x39, 0xe6, 0x33, 0x5e, 0x2d,
0xb5, 0x25, 0x1f, 0x1d, 0xd2, 0x13, 0x09, 0x0a, 0x00, 0x00, 0xf7, 0xf5, 0x2d, 0xec, 0xe0, 0xe2,
0x4b, 0xda, 0xa3, 0xd2, 0x19, 0xcc, 0xd7, 0xc6, 0xfd, 0xc2, 0xa4, 0xc0, 0xda, 0xbf, 0xa3, 0xc0,
0xfd, 0xc2, 0xd7, 0xc6, 0x1a, 0xcc, 0xa4, 0xd2, 0x4a, 0xda, 0xe0, 0xe2, 0x2d, 0xec, 0xf7, 0xf5,
};
下面介绍一下相关的接口。
2.5.1. 正弦激励发生器接口函数
2.5.1.1. sin_generator_start
功能: 启动正弦信号发生器,启动DAC(在AIN7端口输出)。
void sin_generator_start(enum sin_source sin, enum hadc_pa_gain_sel gain);
参数:
sin
信号频率
gain
PA增益
返回值
void
2.5.1.2. sin_generator_close
功能: 关闭正弦信号发生器,关闭DAC。
void sin_generator_close(void);
参数:
返回值
void
2.5.2. 正弦激励参考demo
void sin_generator_test_demo(void)
{
sin_generator_start(SIN_GENERATOR_50K, HADC_PA_GAIN_SEL_M10db);
}