hrefspace

 找回密码
 立即注册
搜索
热搜: PHP PS 程序设计
查看: 328|回复: 2

用SPI读取12位AD芯片TLC2543

[复制链接]

269

主题

448

帖子

996

积分

中郎将

Rank: 4

积分
996
发表于 2024-5-5 20:23:07 | 显示全部楼层 |阅读模式
使用AVR的SPI,读取12位AD转换芯片TLC2543,并实时将转换结果,通过PC串行口,传输给串口调试助手显示。

  本范例演示了德州仪器的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个。
电路图:

波特率9600,八个数据位,一个停止位(请参考上面串口调试助手的设置)。
  结果是4×××和00××交替的 因为我是两通道交替输入 一个通道输入五伏,一个0伏,结果不是很精确,因为我得参考电压不是很准。
用SPI读取12位AD芯片TLC2543.rar(288.08 KB, 下载次数: 35)2010-5-13 23:17 上传
点击文件名下载附件



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

178

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2024-5-5 20:23:13 | 显示全部楼层
看看有多少?看看有多少?看看有多少?看看有多少?
谢谢
回复

使用道具 举报

0

主题

176

帖子

31

积分

新手上路

Rank: 1

积分
31
发表于 2024-5-5 20:23:59 | 显示全部楼层
dddddddddddddddddddddddddddddddddddddddddddddddd
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|hrefspace

GMT+8, 2024-5-19 04:00 , Processed in 0.062013 second(s), 22 queries .

Powered by hrefspace X3.4 Licensed

Copyright © 2022, hrefspace.

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