0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

将DS1868 3线器件连接至SPI总线

星星科技指导员 来源:ADI 作者:ADI 2023-03-29 11:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

DS1868采用双通道数字电位器,具有3线(移位寄存器接口。本应用笔记描述了将DS1868以及达拉斯半导体的3线器件连接至摩托罗拉SPI总线所需的逻辑和固件。

DS1868简介

DS1868为双通道数字电位器,具有3线接口。本应用笔记将介绍如何将达拉斯半导体3线器件与具有SPITM接口的微控制器连接。

比较SPI和3线接口

SPI和3线是不同的串行接口,但它们是兼容的。以下部分介绍这些差异。

串行外设接口 (SPI)

SPI 有 4 个信号SDO、SDI、SCK 和/SS。SDO信号是数据输出,SDI是数据输入,SCK是时钟,/SS是从选择。

3线串行接口

3线串行接口有4个信号:DQ、Cout、/RST和CLK。数据输入在DQ信号上,数据输出在Cout信号上,/RST信号使能3线接口,CLK是时钟。

串行接口 信号名称 信号描述 总线速度(典型值) 数据格式
3线 DQ 数据输入 500kHz 至 5 MHz LSB 在前,MSB 在后
库特 数据输出
/RST有效 /有效复位
时钟 时钟
SPI 空间数据指数 数据输入 10兆赫 MSB 在前,LSB 在后
性别歧视条例 数据输出
/SS有效 /从选择有效
SCK 时钟
注意:在本应用笔记中,不使用/SS(仅在从模式下使用)。

写入/读取字节数

将数据写入DS1868

微控制器包含一个SPI接口,以8位的倍数发送和接收数据。因此,需要将 7 个额外的位与 17 位数据一起发送,总共 3 个字节。微控制器首先发送MSB。当微控制器将数据写入DS1868时,第一个字节的前7位被推出移位寄存器,b0包含第一个字节的LSB(见图1)。

poYBAGQjqzSAUartAAAPE0VzJCw808.gif

图1.在写入过程中移位寄存器,增加 7 位。

从DS1868读取数据

当微控制器从DS1868读取数据时,首先传输堆栈选择位(b0),然后传输电位1(b1)的MSB,依此类推(见图2)。读取时,额外的 7 位位于第三个字节中。

pYYBAGQjqzWADwbtAAARFmbJjXo850.gif

图2.17位移位寄存器。

下面是如何写入和读取字节的示例。在本例中,堆栈选择位选择锅 1。电位器1编程为0Fh,电位器0编程为55h。所选电位器刮水器的值将在 S 上外针。写入DS1868的三个字节分别为01h、0Fh和55h。01h 的前导零是另外 7 位。微控制器首先发送MSB,因此首先发送前导的7个零。这些前导零从末端掉落,“1”以 b0 结束。底池 1 的前 4 位填充为 0,后 4 位填充 1。电位 0 中的 MSB 将为“0”,其余位在 1 和 0 之间交替。

字节 0: 00000001b (01h) 其他位带有下划线。
字节 1: 00001111b (0Fh) 字节 2: 01010101b (55h)

读取数据时,b0 是第一个输出位。输出的 3 个字节现在将如下所示:

字节 0: 10000111 (87h) 字节 1: 10101010 (AAh) 字节 2: 10000000 (80h)

其他位带有下划线。
另外 7 位现在位于字节 2 的末尾。

表 2 中提供了更多将写入数据转换为读取数据的示例。

软件将写入的字节与从DS1868读取的字节进行比较(参见附录)。

写入 3 个字节(十六进制) 写入 3 字节(二进制) 锅设置
不锈钢锅1 锅0
3 字节读取(十六进制) 3 字节读取(二进制)
01h FFh 80h 00000001
11111111
10000000
1 FFh 80h FFh C0h 00h 11111111
11000000
00000000
01h 80h 80h 00000001
10000000
10000000
1 FFh 80h C0h 40h 00h 11000000
01000000
00000000
00h 80h 0Fh 00000000
10000000
00001111
0 80h 0Fh 40h 07h 80h 01000000
00000111
10000000

硬件配置

该板的原理图如图3所示。

poYBAGQjqzaAewKlAAB3NiEdpk8320.gif

图3.电路板原理图。

软件配置

软件配置适用于 PIC16F872。

端口设置

TRISx 寄存器将引脚设置为输入 (1) 或输出 (0)。PORTA 寄存器将驱动/RST和LED至5V或0V。

TRISA = --1xxx00—RA5/SS设置为输入。这用于启用串行端口。RA0 和 RA1 已设置 至/RST和LED
的输出 TRISB = 未使用
TRISC = xx010xxx — 清除 SCK 和 SDO,设置 SDI

/RST引脚需要在发送/接收数据之前设置,然后在交易完成后需要清除。

SPI 设置

SSPSTAT = 01000000 (40h) - 位 SMP = 0,位 CKE = 1

当 SMP = 0 时,在数据输出时间结束时对输入数据进行采样。

当 CKE = 1 时,当 CKP = 0 时,从活动时钟状态转换到空闲时钟状态时会发生传输。

SSPSTAT寄存器设置时钟和数据,使其具有正确的时序,以便与DS1868接口。

SSPCON = 00100001 (21h) - 位 SSPEN = 1,位 SSPM3-0 = 0001

SSPEN = 1 启用串行端口。

SSPM3-0选择了时钟频率。SSPM3-0 = 0001 = Fosc/16 = 20MHz/16 = 1.25MHz

DS1868的最大时钟速率为10MHz。

法典

附录包含用于写入、读取和比较电位计数据的汇编代码。

除了SPI端口之外,还需要初始化使用的每个端口。电位计也需要初始化为零。然后可以将数据写入电位计。

SPI 时序

使用上述寄存器设置,微控制器产生以下定时信号。

pYYBAGQjqzeARYqXAAARh8oqHXA484.gif

图4.SPI 时序图。

SDO上的数据传输在时钟的下降沿完成。数据在时钟周期内由SDI接收。 以下是接收和发送的电位计数据的图表。图5所示为01h、FFh和80h被发送到SDO线路上的DS1868。SDI包含DS1868发送回微控制器的数据。SDI上的数据是FFh,C0h和00h。有关转换数据的详细信息,请参阅表 2。

pYYBAGQjqziAB8TTAAB9Q1sJIoU774.gif

图5.传输/接收的数据。

SDO上的数据传输在时钟的下降沿完成。数据在时钟周期内由SDI接收。 以下是接收和发送的电位计数据的图表。图5所示为01h、FFh和80h被发送到SDO线路上的DS1868。SDI包含DS1868发送回微控制器的数据。SDI上的数据是FFh,C0h和00h。有关转换数据的详细信息,请参阅表 2。

图6所示为01h、80h和80h被发送到DS1868。然后将数据与 C0h、40h 和 00h 进行比较。 有关转换数据的详细信息,请参阅表 2。

poYBAGQjtM2AN2sNAAIHUC4Y80A399.png

图6.传输/接收的数据(详细信息)。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 半导体
    +关注

    关注

    336

    文章

    29977

    浏览量

    258032
  • 电位器
    +关注

    关注

    14

    文章

    1026

    浏览量

    68805
  • 总线
    +关注

    关注

    10

    文章

    3014

    浏览量

    91289
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    请问怎么才能将4线SPI与接口LSM9DS0连接

    我正在使用LSM9DS0进行设计。 我的目标是4线SPI连接到MEMs设备。 这是我的界面设计。 我
    发表于 06-13 09:27

    DS1868 pdf datasheet (Dual Dig

    The DS1868 has two 256-position potentiometers, with wiper positions each set as 8-bit values.
    发表于 10-04 20:08 26次下载

    DS1868 双路、数字电位器芯片

    DS1868 双路、数字电位器芯片 The DS1868 has two 256-position potentiometers, with wiper positions each set
    发表于 10-04 20:11 2375次阅读
    <b class='flag-5'>DS1868</b> 双路、数字电位器芯片

    接口1DS18683线设备到一个SPI总线-Interfac

    Abstract: The DS1868 uses a dual digital potentiometer with a 3-wire (shift register) interface.
    发表于 04-24 16:03 763次阅读
    接口1<b class='flag-5'>DS</b>18683<b class='flag-5'>线</b>设备到一个<b class='flag-5'>SPI</b><b class='flag-5'>总线</b>-Interfac

    Using a PC with a DS3900 to Co

    to communicate with the three digital pots, the DS1267, DS1867, and DS1868, which use this shift register interfa
    发表于 04-28 11:50 981次阅读
    Using a PC with a <b class='flag-5'>DS</b>3900 to Co

    Interfacing a DS1868 3-Wire De

    Abstract: The DS1868 uses a dual digital potentiometer with a 3-wire (shift register) interface.
    发表于 04-28 11:57 874次阅读
    Interfacing a <b class='flag-5'>DS1868</b> <b class='flag-5'>3</b>-Wire De

    Using a PC with a DS3900 to Co

    to communicate with the three digital pots, the DS1267, DS1867, and DS1868, which use this shift register interfa
    发表于 05-08 09:09 863次阅读
    Using a PC with a <b class='flag-5'>DS</b>3900 to Co

    DS1390-DS1394低电压SPI/3线接口RTC

    低电压串行外设接口(SPI™) DS1390/DS1391/DS1394和低电压3线
    发表于 11-15 11:56 3500次阅读

    如何通过SPI通信总线连接到DAC器件

    如何通过SPI连接一个精密DAC器件
    的头像 发表于 04-23 06:07 8499次阅读
    如何通过<b class='flag-5'>SPI</b>通信<b class='flag-5'>总线</b><b class='flag-5'>连接</b>到DAC<b class='flag-5'>器件</b>

    SPI总线介绍

    peripheral interface)总线技术是Motorola公司推出的一种同步串行接口。SPI 用于CPU与各种外围器件进行全双工、同步串行通讯。它只需四条线就可以完成MCU
    发表于 12-05 19:21 10次下载
    <b class='flag-5'>SPI</b><b class='flag-5'>总线</b>介绍

    DS1868 3 线设备连接SPI 总线

    发表于 11-18 23:45 0次下载
    <b class='flag-5'>将</b> <b class='flag-5'>DS1868</b> <b class='flag-5'>3</b> <b class='flag-5'>线</b>设备<b class='flag-5'>连接</b>到 <b class='flag-5'>SPI</b> <b class='flag-5'>总线</b>

    在同一I²C总线连接多个DS1859器件

    有些应用要求在同一I²C总线连接多个DS1859器件。本应用笔记介绍了当DS1859器件在同一
    的头像 发表于 01-10 11:05 1535次阅读

    DS1868-50 数据采集 - 数字电位器

    电子发烧友网为你提供Maxim(Maxim)DS1868-50相关产品参数、数据手册,更有DS1868-50的引脚图、接线图、封装手册、中文资料、英文资料,DS1868-50真值表,DS186
    发表于 01-22 19:38
    <b class='flag-5'>DS1868</b>-50 数据采集 - 数字电位器

    使用装有DS3900的PC与DS1267、DS1867和DS1868通信

    本应用笔记介绍如何使用DS3900 PC串口转3线接口与DS1267、DS1867和DS1868
    的头像 发表于 02-25 11:06 1888次阅读
    使用装有<b class='flag-5'>DS</b>3900的PC与<b class='flag-5'>DS</b>1267、<b class='flag-5'>DS</b>1867和<b class='flag-5'>DS1868</b>通信

    W5100S作为3线SPI连接到Pico

    电子发烧友网站提供《W5100S作为3线SPI连接到Pico.zip》资料免费下载
    发表于 06-13 16:39 1次下载
    <b class='flag-5'>将</b>W5100S作为<b class='flag-5'>3</b><b class='flag-5'>线</b><b class='flag-5'>SPI</b><b class='flag-5'>连接</b>到Pico