【STM32】TCL2543CN 12位11通道ADC芯片stm驱动程序,使用32自带SPI实现

不是模拟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。

猜你喜欢

转载自blog.csdn.net/qq_42820594/article/details/108145023