本帖最后由 mxkw0514 于 2022-6-27 10:09 编辑
前几天收到凌鸥的开发板了包括LKS32MC081 MCU核心板和功率板(如图1-1所示),这次的开发板主要是面向电机应用,但是我首先不用它来测评电机相关的小应用,我想试一试片内DAC,很多单片机都有ADC模块,但是很少有DAC模块的,正好借着这个机会使用LKS32MC081单片机的片内DAC生成正弦波。
图1-1 LKS32MC081 MCU板和功率板实物图
核心板LKS32MC081非常简洁,上面没有外部晶振,也没有复位按键(不过外留了焊盘),功率板布局十分紧凑,大电流的地方加厚了锡。但是我在使用杜邦线的时候,核心板上的杜邦线触碰到了半桥驱动器的LKS560的HO引脚(如图1-2所示),该引脚是低电平,后来就下不进程序了,应该是把芯片烧了),我太粗心了。没有办法,只能买上LKS32MC081C8T8将核心板上的坏了的芯片替换掉,开始是想在某宝上买来的,可能这个芯片不太常用,很少,还卖的特别贵,考虑再三,就在某创商城买了几片。话说核心板上有短路保护的呀(如图1-3所示),为什么会这样呢,还请指教。
图1-2功率板的半桥驱动器
图1-3 短路保护电路
图1-4 重新购买了样片
LKS32MC081单片机有一个12位的片内DAC,但是数据手册中只有一段简略的介绍(如图1-6所示),其实我是很想看一看片内DAC的结构框图和功能框图(虽然这段介绍已经很具体了),官方给了一个DAC模块的例程,我在这个例程中进行了修改。
首先我用波形绘制工具UltraWave软件(如图1-7所示)绘制一个正弦波,并将该波形文件导出(是一个数组),并添加到官方DAC例程中。DAC输出引脚固定位P0.0,使用SYS_AFE_DAC寄存器依次输出正弦波数组中的值(这里需要设置号最大值,包括1.2V、3V和4.85V三个选项),这里选择的是4.85V,整个程序如下所示。程序中的数组为一个波形的容量,点数越多,波形的平滑效果越好,如果点数太少,则很容易看到一个阶梯状的效果。
图1-6 DAC模块介绍。
图1-7 UltraWave软件界面
int main(void)
{
Hardware_init(); /* 硬件初始化 */
while (1)
{
unsigned char sin_tab[]={
125,128,131,134,138,141,144,147,150,153,156,159,162,165,168,171,
174,177,180,182,185,188,191,193,196,198,201,203,206,208,211,213,
215,217,219,221,223,225,227,229,231,232,234,235,237,238,239,241,
242,243,244,245,246,246,247,248,248,249,249,250,250,250,250,250,
250,250,250,249,249,248,248,247,246,246,245,244,243,242,241,239,
238,237,235,234,232,231,229,227,225,223,221,219,217,215,213,211,
208,206,203,201,198,196,193,191,188,185,182,180,177,174,171,168,
165,162,159,156,153,150,147,144,141,138,134,131,128,125,122,119,
116,112,109,106,103,100, 97, 94, 91, 88, 85, 82, 79, 76, 73, 70,
68, 65, 62, 59, 57, 54, 52, 49, 47, 44, 42, 39, 37, 35, 33, 31,
29, 27, 25, 27, 29, 27, 25, 23, 21, 19, 18, 16, 15, 13, 12, 11,
9, 8, 7, 6, 5, 4, 4, 3, 2, 2, 1, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, 1, 2, 2, 3, 4, 4, 5, 6, 7, 8, 9,
11, 12, 13, 15, 16, 18, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37,
39, 42, 44, 47, 49, 52, 54, 57, 59, 62, 65, 68, 70, 73, 76, 79,
82, 85, 88, 97, 94, 97,100,103, 106,109,112,116,119,122};
unsigned int ms;
while (1)
{
for(ms=0;ms<254;ms++)
{
SYS_AFE_DAC=(sin_tab[ms]*4096)/256;
// delay(100);
}
}
delay(0x10000);
}
}
将程序在keil软件中编译无误后下载到 LKS32MC081C8T8中,使用USB虚拟示波器(如图1-8所示)观察到P0.0引脚的波形,电脑屏幕上的正弦波波形如图1-9所示,波形平滑效果很好,没有明显的失真。这次测评把芯片烧了是着实大意了,重新买了芯片,在某创商城买时10多元,尚未找到更便宜的了,这款芯片的特色还是面向于电机应用,后面再接着对其进行小测评。
|