2004年11月–修订2005年6月
Preliminary2ZHCU004–2004年11月–修订2005年6月
内容目录序言1
.........................................................................3.........................................................................7
模数转换器(ADC)
1.11.2
1.3
1.41.51.61.71.81.9
.........................................................11
功能...............................................................12自动转换序列发生器的工作原理.............................................141.2.1顺序采样模式....................................................151.2.2同步采样模式....................................................15不间断自动定序模式....................................................201.3.1序列发生器启动/停止模式(具有多个时序触发器的序列发生器启动/停止操作)........221.3.2同步采样模式....................................................241.3.3输入触发器说明..................................................241.3.4定序转换期间的中断操作............................................25ADC时钟预分频器......................................................261.4.1ADC模块时钟和采样频率............................................27低功率模式..........................................................27上电顺序............................................................28序列发生器覆盖功能....................................................28内部/外部参考电压选择..................................................28偏移误差校正.........................................................30..............................................................33ADC控制寄存器.......................................................34最大转换信道数寄存器(ADCMAXCONV).........................................37自动定序状态寄存器(ADCASEQSR)............................................39ADC状态和标志寄存器(ADCST)..............................................39ADC参考选择寄存器(ADCREFSEL)............................................40ADC偏移微调寄存器(ADCOFFTRIM)...........................................41ADC输入信道选择定序控制寄存器............................................41ADC转换结果缓冲寄存器(ADCRESULTn)........................................42
............................................................45
2ADC寄存器
2.12.22.32.42.52.62.72.8
A修订历史记录
ZHCU004–2004年11月–修订2005年6月内容3
Preliminary附图目录
1-11-21-31-41-51-61-71-81-91-101-111-121-132-12-22-32-42-52-62-72-82-92-102-112-122-132-14
ADC模块的结构图...........................................................顺序采样模式(SMODE=0)......................................................同步采样模式(SMODE=1).......................................................级联模式下自动定序的ADC结构图................................................带双序列发生器的自动定序的ADC结构图...........................................不间断自动定序模式的流程图...................................................ePWM触发器启动序列发生器的示例................................................定序转换期间的中断操作......................................................ADC内核时钟和采样保持(S/H)时钟...............................................到ADC的时钟链............................................................外部参考的外部偏置.........................................................偏移误差校正进程的流程图.....................................................采样0-V参考电压的理想代码分布................................................ADC控制寄存器1(ADCTRL1)(地址偏移00h).........................................ADC控制寄存器2(ADCTRL2)(地址偏移01h).........................................ADC控制寄存器3(ADCTRL3)(地址偏移18h).........................................最大转换信道数寄存器(ADCMAXCONV)(偏移地址02h)..................................自动定序状态寄存器(ADCASEQSR)(地址偏移07h).....................................ADC状态和标志寄存器(ADCST)(地址偏移19h).......................................ADC参考选择寄存器(ADCREFSEL)(地址偏移1Ch).....................................ADC偏移微调寄存器(ADCOFFTRIM)(地址偏移1Dh).....................................ADC输入信道选择定序控制寄存器(ADCCHSELSEQ1)(地址偏移03h)..........................ADC输入信道选择定序控制寄存器(ADCCHSELSEQ2)(地址偏移04h)..........................ADC输入信道选择定序控制寄存器(ADCCHSELSEQ3)(地址偏移05h)..........................ADC输入信道选择定序控制寄存器(ADCCHSELSEQ4)(地址偏移06h)..........................ADC转换结果缓冲寄存器(ADCRESULTn)-(地址0x7108-0x7117)...........................ADC转换结果缓冲寄存器(ADCRESULTn)-(地址0x0B00-0x0B0F)...........................131515161722232627272930313435373839404041414141424242
4附图目录ZHCU004–2004年11月–修订2005年6月
Preliminary附表目录
1-11-21-31-41-51-61-71-82-12-22-32-42-52-62-72-82-92-102-11
ADC寄存器................................................................单一工作模式和级联工作模式比较................................................ADCCHSELSEQn寄存器的值(MAX_CONV1设置为6)......................................ADCCHSELSEQn的值(MAX_CONV1设置为2)...........................................第二次自动转换会话后的值.....................................................输入触发器...............................................................到ADC的时钟链............................................................功率选项.................................................................ADC控制寄存器1(ADCTRL1)字段说明..............................................ADC控制寄存器2(ADCTRL2)字段说明..............................................ADC控制寄存器3(ADCTRL3)字段说明.............................................最大转换信道数寄存器(ADCMAXCONV)字段说明........................................各种转换数的MAX_CONV1的位选择................................................自动定序状态寄存器(ADCASEQSR)字段说明..........................................活动序列发生器的状态........................................................ADC状态和标志寄存器(ADCST)字段说明............................................ADC参考选择寄存器(ADCREFSEL)字段说明...........................................ADC偏移微调寄存器(ADCOFFTRIM)字段说明..........................................CONVnn位值和所选的ADC输入信道...............................................13182123242427273435373838393940414142
ZHCU004–2004年11月–修订2005年6月附表目录5
Preliminary6附表目录ZHCU004–2004年11月–修订2005年6月
Preliminary序言ZHCU004–2004年11月–修订2005年6月请先阅读关于本手册
本文档描述了TMS320x280x数字信号处理器(DSP)上可用的模数转换器(ADC)的功能和操作。
命名惯例
本文档使用以下惯例。
•器件号TMS320x280x通常缩写为280x。
•显示十六进制数时附带一个后缀h。例如,以下数字表示十六进制的40(十进制为64):40h。同样,显示二进制数时通常附带后缀b。例如,以下数字是用二进制形式表示的十进制数4:0100b。•本文档中含有寄存器的图形显示和表格说明。
–每个寄存器图形显示为一个分成多个字段的矩形,每个字段分别代表了此寄存器的字段。每个域用其位名标记,域的起始位和结束位标记在标签的上面,域的读取/写入属性标记在下面,并用图例解释了用于表示属性的符号。
–寄存器图形中的保留位指出不能用于应用程序的位。
•如果信号为低电平有效,则它有上划线。例如,XRS信号为低电平有效。
德州仪器(TI)提供的相关文档
以下文档描述了280x器件及相关的支持工具。www.ti.com网站上提供了这些文档的副本。提示:请在www.ti.com上提供的搜索框中输入文献编号。
数据手册—
SPRS230:—TMS320F2801、TMS320F2806、TMS320F2808、UCD9501数字信号处理器数据手册包含F280x器
件的引脚、信号说明以及电子和定时规范。用户指南—
SPRU051:—TMS320x281x、280x串行通信接口(SCI)参考指南描述了一个通常称为UART的SCI,这是一
个两线制异步串行端口。SCI模块支持CPU与其它异步外设之间的使用标准非归零(NRZ)格式的数字通信。SPRU059:—TMS320x281x、280x串行外设接口(SPI)参考指南描述了SPI,一种高速同步串行输入/输出
(I/O)端口,它允许按照已编程的位传输速率将具有编程长度的串行位流(1到16位)移入或移出器件。SPRU074:—TMS320x281x、280x增强型控制器局域网络(eCAN)参考指南描述了在电噪音环境下使用已设立的协议与其他控制器进行串行通信的eCAN。SPRU430:—TMS320C28xDSPCPU和指令集参考指南描述了TMS320C28x定点数字信号处理器(DSP)的中央
处理器(CPU)和汇编语言指令,它还描述了这些DSP上可用的仿真功能。SPRU513:—TMS320C28x汇编语言工具用户指南描述了用于TMS320C28x器件的汇编语言工具(汇编程序和
用于开发汇编语言代码的其它工具)、汇编程序指令、宏、常用对象文件格式和符号调试指令。SPRU514:—TMS320C28x优化C编译器用户指南描述了TMS320C28x™C/C++编译器。此编译器接受ANSI
标准C/C++源代码,并为TMS320C28x器件生成TMS320DSP汇编语言源代码。SPRU566:—TMS320x281x和280x外设参考指南描述了28x数字信号处理器(DSP)的外设参考指南。SPRU608:—TMS320C28x指令集仿真器技术概述描述了TMS320C2000IDE的CodeComposerStudio内可用
于模拟C28x™内核指令集的仿真器。ZHCU004–2004年11月–修订2005年6月
请先阅读7
Preliminarywww.ti.com
德州仪器(TI)提供的相关文档SPRU625:—TMS320C28xDSP/BIOS应用编程接口(API)参考指南描述了使用DSP/BIOS进行的开发。SPRU712:—TMS320x280x系统控制和中断参考指南描述了280x数字信号处理器(DSP)的各种中断和系统
控制特性。SPRU721:—TMS320x280x内部集成电路(I2C)参考指南描述了TMS320x280x数字信号处理器(DSP)上可
用的内部集成电路(I2C)模块的特性和操作。SPRU722:—TMS320x280x引导ROM参考指南描述了bootloader(工厂编程的引导加载软件)的用途和特
性。它还描述了器件的片上引导ROM的其它内容,并标识了所有信息在该存储器内的位置。SPRU790:—TMS320x280x增强型正交编码器脉冲(eQEP)参考指南描述了eQEP模块,在高性能运动和定
位控制系统中,该模块用于与线性或旋转增量编码器连接,以从旋转机器中获取位置、方向和速度信息。该指南同样也包括模块说明和寄存器。SPRU791:—TMS320x280x增强型脉宽调制器(ePWM)模块参考指南描述了增强型脉宽调制器的主要应用领域,包括数字电机控制、开关模式电源控制、UPS(不间断电源)和其它形式的电力转换。SPRU807:—TMS320x280x增强型捕捉(eCAP)模块参考指南描述了增强型捕捉模块。它包括模块说明和寄
存器。SPRU924:—高分辨率脉宽调制器(HRPWM)描述了脉宽调制器的高分辨率扩展版本(HRPWM)的操作。应用报告—
SPRAA58:—TMS320x281x到TMS320x280x迁移概述描述了德州仪器(TI)的TMS320x281x与TMS320x280x
DSP之间的差异,以便在将应用从281x迁移到280x的过程中提供帮助。尽管本文档侧重从281x到280x的迁移,想要反向迁移(从280x到281x)的用户也会发现本文档非常有用。SPRA550:—用于数字电机控制的3.3VDSP描述了仅使用3.3V电机控制器的方案,并指出对于大多数应
用,3.3V与5V之间不存在明显的连接问题,还对比讨论了片上3.3V模数转换器(ADC)与5VADC。概述了可以降低系统噪声和电磁干扰影响的组件布局和印刷电路板(PCB)设计指南。SPRA820:—TMS320C28xDSP在线堆栈溢出检测介绍了TMS320C28x™DSP上在线堆栈溢出检测的方法,提
供了包含一些函数的C源代码,这些函数用于在DSP/BIOS™和非DSP/BIOS应用中执行溢出检测。SPRA861:—RAMDISK:用户定义的CI/O驱动程序示例提供了在任意器件上使用高级CIO功能的复杂缓冲
技术的简易方法。本应用报告介绍了用户自定义的器件驱动程序的实施示例。SPRA873:—使用TMS320F2812DSP和DRV592功率放大器的热电制冷器控制介绍了由德州仪器(TI)的
TMS320F2812数字信号处理器(DSP)和DRV592功率放大器组成的热电制冷器系统。DSP使用集成的12位模数转换器读取热敏电阻,并将脉宽调制的波形直接输出到H桥接的DRV592功率放大器,以实现数字比例积分微分反馈控制器。全面地描述了试验系统以及软件和软件操作指南。SPRA876:—TMS320F281xeCAN的编程示例包含几个编程示例,阐述了如何针对不同的操作模式设置eCAN
模块,以帮助您实现快速eCAN编程。附加的SPRA876.zip文件中包含所有项目和CANalyzer配置文件。SPRA953:—IC封装热度量描述了传统的热度量和新的热度量,并展望其在关于系统级结温估值中的应用。SPRA958:—从TMS320F281xDSP上的内部闪存运行应用程序(修订版B)讨论了正确配置从片上闪存执行应用软件所需的要求。提供了对DSP/BIOS™和非DSP/BIOS项目的要求。包括示例代码项目。SPRA963:—TMS320LF24x和TMS320F281x器件的可靠性数据描述了TMS320LF24x和TMS320F281x器件的
可靠性数据。SPRA989:—F2810、F2811和F2812ADC校准描述了提高F2810/F2811/F2812器件上的12位模数转换器
(ADC)绝对精度的方法。本应用手册附带一个从F2812eZdsp上的RAM执行的示例程序(ADCcalibration.zip)。SPRA991:—仿真实现了调试和分析的增强-白皮书描述了通过允许开发人员更有效地评估系统替代方案来缩短开发周期的仿真增强。8请先阅读ZHCU004–2004年11月–修订2005年6月
Preliminarywww.ti.com
德州仪器(TI)提供的相关文档商标
TMS320C28x,C28x是TexasInstruments的商标
ZHCU004–2004年11月–修订2005年6月请先阅读9
Preliminarywww.ti.com
德州仪器(TI)提供的相关文档10请先阅读ZHCU004–2004年11月–修订2005年6月
Preliminary第1章ZHCU004–2004年11月–修订2005年6月模数转换器(ADC)TMS320x280xADC模块是12位流水线模数转换器(ADC)。此转换器的模拟电路在本文档中称为内核,包含前端模拟多路复用器(MUX)、采样保持(S/H)电路、转换内核、稳压器以及其它模拟支持电路。数字电路即本文档中的轮询程序,包含可编程转换序列发生器、结果寄存器、模拟电路接口、器件外围总线接口以及其它片上模块的接口。本参考指南适用于TMS320x280x系列处理器上的ADC。这包括280x系列中所有基于闪存、基于ROM和基于RAM的器件。
主题
.........................................................功能.................................................自动转换序列发生器的工作原理.............................不间断自动定序模式......................................ADC时钟预分频器.......................................低功率模式............................................上电顺序..............................................序列发生器覆盖功能......................................内部/外部参考电压选择...................................偏移误差校正...........................................121420262728282830页
1.11.21.31.41.51.61.71.81.9ZHCU004–2004年11月–修订2005年6月模数转换器(ADC)11
Preliminarywww.ti.com
功能1.1功能
ADC模块具有16个信道,并可配置为用于ePWM模块的2个独立的8信道模块。可将2个独立的8信道模块级联成1个16信道模块。尽管有多个输入信道和2个序列发生器,但在ADC模块中只有一个转换器。图1-1显示了280xADC模块的方框图。
2个8信道模块可自动对一系列转换定序;每个模块可以通过模拟MUX选择其中一个可用8信道。在级联模式中,自动序列发生器将作为单个16信道序列发生器使用。一旦在每个序列发生器上完成转换,所选的信道值将存储在各自的ADCRESULT寄存器中。系统可使用自动定序功能多次转换同一信道,以便用户执行过采样算法。这种过采样算法可提供比传统的单一采样转换结果更高的分辨率。
ADC模块的功能包括:
•具有内置双采样保持(S/H)的12位ADC内核(S/H)•同步采样模式或顺序采样模式•模拟输入:0V-3V
•以12.5MHz、ADC时钟或6.25MSPS运行的快速转换时间•16信道,多路复用输入
•自动定序功能在单次会话中可提供多达16次“自动转换”。可将每次转换编程为选择16个输入信道中的任何一个。
•可将序列发生器作为2个独立的8态序列发生器,或作为1个较大的16态序列发生器使用(即2个级联的8态序列发生器)。
•用于存储转换值的16个结果寄存器(可分别寻址)–输入模拟电压的数值源自:
DigitalValue+0,DigitalValue+4096 DigitalValue+4095,
A
所有分数值均截断。
when input ≤ 0 V
InputAnalogVoltage*ADCLO
3
when 0 V < input < 3 Vwhen input ≥ 3 V
•
••••
作为转换开始序列(SOC)源的多个触发器–S/W-软件立即启动–ePWM1-6–GPIOXINT2
灵活的中断控制允许每个序列结束(EOS)或其它EOS上的中断请求。
序列发生器可运行于“启动/停止”模式,以便多个“时序触发器”进行同步转换。ePWM触发器可独立运行于双序列发生器模式。
采样保持(S/H)采集时间窗口具有独立的预扩展控制。
12模数转换器(ADC)ZHCU004–2004年11月–修订2005年6月
Preliminarywww.ti.com
功能图1-1.ADC模块的结构图
Systemcontrol blockADCENCLKAnalogMUXADCINA0S/H-AADCINA712-BitADCmoduleADCINB0S/H-BADCINB7Result Reg 1570B7hResult Reg 7Result Reg 870AFh70B0hHALTHigh-speedprescalerHSPCLKResult RegistersResult Reg 0Result Reg 170A8hSYSCLKOUTC28xS/WePWMx SOCAGPIO/XINT2_ADCSOCADC Control RegistersSOCSequencer 1Sequencer 2SOCS/WePWMx SOCB表1-1.ADC寄存器
名称
ADCTRL1ADCTRL2ADCMAXCONVADCCHSELSEQ1ADCCHSELSEQ2ADCCHSELSEQ3ADCCHSELSEQ4ADCASEQSRADCRESULT0ADCRESULT1ADCRESULT2ADCRESULT3ADCRESULT4ADCRESULT5ADCRESULT6ADCRESULT7ADCRESULT8ADCRESULT9
(1)(2)
地址(1)0x71000x71010x71020x71030x71040x71050x71060x71070x71080x71090x710A0x710B0x710C0x710D0x710E0x710F0x71100x7111
地址(2)大小(x16)
11111111
ADC控制寄存器1ADC控制寄存器2
说明
ADC最大转换信道数寄存器ADC信道选择定序控制寄存器1ADC信道选择定序控制寄存器2ADC信道选择定序控制寄存器3ADC信道选择定序控制寄存器4ADC自动定序状态寄存器ADC转换结果缓冲寄存器0ADC转换结果缓冲寄存器1ADC转换结果缓冲寄存器2ADC转换结果缓冲寄存器3ADC转换结果缓冲寄存器4ADC转换结果缓冲寄存器5ADC转换结果缓冲寄存器6ADC转换结果缓冲寄存器7ADC转换结果缓冲寄存器8ADC转换结果缓冲寄存器9
0x0B000x0B010x0B020x0B030x0B040x0B050x0B060x0B070x0B000x0B09
1111111111
本列中的寄存器为外设帧2寄存器。
ADC结果寄存器在F280xDSP中进行了双映射。外设帧2(0x7108-0x7117)中的位置为2等待状态,且为左对齐。外设帧0空间(0x0B00-0x0B0F)中的位置为0等待状态,且为右对齐。在ADC的高速/连续转换使用期间,使用0等待状态位置,以免遗漏ADC转换。
ZHCU004–2004年11月–修订2005年6月模数转换器(ADC)13
Preliminarywww.ti.com
自动转换序列发生器的工作原理表1-1.ADC寄存器(接上表)
名称
ADCRESULT10ADCRESULT11ADCRESULT12ADCRESULT13ADCRESULT14ADCRESULT15ADCTRL3ADCST保留ADCREFSELADCOFFTRIM保留
地址(1)0x71120x71130x71140x71150x71160x71170x71180x71190x711A0x711B0x711C0x711D0x711E0x711F
地址(2)0x0B0A0x0B0B0x0B0C0x0B0D0x0B0E0x0B0F
大小(x16)
111111112112
ADC参考选择寄存器ADC偏移微调寄存器ADC状态寄存器
说明
ADC转换结果缓冲寄存器10ADC转换结果缓冲寄存器11ADC转换结果缓冲寄存器12ADC转换结果缓冲寄存器13ADC转换结果缓冲寄存器14ADC转换结果缓冲寄存器15ADC控制寄存器3ADC状态寄存器
要获得指定的ADC精度,正确的电路板布局非常关键。为尽可能达到最佳效果,引入ADCINxx引脚的迹线不应太靠近数字信号通道。这是为了最大程度地减少数字线路上因ADC输入耦合而产生的开关噪声。此外,必须使用适当的隔离技术,将ADC模块电源引脚与数字电源隔离。
1.2自动转换序列发生器的工作原理
ADC序列发生器由2个独立的8状态序列发生器(SEQ1和SEQ2)组成,也可以级联成一个16状态序列发生器(SEQ)。单词“状态”代表可用序列发生器执行的自动转换次数。单序列发生器模式(16状态,级联模式)和双序列发生器模式(两个8状态,分离模式)的结构图分别如图1-4与图1-5。
在两种情况下,ADC都能对一系列转换进行自动定序。这意味着每当ADC接收到转换开始请求时,它可以自动执行多次转换。对于每次转换,可通过模拟MUX选择16个可用输入信道中的任何一个。转换之后,所选信道的数值将存储在适当的结果寄存器(ADCRESULTn)中。(第一个结果存储在ADCRESULT0中,第二个结果存储在ADCRESULT1中,依此类推)。还可以对同一信道多次采样,以便用户执行“过采样”,从而提供比传统的单采样转换结果更高的分辨率。
注:
在顺序采样的双序列发生器模式中,一旦完成当前活动序列发生器启动的序列,则将执行暂挂的来自其它序列发生器的SOC请求。例如,假定出现来自SEQ1的SOC请求时,A/D转换器正忙于处理SEQ2的请求。A/D转换器将在完成正在处理的SEQ2请求之后,立即开始执行SEQ1的请求。如果SEQ1和SEQ2的SOC请求都为暂挂状态,则SEQ1的SOC具有优先权。例如,假定A/D转换器正忙于处理SEQ1的请求。在此过程中,同时出现了来自SEQ1和SEQ2的SOC请求。当SEQ1完成其活动序列时,将立即执行SEQ1的SOC请求。SEQ2的SOC请求将保持暂挂状态。
ADC也可以运行于同步采样模式或顺序采样模式。对于每次转换(或同步采样模式中的每对转换),当前的CONVxx位字段定义了将要采样和转换的引脚(或引脚对)。在顺序采样模式中,CONVxx的所有4位用于定义输入引脚。MSB用于定义与输入引脚相关联的采样保持缓冲器,三个LSB用于定义偏移。例如,如果CONVxx包含值0101b,则ADCINA5为选定的输入引脚。如果它包含值1011b,则ADCINB3为选定的输入引脚。在同步采样模式中,弃用了CONVxx寄存器的MSB。每个采样和保持缓冲器对由CONVxx寄存器的三个LSB所提供的偏移给出的关联引脚进行采样。例如,如果CONVxx寄存器包含值0110b,则S/H-A对ADCINA6采样,S/H-B对ADCINB6采样。如果值为1001b,则S/H-A对ADCINA1采样,S/H-B对ADCINB1采样。首先转换S/H-A的电压,然后转换S/H-B的电压。将S/H-A转换的结果存放在当前ADCRESULTn寄存器中(对SEQ1为ADCRESULT0,假定序列发生器已复位)。将S/H-B转换的结果存放在下一个ADCRESULTn寄存器中(对SEQ1为ADCRESULT1,假定序列发生器已复位)。然后将结果寄存器指针加2(指向SEQ1的ADCRESULT2,假定序列发生器原先已复位)。
14模数转换器(ADC)ZHCU004–2004年11月–修订2005年6月
Preliminarywww.ti.com
自动转换序列发生器的工作原理1.2.1顺序采样模式图1-2显示了顺序采样模式的时序。在此示例中,ACQ_PS位设置为0001b。
图1-2.顺序采样模式(SMODE=0)
Variable-widthacquisition windowADCClockChannelSelect[C0NV00]†[C0NV00]†[C0NV01](A)SH ClockSADC SOC trigger
C1SC1Legend:C1 − Duration of time for result register update
S − Acquisition window
AADC信道地址包含在[CONV00]4位寄存器中;对SEQ1为CONV00,而对SEQ2为CONV08。
1.2.2同步采样模式图1-3描述了同步采样模式的时序。在此示例中,ACQ_PS位设置为0001b。
图1-3.同步采样模式(SMODE=1)
Variable-width acquisition windowClockADC Clock
ChannelSelect
[CONV00]†[CONV00](A)[CONV01](A)C2SH ClockADC SOCTrigger
SOCSC1C2C1SLegend:C1 − Duration of time for Ax channel result in result register
C2 − Duration of time for Bx channel result in result registerS − Acquisition window
AADC信道地址包含在[CONV00]4位寄存器中;[CONV00]表示A0/B0信道;[CONV01]表示A1/B1信道。
ZHCU004–2004年11月–修订2005年6月模数转换器(ADC)15
Preliminarywww.ti.com
自动转换序列发生器的工作原理图1-4.级联模式下自动定序的ADC结构图
Analog MUXADCINA0ADCINA1
Result MUXADCRESULT0MUXselectS/H-AADCRESULT112-bitanalog-to-digitalconverter (ADC)SOCMAX_CONV1Ch Sel (CONV00)Ch Sel (CONV01)4Ch Sel (CONV02)Ch Sel (CONV03)StatepointerMUXselect4EOC12ADCRESULT2ADCINA7ADCINB0ADCINB1
S/H-BMUXselect12ResultselectADCRESULT15ADCINB7
Autosequencerstate machineSoftwareePWMx SOCAePWMx SOCBExternal pin(GPIO/XINT2_ADCSOC)Ch Sel (CONV15)Note: Possible values are:Channel select = 0 to 15ADCMAXCONV = 0 to 15Start-of-sequence trigger16模数转换器(ADC)ZHCU004–2004年11月–修订2005年6月
Preliminarywww.ti.com
自动转换序列发生器的工作原理图1-5.带双序列发生器的自动定序的ADC结构图
Result MUX
Analog MUXADCINA0ADCINA1
12MUXselectS/H-AADCRESULT0ADCRESULT112ADCINA7ADCINB0ADCINB1
MUXselectSOC4S/H-B12-bit A/D converter12MUXResultselectADCRESULT7Result MUXADCRESULT812ADCRESULT9ADCINB7
EOCSequencer arbiter1244ResultselectADCRESULT15SOC1EOC1SOC2EOC2MAX_CONV1Ch Sel (CONV00)Ch Sel (CONV01)Ch Sel (CONV02)Ch Sel (CONV03)StatepointerMAX_CONV2Ch Sel (CONV08)Ch Sel (CONV09)Ch Sel (CONV10)Ch Sel (CONV11)4StatepointerNote: Possible values:Channel select = 0 − 15MAX CONV1 = 0 − 7MAX CONV2 = 0 − 7Ch Sel (CONV07)SEQ1Ch Sel (CONV15)SEQ2SoftwareePWMx SOCAExternal pin (XINT2_ADCSOC)
Start-of-sequencetriggerSoftwareStart-of-sequencetriggerePWMx SOCBADC start of conversion (SOC) trigger sources
注:
在DSP中只有一个ADC。在双序列发生器模式下,2个序列发生器共享此转换器。
8状态和16状态模式下的序列发生器操作几乎相同,在表1-2。ZHCU004–2004年11月–修订2005年6月模数转换器(ADC)17
Preliminarywww.ti.com
自动转换序列发生器的工作原理表1-2.单一工作模式和级联工作模式比较
特性
转换开始(SOC)触发器最大
自动转换数(即序列长度)在序列
结束(EOS)时自动停止仲裁优先级
ADC转换结果寄存器位置ADCCHSELSEQn位字段指定
单一8状态序列发生器#1
(SEQ1)ePWMxSOCA、软件、
外部引脚
8
单一8状态
序列发生器#2(SEQ2)ePWMxSOCB、软件
级联16状态序列发生器(SEQ)ePWMxSOCA、ePWMxSOCB、软
件、外部引脚
16
8
支持高0-7CONV00-CONV07
支持低8-15CONV08-CONV15
支持不适用0-15CONV00-CONV15
为方便起见,此后将序列发生器状态称为:•对SEQ1:CONV00-CONV07•对SEQ2:CONV08-CONV15•对级联SEQ:CONV00-CONV15
在ADC输入信道选择定序控制寄存器(ADCCHSELSEQn)中的CONVxx位字段定义了为每个定序的转换选择的模拟输入信道。CONVxx是一个4位字段,它指定16个用于转换的信道中的任一个。由于在使用级联模式的序列发生器时,序列中最多可有16次转换,因此提供了16个此类4位字段(CONV00-CONV15),且分布在4个16位寄存器(ADCCHSELSEQ1-ADCCHSELSEQ4)中。CONVxx位可以是0-15的任何值。可按任何所需的顺序选择模拟信道,并可多次选择同一信道。
18模数转换器(ADC)ZHCU004–2004年11月–修订2005年6月
Preliminarywww.ti.com
自动转换序列发生器的工作原理示例1-1.同步采样双序列发生器模式示例示例初始化:
AdcRegs.ADCTRL3.bit.SMODE_SEL=AdcRegs.ADCMAXCONV.all=
0x1;0x0033;
//设置同步采样模式
//每个序列发生器4个双转换(共8个)//设置从ADCINA0&ADCINB0转换//设置从ADCINA1&ADCINB1转换//设置从ADCINA2&ADCINB2转换//设置从ADCINA3&ADCINB3转换//设置从ADCINA4&ADCINB4转换//设置从ADCINA5&ADCINB5转换//设置从ADCINA6&ADCINB6转换//设置从ADCINA7&ADCINB7转换
AdcRegs.ADCCHSELSEQ1.bit.CONV00=0x0;AdcRegs.ADCCHSELSEQ1.bit.CONV01=0x1;AdcRegs.ADCCHSELSEQ1.bit.CONV02=0x2;AdcRegs.ADCCHSELSEQ1.bit.CONV03=0x3;AdcRegs.ADCCHSELSEQ3.bit.CONV08=0x4;AdcRegs.ADCCHSELSEQ3.bit.CONV09=0x5;AdcRegs.ADCCHSELSEQ3.bit.CONV10=0x6;AdcRegs.ADCCHSELSEQ3.bit.CONV11=0x7;
如果已执行SEQ1和SEQ2,则结果将存入以下RESULT寄存器中:
ADCINA0->ADCRESULT0ADCINB0->ADCRESULT1ADCINA1->ADCRESULT2ADCINB1->ADCRESULT3ADCINA2->ADCRESULT4ADCINB2->ADCRESULT5ADCINA3->ADCRESULT6ADCINB3->ADCRESULT7ADCINA4->ADCRESULT8ADCINB4->ADCRESULT9ADCINA5->ADCRESULT10ADCINB5->ADCRESULT11ADCINA6->ADCRESULT12ADCINB6->ADCRESULT13ADCINA7->ADCRESULT14ADCINB7->ADCRESULT15
ZHCU004–2004年11月–修订2005年6月模数转换器(ADC)19
Preliminarywww.ti.com
不间断自动定序模式示例1-2.同步采样级联序列发生器模式示例AdcRegs.ADCTRL3.bit.SMODE_SEL=AdcRegs.ADCTRL1.bit.SEQ_CASCAdcRegs.ADCMAXCONV.all=
=0x1;0x0007;
//设置同步采样模式0x1;
//设置级联采样模式//8个双转换(共16个)//设置从ADCINA0&ADCINB0转换//设置从ADCINA1&ADCINB1的转换//设置从ADCINA2&ADCINB2的转换//设置从ADCINA3&ADCINB3的转换//设置从ADCINA4&ADCINB4的转换//设置从ADCINA5&ADCINB5的转换//设置从ADCINA6&ADCINB6的转换//设置从ADCINA7&ADCINB7的转换
AdcRegs.ADCCHSELSEQ1.bit.CONV00=0x0;AdcRegs.ADCCHSELSEQ1.bit.CONV01=0x1;AdcRegs.ADCCHSELSEQ1.bit.CONV02=0x2;AdcRegs.ADCCHSELSEQ1.bit.CONV03=0x3;AdcRegs.ADCCHSELSEQ2.bit.CONV04=0x4;AdcRegs.ADCCHSELSEQ2.bit.CONV05=0x5;AdcRegs.ADCCHSELSEQ2.bit.CONV06=0x6;AdcRegs.ADCCHSELSEQ2.bit.CONV07=0x7;
如果已执行级联SEQ,则结果将已存入以下ADCRESULT寄存器中:
ADCINA0->ADCRESULT0ADCINB0->ADCRESULT1ADCINA1->ADCRESULT2ADCINB1->ADCRESULT3ADCINA2->ADCRESULT4ADCINB2->ADCRESULT5ADCINA3->ADCRESULT6ADCINB3->ADCRESULT7ADCINA4->ADCRESULT8ADCINB4->ADCRESULT9ADCINA5->ADCRESULT10ADCINB5->ADCRESULT11ADCINA6->ADCRESULT12ADCINB6->ADCRESULT13ADCINA7->ADCRESULT14ADCINB7->ADCRESULT15
1.3不间断自动定序模式
以下说明适用于8状态序列发生器(SEQ1或SEQ2)。在此模式中,SEQ1/SEQ2可在单次定序会话中对任何信道自动定序多达8次转换(当序列发生器级联在一起时为16次)。图1-6显示了流程图。每次转换的结果存储在8个结果寄存器的其中一个(对SEQ1为ADCRESULT0-ADCRESULT7,对SEQ2为ADCRESULT8-ADCRESULT15)中。从最低地址向最高地址填充这些寄存器。
序列中的转换数由MAX_CONVn(ADCMAXCONV寄存器中的3位字段或4位字段)控制,并在自动定序转换会话开始时自动载入自动定序状态寄存器(ADCASEQSR)中的定序计数器状态位(SEQ_CNTR[3:0])中。MAX_CONVn字段可为0-7范围内的值(将序列发生器级联在一起时,可以是0-15)。当序列发生器从状态CONV00开始时,SEQ_CNTR位从其载入的值开始进行倒计数,并按顺序持续(CONV01、CONV02...依此类推)到SEQ_CNTR变为0为止。在自动定序会话期间完成的转换数等于(MAX_CONVn+1)。
示例1-3.在双序列发生器模式下使用SEQ1进行转换假设需从SEQ1进行7次转换(即作为自动定序会话的一部分,必须转换输入ADCINA2和ADCINA3各两次,接着转换ADCINA6、ADCINA7和ADCINB4),则应将MAX_CONV1设置为6,ADCCHSELSEQn寄存器设置为如表1-3。20模数转换器(ADC)ZHCU004–2004年11月–修订2005年6月
Preliminarywww.ti.com
不间断自动定序模式示例1-3.在双序列发生器模式下使用SEQ1进行转换(接上表)一旦序列发生器接收到转换开始(SOC)触发信号,将开始转换。SOC触发器也载入SEQ_CNTR位。将按预定顺序对ADCCHSELSEQn寄存器中指定的信道进行转换。每次转换后,SEQ_CNTR位将自动减1。一旦SEQ_CNTR到0,可能发生两类事情,这取决于ADCTRL1寄存器中连续运行位(CONT_RUN)的状态。请参阅图1-6以了解流程说明。•如果设置了CONT_RUN,转换序列将自动再次启动(即SEQ_CNTR重载MAX_CONV1的原始值且SEQ1设置为CONV00[有关更多选项,请参阅第1.7部分])。在这种情况下,为避免覆盖数据,必须确保在下一转换序列开始之前已读取结果寄存器。ADC中设计了仲裁逻辑,以确保出现争用时不会破坏结果寄存器(在您尝试读取结果寄存器的同时ADC模块正在尝试写入这些结果寄存器)。•如果未设置CONT_RUN,则序列发生器保持最后的状态(本例中为CONV06),且SEQ_CNTR继续保持为0值。要在下一SOC时重复序列,必须在下一SOC之前使用RST_SEQn位复位序列发生器。如果每次SEQ_CNTR到达0时设置中断标志(INT_ENA_SEQn=1且INT_MOD_SEQn=0),(如有需要)可以在中断服务例程(ISR)中手动复位序列发生器(使用ADCTRL2寄存器中的RST_SEQn位)。这将使得SEQn状态复位成初始值(对SEQ1为CONV00,对SEQ2为CONV08)。此功能在序列发生器的“启动/停止”操作中非常有用。示例1-3也适用于SEQ2和级联的16状态序列发生器(SEQ),在表1-2。表1-3.ADCCHSELSEQn寄存器的值(MAX_CONV1设置为6)
位15-12(1)
70A3h70A4h70A5h70A6h
(1)
位11-8(1)
212xx
位7-4(1)
37xx
位3-0(1)
26xx
ADCCHSELSEQ1ADCCHSELSEQ2ADCCHSELSEQ3ADCCHSELSEQ4
3xxx
值为十进制,x=任意
ZHCU004–2004年11月–修订2005年6月模数转换器(ADC)21
Preliminarywww.ti.com
不间断自动定序模式图1-6.不间断自动定序模式的流程图
Initialize the ADC registersSOC trigger arrivesMAX_CONVn value gets loaded into SEQ_CNTR bits in ADCASEQSR registerConversion begins. SEQ_CNTR bits are decremented byone for every conversionCurrent conversion complete.Digital result is written intocorresponding ADCRESULTn registerNoAllconversions complete?(SEQ_CNTR = 0?)YesSet INT_SEQnStopA
该流程图对应CONT_RUN位=0且INT_MOD_SEQn位=0。
1.3.1序列发生器启动/停止模式(具有多个时序触发器的序列发生器启动/停止操作)除了不间断自动定序模式之外,任何序列发生器(SEQ1、SEQ2或SEQ)均可在时间上分离且与多个转换开始(SOC)触发器同步的停止/启动模式下操作。此模式类似于示例1-3,但是,一旦序列发生器完成其第一个序列,将允许重新触发而不复位为初始状态CONV00(即在中断服务例程内不复位该序列发生器)。因此,当一个转换序列结束时,序列发生器保持在当前转换状态。必须为此模式将ADCTRL1寄存器中的连续运行位(CONT_RUN)设置为0(即禁用)。
22模数转换器(ADC)ZHCU004–2004年11月–修订2005年6月
Preliminarywww.ti.com
不间断自动定序模式示例1-4.序列发生器启动/停止操作要求:要开始触发1(下溢)的3次自动转换(例如I1、I2和I3)以及触发2(周期)的3次自动转换(例如V1、V2和V3)。触发信号1与触发信号2在时间上相差25µs,并由ePWM提供。请参阅图1-7。在这一事例中,仅使用了SEQ1。注:触发信号1和触发信号2可以是来自ePWM、外部引脚或软件的SOC信号。相同的触发源可以发生2次,以满足本例中的双触发要求。必须注意不要因正在处理的序列而丢失多个ePWM触发信号。请参阅第1.3.3部分。此处将MAX_CONV1设置为2,并将ADC输入信道选择定序控制寄存器(ADCCHSELSEQn)设置为如表1-4。一旦完成复位和初始化,SEQ1将等待触发信号。出现第一个触发信号时,执行信道选择值为CONV00(I1)、CONV01(I2)和CONV02(I3)的3次转换。然后,SEQ1在当前状态等待下一个触发信号。25微秒之后,第二个触发信号到达,将执行信道选择值为CONV03(V1)、CONV04(V2)和CONV05(V3)的另外3次转换。对于这两个触发情况,MAX_CONV1的值都自动载入到SEQ_CNTR中。如果在第二个触发点需要不同的转换数,则必须通过软件(在第二次触发前的某个适当时间)更改MAX_CONV1的值,否则,将重新使用当前(最初载入)的值。这可通过在适当的时间由ISR更改MAX_CONV1值实现。第1.3.4部分中描述了中断操作模式。第二次自动转换会话结束时,ADC结果寄存器将具有如表1-5。这时,SEQ1保持在当前状态等待另一触发信号。现在,用户可将SEQ1(通过软件)复位成状态CONV00,并可以重复相同的触发信号1和触发信号2会话。图1-7.ePWM触发器启动序列发生器的示例
50 µs25 µsePWMcounterPWM A/BoutputI1, I2, I3V1, V2,V3I1, I2, I3V1, V2, V3
表1-4.ADCCHSELSEQn的值(MAX_CONV1设置为2)
位15-12
70A3h70A4h70A5h70A6h
V1xxx
位11-8I3xxx
位7-4I2V3xx
位3-0I1V2xx
ADCCHSELSEQ1ADCCHSELSEQ2ADCCHSELSEQ3ADCCHSELSEQ4
ZHCU004–2004年11月–修订2005年6月模数转换器(ADC)23
Preliminarywww.ti.com
不间断自动定序模式表1-5.第二次自动转换会话后的值
缓冲寄存器ADCRESULT0ADCRESULT1ADCRESULT2ADCRESULT3ADCRESULT4ADCRESULT5ADCRESULT6ADCRESULT7ADCRESULT8ADCRESULT9ADCRESULT10ADCRESULT11ADCRESULT12ADCRESULT13ADCRESULT14ADCRESULT15
ADC转换结果缓冲器
I1I2I3V1V2V3xxxxxxxxxx
1.3.2同步采样模式如果一个输入来自ADCINA0-ADCINA范围,且另一输入来自ADCINB0-ADCINB7范围,则ADC能够同时采样2个ADCINxx输入。而且,2个输入必须具有相同的采样保持偏移值(即ADCINA4和ADCINB4,而不能是ADCINA7和ADCINB6)。要使ADC进入同步采样模式,必须设置ADCTRL3寄存器中的SMODE_SEL位。请参阅第1.2部分以了解详细信息。1.3.3输入触发器说明每个序列发生器具有一组可以启用/禁用的触发器输入。请参阅表1-6以了解SEQ1、SEQ2和级联SEQ的有效输入触发器。
表1-6.输入触发器
SEQ1(序列发生器1)软件触发器(软件SOC)
ePWMxSOCAXINT2_ADCSOC
SEQ2(序列发生器2)软件触发器(软件SOC)
ePWMxSOCB
级联SEQ
软件触发器(软件SOC)
ePWMxSOCAePWMxSOCBXINT2_ADCSOC
注:
••
••
SOC触发器可在序列发生器处于空闲状态时启动自动转换序列。空闲状态是接收触发信号之前的CONV00,或是转换序列完成时(即SEQ_CNTR到计数0时)序列发生器所处的任何状态。
如果在执行当前转换序列时出现SOC触发信号,则它将设置ADCTRL2寄存器中的SOC_SEQn位(此位在上一转换序列开始时已被清除)。如果还出现另一SOC触发信号,则将丢失它(即在已设置SOC_SEQn位(SOC暂挂),将忽略随后的触发信号)。
一旦触发成功,序列发生器就不能在序列中间停止/停机。程序必须等待序列结束(EOS)或启动序列发生器复位,这将使序列发生器立即返回到空闲起始状态(对SEQ1和级联模式为CONV00;对SEQ2为CONV08)。
当SEQ1/2用于级联模式时,将忽略进入SEQ2的触发信号,而SEQ1的触发信号为活动状态。可将级联模式看作16状态而非8状态的SEQ1。
ZHCU004–2004年11月–修订2005年6月
24模数转换器(ADC)Preliminarywww.ti.com
不间断自动定序模式1.3.4定序转换期间的中断操作序列发生器可在2种操作模式下生成中断。这些模式由ADCTRL2中的中断模式启用控制位确定。示例1-4的变化可用于显示在不同操作条件下,中断模式1和模式2的用途。
情形1:第一个序列和第二个序列中的采样数不相等•模式1中断操作(即在每次EOS时发出中断请求)
1.用MAX_CONVn=1初始化序列发生器,以转换I1和I2。
2.在ISR\"a\"处,(通过软件)将MAX_CONVn更改为2,以转换V1、V2和V3。3.在ISR\"b\"处,将发生以下事件:
a.再次将MAX_CONVn更改为1,以转换I1和I2。
b.从ADC结果寄存器中读取I1、I2、V1、V2和V3值。c.序列发生器复位。
4.重复步骤2和步骤3。注意每次SEQ_CNTR到0和识别到两个中断时,将设置中断标志。情形2:第一个序列和第二个序列中的采样数相等
•模式2中断操作(即在每个其它EOS时发出中断请求)
1.用MAX_CONVn=2初始化序列发生器,以转换I1、I2和I3(或V1、V2和V3)。2.在ISR\"b\"和\"d\"处,将发生以下事件:
a.从ADC结果寄存器中读取值I1、I2、I3、V1、V2和V3。b.序列发生器复位。3.重复步骤2。
情形3:第一个序列和第二个序列中的采样数相等(使用虚假读取)•模式2中断操作(即在每个其它EOS时发出中断请求)
1.为I1、I2和x(虚假采样)用MAX_CONVn=2初始化序列发生器。2.在ISR\"b\"和\"d\"处,将发生以下事件:
a.从ADC结果寄存器读取值I1、I2、V1、V2和V3。b.序列发生器复位。
3.重复步骤2。注意,第三个I采样(x)为虚假采样,而实际并不需要。但是,为最大程度地减少ISR开销CPU干预,利用了模式2的“每隔一个”中断请求功能。
ZHCU004–2004年11月–修订2005年6月模数转换器(ADC)25
Preliminarywww.ti.com
ADC时钟预分频器图1-8.定序转换期间的中断操作
50 µs25 µsePWMcounterPWM A/BoutputSamplingrequestCase 1
“a”“b”“c”“d”SEQinterrupt
I1,I2V1,V2,V3I1,I2V1,V2,V3
I1,I2,I3V1,V2,V3
“b”I1,I2,I3V1,V2,V3
“d”Samplingrequest
Case 2
SEQinterrupt
I1,I2,xV1,V2,V3I1,I2,xV1,V2,V3
Samplingrequest
Case 3
SEQinterrupt
“b”“d”1.4ADC时钟预分频器
将外设时钟HSPCLK除以ADCTRL3寄存器的ADCCLKPS[3:0]位。通过ADCTRL1寄存器的CPS位提供额外的二分频。另外,可定制ADC来适应由于采样/采集周期展宽导致的源阻抗变化。这由ADCTRL1寄存器的ACQ_PS[3:0]位控制。这些位不影响S/H和转换进程的转换部分,但通过扩展转换开始脉冲确实延长了采样部分所用的时间。请参阅图1-9。26模数转换器(ADC)ZHCU004–2004年11月–修订2005年6月
Preliminarywww.ti.com
低功率模式图1-9.ADC内核时钟和采样保持(S/H)时钟
ADCTRL1[11-8](ACQ_PS[3-0])
4-bit clockdivider(x1, 1/2, ... 1/30)x1/2ADCTRL1[7]=1(CPS=1)SOC pulsegeneratorx1ADCTRL1[7]=0(CPS=0)S/H clock pulseADCCLK
HSPCLK
ADCTRL3[4-1](ADCLKPS[3-0])
A
有关时钟除法器比率和S/H脉冲控制,请参阅寄存器位定义。S/H脉宽决定采集窗口的大小(采样开关关闭时的时间段)。
1.4.1ADC模块时钟和采样频率ADC模块具有若干预分频器级,以产生任何所需的ADC操作时钟速度。下图定义了馈送给ADC模块的时钟选择级。
图1-10.到ADC的时钟链
XCLKIN
PLLHISPCPNo PLLHSPCLKADCLKPSADCENCLKPCLKCR[3]FclkCPSADCCLKACQ_PSSH clock/pulse
表1-7.到ADC的时钟链
XCLKIN20Mhz
PLLCR[3:0]0000b10Mhz1010b
20Mhz
100MHz
HISPCLKHSPCP=010MhzHSPCP=4100MHz/2X4=12.5MHz
ADCTRL3[4-1]ADCLKPS=010MhzADCLKPS=212.5MHz/2X2=3.125MHz
ADCTRL1[7]CPS=15MhzCPS=13.125MHz/2X1=1.5625MHz
1.5625MhzADCCLK5Mhz
ADCTRL1[11-8]ACQ_PS=0SH脉冲时钟ACQ_PS=15SH脉冲/时钟=16
16SH宽度1
1.5低功率模式
ADC支持3个不同的电源,每个电源由ADCTRL3寄存器中独立的位控制。这3位组合形成了3个功率级别:ADC上电、ADC断电和ADC关闭。
表1-8.功率选项
功率级别
ADC上电ADC断电ADC关闭保留保留
ADCBGRFDN1
11010
ADCBGRFDN0
11001
ADCPWDN100XX
ZHCU004–2004年11月–修订2005年6月模数转换器(ADC)27
Preliminarywww.ti.com
上电顺序1.6上电顺序
ADC复位到ADC关闭状态。当给ADC上电时,请使用以下顺序:
1.如果需要外部参考,请使用ADCREFSEL寄存器中的位15-14启用此模式。在给能带隙上电之前,必须启用此模式。
2.通过设置ADCTRL3寄存器中的位7-5(ADCBGRFDN[1:0]和ADCPWDN)给参考、能带隙和模拟电路一起上电。
3.在执行第一次转换前,需要5ms的延迟。
在对ADC断电时,可同时清除所有3位。ADC的功率级别必需通过软件控制,且它们独立于器件的功率模式。
有时希望通过只清除ADCPWDN位使ADC断电,而保持能带隙和参考通电。对ADC重新通电时,在设置此位之后执行任何转换之前,需要20µs的延迟。
注:
在对所有电路上电后,F280xADC需要5ms的延迟。此延迟不同于F281xADC的延迟。
1.7序列发生器覆盖功能
在正常操作中,序列发生器SEQ1、SEQ2或级联的SEQ1帮助转换选定的ADC信道,并按顺序将其存储到各自的ADCRESULTn寄存器中。序列在MAX_CONVn设置结束时自然回绕。通过序列发生器的覆盖功能,可以用软件控制序列发生器的自然回绕。序列发生器的覆盖功能由ADC控制寄存器1(ADCCTRL1)的位5控制。例如,假定SEQ_OVRD位为0,且ADC处于MAX_CONV1设置值为7的级联序列发生器的连续转换模式。正常情况下,序列发生器将按顺序递增并并通过ADC转换更新至ADCRESULT7寄存器,然后回绕到0。ADCRESULT7寄存器更新结束时,将设置相关的中断标志。
当SEQ_OVRD位设置为1时,序列发生器更新7个结果寄存器,而不回绕到0。而序列发生器将按顺序递增,并向前更新ADCRESULT8寄存器,直至到达ADCRESULT15寄存器。在更新ADCRESULT15寄存器之后,将自然回绕到0。此功能以处理从ADC捕捉的顺序数据的FIFO方式处理结果寄存器(0-15)。当以最大数据速率进行ADC转换时,此功能非常有助于捕捉ADC数据。
有关序列发生器覆盖功能的建议和注意事项:
•在复位之后,SEQ_OVRD位将为0;因此序列发生器覆盖功能将继续禁用。
•当为MAX_CONVn的所有非0值设置了SEQ_OVRD位时,将为结果寄存器更新的每个MAX_CONVn计数设置相关的中断标志位。
•例如,如果ADCMAXCONV设置为3,则将每隔4次结果寄存器更新设置所选序列发生器的中断标志。总是在序列发生器结束时发生回绕(即在级联序列发生器模式的ADCRESULT15寄存器更新后)。•这在使用SEQ1、SEQ以及使用SEQ1的级联序列发生器的转换中起作用。
•建议不要在程序内动态启用/控制此功能。请在ADC模块初始化期间始终启用此功能。
•在具有序列发生器变化的连续转换模式中,ADC信道地址使用CONVxx寄存器中的预置值。如果需要对同一信道进行连续转换,则所有CONVxx寄存器应具有相同的信道地址。
•在连续转换模式中,如果需要复位序列发生器:请将CONT_RUN设置为0,等待ADC时钟域中的2个周期,然后将序列发生器复位。然后可将CONT_RUN设置回1。
•例如,要用序列发生器的覆盖功能为ADCINA0信道获得16个连续采样,应将16个CONVxx寄存器全部设置为0x0000。
1.8内部/外部参考电压选择
默认情况下,选择内部产生的能带隙参考电压向ADC逻辑电路供电。
可根据客户的应用要求,通过外部参考电压向ADC逻辑电路供电。280xADC将接受ADCREFIN引脚上的2.048V电压。ADCREFSEL寄存器的值决定所选的参考源。
如果选择了内部参考选项,可将ADCREFIN引脚继续连接到2.048V电压、保持悬空或接地。无论选择哪个选项,ADCRESEXT、ADCREFP和ADCREFM引脚的外部电路都相同。
已选择2.048V的外部参考电压,以匹配行业标准参考组件。这些组件可用于各种温度额定值。推荐的德州仪器(TI)部件为REF3020AIDBZ。
28模数转换器(ADC)ZHCU004–2004年11月–修订2005年6月
Preliminarywww.ti.com
内部/外部参考电压选择图1-11.外部参考的外部偏置
F280x DSPADCREFIN2.048-V reference
ADC referenceADC REFSELADCRESEXT(A)ADCREFP(A)ADCREFM(A)BandgapreferenceADC LOAnalog groundA
有关组件的值,请参阅TMS320F2808、TMS320F2806、TMS320F2801、UCD9501数字信号处理器产品手册(文献编号SPRS230)。
ZHCU004–2004年11月–修订2005年6月模数转换器(ADC)29
Preliminarywww.ti.com
偏移误差校正1.9偏移误差校正
280xADC支持通过ADC偏移微调寄存器(ADCOFFTRIM)中的9位字段进行偏移校正。对此寄存器中包含的值进行加/减后,结果才会出现在ADC结果寄存器中。本操作包含在ADC模块中,因此不会影响结果的时序。要为此寄存器找到合适的值,请将ADCLO连接到其中一个ADC信道,并使用不同的寄存器值转换该信道,直至看到中央0代码为止。请参阅图1-12以了解流程图。图1-12.偏移误差校正进程的流程图
Convert ADCLO reference ~20 conversionsAreany codes0?NoYesAdd 40 (decimal) to the OFFTRIMregisterCalculate the average output code of theconversionsSubtract the average from the value in the OFFTRIMregister and write result backto the OFFTRIM register示例1-5.负偏移启动时,大多数参考转换产生0值结果。将值0x28(十进制的40)写入OFFTRIM寄存器后,所有参考转换得到正值结果,且平均输出0x19(十进制的25)。写入OFFTRIM寄存器的最终值应为0x0F(十进制的15)。
示例1-6.正偏移启动时,所有参考转换产生平均值为0x14(十进制的20)的正值结果。写入OFFTRIM寄存器的最终值应为0x1EC(十进制的-20)。
偏移误差校正进程完成后,在转换多个ADCLO采样时,应能看到类似于图1-13的半钟型曲线分布。由于转换器在0代码处降至最低点,所以隐藏了另一半钟型曲线。
30模数转换器(ADC)ZHCU004–2004年11月–修订2005年6月
Preliminarywww.ti.com
偏移误差校正图1-13.采样0-V参考电压的理想代码分布
Hitspercode
01
23ADC output code
4095
ZHCU004–2004年11月–修订2005年6月模数转换器(ADC)31
Preliminarywww.ti.com
偏移误差校正32模数转换器(ADC)ZHCU004–2004年11月–修订2005年6月
Preliminary第2章ZHCU004–2004年11月–修订2005年6月ADC寄存器本章对ADC寄存器按功能分组并进行描述,同时还包含位定义。
主题
.........................................................ADC控制寄存器.........................................最大转换信道数寄存器(ADCMAXCONV).........................自动定序状态寄存器(ADCASEQSR)............................ADC状态和标志寄存器(ADCST)..............................ADC参考选择寄存器(ADCREFSEL)............................ADC偏移微调寄存器(ADCOFFTRIM)............................ADC输入信道选择定序控制寄存器............................ADC转换结果缓冲寄存器(ADCRESULTn)........................3437393940414142页
2.12.22.32.42.52.62.72.8ZHCU004–2004年11月–修订2005年6月ADC寄存器33
Preliminarywww.ti.com
ADC控制寄存器2.1ADC控制寄存器
图2-1.ADC控制寄存器1(ADCTRL1)(地址偏移00h)
15保留R-07CPSR/W-0
14RESETR/W-06CONT_RUNR/W-0
5SEQ_OVRDR/W-013SUSMODR/W-0
4SEQ_CASCR/W-0
3保留R-0
1211ACQ_PSR/W-0
08图例:R/W=读/写;R=只读;-n=复位后的值
表2-1.ADC控制寄存器1(ADCTRL1)字段说明
位1514
名称保留RESET
值
说明
读取返回0值。写入无影响。
ADC模块软件复位。此位导致整个ADC模块的主复位。当将器件复位引脚拉低时(或上电复位后),所有寄存器位和序列发生器状态机制复位到初始状态。这是一个一次效应位,也即将此位置1后,将立即自行清除此位。此位的读数总是返回0值。ADC复位也有2个时钟周期的延迟(即在复位ADC的指令后经过2个ADC时钟周期之前,不应修改其它ADC控制寄存器位)。
01
无影响
复位整个ADC模块(然后由ADC逻辑电路将该位设置回0)
注:在系统复位期间将复位ADC模块。如果需要在其它任何时间复位ADC模块,可通过向此位写入1来实现。经历2个ADC时钟域周期后,可向ADCCTRL1寄存器位写入适当的值。下例假定100MHz的DSP时钟和12.5MHz的ADCCLK。汇编代码:MOVADCTRL1,#01xxxxxxxxxxxxxxb;复位ADC(RESET=1)RPT#14||NOP;提供每次写入ADCTRL1所需的延迟
MOVADCTRL1,#00xxxxxxxxxxxxxxb;将ADCTRL1配置为用户所需的值。请注意,如果默认配置已足够,则无需第二个MOV。
13-12
SUSMOD[1:0]
00011011
11-87
ACQ_PS[3:0]CPS
01
6
CONT_RUN
仿真挂起模式。这些位决定出现仿真挂起(例如,因调试器触及断点)时发生的事件。模式0。忽略仿真挂起。
模式1。完成当前序序列、锁定最终结果且更新状态机制之后,序列发生器和其它轮询程序逻辑停止。
模式2。完成当前转转换、锁定结果且更新状态机制之后,序列发生器和其它轮询程序逻辑停止。
模式3。仿真挂起时,序列发生器和其它轮询程序逻辑立即停止。
采集窗口大小。此位字段控制SOC脉宽,后者确定采样开关关闭的时间段。SOC脉宽为ADCTRL1[11:8]+1乘以ADCLK周期。
内核时钟预分频器。预分频器用于对器件外设时钟HSPCLK进行分频。ADCCLK=Fclk/1ADCCLK=Fclk/1
注:Fclk=被预分频的HSPCLK(ADCCLKPS[3:0])
连续运行。此位决定序列发生器工作是处于连续转换模式还是启动/停止模式。可在当前转换序列有效时写入此位。此位在当前转换序列结束时生效;即,为了采取有效的操作,在发生EOS之前,可用软件设置/清除此位。在连续转换模式下,不必复位序列发生器;但是,在启动/停止模式下必须复位序列发生器,以使转换器进入状态CONV00。
01
启动/停止模式。到达EOS后序列发生器停止。除非执行了序列发生器复位,否则序列发生器在遇到下一个SOC时将从结束时的状态启动。
连续转换模式。到达EOS后,序列发生器的行为取决于SEQ_OVRD位的状态。如果清除此位,则序列发生器将再次从其复位状态启动(对SEQ1和级联模式为CONV00,对SEQ2为CONV08)。如果设置了SEQ_OVRD,则序列发生器将再次从其当前位置启动,而不会进行复位。
序列发生器覆盖。可通过覆盖MAX_CONVn设置的转换结束时的回绕,来提供连续运行模式的附加序列发生器灵活性。
0
禁用-允许序列发生器在MAX_CONVn设置的转换结束时回绕。
5SEQ_OVRD
34ADC寄存器ZHCU004–2004年11月–修订2005年6月
Preliminarywww.ti.com
ADC控制寄存器表2-1.ADC控制寄存器1(ADCTRL1)字段说明(接上表)
位
名称
值
1
4
SEQ_CASC
01
3-0
保留
说明
启用-覆盖序列发生器在MAX_CONVn设置的转换结束时的回绕。仅在序列发生器结束时发生回绕。
级联的序列发生器操作。此位决定SEQ1和SEQ2是作为2个8状态序列发生器工作还是作为单个16状态序列发生器工作(SEQ)。
双序列发生器模式。SEQ1和SEQ2作为2个8状态序列发生器工作。级联模式。SEQ1和SEQ2作为单个16状态序列发生器工作(SEQ)。读取返回0。写入无影响。
图2-2.ADC控制寄存器2(ADCTRL2)(地址偏移01h)
15ePWM_SOCB_SEQ
R/W-07EXT_SOC_SEQ1
R/W-0
14RST_SEQ1R/W-06RST_SEQ2R/W-0
13SOC_SEQ1R/W-05SOC_SEQ2R/W-0
12保留R-04保留R-0
11INT_ENA_SEQ1
R/W-03INT_ENA_SEQ2
R/W-0
10INT_MOD_SEQ1
R/W-02INT_MOD_SEQ2
R/W-0
9保留R-01保留R-0
8
ePWM_SOCA_SEQ1
R/W-00
ePWM_SOCB_SEQ2
R/W-0
图例:R/W=读/写;R=只读;W=写入存取,S=只设置,C=清除,-n=复位后的值
表2-2.ADC控制寄存器2(ADCTRL2)字段说明
位15
名称
ePWM_SOCB_SEQ
01值
说明
为级联序列发生器启用ePWMSOCB(注:此位只在级联模式中有效。)无操作
设置此位,允许由ePWMSOCB信号启动级联的序列发生器。可以对ePWM模块编程从而在各种情况下启动转换。有关ePWM模块的详细信息,请参阅TMS320x280x增强型脉宽调制模块参考指南(文献编号SPRU791)。
复位序列发生器1,将1写入此位将使SEQ1或级联序列发生器立即复位到初始的“触发前”状态,即在CONV00等待触发信号。将异常中止当前活动的转换序列。01
13
SOC_SEQ1
无操作
立即将序列发生器复位到状态CONV00
序列发生器1(SEQ1)或级联序列发生器的转换开始(SOC)触发器。可通过以下触发器设置此位:
•S/W-通过软件将1写入此位•ePWMSOCA
•ePWMSOCB(仅用于级联模式)
•EXT-在GPIOxINT2SEL寄存器中配置为XINT2的外部引脚(即GPIO端口A引脚(GPIO31-0))。
有关如何将GPIO引脚配置为XINT2的详细信息,请参阅TMS320x280x系统控制和中断参考指南(文献编号SPRU712)。当触发发生时,有三种可能:
情形1:SEQ1空闲且已清除SOC位,则SEQ1立即启动(受仲裁器控制)。允许为任何“暂挂”的触发请求设置和清除此位。
情形2:SEQ1忙且已清除SOC位,则设置此位以指出触发请求正暂挂。当完成当前转换后最终启动SEQ1时,将清除此位。
情形3:SEQ1忙且设置了SOC位,则忽略(丢失)此情况下出现的任何触发信号。0
清除暂挂的SOC触发器。
注:如果序列发生器已启动,则自动清除此位;因此,写入0无影响,即不能通过清除此位来停止已启动的序列发生器。
软件触发器-从当前停止的位置启动SEQ1(即空闲模式)
注:不应在同一指令中设置RST_SEQ1(ADCTRL2.14)和SOC_SEQ1(ADCTRL2.13)位。这将使序列发生器复位,但不会启动序列。正确的操作顺序为首先设置RST_SEQ1位,并在随后的指令中设置SOC_SEQ1位。这样能够确定序列发生器是否已复位以及新序列是否已启动。此序列也适用于RST_SEQ2(ADCTRL2.6)和SOC_SEQ2(ADCTRL2.5)位。
1211
保留INT_ENA_SEQ1
读取返回0值。写入无影响。
启用SEQ1中断。此位启用INTSEQ1对CPU的中断请求。
14RST_SEQ1
1
ZHCU004–2004年11月–修订2005年6月ADC寄存器35
Preliminarywww.ti.com
ADC控制寄存器表2-2.ADC控制寄存器2(ADCTRL2)字段说明(接上表)
位
名称
值01
10
INT_MOD_SEQ1
01
98
保留
ePWM_SOCA_SEQ1
01
7
EXT_SOC_SEQ1
01
说明
禁用INT_SEQ1的中断请求。启用INT_SEQ1的中断请求。
SEQ1中断模式。此位选择SEQ1中断模式。它影响SEQ1转换序列结束时的INTSEQ1设置。
每个SEQ1序列结束时设置INT_SEQ1。每隔一个SEQ1序列结束时设置INT_SEQ1。读取返回0值。写入无影响。SEQ1的ePWMSOCA启用位
SEQ1不能由ePWMxSOCA触发器启动。
允许由ePWMxSOCA触发器启动SEQ1/SEQ。可以对ePWMs编程从而在各种情况下启动转换。SEQ1的外部信号转换开始位无操作
设置此位使ADC自动转换序列可以由来自GPIO端口A引脚(GPIO31-0)的信号启动,在GPIOXINT2SEL寄存器中已将引脚配置为XINT2。请参阅TMS320x280x系统控制和中断参考指南(SPRU712)。复位SEQ201
5
SOC_SEQ2
无操作
立即将SEQ2复位到“触发前”状态,即在CONV08等待触发信号。将异常中止当前活动的转换序列。
序列发生器2(SEQ2)的转换开始触发器。(仅适用于双序列发生器模式;在级联模式中被忽略。)可通过以下触发器设置此位:•S/W-通过软件将1写入此位•ePWMSOCB
当触发发生时,有三种可能:
情形1:SEQ2空闲且已清除SOC位,则SEQ2立即启动(受仲裁器控制),且允许为任何暂挂的触发请求清除该位。
情形2:SEQ2忙且已清除SOC位,则设置此位以指出触发请求正暂挂。当完成当前转换后最终启动SEQ2时,将清除此位。
情形3:SEQ2忙且设置了SOC位,将忽略(丢失)此情况下出现的任何触发信号。0
清除暂挂的SOC触发器
注:如果序列发生器已启动,则自动清除此位;因此,写入0无影响,即不能通过清除此位来停止已启动的序列发生器。
从当前停止的位置启动SEQ2(即空闲模式)读取返回0值。写入无影响。
启用SEQ2中断。此位启用或禁用INTSEQ2对CPU的中断请求。01
2
INT_MOD_SEQ2
01
10
保留
ePWM_SOCB_SEQ2
01
禁用INT_SEQ2的中断请求。启用INT_SEQ2的中断请求。
SEQ2中断模式。此位选择SEQ2中断模式。它影响SEQ2转换序列结束时的INTSEQ2设置。
每个SEQ2序列结束时设置INT_SEQ2。每隔一个SEQ2序列结束时设置INT_SEQ2。读取返回0值。写入无影响。SEQ2的ePWMSOCB启用位。
SEQ2不能由ePWMxSOCB触发器启动。
允许由ePWMxSOCB触发器启动SEQ2。可以对ePWMs编程从而在各种情况下启动转换。
6RST_SEQ2
1
43
保留INT_ENA_SEQ2
36ADC寄存器ZHCU004–2004年11月–修订2005年6月
Preliminarywww.ti.com
最大转换信道数寄存器(ADCMAXCONV)图2-3.ADC控制寄存器3(ADCTRL3)(地址偏移18h)
15保留R-0
7ADCBGRFDNR/W-0
65ADCPWDNR/W-0
4ADCCLKPSR/W-0
10SMODE_SELR/W-08图例:R/W=读/写;R=只读;-n=复位后的值
表2-3.ADC控制寄存器3(ADCTRL3)字段说明
位15-87-6名称保留ADCBGRFDN[1:0]00115ADCPWDN014-1ADCCLKPS[3:0]值说明读取返回0值。写入无影响。ADC能带隙和参考断电。这些位控制模拟内核内的能带隙和参考电路中的上电和断电。请参阅第1.6部分以了解上电顺序的要求。能带隙和参考电路断电。能带隙和参考电路上电。ADC断电。此位控制模拟内核内除能带隙和参考电路外的所有模拟电路的上电和断电。请参阅第1.6部分以了解上电顺序的要求。内核内除能带隙和参考电路外的所有模拟电路断电。内核内的模拟电路上电。内核时钟除法器。除了在ADCCLKPS[3-0]为0000时HSPCLK直通外,将28x外设时钟HSPCLK除以2*ADCCLKPS[3-0]。将分频后的时钟进一步除以ADCTRL1[7]+1,以产生内核时钟ADCLK。ADCCLKPS[3:0]内核时钟除法器ADCLK00000001001000110100010101100111100010011010101111001101111011110SMODE_SEL010HSPCLK/(ADCTRL1[7]+1)1HSPCLK/[2*(ADCTRL1[7]+1)]2HSPCLK/[4*(ADCTRL1[7]+1)]3HSPCLK/[6*(ADCTRL1[7]+1)]4HSPCLK/[8*(ADCTRL1[7]+1)]5HSPCLK/[10*(ADCTRL1[7]+1)]6HSPCLK/[12*(ADCTRL1[7]+1)]7HSPCLK/[14*(ADCTRL1[7]+1)]8HSPCLK/[16*(ADCTRL1[7]+1)]9HSPCLK/[18*(ADCTRL1[7]+1)]10HSPCLK/[20*(ADCTRL1[7]+1)]11HSPCLK/[22*(ADCTRL1[7]+1)]12HSPCLK/[24*(ADCTRL1[7]+1)]13HSPCLK/[26*(ADCTRL1[7]+1)]14HSPCLK/[28*(ADCTRL1[7]+1)]15HSPCLK/[30*(ADCTRL1[7]+1)]采样模式选择。此位选择顺序采样模式或同步采样模式。选择顺序采样模式。选择同步采样模式。2.2最大转换信道数寄存器(ADCMAXCONV)
ZHCU004–2004年11月–修订2005年6月ADC寄存器37
Preliminarywww.ti.com
最大转换信道数寄存器(ADCMAXCONV)图2-4.最大转换信道数寄存器(ADCMAXCONV)(偏移地址02h)
15保留R-0
7保留R-0
6MAX_CONV2R/W-0
43MAX_CONV1R/W-0
08图例:R/W=读/写;R=只读;x=未定义,-n=复位后的值
表2-4.最大转换信道数寄存器(ADCMAXCONV)字段说明
位15-76-0
名称保留MAX_CONVn
说明
读取返回0值。写入无影响。
MAX_CONVn位字段定义自动转换会话中执行的最大转换数。位字段及其操作随序列发生器模式(双/级联)变化。
对于SEQ1操作,使用位MAX_CONV1[2:0]。对于SEQ2操作,使用位MAX_CONV2[2:0]。
对于SEQ操作,使用位MAX_CONV1[3:0]。自动转换会话总是从初始状态开始,并在条件允许的情况下持续到结束状态。按顺序填充结果缓冲器。可以为会话编程任何处于1与(MAX_CONVn+1)之间的转换数。
示例2-1.ADCMAXCONV寄存器位编程如果只需要5次转换,则将MAX_CONVn设置为4。
情形1:双模式SEQ1和级联模式序列发生器从CONV00变化到CONV04,并将5个转换结果存储在转换结果缓冲器的寄存器Result00至Result04中。
情形2:双模式SEQ2序列发生器从CONV08变化到CONV12,并将5个转换结果存储在转换结果缓冲器的寄存器Result08至Result12中。双序列发生器模式的MAX_CONV1值大于7
如果为双序列发生器模式(即2个独立的8状态序列发生器)选择了大于7的MAX_CONV1值,则SEQ_CNTR将继续计数到超过7,这将导致序列发生器回绕到CONV00,并继续计数。
表2-5.各种转换数的MAX_CONV1的位选择
ADCMAXCONV[3-0]
0000000100100011010001010110011110001001101010111100110111101111
转换数12345678910111213141516
38ADC寄存器ZHCU004–2004年11月–修订2005年6月
Preliminarywww.ti.com
自动定序状态寄存器(ADCASEQSR)2.3自动定序状态寄存器(ADCASEQSR)
图2-5.自动定序状态寄存器(ADCASEQSR)(地址偏移07h)
15保留R-0
7保留R-0
6SEQ2_STATER-0
43SEQ1_STATER-0
1211SEQ_CNTRR-0
08图例:R/W=读/写;R=只读;x=未定义,-n=复位后的值
表2-6.自动定序状态寄存器(ADCASEQSR)字段说明
位15-1211-8名称保留SEQ_CNTR[3:0]说明读取返回0值。写入无影响。定序计数器状态位。SEQ_CNTRn4位状态字段由SEQ1、SEQ2和级联序列发生器使用。SEQ2与级联模式无关。序列发生器计数器位字段SEQ_CNTR[3:0]在转换序列开始时初始化为MAX_CONV中的值。在自动转换序列中的每次转换(或同步采样模式下的每对转换)之后,序列发生器计数器减1。可在倒计数过程的任何时间读取SEQ_CNTR位,以检查序列发生器的状态。此值结合SEQ1和SEQ2忙位,可唯一标识活动序列发生器在任意时刻的进度或状态。请参阅表2-7。读取返回0值。写入无影响。SEQ2_STATE和SEQ1_STATE位字段分别为SEQ2和SEQ1的指针。76-0保留SEQ2_STATE[2:0]和SEQ1_STATE[3:0]表2-7.活动序列发生器的状态
SEQ_CNTR(只读)
0000000100100011010001010110011110001001101010111100110111101111
转换数剩余1或0,取决于忙位
2345678910111213141516
2.4ADC状态和标志寄存器(ADCST)
ZHCU004–2004年11月–修订2005年6月ADC寄存器39
Preliminarywww.ti.com
ADC参考选择寄存器(ADCREFSEL)图2-6.ADC状态和标志寄存器(ADCST)(地址偏移19h)
15
保留R-0
7EOS_BUF2R-0
6EOS_BUF1R-0
5INT_SEQ2_CLR
R/W-0
4INT_SEQ1_CLR
R/W-0
3SEQ2_BSYR-0
2SEQ1_BSYR-0
1INT_SEQ2R-0
0INT_SEQ1R-08
图例:R/W=读/写;R=只读;-n=复位后的值
此寄存器为专用的状态和标志寄存器。此寄存器中的位为只读状态或标志位,或为读数归零条件清除位。
表2-8.ADC状态和标志寄存器(ADCST)字段说明
位15-87
名称保留EOS_BUF2
值
说明
读取返回0值。写入无影响。
SEQ2的序列结束缓冲位。在中断模式0(即当ADCTRL2[2]=0时)中,不使用此位且保留为0。在中断模式1(即当ADCTRL2[2]=1时)中,它在每个SEQ2序列结束时进行切换。此位在器件复位时清除,且不受序列发生器复位或清除相应中断标志的影响。
SEQ1的序列结束缓冲位。在中断模式0(即当ADCTRL2[10]=0时)中,不使用此位且保留为0。在中断模式1(即当ADCTRL2[10]=1时)中,它在每个SEQ1序列结束时进行切换。此位在器件复位时清除,且不受序列发生器复位或清除相应中断标志的影响。
中断清除位。此位的读数总是返回0值。清除操作是将1写入此位后的一次性事件。01
4
INT_SEQ1_CLR
01
3
SEQ2_BSY
01
2
SEQ1_BSY
01
1
INT_SEQ2
将0写入此位无影响。
将1写入此位会清除SEQ2中断标志位INT_SEQ2。此位不影响EOS_BUF2位。中断清除位。此位的读数总是返回0值。清除操作是将1写入此位后的一次性事件。将0写入此位无影响。
将1写入此位会清除SEQ1中断标志位INT_SEQ1。此位不影响EOS_BUF1位。SEQ2忙状态位。
SEQ2空闲,正在等待触发信号。SEQ2正忙。写入此位无影响。SEQ1忙状态位。写入此位无影响。SEQ1空闲,正在等待触发信号。SEQ1正忙。
SEQ2中断标志位。写入此位无影响。在中断模式0中(即当ADCTRL2[2]=0时),在每个SEQ2序列结束时设置此位。在中断模式1中(即当ADCTRL2[2]=1时),如果已设置EOS_BUF2,则在Seq2序列结束时设置此位。01
0
INT_SEQ1
无SEQ2中断事件。发生SEQ2中断事件。
SEQ1中断标志位。写入此位无影响。在中断模式0中(即当ADCTRL2[10]=0时),在每个Seq1序列结束时设置此位。在中断模式1中(即当ADCTRL2[10]=1时),如果已设置EOS_BUF1,则在Seq1序列结束时设置此位。01
无SEQ1中断事件。发生SEQ1中断事件。
6EOS_BUF1
5INT_SEQ2_CLR
2.5ADC参考选择寄存器(ADCREFSEL)
图2-7.ADC参考选择寄存器(ADCREFSEL)(地址偏移1Ch)
15R/W-0
1413保留R/W-0
0REF_SEL图例:R/W=读/写;R=只读;-n=复位后的值
40ADC寄存器ZHCU004–2004年11月–修订2005年6月
Preliminarywww.ti.com
ADC偏移微调寄存器(ADCOFFTRIM)表2-9.ADC参考选择寄存器(ADCREFSEL)字段说明
位15-14
名称REF_SEL[1:0]
00011011
13-0
保留
值
说明
下面列出了ADC电压生成电路选项的参考选择位:选择了内部参考(默认)外部参考,ADCREFIN为2.048V留作将来使用留作将来使用
这些位留作内部测试。所有对此寄存器的写入应将0写入这些位。
2.6ADC偏移微调寄存器(ADCOFFTRIM)
图2-8.ADC偏移微调寄存器(ADCOFFTRIM)(地址偏移1Dh)
15保留R-0
图例:R/W=读/写;R=只读;-n=复位后的值
98OFFSET_TRIMR/W-0
0表2-10.ADC偏移微调寄存器(ADCOFFTRIM)字段说明
位15-98-0
名称保留
OFFSET_TRIM[8:0]
说明
读取返回0值。写入无影响。
LSB中的偏移微调值,2的补码格式,范围为-256/255
2.7ADC输入信道选择定序控制寄存器
图2-9.ADC输入信道选择定序控制寄存器(ADCCHSELSEQ1)(地址偏移03h)
15CONV03R/W-0
1211CONV02R/W-0
87CONV01R/W-0
43CONV00R/W-0
0图例:R/W=读/写;-n=复位后的值
图2-10.ADC输入信道选择定序控制寄存器(ADCCHSELSEQ2)(地址偏移04h)
15CONV07R/W-0
图例:R/W=读/写;-n=复位后的值
1211CONV06R/W-0
87CONV05R/W-0
43CONV04R/W-0
0图2-11.ADC输入信道选择定序控制寄存器(ADCCHSELSEQ3)(地址偏移05h)
15CONV11R/W-0
图例:R/W=读/写;-n=复位后的值
1211CONV10R/W-0
87CONV09R/W-0
43CONV08R/W-0
0ZHCU004–2004年11月–修订2005年6月ADC寄存器41
Preliminarywww.ti.com
ADC转换结果缓冲寄存器(ADCRESULTn)图2-12.ADC输入信道选择定序控制寄存器(ADCCHSELSEQ4)(地址偏移06h)
15CONV15R/W-0
图例:R/W=读/写;-n=复位后的值
1211CONV14R/W-0
87CONV13R/W-0
43CONV12R/W-0
0每个4位字段CONVxx为自动定序的转换选择16个多路复用的模拟输入ADC信道中的一个。
表2-11.CONVnn位值和所选的ADC输入信道
CONVnn值0000000100100011010001010110011110001001101010111100110111101111
所选的ADC输入信道
ADCINA0ADCINA1ADCINA2ADCINA3ADCINA4ADCINA5ADCINA6ADCINA7ADCINB0ADCINB1ADCINB2ADCINB3ADCINB4ADCINB5ADCINB6ADCINB7
2.8ADC转换结果缓冲寄存器(ADCRESULTn)
在级联序列发生器模式中,寄存器ADCRESULT8-ADCRESULT15保持第9次到第16次转换的结果。当从具有2等待状态的外设帧2(0x7108-0x7117)读取时,ADCRESULTn寄存器为左对齐;当从具有0等待状态的外设帧0(0x0B00-0x0B0F)读取时,ADCRESULTn寄存器为右对齐。
图2-13.ADC转换结果缓冲寄存器(ADCRESULTn)-(地址0x7108-0x7117)
15D11R-07D3R-0
14D10R-06D2R-0
13D9R-05D1R-0
12D8R-04D0R-0
11D7R-03保留R-0
10D6R-0
9D5R-0
8D4R-00图例:R/W=读/写;R=只读;-n=复位后的值
图2-14.ADC转换结果缓冲寄存器(ADCRESULTn)-(地址0x0B00-0x0B0F)
15保留R-0
7D7R-0
6D6R-0
5D5R-0
4D4R-01211D11R-03D3R-0
10D10R-02D2R-0
9D9R-01D1R-0
8D8R-00D0R-0
图例:R/W=读/写;R=只读;-n=复位后的值42
ADC寄存器ZHCU004–2004年11月–修订2005年6月
Preliminarywww.ti.com
ADC转换结果缓冲寄存器(ADCRESULTn)ZHCU004–2004年11月–修订2005年6月ADC寄存器43
Preliminarywww.ti.com
ADC转换结果缓冲寄存器(ADCRESULTn)44ADC寄存器ZHCU004–2004年11月–修订2005年6月
PreliminaryAppendixAZHCU004–2004年11月–修订2005年6月修订历史记录本文档将SPRU716修订为SPRU716A。修订范围限定于下述技术方面的更改。附录部分仅列出在最新版本中所做的修订。
位置图1-10、表2-1第1.7部分表表表表2-12-32-42-6在图1-10和表2-1中增加了Fclk定义在第1.7节增加了序列发生器复位注意事项为了与280x头文件示例相匹配,合并了位字段名•ADCTRL1中的SUSMOD[1:0]和ACQ_PS[3:0]•ADCTRL3中的ADCBGRFDN[1:0]•ADCMAXCONV中的MAX_CONV2[2:0]和MAX_CONV1[3:0]•ADCASEQSR中的SEQ_CNTR[3:0]、SEQ2_STATE[2:0]和SEQ1_STATE[3:0]添加/修改/删除ZHCU004–2004年11月–修订2005年6月修订历史记录45
因篇幅问题不能全部显示,请点此查看更多更全内容