不是模拟SPI,使用stm32硬件SPI实现。TLC2543数据手册
有需要的可以Fork一下,谢谢。
Here: TLC2543_STM32
极性
CPOL = 0
CPHA = 0
引脚
PP15 MOSI
PP14 MISO
PP13 SCK
PB12 CS
PB11 EOC
TLC2543的工作过程如下:
首先在 8、12 或 16 时钟周期里向片内控制寄存器写入 8 位的控制字,控制字中的 2 位决定时钟长度,
在最后一个时钟周期的下降沿 启动 AD转换过程,经过一段转换时间,
在随后的 8、12 或 16 个时钟周期里, 从 DATA OUT脚读出数据。
控制字的前四位 (D7-D4) 代表 11 个模拟通道的地址;
当其为 1100-1110 时, 选择片内检测电压;
当其为 1111 时,为软件选择的断电模式,此时, AD转换器 的工作电流只有 25uA.
控制字的第 3 位和第 4 位(D3一 D2)决定输出数据的长度,
01 表示输出数据长度为 8 位;
11 表示输出数据长度为 16 位;
X1 表示输出数据 长度为 12 位,X可以为 1 或 0。
控制字的第 2 位(D1)决定输出数据的格式,
0 表示高位在前,
1 表示低位在前。
控制字的第 1 位(D0)决定转换结果输出的格式。
当其为 0 时,为无极性输出 ( 无符号二进制数 ),即模拟电压为 Vnef+,时,转换 的结果为 FFFFH;模拟电压为 Vnef- 时,转换的结果为 0000H;模拟电压等于 (Vnef±Vnef-)/2 时转换的结果为 8000H。
当其为 1 时,为有极性输出 ( 有符号二 进制数 ) ,即 模拟电 压高于 (Vnef±Vnef-)/2 时符 号位为 0;模拟电 压低于 (Vnef±Vnef-)/2 时符号位为 1;模拟电压为 Vnef+时,转换的结果为 7FFH;模拟电压为 Vnef- 时,转换的结果为 800H。模拟电压为 (Vnef±Vnef-)/2 时,转换 的结果为 000H。
TLC2543 除了具有高速的转换速度外,片内还集成了 ,15 路多路开关,其中 12 路为外部模拟量输入, 3 路为片内自测电压输入。在转换结束后, EOC引脚变为 高电平,转换过程中由片内时钟系统提供时钟,无需外部时钟。在 AD转换器空 闲期间,可以通过编程方式进入断电模式,此时器件耗电只有 25pA。