在设置中止优先级比较费事或许中止固有的不行猜测性欠好处理的运用中,模数转化器(ADC)作业在轮询形式下要比作业在中止驱动形式下更适合。本运用笔记具体论说了MAXQ3120微操控器的16位Σ-Δ ADC作业在轮询形式下时需求留意的一些事项。用汇编语言源代码演示了轮询形式的完结办法。
概述
MAXQ3120是榜首款集成了双通道、16位Σ-Δ模数转化器(ADC) (图1)的MAXQ微操控器。该ADC使这款微操控器特别适用于单相电表,一起也适用于任何需求高精度模数转化的运用场合。关于设置中止优先级比较费事或许中止固有的不行猜测性欠好处理的运用,ADC最好作业在轮询形式下而不是中止驱动形式下。
图1. ADC功用框图
该运用笔记论述了MAXQ3120的ADC作业在轮询形式下时的运用情况,并评论了编程留意事项。给出了ADC的一个特定代码实例。对MAXQ3120乘法-累加器(MAC)的用法和LCD驱动器功用也进行了阐明。在这个实例中,MAC完结ADC输出的简略求和(和随后的求均匀值运算),并由LCD显现均匀转化成果。
本文所给出的代码实例是针对MAXQ3120编写并经过测验的,但也能够在包含类似资源的其他相关MAXQ器材上运转。该例程代码的整个开发环境选用MAX-IDE 1.0版别和MAXQ3120评价板硬件版别B。
编程留意事项
当MAXQ3120的ADC作业在轮询形式下时,软件设计应考虑转化器的以下几个特性:榜首,设计者有必要了解ADC操控寄存器(ADCN)中各个位的含义和用法。表1列出了该寄存器的各个位,每一位的功用阐明如表2所示。当一个ADC输出值准备就绪时,硬件将ASR1或ASR0方位1。此刻软件能够从ADC的输出寄存器(AD1或AD0)中读取一个带符号的16位数值。假如在读输出寄存器之前完结了屡次转化,那么新的转化成果不写入输出寄存器。采样丢掉位ASL1或ASL0置位,并放弃这些转化成果。在顺便的软件(拜见下面的实例代码部分)中,每次读输出寄存器之前都要测验ASR0位的状况。在本文这种情况下,输出是否溢出并不重要。因而疏忽了采样丢掉位的状况。一起,增益设置为1,由内部带隙供给基准电压,在该实例中仅使能了一个模数转化通道(0)。
软件中另一个需考虑的问题是ADC中各种不同模块的树立时刻。调制器、sinc3滤波器和基准带隙缓冲器都存在树立时刻。经过在程序的开端阶段发动ADC,并答应其接连运转,能够使这些树立时刻只呈现一次。软件实例中包含一个大约1s的软件循环延时(根据8MHz时钟),能够减慢程序循环以及随后的显现改写操作。ADC发动之后也参加了这一延时,然后给各模块供给了树立时刻。当然这一延时比所需求的树立时刻长的多(具体标准拜见MAXQ3120数据资料),选用这种代码延时仅仅为了完结愈加简略。
MAXQ3120包含一个能够在一个时钟内完结16位 x 16位字MAC功用的硬件模块。该功用可与许多数字信号处理器相媲美,使得MAXQ3120能够快速履行数学核算。本运用不需求快速数学核算功用,但MAC协助核算ADC输出的均匀值,以滑润输出成果并使显现的数值改变更缓慢一些。为了得到这个均匀值,一个乘数取为1,将16个16位转化成果传送给MAC。这16个数据字的总和存放在累加器中。在完结求和运算后,该成果除以16 (移位和相加)来核算均匀值。这个均匀值送到LCD上进行显现。有关MAC功用的具体阐明拜见MAXQ微操控器用户攻略。
实例代码
和本运用笔记配套的软件包含在ADC_Polled.zip文件中,能够进行下载。该文件包含:源代码文件ADC_Polled.asm,My3120kit_lcd.asm,maxq_math.asm;包含文件maxq3120x.inc;以及MAX-IDE工程文件ADC_Polled.prj。将这些文件解压到一个共用目录下,对该软件进行汇编并在MAXQ3120评价板上履行。
给MAXQ3120的ADC输入施加一个改变的电压,然后调查LCD上的显现成果,该运用十分有用并能供给更多的信息。用一个定值电阻和一个电位器可发生规模适宜的可变电压。该电路的元件衔接原理图见图2。MAXQ3120评价板在DB-9串行衔接器邻近供给了一小块原型区域。原型区域边缘还具有衔接AVCC和AGND走线的过孔。参加这一简略电路后,可在模仿通道0输入端(AN0+)施加0至0.823V电压(最大值挨近1V)。如原理图所示,AN0-输入接AGND,以供给一个参阅电平。
图2. 发生ADC输入的分压器电路原理图
结束语
MAXQ3120微操控器包含一个双通道、16位Σ-Δ ADC,可用于一切需求高精度模数转化的体系中。该运用笔记叙述了作业在轮询形式下时需求考虑的一些ADC特性。实例代码演示了如安在轮询形式下运用ADC。实例代码还演示了包含MAC硬件和直接LCD驱动功用在内的其他MAXQ3120特性。MAXQ3120评价板作为该软件的渠道。经过参加由两个常见元件组成的电路,用户可将一个可变电压加到ADC输入端,并调查评价板上LCD的显现成果。
责任编辑:gt