应用例程:通过SPI通讯控制TLC5615模块输出正弦波
基本信息
基于STM32F103RCT6核心板,通过SPI发送数据到D/A转换模块TLC5615,并在DSO138示波器中观察输出的正弦波信号。
视频下载
暂无
实验硬件
STM32F103RCT6核心板(1块)[ 购买 ]:

CH340E通讯小板(1块)[ 购买 ]:

Micro-USB通讯线(1根)[ 购买 ]:

TLC5615模块(1块)[ 购买 ]:

DSO138示波器(1块)[ 购买 ]:

电路参考
- CH340E通讯小板通过Micro-USB通讯线连接到电脑。
-
CH340E通讯小板的GND连接核心板的GND、+5V连接核心板的V5、串口TX、RX分别连接STM32F103xC核心板的RX、TX。
CH340E通讯小板 | GND | ---- | GND | P4端子 | STM32F103xC核心板 |
+5V | ---- | 5V |
TXD | ---- | RX |
RXD | ---- | TX |
-
TLC5615模块连接STM32F103xC核心板
TLC5615模块 | VCC | ---- | 5V | P1端子 | STM32F103xC核心板 |
GND | ---- | GND |
DIN | ---- | PB15 |
SCLK | ---- | PB13 |
CS | ---- | PB12 |
DOUT | ---- | PB14 |
-
DSO138示波器连接TLC5615模块和STM32F103xC核心板
DSO138示波器 | AIN- | ---- | GND | P3端子 | STM32F103xC核心板 |
AIN+ | ---- | OUT | | TLC5615模块 |

关键配置说明
添加Spi蓝图,在蓝图中添加SPI底层实现SPI2_SpiL。选择模块SPI2_SpiL,确认通讯使用的单片机的管脚为PB13、PB15、PB14。

选择模块Spi,在配置节点Device中,添加设备Device0,使用的底层实现为SPI2_SpiL。

选择模块Spi_Fe,在配置节点Port中,添加用户设备Port0,使用Spi模块中的Device0。

选择模块Spi,在配置节点Job中,选择系统自动创建的任务Spi_Fe_Port0_Spi,将片选管脚Cs修改为PB12,同时确认下通讯参数是否正确。

实验步骤
在主循环OB中编写梯形图,首先用启动信号SM0.1将VD20赋值为0,然后用定时器T0产生1ms的信号。每过1ms,M0.0闭合一个周期。
每过1ms,对VD20自加0.0981747角度(π/32)。VD20完成64次自加时,相当于自加了2π,便完成了一个周期。对VD20取正弦后,将数值线性化到0 ~ 4096的范围中。
将VD32标准化为0 ~ 4095的16位整数,结果存放在AQW0中。
调用Spi指令,将数据写入TLC5615模块。需要注意的是,因为数据宽度是16位,PLC变量使用的是大端存储模式,Spi驱动使用的是小端模式,因此在调用传输指令前,需要将AQW0进行一次SWAP操作。
将配置上传到服务器,固件下载到STM32F103xC核心板后,将梯形图也下载到核心板;在DSO138示波器中观察正弦波信号。
指令说明
相关下载
|