论文部分内容阅读
引言
ADS8361是一款采样速率为500kSPS的16位双路模数转换器(ADC),该转换器具有4个全差分输入通道,两两一对,以实现同步高速信号采集。采样保持放大器的输入端是全差分的,此外,ADC的输入端也保持为全差分。这使该ADC具有卓越的共模抑制能力:在50kHz时为80dB,这在高噪声环境下非常重要。
新型MSP430F2013等MSP430器件具有通用串行接口(USI),因而可用于非常简单直接的接口,该接口不需要“粘接逻辑”且需要的软件开销也很少。有的应用要求对同步数据采集的通道实现精确定时,这时我们就能用这种接口来获取所需的系统结果。
硬件
ADS8361 EVM
ADS8361是德州仪器(TI)推出的串行ADC电机控制产品系列产品。EVM提供了相关平台,以演示配合不同TI DSP与微控制器时ADS8361ADC的功能,并针对定制的最终用户应用提供了方便地存取所有模拟与数字信号的功能。
eZ430-F2013开发工具
eZ430-F2013是完整的MSP430开发工具,包括评估MSP430F2013所需的全部软硬件。我们用可便利的USB存储棒提供该硬件。eZ430-F2013采用IAR嵌入式工作台集成开发环境(IDE),以提供完整的仿真功能,该器件提供独立系统设计与可拆卸目标板两种选项,以便于集成至现有设计中。更多详情,敬请访问:www.ti.com/ez430。
硬件接口
连接eZ430-F2013与ADS8361EVM的最低要求是采用简单的三线接口(见表1)。硬件连接如图1所示。ADS8361的CLOCK、(RD+CONVST)与Serial Data A引脚分别连接至USI端口的SCLK、MOSI与MISO引脚。chip select(CS)引脚接地,因为端口上只放置一个ADC。如果总线上挂接多个器件,那么芯片选择引脚应由MSP430器件上可用的GPIO控制。
软件接口
MSP430的所有软件都采用IAR嵌入式工作台(Kickstart版本)编写编译。该软件是IDE的免费版,并可在WWW.ti.com/ez430网站的工具支持(TOOL SUPPORT)部分下载。您也可请求获得示例中使用的代码。
USI设置
USI模块提供支持同步串行通信方案的基本功能。USI具有内置硬件功能,从而简化了SPI通信的实施。此外,USI模块还具有中断功能,能进一步降低软件的开销。
USI控制寄存器0和1(USICTL0和USICTL1)设置串行接口的基本操作。通过在USICTL0中设置3,5,6和7位,可在SPI主模式下配置端口。此外,还可在USICTL1中设置USI计数器中断,从而以最小的软件开销有效地实现SPI通信。
串行时钟的极性、信号源及速度都可通过设置USI时钟控制寄存器(USICKCTL)得到控制。就本文而言,时钟极性设为零(保持为低),时钟源为SMCLK,分频系数为一。
位时钟和移位寄存器配置在USI端口中实现控制,由USI位计数寄存器(USICNT)的位设置决定。USICNT寄存器有5位,每次可提供多达32个SCLK周期。如果USICNT设为0×13,MSP430将在每个转换周期向ADS8361发送19个串行时钟。将USICNT寄存器的USI16B位置1,可使移位寄存器发挥16位发送/接收缓存的作用。所发送的数据根据MSB排列,以首个SCLK周期开始。
开始转换
我们将USI端口的MOSI输出连接到ADS8361上的RD和CONVST输入上,就能开始转换周期,转换结果提供给该器件的串行数据输出引脚。
ADS8361将在第四个SCLK周期开始输出转换结果(先是MSB)。由于移位寄存器保留最后16位的接收数据,因此我们采集全部16位转换结果,用于进一步的处理。图2中的时序图显示了整个过程。
ADS8361工作模式
ADS8361有四种由M0及M1引脚控制的工作模式。ADS8361EVM提供的跳线可静态设置工作模式。在MSP430上采用GPIO输出后,还能通过微控制器来控制工作模式。
就双通道工作而言,EVM应在模式I和II中配置。根据所采用MSP430器件的不同,用户在决定如何接收转换结果时有着若干选择。具有多个串行端口的器件可同时从ADS8361的Serial DataA与Serial DataB输出引脚接收数据。这种方法将设置一个端口作为SPI主设备而另一个端口为SPI从设备。主SPI端口将与从端口共享SCLK,两个串行输出引脚将被连接至MISO与MOSI。
双通道同步采样
就eZ430-F2013而言,由于只有一个串行端口,也就是说,ADS8361必须在Mode II中设置,才能从同步采样的两个输入通道接收转换结果。该模式将两个转换结果都提供给SerialDataA输出引脚(见图3)。
ADS8361通道ID位
ADS8361的串行输出流还包括双通道ID位,这样控制器就能用软件方法来破译所接收的通道信息。首个ID位确定了通道对A或B。第二个ID位决定了采样通道0或1。在ModeII工作模式下,两个输入通道被转换,输出数据流中包含一个ID位。
在该模式中,我们不使用A/B通道ID位,因为输入采样对取决于ADS8361的A0输入控制引脚。当A0为低电平时,对通道A0/B0输入对进行采样。当A0为高电平,对通道AllB1输入对进行采样。
ADS8361EVM的跳线可通过A0引脚静态设置输入对。如果需要的话,我们也可通过MSP430上的GPIO来控制上述工作,这样用户就能实现四通道工作,即两对同步采样输入通道。
四通道采样
Mode Ⅲ及IV能帮助用户实现ADS8361的四通道工作。Mode Ⅲ提供Serial Data A与Serial Data B输出的数据。在此模式下,接收所有四个转换的数据要求将两个串行端口如前所述配置为主从关系。
Mode IV可使一个串行端口通过Serial Data A输出引脚来接收所有四个转换结果。在此模式下,A/B和0/1通道ID位都可传递转换结果。这种情况下,如果配合使用eZ430-F2013器件,那么移位寄存器会丢失ID位,从而导致问题发生。我们可通过软件恢复ID位,但这会增加软件开销,并扩大不必要的复杂性。
在四通道顺序工作模式下,我们可通过特定方法来对ADS8361进行初始化,这样就能保证通道的完整性,而根本无需破译ID位。如果使用GPIO,我们可在程序开始处用简单的软件循环(software loop)来完成上述工作,从而灵活地对A0、M0与M1输入的状态进行操控。此外,我们也可以完全忽视第一组转换结果。默认状态下,ADS8361启动Mode I;如果启动时M0和M1固定为VCC,那么器件在第二次转换周期会进入ModeIV工作模式,这使第三次SPI传输开始提供A0通道的数据,随后顺序提供B0、A1和B1通道的数据。
结语
与MSP430处理器的USI端口配合使用高性能ADS8361,这是一项相对简单而直接的工作,几乎不会造成什么软件开销,也不需要像前代MSP430产品中老式的UART端口那样采用简单的8位SPI接口来移动或连接转换结果。本文介绍的接口方式为那些要求多通道同时进行数据采集的MSP430应用带来了更高的灵活性。
注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
ADS8361是一款采样速率为500kSPS的16位双路模数转换器(ADC),该转换器具有4个全差分输入通道,两两一对,以实现同步高速信号采集。采样保持放大器的输入端是全差分的,此外,ADC的输入端也保持为全差分。这使该ADC具有卓越的共模抑制能力:在50kHz时为80dB,这在高噪声环境下非常重要。
新型MSP430F2013等MSP430器件具有通用串行接口(USI),因而可用于非常简单直接的接口,该接口不需要“粘接逻辑”且需要的软件开销也很少。有的应用要求对同步数据采集的通道实现精确定时,这时我们就能用这种接口来获取所需的系统结果。
硬件
ADS8361 EVM
ADS8361是德州仪器(TI)推出的串行ADC电机控制产品系列产品。EVM提供了相关平台,以演示配合不同TI DSP与微控制器时ADS8361ADC的功能,并针对定制的最终用户应用提供了方便地存取所有模拟与数字信号的功能。
eZ430-F2013开发工具
eZ430-F2013是完整的MSP430开发工具,包括评估MSP430F2013所需的全部软硬件。我们用可便利的USB存储棒提供该硬件。eZ430-F2013采用IAR嵌入式工作台集成开发环境(IDE),以提供完整的仿真功能,该器件提供独立系统设计与可拆卸目标板两种选项,以便于集成至现有设计中。更多详情,敬请访问:www.ti.com/ez430。
硬件接口
连接eZ430-F2013与ADS8361EVM的最低要求是采用简单的三线接口(见表1)。硬件连接如图1所示。ADS8361的CLOCK、(RD+CONVST)与Serial Data A引脚分别连接至USI端口的SCLK、MOSI与MISO引脚。chip select(CS)引脚接地,因为端口上只放置一个ADC。如果总线上挂接多个器件,那么芯片选择引脚应由MSP430器件上可用的GPIO控制。
软件接口
MSP430的所有软件都采用IAR嵌入式工作台(Kickstart版本)编写编译。该软件是IDE的免费版,并可在WWW.ti.com/ez430网站的工具支持(TOOL SUPPORT)部分下载。您也可请求获得示例中使用的代码。
USI设置
USI模块提供支持同步串行通信方案的基本功能。USI具有内置硬件功能,从而简化了SPI通信的实施。此外,USI模块还具有中断功能,能进一步降低软件的开销。
USI控制寄存器0和1(USICTL0和USICTL1)设置串行接口的基本操作。通过在USICTL0中设置3,5,6和7位,可在SPI主模式下配置端口。此外,还可在USICTL1中设置USI计数器中断,从而以最小的软件开销有效地实现SPI通信。
串行时钟的极性、信号源及速度都可通过设置USI时钟控制寄存器(USICKCTL)得到控制。就本文而言,时钟极性设为零(保持为低),时钟源为SMCLK,分频系数为一。
位时钟和移位寄存器配置在USI端口中实现控制,由USI位计数寄存器(USICNT)的位设置决定。USICNT寄存器有5位,每次可提供多达32个SCLK周期。如果USICNT设为0×13,MSP430将在每个转换周期向ADS8361发送19个串行时钟。将USICNT寄存器的USI16B位置1,可使移位寄存器发挥16位发送/接收缓存的作用。所发送的数据根据MSB排列,以首个SCLK周期开始。
开始转换
我们将USI端口的MOSI输出连接到ADS8361上的RD和CONVST输入上,就能开始转换周期,转换结果提供给该器件的串行数据输出引脚。
ADS8361将在第四个SCLK周期开始输出转换结果(先是MSB)。由于移位寄存器保留最后16位的接收数据,因此我们采集全部16位转换结果,用于进一步的处理。图2中的时序图显示了整个过程。
ADS8361工作模式
ADS8361有四种由M0及M1引脚控制的工作模式。ADS8361EVM提供的跳线可静态设置工作模式。在MSP430上采用GPIO输出后,还能通过微控制器来控制工作模式。
就双通道工作而言,EVM应在模式I和II中配置。根据所采用MSP430器件的不同,用户在决定如何接收转换结果时有着若干选择。具有多个串行端口的器件可同时从ADS8361的Serial DataA与Serial DataB输出引脚接收数据。这种方法将设置一个端口作为SPI主设备而另一个端口为SPI从设备。主SPI端口将与从端口共享SCLK,两个串行输出引脚将被连接至MISO与MOSI。
双通道同步采样
就eZ430-F2013而言,由于只有一个串行端口,也就是说,ADS8361必须在Mode II中设置,才能从同步采样的两个输入通道接收转换结果。该模式将两个转换结果都提供给SerialDataA输出引脚(见图3)。
ADS8361通道ID位
ADS8361的串行输出流还包括双通道ID位,这样控制器就能用软件方法来破译所接收的通道信息。首个ID位确定了通道对A或B。第二个ID位决定了采样通道0或1。在ModeII工作模式下,两个输入通道被转换,输出数据流中包含一个ID位。
在该模式中,我们不使用A/B通道ID位,因为输入采样对取决于ADS8361的A0输入控制引脚。当A0为低电平时,对通道A0/B0输入对进行采样。当A0为高电平,对通道AllB1输入对进行采样。
ADS8361EVM的跳线可通过A0引脚静态设置输入对。如果需要的话,我们也可通过MSP430上的GPIO来控制上述工作,这样用户就能实现四通道工作,即两对同步采样输入通道。
四通道采样
Mode Ⅲ及IV能帮助用户实现ADS8361的四通道工作。Mode Ⅲ提供Serial Data A与Serial Data B输出的数据。在此模式下,接收所有四个转换的数据要求将两个串行端口如前所述配置为主从关系。
Mode IV可使一个串行端口通过Serial Data A输出引脚来接收所有四个转换结果。在此模式下,A/B和0/1通道ID位都可传递转换结果。这种情况下,如果配合使用eZ430-F2013器件,那么移位寄存器会丢失ID位,从而导致问题发生。我们可通过软件恢复ID位,但这会增加软件开销,并扩大不必要的复杂性。
在四通道顺序工作模式下,我们可通过特定方法来对ADS8361进行初始化,这样就能保证通道的完整性,而根本无需破译ID位。如果使用GPIO,我们可在程序开始处用简单的软件循环(software loop)来完成上述工作,从而灵活地对A0、M0与M1输入的状态进行操控。此外,我们也可以完全忽视第一组转换结果。默认状态下,ADS8361启动Mode I;如果启动时M0和M1固定为VCC,那么器件在第二次转换周期会进入ModeIV工作模式,这使第三次SPI传输开始提供A0通道的数据,随后顺序提供B0、A1和B1通道的数据。
结语
与MSP430处理器的USI端口配合使用高性能ADS8361,这是一项相对简单而直接的工作,几乎不会造成什么软件开销,也不需要像前代MSP430产品中老式的UART端口那样采用简单的8位SPI接口来移动或连接转换结果。本文介绍的接口方式为那些要求多通道同时进行数据采集的MSP430应用带来了更高的灵活性。
注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”