用户可编程D/A转换器(DAC)的详细时序图和高级编程特性

摘要:提供详细的定时模板和先进的编程功能。

本程序员手册提供MAX5290-MAX5295,MAX5580-MAX5585,MAX5590-MAX5595用户可编程D/A转换器(DAC)的详细时序图和高级编程特性。

本手册为MAX5290-MAX5295,MAX5580-MAX5585,MAX5590-MAX5595用户可编程D/A转换器(DAC)提供详细的时序图和高级编程特性。该系列的每一个器件共享一个非常灵活的3,4或5线串行接口,组成该接口的输入和输出信号为:

SCLK—串行时钟输入。根据不同的配置,数据可以在时钟的上升沿或下降沿,同步输入或输出串行接口。

DIN—串行数据输入。

CS—低电平有效芯片选择。除DSP帧同步模式外,对于其他所有模式,CS下降沿对应串行接口指令开始,CS上升沿对应指令结束。

DSP—DSP在上电复位序列结束时进行采样,其状态决定了为DIN数据提供时钟的SCLK信号的有效沿。连接DSP至DV(DD),则SCLK上升沿时数据同步输入,连接DSP至DGND,则SCLK下降沿数据同步输入。DSP也可进行有源驱动,在这种情况下,上电复位后DSP的第一个上升沿将使能DSP帧同步模式。

UPIO1/UPIO2—该系列器件均有两个用户编程I/O端口(UPIO1和UPIO2),可以配置成包括串行数据输出端口在内的多种模式,既可以读回(DOUTRB),也可以是菊花链(DOUTDC0或DOUTDC1)。

详细的时序规范和器件配置信息请参考MAX5290-MAX5295,MAX5580-MAX5585或MAX5590-MAX5595数据资料。

该系列器件中的任何一款都支持多种配置方式,如下所示(不限于这些方式):

单器件写操作

单器件读操作

菊花链模式中,多器件的读写操作

多器件的直接读写操作(非DSP帧同步模式)

DSP帧同步模式下多器件直接读写操作

下面的章节展示了一个对串行接口性能进行扩展的可能配置示例。

串行接口支持使用CS,SCLK和DIN三种输入的只写操作。将DSP连至DV(DD),SCLK上升沿的同步输入数据。将DSP连至DGND,SCLK下降沿的同步输入数据。DSP在上电复位周期结束时被采样,SCLK时钟有效沿在检测到DSP的上升沿或器件断电前一直有效。

图1是数据在上升沿同步输入时,与器件通信的CS,SCLK,DIN时序图。将CS置低,DIN同步串行数据在SCLK的上升沿进入输入移位寄存器。收到16的整数倍(如,N*16)个SCLK脉冲后,CS置高,写入数据或指令生效。如果CS在N*16个SCLK周期之前就置高,则写入无效。

图1.单器件写操作—SCLK上升沿数据同步输入

图2是数据在下降沿同步输入时,与器件通信的CS,SCLK,DIN时序图。将CS置低,DIN同步串行数据在SCLK的下降沿进入输入移位寄存器。收到16的整数倍(如,N*16)个SCLK脉冲后,CS置高,写入数据或指令生效。如果CS在N*16个SCLK周期之前就置高,则写入无效。

图2.单器件写操作—SCLK下降沿数据同步输入

该系列器件串行接口可以支持多种读指令选项。多数情况下,由读指令产生的输出数据为8位,这样总的指令序列为16位(8位指令和8位输出数据)。对于DAC数据的读操作,接口从输入(12位)和所选通道的DAC(12位)寄存器同时输出数据。输出数据为24位,指令序列总长度为32位。

从器件种读取数据时,将UPIO1或UPIO2配置为DOUTRB(DOUT为读回)。接口在上电时采样DSP输入,判断采用哪个时钟边沿传输来自DOUTRB的串行数据。上电时,如果DSP接在DV(DD)上,数据在SCLK的上升沿同步输入,在SCLK的下降沿同步输出。上电时,如果DSP接在DGND上,数据在SCLK的下降沿同步输入,在SCLK的上升沿同步输出。

图3是数据在SCLK上升沿同步输入时,与器件通信的CS,SCLK,DIN时序图。将CS置低,在SCLK的上升沿,DIN8位读指令同步进入输入移位寄存器。根据不同的读取长度,数据在下一个8或24SCLK周期的DOUTRB上出现。24位读操作需要在8位读指令后写两个额外的NO-OP指令(0xFF),以保证数据的最后两字节由DOUTRB输出。DOUTRB输出数据在SCLK的下降沿改变,在SCLK的上升沿有效。整个读操作过程中,CS一直保持低电平。

图3.单器件读操作—SCLK上升沿数据同步输入

图4是数据在SCLK下降沿同步输入时,与器件通信的CS,SCLK,DIN时序图。将CS置低,在SCLK的下降沿,DIN8位读指令同步进入输入移位寄存器。根据不同的读取长度,数据在下一个8或24SCLK周期的DOUTRB上出现。24位读操作在8位读指令后需要两个额外的NO-OP指令(0xFF),以保证数据的最后两字节由DOUTRB输出。DOUTRB的输出数据在SCLK的上升沿改变,在SCLK的下降沿有效。整个读操作过程中,CS一直保持低电平。

图4.单器件读操作—SCLK下降沿数据同步输入

该系列器件串行接口可以支持多种菊花链配置。数据在时钟的上升沿或下降沿同步进入链上的每一个器件。这样,链上前一个器件输出的串行数据可能在时钟的任意沿出现。串行接口可提供灵活的应用,如需要相同的时钟相位,或菊花链上时钟相位的交替变化。对一些电路板级的考虑可能会影响如何选择时钟方案,如:

时钟斜移—如果器件A和器件B之间出现了明显的时钟斜移,则可以考虑使用反相边沿数据传送(如,SCLK上升沿由器件A输出,SCLK下降沿输入器件B)。这种方法能够有效克服时钟斜移,但是如果没有进行仔细的电路板设计,工作在串行接口支持的最大时钟速率时,该方案会难以实现。

时钟速率—如果必须工作在菊花链最大时钟速率下,可以考虑在整个链上采用同一个时钟沿。但是,采用这种方式前必须仔细设计电路板。为保证菊花链的正常工作,应避免过长的数据传输线,明显的器件间的时钟斜移或者板上条件(温度,电源等)的大幅度变化等。

时钟占空比—由于数据从一个器件传送到另一个器件时,使用半个时钟周期,因此,菊花链上采用交替的时钟方案依赖于合理的时钟信号占空比。如果不仔细设计,采用低速但是占空比很高或很低的时钟时菊花链也不能正常工作。

将器件的UPIO1或UPIO2配置为DOUTDC0(DOUT为菊花链模式0)或DOUTDC1(DOUT为菊花链模式1)输出。在模式0时,DOUTDC0数据在SCLK的下降沿改变,在SCLK的上升沿有效。模式1时,DOUTDC1数据在SCLK的上升沿改变,在SCLK的下降沿有效。

在菊花链上,第一个器件从总线主机得到DIN,其后的器件从前一个器件的DOUTDC_输出得到DIN。为使器件A通过串行接口将菊花链数据传送到器件B,在接收到16位指令序列后,器件A的CS信号必须保持低电平(没有上升沿)。DOUTDC_同步输出数据等同于同步输入DIN数据被延时了16个时钟周期。

菊花链上所有器件均在CS上升沿执行存储在串行寄存器的写指令(对于读指令参见菊花链和回读互作用一节)。如果在下一个写指令同步进入器件之前,没有出现CS的上升沿(CS保持低电平),那么新的写指令将会覆写输入移位寄存器中的旧指令。这样,数据可以在链上器件间相互传输而状态不会改变。对于那些不应受到影响的器件,对其发出NO-OP(0xFF)指令。

可以同时控制输入时钟沿和输出时钟沿,这意味着对于一个工作正常的菊花链,数据可能需要延时15.5,16或16.5个时钟周期。CPOL和CPHA控制位设置一个器件DIN到DOUTDC_延时,以保证无论器件之间时钟如何配置,整个菊花链都可以正常工作。

CPOL和CPHA同SPI接口中所描述的定义相似:

CPOL描述时钟极性

CPHA描述在任何给定的序列中,在第一个有效时钟边沿之前,是否有引导时钟边沿。

可编程CPOL和CPHA位同DSP一起将串行菊花链DOUTDC1和DOUTDC0输出数据适当延时。参见表1。

表1.DSP,CPOL和CPHA设置

*数据总是在SCLK有效沿(DOUTDC0上升沿,DOUTDC1下降沿)同步输出DOUTDC_。

图5是在一种菊花链配置方式下,写入多个器件时的CS,SCLK,DIN和DOUTDC0时序图,其中,链上每一个器件的DIN在SCLK上升沿同步输入,DOUTDC0将数据从一个器件传送到下一个器件。

图5.菊花链—SCLK上升沿数据同步输入

进行菊花链写操作时,将CS置低以选中菊花链上的所有器件。来自总线主机或前一器件的DOUTDC0的数据同步进入每一个级联器件的DIN。只要CS保持低电平,器件将不受经过输入移位寄存器数据的影响。当数据已在菊花链上传输时,假设已有16的整数倍个(N*16)SCLK脉冲,驱动CS为高电平将使链上所有器件输入移位寄存器中存储的DAC指令同时生效。如果在N*16个SCLK周期之前,CS置高,那么链上的所有器件将忽略此次写操作。

图6是菊花链的一种特殊配置方式下,写入多个器件时的CS,SCLK,DIN和DOUTDC1时序图,其中,链上每一个器件的DIN在SCLK下降沿同步输入,DOUTDC1将数据从一个器件传送到下一个器件。

图6.菊花链—SCLK下降沿数据同步输入

进行菊花链写操作时,将CS置低以选中菊花链上的所有器件。来自总线主机或前一器件的DOUTDC1的数据同步进入每一个级联器件的DIN。只要CS保持低电平,器件将不受经过输入移位寄存器数据的影响。当数据已在菊花链上传输时,假设已有16的整数倍个(N*16)SCLK脉冲,驱动CS为高电平将使链上所有器件输入移位寄存器中存储的DAC指令同时生效。如果在N*16个SCLK周期之前,CS置高,那么链上的所有器件将忽略此次写操作。

菊花链实例

下面的例子建立了由3个器件(A,B和C)组成的菊花链。器件A离总线主机最近。每一个器件与其他两个配置均不同。

CS置低以配置器件A。从总线主机发出指令至器件A将其UPIO1配置为DOUTDC0(指令1)。该指令存储在器件A的输入移位寄存器中。将CS置高,执行存储在器件A输入移位寄存器中的指令。器件A配置完毕。

CS置低以配置器件B。从总线主机发出经过器件A的指令将器件B的UPIO2配置为DOUTDC1(指令2)。收到这16位写指令后,器件B的输入移位寄存器在随后的时钟周期内立即更新。

从总线主机发出指令至器件A覆写其输入移位寄存器数据,这样器件A的状态保持不变(指令3)。如果需要进行特殊的操作(如配置UPIO1,改变速率位等),可用任何指令替代器件A中的NO-OP。器件B的输入移位寄存器在这16个时钟周期内被前一指令进行更新。将CS置高,执行存储在器件A和器件B输入移位寄存器中的指令。器件A和器件B配置完毕。

CS置低以配置器件C。从总线主机发出指令将器件C的UPIO1配置为DOUTDC1(指令4),该指令将经过器件A和器件B。

从总线主机发出的指令将器件B的输入移位寄存器数据覆写,这样器件B的状态保持不变(指令5),该指令经过器件A。器件B的输入移位寄存器被步骤5的指令进行更新。

从总线主机发出的指令将器件A的输入移位寄存器数据覆写,这样器件A的状态保持不变(指令6)。器件B的输入移位寄存器被步骤6的指令进行更新。器件C的输入移位寄存器被步骤5的指令进行更新。将CS置高,执行存储在器件A、器件B和器件C输入移位寄存器中的指令。

表2.器件A,B和C输入移位寄存器内容—菊花链例子

该系列器件的每一个串行接口都有2个UPIO端口。一个可以配置为回读(DOUTRB),另一个可作为菊花链使用(DOUTDC1或DOUTDC0)。这种组合是非常有效的,大多数情况下,回读和菊花链都可以正常工作,但是有两种情况,这种配置会带来一些影响。

具有数据回读的菊花链例子该例使用两个器件:A和B,A离总线主机最近。如果器件A有DOUTRB和DOUTDC_,器件B有DOUTRB,那么以下步骤可以有效执行:

将CS置低。从总线主机发出8位读指令(指令1)至器件A。保持CS低电平,不要将其置高。

从总线主机发出一些其他的读或写指令(指令2)至器件A。器件B的输入移位寄存器被指令1更新。执行指令1的有效输出数据在器件A的DOUTRB出现。将CS置高,完成该指令序列。

执行指令1的有效输出数据在器件B的DOUTRB出现。器件A执行指令2。

在这种情况下,器件B要执行的8位指令首先要经过器件A。当指令经过A时,A的DOUTRB端口响应该读指令(输出有效读数据)。这并不妨碍读指令向B传送,器件B同样响应读指令,输出有效数据。

相互作用的第二个例子是只从器件A(距离总线主机最近)读取24位DAC,该指令可以正确执行。除了链上的第一个器件外,24位读信号同菊花链不兼容。这是因为当数据输出至DOUTDC_时,链上第一个器件将24位读信号转换为NO-OP。同样,一个24位读信号是32位的总指令长度,这同菊花链的16位指令序列不兼容。

如图7和图8所示,可以通过一个共享的3+N线串行接口对多器件进行读或写操作。N是共享串行接口的器件数量,同时也是片选线之和,这是由于每个器件都有自己的CS。读写操作遵从前面章节中的协议。SCLK,DIN和DOUTRB信号对所有的器件都相同。该方法同菊花链的两点主要不同为1)每一个器件都有自己的CS和2)DIN对所有器件都相同。

当连接多个器件至一个共享串行接口时,可以按照以下要求进行:

同时选中多个芯片,然后通过一个单步写操作将相同的数据广播至几个器件。

为避免竞争,数据回读时,只能有一个器件的DOUTRB有效。对于没有选中的器件,DOUTRB为高阻抗,允许其他器件驱动总线。

连接在单个信号线(SCLK,DIN,DOUTRB)上的多器件负载减慢了串行接口的速度。速度减慢的程度取决于PCB布线和共享总线上的器件数量等外部因素。

由于CS线通常由微控制器或DSP端口来驱动,因此接入多个器件需要额外的软件开销。这和一个DAC应用情况不同,在DAC应用情况下,CS可以一直置低,或通过一个DSP基于硬件的帧同步信号来控制。

图7.多器件读操作—SCLK上升沿数据同步输入

图8.多器件读操作—SCLK下降沿数据同步输入

DSP帧同步模式的读写操作同前面几节所述的协议相似,但是有两点主要的不同。第一,写操作的开始以DSP的下降沿为参考,而不是CS信号(在DSP帧同步模式下,CS必须置低以便选中该器件)。第二,16位DAC数据或写指令在DSP下降沿之后的16个SCLK周期内有效。在DSP帧同步模式下,不需要其他模式下执行指令的CS上升沿条件。

注意,由于器件不需要CS上升沿对16位数据进行操作,而是直接将数据传送到下一个器件,因此DSP帧同步模式同菊花链模式不兼容。

帧同步模式下,可以通过一个共享4+N线串行接口对多器件进行读或写操作。N是共享串行接口的器件数量,同时也是片选线之和,这是由于每个器件都有自己的CS。在上电后DSP的第一个上升沿,器件进入DSP帧同步模式。如果不使用这种模式,如前节所示,上电时应将DSP连至DV(DD)或DGND。

DSP帧同步模式的主要优点是一个硬件信号(帧同步)控制接入串行总线上多个器件DSP的时序。由于DAC操作时序的关键因素不再是软件控制片选信号,因此该模式具有性能上的优势。一个充分利用这种特性的例子是多芯片CODEC,其共同的帧同步信号以同一速率驱动(永久使能)DAC和ADC。DSP软件在一次将DAC数据输入缓冲区,并将缓冲区的全部ADC数据读出,并允许串行接口硬件处理全双工数据传送。

THE END
1.网上商城概要设计说明书时序图状态图用例图.pdf网上商城概要设计说明书-时序图-状态图-用例图.pdf,北大青鸟网上商城系统 概要设计说明书 版本号: 修改内容 修改人 修改时间 1.0 李爽 第一部分:引言 1.1编写目的 本说明是北大青鸟网上商城电子商务系统案例研究项目软件产品的总体设计和实现说 明,记录了系统整体实现上https://max.book118.com/html/2021/0813/8074046067003133.shtm
2.购物商城系统标签灵动生活当前标签:购物商城系统 公告 Welcome to My BLog 网名:灵动生活 姓名:郝宪玮 麦考林系统架构师 统计:https://www.cnblogs.com/ywqu/tag/%E8%B4%AD%E7%89%A9%E5%95%86%E5%9F%8E%E7%B3%BB%E7%BB%9F/
1.宠物用品线上商城管理小程序系统搭建随着宠物经济的迅速发展,在线购买宠物用品的需求日益增长。为了满足这一市场需求,广州创智慧科技有限公司致力于为客户提供宠物用品线上商城管理小程序的开发服务。这一系统不仅方便了用户的购物体验,还为商家管理提供了便捷的解决方案,从而提升了整体运营效率。 http://guangzhou040710.11467.com/news/9434823.asp
2.京东超市宠物行业趋势洞察:主食零食呈现功能化趋势宠物用品快速增长...【亿邦原创】11月28日,京东超市发布宠物趋势洞察,从行业变化、细分趋势等方面,刻画宠物行业发展趋势,为行业发展提供指南。 据京东超市宠物行业趋势洞察显示,宠物市场发生了较大变化,线上化渗透率不断提升,消费呈现分化;用户群体中,多宠家庭占比上升,消费品类更加多元;资本市场深度参与宠物赛道,并进行并购整合,跨界巨头...https://www.163.com/dy/article/JI6HH3J605118A6A.html
3.SSM宠物商城计算机设计毕业源码23666宠物商城管理系统是基于浏览器与服务器架构平台,采用跨平台的JAVA语言开发,利用SSM框架进行逻辑控制,MySQL数据库存储数据,最后Tomcat服务器完成发布,系统可在多个环境下运行。 关键词:宠物商城;MySQL;SSM框架 SSM Pet Mall Abstract In recent years, with the development and progress of society and the improvement ...https://blog.csdn.net/Weixin_CXSJ881/article/details/144102061
4.宠物保健品在线商城设计:海外市场的营销策略解析网站建设服务特点: 微科技的在线商城设计服务专注于打造易于使用且高效的电商平台,帮助宠物保健品品牌在全球范围内进行线上销售。该服务能够根据不同的业务需求,提供个性化的商城设计与功能定制,结合强大的后台管理系统,确保商城的高效运营。 用户体验: 一站式购物体验:商城界面简洁、商品展示清晰,消费者可以快速浏览不同类别的宠...https://www.vikj.cn/hangye/11531.html
5.商城系统购买支付时序图流程图模板商城系统用户购买商品到支付时序图 商城后台管理系统功能图 时序图 商城系统 作者其他创作 大纲/内容 减券 发放折扣优惠 生成订单 订单系统 消息 登录 减库存 促销系统 支付成功 用户系统 用户 商品 提交订单要素 校验订单 获得折扣信息 锁库 支付系统 下单成功消息 仓储系统 库存充足 选择商品SKU 计算金额 检查...https://www.processon.com/view/5c6bb2dae4b0f0908a990a04
6.基于Java+SpringBoot+Vue+uniapp微信小程序零食商城系统设计和实现三、系统设计: 3.1 系统架构设计: 3.2 登录时序图设计: 四、功能截图: 4.1 微信小程序端: 4.1.1登录注册模块: 4.1 2 首页信息模块: https://blog.51cto.com/u_14304894/6023168
7.javaSpringBoot框架蛋糕销售商城管理系统详细设计技术交流系统时序图设计 登录注册功能的设计 每个销售管理系统都需要有注册登录的操作,这是为用户和管理员提供更高权限操作的必要前提。在该系统中,当用户若想对商品进行购买或者发布评价的操作,就需要先完成该操作,注册完成后通过账号和密码完成登录,否则用户将以游客身份进行浏览系统。 https://ac.nowcoder.com/discuss/1000941
8.时序图什么意思时序图的作用和特点时序图组成元素时序图和流程图虽然都是用来描述事件之间的关系,但它们在表达方式上有所不同。流程图更注重事件之间的逻辑关系和执行流程,通常用于展示程序的执行过程或者系统的功能流程;而时序图更注重事件之间的时间顺序和参与者之间的通信方式,用于展示事件的发生顺序和参与者之间的交互。 https://bomyg.com/detail/279974.html
9.基于微服务的网上商城系统的设计与实现将系统的服务功能按照角色的使用情况进行划分,同时以用例图的方式使系统功能与使用者一一对应。在对系统进行总体设计后,并对其中几个服务模块通过时序图的方式进行了详细的设计与描述。在具体的实现中还通过其他的分布式技术诸如消息队列、缓存等,保证了系统的并发能力,提高了系统响应时间和可用性。本文在最后阶段对系统...https://wap.cnki.net/touch/web/Dissertation/Article/1021130858.nh.html
10.页面切换提速30%!京东商城APP首屏耗时监控及优化实践监控系统 对于首屏耗时监控很多人会有疑惑:业内有许多不错的App性能监控系统,为什么不直接复用呢?确实,许多大厂有现成的SDK可以使用,然而,这些系统的监控指标更偏于技术指标,存在几个缺陷: a)无法监控用户的真实感受;b)无法监控多tab页面切换的情况;c) 无法覆盖业务指标,如商品图加载耗时监控。飓风系统就是为解决...https://maimai.cn/article/detail?fid=1565756869&efid=r9m8mHfzis32t-6dDkDvMA
11.java二手交易平台代码java二手交易平台代码大全java二手车买卖系统 你是要自己做开发还是请人开发呢,浙江天尔软件技术有限公司从十几年的开发经验中总结了一些注意事项你可以参考下: 开发一个完整app需要掌握哪些知识 1、前期需求规划与信息——你需要制定出一个完整的需求文档,功能文档,流程图,时序图。 https://chengdu.cdxwcx.cn/article/hjjjde.html
12.RocketMQ分布式事务商城下单业务详解腾讯云开发者社区RocketMQ分布式事务 - 商城下单业务详解 ? 下单功能时序图 下单基本流程 下单接口 2 校验订单 这是下单流程重要的第一步 按如下流程执行 代码 3 生成预订单 当校验订单成功后,我们就可以开始生成预订单了 流程图 注意 设置订单 id 时,可能涉及分库分表,所以要注意确保 id 的唯一性哦,使用雪花算法...https://cloud.tencent.com/developer/article/1633782
13.淘淘商城——单点登录之通过token获取用户信息一 登录 时序图如下: wx.login() 获取js_code 示例代码: App({ onLaunch: function() { wx.login({ success: function(res) { ... 微信小程序获取用户登录信息 1.在index.wxml中设置单击事件 2.在index.js中设置获取用户的登录信息 getUserProfile(e) { wx.getUserProfile({ desc: ‘用于完善会员资料...https://www.pianshen.com/article/6746832355/