首页> 中国专利> 用于模数转换器的低延时模间触发器串行接口

用于模数转换器的低延时模间触发器串行接口

摘要

本发明公开一种用于闭环控制的封装控制器,包括两个一起封装在1个半导体封装中的两个模块。第一模块被优化用作数字电路,包括1个处理器、1个模数转换器、1个串行总线接口和1个序列发生器。第二模块被优化用作模拟电路,包括1个串行总线接口、多个采样/保持电路和1个模拟多路复用器。第一模块上的序列发生器使一系列多位值经过低延时串行总线串行通信至第二模块,由此控制模拟多路复用器生效位于第二模块的采样/保持信号。在序列发生器的控制下,第二模块同时获取多个电压值,然后逐一多路复用至第一模块上的模数转换器,用于转换成数字值。这种架构降低了复杂性和整个封装控制器的成本。

著录项

  • 公开/公告号CN103259542A

    专利类型发明专利

  • 公开/公告日2013-08-21

    原文格式PDF

  • 申请/专利号CN201310124474.2

  • 发明设计人 徐青;

    申请日2013-04-11

  • 分类号H03M1/12;

  • 代理机构上海市锦天城律师事务所;

  • 代理人刘民选

  • 地址 201203 上海市浦东新区祖冲之路1077号凌阳大厦1202室

  • 入库时间 2024-02-19 19:54:51

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-09-07

    授权

    授权

  • 2013-09-18

    实质审查的生效 IPC(主分类):H03M1/12 申请日:20130411

    实质审查的生效

  • 2013-08-21

    公开

    公开

说明书

技术领域

本发明内容主要涉及闭环控制应用的控制器,尤其是低成本闭环控制应用的 控制器。

背景技术

在基于微控制器闭环控制应用中,如对成本敏感的电机控制和多通道电源转 换应用,微控制器一般包括1个模拟到数字转换器(ADC)和1个处理器。模数转换器 用于取样正在受控系统的电压和/或电流。在一些应用中,因为这些测量值之间的关系 非常重要,需要同时或者几乎同时取样。于是,在取得一组相关样本之后,对样本进行 处理,计算得出1个控制输出随后将控制输出返回系统,达到控制系统的目的。整个闭 环序列应当以相对快的速度执行,比如,每次执行的时间少于50微秒或更短。

在传统方法中,要提供多个模数转换器,这样就可以并行测量所需的电压和 电流。由于要负担提供多个模数转换器的成本,这通常是相当昂贵的解决方案。

在另一个传统的方法中,微控制器包括单一但相对快的模数转换器。举个例 子,这个模数转换器以每微秒1个样本的速度取样。每次取1个样本,连续取样,但由 模数转换器的速度造成的取样之间的时间延迟是可以接受的。然而,在控制回路周期结 束之前,由于连续取样,留给处理器作必要处理的时间更少。此外,处理器在每次执行 ADC转换后通常被中断。处理器响应于被中断,处理器切换上下文,读取模数转换器的 结果并存储,然后启动模数转换器执行下一轮模数转换,然后再切换返回上下文,恢复 被中断前执行的处理任务。因为这些中断消耗处理周期,可能要求有相对快的处理器在 剩余时间内执行处理器的计算任务。对一些成本敏感的应用而言,提供高速模数转换器 和高速处理器可能相当昂贵。

在另一个传统方法中,在冯诺依曼结构中提供1个直接存储器存取(Direct  Memory Access,DMA)控制器,目的是卸下执行必须服务模数转换器任务的处理器。 然而,直接存储器存取控制器与处理器争用主总线。争用总线将使控制环路软件设计出 现不需要的复杂性。此外,直接存储器存取控制器通常是1个大型电路,为直接存储器 存取控制器提供必需的总线仲裁器,将增加微控制器模块的尺寸。可采用哈佛结构,这 样,直接存储器存取控制器就能在第二总线上服务模数转换器,同时处理器可在无其他 设备争用总线的情况下使用主总线。但是提供带有额外总线的哈佛结构也相当昂贵。

发明内容

封装控制器包括1个第一半导体模块和1个第二半导体模块,它们一起封装 在1个半导体封装中。第一半导体模块使用特别适合制作数字逻辑与数字电路的第一半 导体制作工艺制造,而第二半导体模块使用特别适合制作模拟电路的第二半导体制作工 艺制造。第一模块(数字模块)包括1个处理器、第一端子(模拟信令板,ASIG)、 第二端子(串行数据,SDATA)、1个模数转换器、1个串行总线接口和1个序列发生 器。第二模块(模拟模块)包括1个串行总线接口、1个第一端子(模拟信令板,ASIG)、 多个采样/保持电路、1个模拟多路复用器和第二端子(串行数据,SDATA)。

响应于触发信号,位于第一模块的序列发生器使1个多位值从第一模块串行 总线接口经过1个低延时单向串行链路,经过第一模块的第二端子(串行数据,SDATA), 经过第二模块的第二端子(串行数据,SDATA)串行通信至位于第二模块的串行总线接 口。第一模块的串行总线接口也向第二模块的串行总线接口输出1个串行总线时钟 SCLK,控制这个多位值的单个位记入第二总线接口中的一组触发器。

本系统由处理器编程,所以,响应于第二模块至少收到一部分多位值,第二 模块的串行总线接口使1个采样/保持信号(S/H)提供给多个采样/保持电路生效 (assert)。这个多位值也控制位于第二模块的模拟多路复用器,这样,在第二模块 上选出的1个采样/保持电路,其输出的电压通过模拟多路复用器耦合第二模块的第一 端子(模拟信令板,ASIG),同时越过第一模块的第一端子(模拟信令板,ASIG)耦 合第一模块中模数转换器的输入导线。一旦这个机制正确地设置了模拟多路复用器,触 发器将使模数转换器实现模拟到数字的转换,由此产生1个ADC输出值。AC输出值(注: 原文笔误,应为ADC输出值)随后在序列发生器的控制下被写入数据缓存器。通过经 由总线向第二模块发送多个这样的多位值,在这组采样/保持电路中一次获取的多个电 压值样本就能逐一耦合到第一模块中模数转换器的输入导线,进行模数转换。ADC输出 值的结果集被存储到数据缓存器。可以对序列发生器编程,这样,在模数转换器的输出 值被存入数据缓存器后,序列产生器输出中断信号。处理器一旦被中断,就能在有效的 读取进程中从数据缓存器中读取ADC输出值。

触发信号生效到采样/保持信号被生效之间的延迟期少于8个串行总线时钟 信号SCLK周期。触发信号生效到第一模块输出多位值的第一位之间的延迟期少于约2 个总线时钟信号周期。这两个短的延迟期以及处理器卸下了必须管理模数转换序列的任 务,允许采用性能较低、成本较低的处理器,并简化了控制环路软件的编写。

序列发生器包括一组可由处理器写入的序列寄存器。每个序列寄存器的内容 包括控制与配置信息,这些信息决定怎样采集相关模数转换器的样本。举个例子,序列 寄存器中的1个域包括将通过低延时串行总线发送到第二模块的多位值,目的是设置模 拟模块中的模拟多路复用器,按需生效采样/保持信号,使模数转换器实现转换。一旦 被触发,序列发生器逐个遍历这些序列寄存器,逐一实施示意的操作,直到最后一个存 储有合法序列寄存器值的序列寄存器被处理为止。在处理完最后一个存储有合法序列寄 存器值的序列寄存器后,序列发生器生效中断信号。

上述内容为发明内容,即根据需要将详细内容予以简化、归纳和删节;因此 本发明内容仅作说明之用。其他有关方法、结构和细节请参见以下详细描述。本发明的 范围不应通过上述发明内容来确定。

附图说明

所附图纸,其中相关数字说明相关组件,用以具体说明发明。

图1是从新角度看封装控制器1的简化俯视概念图;

图2是简化的图,说明的是在电机控制应用中使用图1中的封装控制器1;

图3更详细展示了第一模块2的第一电路8和第二模块3的第二电路12;

图4是第一模块2的串行总线接口72和第二模块3的串行总线接口93的更 详细电路图;

图5是图4中逻辑块107的更详细的图表;

图6是一张表格,详细说明了图4中的组合逻辑块107的运算;

图7是一张图表,说明了序列发生器73的8个序列寄存器,序列发生器74 的8个序列寄存器,数据缓存器为序列发生器73保持ADC输出值的8个单元,和数据 缓存器为序列发生器74保持ADC输出值的8个单元;

图8是一张图表,说明了序列控制寄存器的多个域;

图9是一张图表,说明了序列发生器模式控制寄存器的多个域;

图10是一张简化的波形图,说明了包括序列寄存器内容的操作,其中 "TX-BUS TRANSMISSION WE START OPTIONS"域中的值被设置为"SEND DATATIN  AT BEGINNING OF SAMPLE SEQUENCE"选项;

图11是一张简化的波形图,说明了包括序列寄存器内容的操作,其中 "TX-BUS TRANSMISSION WE START OPTIONS"域中的值被设置为"SEND DATATIN  AFTER ADC START"选项;

图12是一张简化的波形图,说明了包括序列寄存器内容的操作,其中 "TX-BUS TRANSMISSION WE START OPTIONS"域中的值被设置为"DO NOT SEND  DATATIN"选项;

图13是图1中封装控制器1的操作方法流程图。

详细说明

图1是一张从新角度看一体化电源管理控制器电路1的简化俯视概念图。封 装控制器1包括第一集成电路模块2和第二集成电路模块3,它们被置于集成电路封装 4中。集成电路封装4适合任何类型的封装。在所述的例子中,集成电路封装4是方形 扁平无引脚封装。封装4的封装引出线环形排列,向封装外围延伸。参考编号5标示一 根封装引出线。参考编号6标示一根接合线,将第一模块2上的接合区7连接至封装 引出线5。接合区如接合区7,也被称为模块端子。图1中的示意图是一张简图,未展 示引线框细节以及接合线是怎样连接到引线框的。

第一模块2和第二模块3为引线限制。这两个模块均为引线限制,是因为每 个模块的大小均由置于模块外围的接合板所限,而不是由接合板外围环内的功能电路占 用的半导体表面积所限。虽然可以通过采用倒装芯片连接方法避免引线限制问题,但可 采用传统的接合板与接合线,目的是使用更传统且不太浪费的工序。

第一模块2使用特别适合制作数字逻辑和数字电路和存储器的第一半导体制 作工艺制造,第二模块3使用特别适合制作模拟电路的第二半导体制作工艺制造。尽管 单个半导体制作工艺如BiCDMOS工艺可以实现将两个模块的电路置于单一模块上,但 这种工艺不用于单一模块解决方案。成本与性能优势与使用第一半导体制作工艺使控制 器的大部分数字电路被划分到第一模块使用,使用更加适宜于制作数字电路的制作工艺 制造此模块。类似的,成本与性能优势与使用第二半导体制作工艺使控制器的大部分模 拟电路被划分到第二模块使用,使用更加适宜于制作模拟电路的制作工艺制造此模块。

因为封装控制器1的模块2和模块3的引线限制的性质,采用全新的低延时 串行总线减少第一模块和第二模块的连接数。第一模块2上的第一电路8通过模块端子 9、接合线10与模块端子11向位于第二模块3的第二电路12串行发送控制信息。第 一电路8也通过模块端子13、接合线14和模块端子15向第二电路12发送串行总线 时钟信号。通过此串行总线、从第一模块通信至第二模块的控制信息被用于第二模块, 目的是控制位于第二模块的采样/保持电路什么时候采样,并且,控制位于第二模块的 模拟多路复用器怎样向第二模块单一端子多路复用模拟采样信号,实现向位于第一模块 上的模数转换器返回通信。在图1的图示中,模拟采样信号经过模块端子16、接合线 17、模块端子18向第一电路8的模数转换器返回通信。

图2是一张简化的图,说明了图1中的封装控制器1在电机控制中的应用, 包括1个50微秒的控制环路周期。数字模块2的细节被省略,这样,可展示模拟模块 3的更多细节。封装控制器1控制经过电机22的3个绕组19、20、21的电流驱动电 机。第一对高侧和低侧外部场效应晶体管(Field Effect Transistors,FETs) 23和24耦合到通用节点25和电机端子26上。第二对高侧和低侧外部场效应晶体管 27和28耦合到通用节点29和电机端子30上。第三对高侧和低侧外部场效应晶体管 31和32耦合到通用节点33和电机端子34上。高侧驱动电路35、36、37分别驱动 外部高侧场效应晶体管23、27和31。低侧的驱动电路38、39、40分别驱动外部低 侧场效应晶体管24、28和32。位于数字模块2的处理器41(见图3)通过向位于第 二模块的相关寄存器(无图示)写入数字值控制高侧电路和低侧电路。存储在相关寄存器 不同位单元的数字值,决定驱动各自外部场效应晶体管的相关高侧驱动和低侧驱动的开 或关。可使电流从+48V的供电导线进入选择的电机端子,经过电机的2个绕组,从另 一个选择的电机端子流出,到达接地导线。

从电机端子26、30和34流出的电流流经对应的感应电阻42,43,44。使用 封装引出线45和46以及差分放大器47感知经过绕组42时电压降落值。使用封装引 出线48和49以及差分放大器50感知经过绕组43时电压降落值。使用封装引出线51 和52以及差分放大器53感知经过绕组44时电压降落值。

除了感知电流,封装控制器1感知3个电机端子26、30和34的电压值。 电机端子26上的电压由电阻分压器54和56分压,结果是获得封装引出线56上经过 分压的电压。电机端子30上的电压由电阻分压器57和58分压,结果是获得感知的封 装引出线59上经过分压的电压。电机端子34上的电压由电阻分压器60和61分压, 结果是获得感知的封装引出线62上经过分压的电压。

模拟模块3包括1个采样/保持电路,用于采样差分放大器47、50和53的 电压输出。类似的,还有1个采样保持电路,用于采样封装引出线56、59和62各自 的电压。参考编号63-69标示出了这6个采样/保持电路。这6个采样/保持电路均被 经由同一导线70,提供给采样/保持电路的1个共同的采样/保持信号69控制。当采 样/保持信号69有1个数字逻辑低电平时,采样/保持电路输入导线上的模拟电压信号 经过采样/保持电路到达采样/保持电路的输出导线。当采样/保持信号69的数字逻辑 低电平转为数字逻辑高电平时,采样/保持电路获取并保持其输入导线上的电压。采样/ 保持电路上的输出的电压不会改变,直到采样/保持信号69返回数字逻辑低电平:此电 路用于同时获取6个电压:3个电压表示流经电机3个绕组的电流,3个电压表示电 机3个绕组端子上的电压。这6个获取的电压由6个采样/保持电路63-68同时输出 给模拟多路复用器71的6个对应的数据输入导线。模拟多路复用器71用于将获得的 这些电压信号中选择的一个,经过第2模块上的单一端子16(模拟信令板,ASIG), 经过接合线连接17,经过第一模块上的单一端子18(模拟信令板,ASIG),耦合返 至位于第一模块上的模数转换器。

图3更详细地展示了位于第一模块2的第一电路8和位于第二模块3的第二 电路12。第一电路8包括串行总线接口72、第一序列发生器73、第二序列发生器74、 模拟多路复用器75(此处表示为解多路复用器(DMUX)因为其为数字模块上的多路复 用器)、模数转换器76和数据缓存器77、模块端子9、13、18和78,序列发生器模 式控制寄存器79和多路复用电路80-85。处理器41是包含了地址总线86和数据总 线87的本地总线唯一主控。处理器41读取并执行存储在可读处理器存储器88中的控 制回路软件92的指令。在这个冯诺依曼结构中,只有1个总线(本地总线86,87)与 处理器41、程序与可读处理器存储器88与第一总线8耦合。而且,处理器41是本地 总线的唯一主控。处理器41可以经过本地总线86,87,对存储器88、计时器/脉宽 调制(PWM)模块89、中断控制器90、数据缓存器77、序列发生器模式控制寄存器 79、序列发生器73和序列发生器74、串行总线接口72、第二串行总线接口91(如内 部整合电路(I2C)或串行外围接口(SPI))进行读写。

第二电路12包括串行总线接口93、模拟多路复用器71(此处表示为解多路 复用器因为其为数字模块上的多路复用器)和模块端子11、15、16和95。除了第二 电路12,第二模块3包括高侧驱动和低侧驱动35-40、采样/保持电路63-68、差分 放大器47、50和53、数个其他模块端子(未用数字标注)、模拟模块控制逻辑96和 第二串行总线接口97。数字模块2上的第二串行总线接口91和模拟模块3的第二串 行总线接口97,经过端子98和99,一起提供模块2和模块3之间的第二串行链路。 这个第二串行链路采用标准串行协议,如内部整合电路(I2C)或串行外围接口(SPI)。 接合线17、101、10、14和100提供模块间的连接。在另一个例子中,模块间的连接 不是接合线,而是作为封装4的部件的导线。

图4是第一模块2的串行总线接口72和第二模块3的串行总线接口93的更 详细的电路图。(图4的电路图包括多处简化,在此以简单形式展示的目的是说明与演 示。)第一模块2串行总线接口72包括移位寄存器102和状态机103。序列发生器73 或74的之一可与时钟信号CLK同步,向移位寄存器102并行写入1个8位的DATAIN 值。如果在CLK的上升沿时,写入使能信号WE是高电平,那么,忽略移位使能SREN 输入导线收到的信号,8位的DATAIN值被并行加载到移位寄存器。如果WE是低电平, 且在时钟信号CLK的上升沿,SREN生效高电平,那么移位寄存器将在时钟信号CLK 的上升沿移位。在说明中,移位寄存器102的8位值从左边移位到右边,最右边的值 从移位寄存器输出至模块端子9。状态机103经由模块端子13,接合线连接14和模块 端子15,向第二模块3提供相关的串行总线时钟信号SCLK。

在图4的简化图中,第二模块3的串行总线接口93包括8个触发器(图中 用D1至D8表示),换流器104,3位计数器RXCNTR105,解码器DEC106和逻辑块 LOGIC107。如果计数器105处于000状态,解码器106向触发器D1,而不向其他触 发器提供1个使能信号。类似的,如果计数器105处于001状态,解码器106向D2 触发器,而不向其他触发器提供1个使能信号。类似的,如果计数器105处于010状 态,解码器106向D3触发器,而不向其他触发器提供1个使能信号。触发器D1-D8 不构成移位寄存器,SDATA值没有移位到第二模块上,而是每个触发器D1-D8被单独 使能,根据RXCNTR105的状态每次加载1个数据。

最初,RXCNTR计数器是000状态。(状态1)但串行时钟SCLK没有计入, 所以触发器D1-D2没有加载任何数据。第一模块2的串行总线接口72从移位寄存器 102的最右边输出1个数据值。这个值通过导线108提供给D1-D8全部触发器的数据 输入导线。然而只有D1触发器被使能。在CLK信号的下降沿,串行总线接口72使SCLK 信号为高电平,从而将数据值计入(clock into)触发器D1。CLK的下一个上升沿 使下一个数据值从移位寄存器102中移出。在CLK信号的上升沿,串行总线接口72 使SCLK信号为低电平,从而使RXCNTR计数器105增加,到状态001(状态2)。这 种增加使解码器106对第二触发器D2使能。照此,在SCLK的下一个上升沿,第二个 数据值被记入第二触发器D2。这样,8位DATAIN值相继从移位寄存器102移出,通 过第一模块的第二模块端子9(串行数据,SDATA)经过模间连接10,第二模块的第 二模块端子11(串行数据,SDATA)被记入位于第二模块3上的D1-D8触发器中对应 的1个触发器。一旦这8位值被记入第二模块3的触发器,状态机103停止切换SCLK 信号。

图5是图4中逻辑块107更详细的示意图。存储在前两位(D1和D2触发器) 中的值表示其余6位DATAIN值的意义。如图6中的表格所示,在示意图所用例子中, D1和D2仅使用的值组合是01。本例中D1和D2的其他组合被保留且未被使用。

如果D1和D2的两位值是01,DATAIN的第三位值将提供给导线70作为采 样/保持信号69。如果存储在触发器D3中的值是数字逻辑高,采样/保持信号69将有 1个数字逻辑高值,如果存储在触发器D3中的值是数字逻辑低,采样/保持信号69将 有1个数字逻辑低值。DATAIN值的后4位将从逻辑块107输出,作为多路复用器控 制信号AMUXSEL[1:4]。AMUXSEL[1:4]被提供4个导线118,这4个导线118延展 后连接AMUX多路复用器71的4个选择输入导线。为了防止采样/保持信号69出现无 必要的差错,在SCLK的第三个上升沿,头两位D1和D2的示意的操作被解码验证有 效。在D1和D2触发器分别记录各自的DATAIN值后,SCLK的第三上升沿出现。在 SCLK的第五个上升沿,位于D3的第3个值被锁存并输出至采样/保持导线70。解码 器109和110与触发器111和112保证:被存储在对应的D3触发器中的值稳定后的 串行通信操作期间,采样/保持信号69只能够更改一次。

序列发生器73或74能使用这个低延时串行总线接口使采样/保持信号69生 效,这样全部6个采样/保持电路63-68就能同步进行采样和保持操作。如果最开始, 采样/保持信号69的逻辑值为低,序列发生器可以向串行总线接口72加载1个DATAIN 值,其第三位值是数字逻辑高。在DATAIN值的第三位被记入第二模块的第三个触发器 D3时,采样/保持信号69将从低转为高,使6个采样/保持电路63-68保持。

此外,序列发生器能改变AMUXSEL[1:4]的值。例如,序列发生器可以向模 拟模块3发送多个8位DATAIN值,DATAIN值的后四位变化,这样多个采样/保持电 路保持的模拟采样电压值可逐一多路复用输出,通过端子模拟信令板16,经过模间连 接17、端子模拟信令板18,至位于数字模块的模数转换器76。经过模间连接17的模 拟采样电压是单端信号,其电压与模块端子95和78上的模拟地电位AGND相关。

如图7所示,序列发生器73和序列发生器74都有各自的一组8个相关的序 列寄存器。在图3和图7中,参考编号113标示出序列发生器73的8个序列寄存器。 参考编号114标示出序列发生器74的8个序列寄存器。每个序列寄存器都有多个域, 如图7所示。在操作中,序列发生器每次遍历1个序列寄存器,使用序列寄存器的内容 设置解多路复用器75和模拟多路复用器71。注意序列寄存器的前三位是3位的解多路 复用器的设置值,控制解多路复用器75。注意序列寄存器的后8位是8位DATAIN值 (其中后4位是AMUXSEL[1:4]设置值,用以控制上述模拟多路复用器71)。采样/ 保持信号的电平由DATAIN值的第3位决定。

在采样/保持电路已经根据需要改变,且提供给多路复用器和解多路复用器的 选择信号根据需要设置后,序列发生器在导线116上生效启动转换器的信号START ADC 115使模数转换器开始模拟到数字的转换。作为响应,模数转换器76将模拟输入导线 117上的模拟电压信号转换为导线118上对应的多位数字ADC输出值。模数转换器76 拥有自己的采样/保持电路,所以一旦START ADC信号115变换,模数转换器输入导 线117上的模拟信号可以改变,同时不影响模数转换器正在进行的模数转换。在模数 转换完成后,序列发生器使模数转换器导线131上的ADC输出值写入数据缓存器77 的合适的10位单元。如图7的表格所示,使用序列寄存器中各项设置得出的ADC输出 值被写入数据缓存器中的10位单元,其与序列寄存器处于同一行。序列寄存器与数据 缓存器的10位单元是一对一的关系。处理器41能通过数据总线86,87向序列发生器 写入,设置序列寄存器的内容,并且由此向它们发送合适的触发信号启动序列发生器。 因为处理器41以这种方式对序列寄存器编程,且数据缓存器中对应的10位单元中, 模数转换器的输出值将被写入并被预置,被处理器41获悉,数据缓存器41随后能经 过数据总线86、87读取ADC输出值。

图8说明了序列控制寄存器的多个域。两个序列发生器中的每个都有1个这 样的序列控制寄存器。序列控制寄存器119是序列发生器73的序列控制寄存器。序列 控制寄存器120是序列发生器74的序列控制寄存器。存储在域121中的值指出第一 序列发生器73的序列寄存器113包含了多少个合法的条目。类似的,存储在域122 中的值表示第一序列发生器74的序列寄存器114包含了多少个合法的条目。在由触发 信号触发后,序列发生器逐个通过序列寄存器处理,直到存储合法值的全部序列寄存器 被服务。当全部序列寄存器被服务后,序列发生器生效中断信号,中断控制器90。第 一序列发生器73通过导线124发送中断信号,第二序列发生器74通过导线125发送 中断信号。在被序列发生器中断后,处理器41通过数据总线86、87,读取数据缓存 器77中的相关单元,获取序列发生器写入的ADC输出值。

图9展示了图3的序列发生器模式控制寄存器79的3个域。例如,如果序 列发生器模式控制寄存器79存储的前3位是000,仅第一序列发生器73可操作,响 应于收到触发信号,此序列发生器处理序列寄存器的值。在序列发生器73的序列控制 寄存器119中的值,决定使用多路定时器/脉宽调制(PWM)中的哪一个输出信号作为 触发信号。序列控制寄存器119的另一个值决定触发器的上升沿或下降沿启动序列发 生器。在图3的例子中,对序列发生器73配置为,在触发信号123的上升沿触发。触 发信号123是计时器和脉宽调制模块89输出的12个信号之一。

图10是一张简化的波形图,说明了包括序列寄存器内容的一次操作,其中3 位的"TX-BUS TRANSMISSION WE START OPTIONS"域值被设置为"SEND DATATIN AT BEGINNING OF SAMPLE SEQUENCE"选项。在所述的例子中,序列寄存器是序列 发生器73的第一序列寄存器。序列发生器模式控制寄存器79被设置,所以只有序列 发生器73被使用。序列发生器73的序列控制寄存器119被设置,所以序列发生器将 在触发信号123的上升沿触发。CLK是50Mhz,SCLK周期是20纳秒。在计时器的1 个SCLK周期内,模块89生效触发信号123为一高电平,CLK的上升沿出现。作为响 应,序列发生器73在导线126上发出其BUSY信号,进入其序列计数“1”的状态, 向解多路复用器75输出DMUXSEL值,启动延迟计时器,向串行总线接口72提供8位 DATAIN值,并生效写使能信号WE为一高电平。在CLK信号的下一个上升沿,DATAIN 值以并行方式加载进入移位寄存器102。状态机103从状态S9转为状态S1,发出移 位使能SREN信号。根据移位寄存器102中当前的DATAIN值,DATAIN值的D1位由 移位寄存器102输出至第二模块端子9(串行数据,SDATA)。生效触发信号69和向 第二模块端子9输出D1值之间的延时比串行总线时钟信号SCLK的两个周期要短。

在CLK周期一半之后,状态机103首次使SCLK信号为一高电平。SCLK的 这个上升沿使端子9和11的数字值D1写入位于模拟模块3的触发器D1。在CLK的 下一个上升沿,移位寄存器移位,DATAIN的D2值现位于端子9。半个时钟周期之后, D2值被记入触发器D2。在DATAIN的前两个值以这种方式被记入触发器D1和D2后, 解码器109(见图5)的输出固定。在CLK的下一个下降沿,解码器输出值被记入触发 器111。图10的波形图中,在上升CLK沿CA5之后半个时钟周期,操作信号OP的变 化表示了上述操作。类似的,在将DATAIN的第3和第4个值加载入D3和D4后,解 码器110(见图5)的输出固定。在CLK的下一个下降沿,解码器的输出值被记入触发 器112。图10的波形图中,在CLK沿CA7之后半个时钟周期,采样/保持信号的变化 表示了上述操作。在全部8个值被加载进触发器D1-D8中后,AMUXSEL[1:4]值固定。 在图10的波形图中,这在上升CLK沿CA10之后的约半个时钟周期出现。随着DATAIN 的值从移位寄存器102中移出,状态机103从一个状态更新至另一个状态,但是,一 旦最后一个值被移出,状态机103停止生效移位使能信号SREN。类似的,在最后一个 值被记入触发器D8后,状态机103停止更改SCLK信号电平。于是,移位寄存器102 停止移位,D1-D8的触发器中无触发器能记录新数据。由D1-D8触发器输出的信号不 改变。

在序列寄存器的值中4位的DELAY SETTING域决定时钟周期的数量之后, 内部信号DELAY转为低电平。序列发生器检测到这个内部信号是低值,且作为响应, 在CLK的下一个上升沿,生效ADC START信号115。如上所述,这样启动模数转换器 实现模拟到数字的转换。DATAIN的值是否导致采样/保持信号(这样采样/保持电路获 取新样本)生效,取决于采样/保持信号的值是否转为高电平。解多路复用器75如何 设置取决于序列寄存器中DMUX设置域的值。如何设置模拟多路复用器71取决于 DATAIN的最后4位。

在几个时钟周期总计达到约1微秒后,模数转换器向导线131输出1个ADC 输出值。在CLK上升沿CB9,序列发生器生效WR DATA BUF信号,附1个相关的地 址值。这些信号经过多路复用器82和83提供给数据缓存器77。结果,ADC输出值被 写入序列发生器73第一序列寄存器对应的数据缓存器的10位单元。因为在这个例子 中,有第二序列寄存器的值存储在第二序列寄存器中,序列发生器计数增加为“2”, 下一个序列寄存器的值被服务,在下一个CLK上升沿CB11启动。

重要的是,注意在触发信号123的上升沿之后,在少于8个SCLK周期的延 时129中,采样/保持信号69的电平是可以改变的(例如,采样/保持信号可以在低电 平转高电平中生效)。采样/保持信号69能以这样的方式生效后,尽管全部DATAIN 值还没有转移到模拟模块。此外,从使触发信号生效起、大约两个SCLK周期的延时130 中,DATAIN的第一位从数字模块2输出到SDATA端子9。

在所述的例子中,采样/保持信号位无奇偶校验位或者错误检测和校正。所以 可以避免与错误检测功能相关的延迟。如果模拟模块上的计数器105与数字模块上的 状态机103的状态不同步,那么可以在处理器41的控制下,通过经由第二串行总线向 模拟模块发送复位指令127,对位于模拟模块的电路复位。模拟模块控制96检测到复 位指令127,输出复位信号128,复位计数器105和触发器D1-D8。经过本次复位, 位于数字模块的串行总线接口72能发送另一个完整的DATAIN值,分别位于数字模块 和模拟模块的串行总线接口就能相互正确同步。复位指令127经过更高延时的总线通 信,但是复位串行总线接口93的延时是可接受的。这种复位的发生是很少见的,并且 是错误状态。

图11是简化的波形图,说明了包括序列寄存器内容的操作,3位的"TX-BUS TRANSMISSION WE START OPTIONS"域值被设置为"SEND DATATIN AFTER ADC  START"选项。响应于触发信号123在CLK的上升沿被生效为一高电平,序列发生器 73在导线126上生效其BUSY信号,进入序列计数“1”状态,向解多路复用器75输 出DMUXSEL值,并启动延迟计时器10,如图10中的例子所示,但在图11中的示例 中,序列发生器73并未在CLK上升沿CA2提供8位的DATAIN值。序列寄存器的4 位的延时设置值决定了时钟周期的数量,直到内部DELAY信号转变为低。在延迟期最 后,响应于DELAY信号是数字低,序列发生器73在下一个CLK上升沿CB1生效ADC START信号。如上所述,模数转换器76拥有自己的采样/保持电路,所以,一旦ADC START信号115转为高,模数转换器信号输入导线上的模拟电压可以在不影响模数转 换器操作的情况下被改变。在图11的例子中,序列发生器73发出写使能信号WE,输 出DATAIN值,在时钟沿CB1启动。由此,在模数转换器实现模数转换的同时,DATAIN 值被移出数字模块,并被加载进模拟模块。

图12是简化的波形图,说明了包括序列寄存器内容的操作,3位域值 "TX-BUS TRANSMISSION WE START OPTIONS"被设置为"DO NOT SEND DATATIN" 选项。4位的延迟设置确定了延时并启动延时,模数转换发生,但没有DATAIN值从数 字模块被移到模拟模块。由此,模拟多路复用器设置值与采样/保持信号值未被改变。

虽然图10、11和12的例子所示的波形随着触发信号的脉冲高启动,触发信 号的脉冲通常仅用于通过序列寄存器条目制作1个通道,启动序列发生器。在处理了序 列寄存器的1个条目后,序列发生器自动处理下一条序列寄存器条目。没有提供第二触 发器。一旦序列发生器处理了其最后一个序列寄存器条目(由121和122域中可应用 的1个域定义,这个定义指出了现在合法序列发生器条目的数量),序列发生器返回静 止状态并段言中断信号。中断信号通知处理器41,ADC输出值现已位于数据缓存器77 中。

具体描述中有两个序列发生器。如果一个序列发生器向另一个序列发生器提 供BUSY信号,表示它“忙”,另一个序列发生器并不经过低延时串行总线启动1个事 务,而是等待1个CLK周期,然后再次检测BUSY信号。

图13是从新角度绘制的方法1000流程图。响应于第一模块上触发信号生效, 序列发生器向串行总线接口提供1个多位值(步骤1001)。此序列发生器与此串行总 线接口均为第一模块的部件。然后,这个多位值以串行方式从第一模块通信至第二模块 的串行总线接口(步骤1002)。第一模块的串行总线接口也向第二模块提供1个相关 的串行总线时钟(SCLK)。这个多位值包括采样/模拟值和模拟多路复用器设置值。 响应于收到采样/保持值,使位于第二模块的多个采样/保持电路发送采样/保持信号生 效(步骤1003)。在一个例子中,生效该采样/保持信号是这个采样/保持信号低电平 到高电平的转换。触发信号被生效到采样/保持信号生效之间的延迟期少于8个SCLK 周期。位于第二模块的模拟多路复用器设置值用于控制第二模块模拟多路复用器(步骤 1004),即采样/保持电路中选择的一个电路,其信号通过模拟多路复用器、第二模的 单一端子、第一模块单一端子,到达位于第一模块的模数转换器的输入导线。然后序列 发生器启动模数转换(步骤1005),这样模数转换器输出ADC输出值。然后序列发生 器使ADC输出值存储于第一模块的数据缓存器(步骤1006)。

在一个例子中,在执行了图13中的步骤后,位于第一模块的序列发生器使第 二多位值串行通信至第二模块,这样,多个的采样/保持电路中选出的第二个电路通过 模拟多路复用器与模数转换器的输入导线耦合。然后序列发生器启动第二次模数转换器 的转换,使结果中的第二模数转换器的输出值写入数据缓存器。序列发生器反复这一进 程多次,这样,每个采样/保持电路中的电压样本被多路复用输出第二模块,被位于第 一模块的模数转换器逐一数字化。在采样/保持电路中的全部采样电压值根据序列发生 器的指令被数字化后,序列发生器中断处理器。然后,序列发生器能在单一有效的读取 操作中,从数据缓存器读取ADC输出值。

虽然上述具体描述仅用于指导,本专利文件具有一般适用性,并不限于上述 特定细节。因此,对本发明的各种修改、适用性以及不同特性的组合都可能是具有实践 意义的,因此本发明的范围不通过参考上述描述而定,而应通过参考权利要求的全部范 围来确定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号