找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

用SPI读取12位AD芯片TLC2543

[复制链接]
慧龙 发表于 2010-5-13 23:17:20 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
使用AVR的SPI,读取12位AD转换芯片TLC2543,并实时将转换结果,通过PC串行口,传输给串口调试助手显示。

b4503565c9861608e607c42676a8d1d1.jpg


  本范例演示了德州仪器的12位ADC-TLC2543与M8通过SPI口进行通讯。 TLC2543是12位ADC,输出采用串行输出(兼容SPI模式),基本信号线 是串行时钟线(SCK),数据输出(DOUT),数据输入(DIN也就是命令 字的输入),片选(CS低有效)。命令字的格式具体参见TLC2543的数 据文档第14页。TLC2543的具体资料(请仔细阅读)见附件,SPI口的寄存器定义和时序等资料参考M8的手册。

  程序演示了TLC2543在16位分辨率(16位需要两次读取数据,8位只需一次), 片选一直为低即TLC2543一直处于使能状态(其实是伪16位,为了适应采集 系统这里就是M8的寄存器位数,本质仍是12位)下的向M8传递转换结果同时 接收命令字的过程。可采取内部检测模式或者实际外部模拟通道输入模式 (本例采用外部模拟通道0和1交替输入),只需修改相应控制字即可。

  注意留意高还是低字节先进入SPI的循环移位寄存器问题(通过控制字设置), 需要注意的是TLC2543在12位分辨率下,需要在M8上用软件模拟SPI口的时序, 个人觉得无法通过直接应用SPI实现,因为SPI口的循环移位寄存器是8位的, SPI的IO时钟无法实现12个时钟脉冲,要么8个要么16个。

电路图:

图.png

波特率9600,八个数据位,一个停止位(请参考上面串口调试助手的设置)。

  结果是4×××和00××交替的 因为我是两通道交替输入 一个通道输入五伏,一个0伏,结果不是很精确,因为我得参考电压不是很准。

用SPI读取12位AD芯片TLC2543.rar (288.08 KB, 下载次数: 35)


strawniu 发表于 2010-8-11 09:13:43 | 显示全部楼层
看看有多少?看看有多少?看看有多少?看看有多少?
谢谢
lxqlzj 发表于 2010-9-7 13:48:15 | 显示全部楼层
dddddddddddddddddddddddddddddddddddddddddddddddd
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-23 06:07 , Processed in 0.061969 second(s), 12 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表