第 14 章 adc 和 dac 模块

55
第 14 第 ADC 第 DAC 第第 何何 2011.12

Upload: jolene-dyer

Post on 02-Jan-2016

141 views

Category:

Documents


0 download

DESCRIPTION

第 14 章 ADC 和 DAC 模块. 何宾 2011.12. 本章内容. 本章主要是介绍 PSoC3 内的 Δ-Σ ADC 模块和 DAC 模 块,这两个模块和前一章所介绍的模拟前端一起构成一个 高可靠的、强大功能的模数和数模混合系统,这两个模块 也是 PSoC3 中最重要的两个功能部件。 通过本章内容的学习,不仅能了解和掌握 ADC 和 DAC 模块的工作原理,还能掌握使用 PSoC3 实现一个模数和数 模混合系统的方法。. Δ-ΣADC 模块. PSoC3 包含一个 Δ-Σ ADC 。这个 ADC 提供了差分 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 14 章  ADC 和 DAC 模块

第 14 章 ADC 和 DAC 模块

何宾 2011.12

Page 2: 第 14 章  ADC 和 DAC 模块

本章内容 本章主要是介绍 PSoC3 内的 Δ-Σ ADC 模块和

DAC 模块,这两个模块和前一章所介绍的模拟前端一起构成一个高可靠的、强大功能的模数和数模混合系统,这两个模块也是 PSoC3 中最重要的两个功能部件。 通过本章内容的学习,不仅能了解和掌握 ADC 和

DAC模块的工作原理,还能掌握使用 PSoC3 实现一个模数和

数模混合系统的方法。

Page 3: 第 14 章  ADC 和 DAC 模块

Δ-ΣADC 模块

PSoC3 包含一个 Δ-Σ ADC 。这个 ADC 提供了差分

输入,高分辨率和良好的线性度,该 ADC 可用于声音信号

处理和测量方面的应用。下表给出了不同 ADC 分辨率下的

采样速度和 SNR 值。

比特位 sps SNR ( dB )

20 180 110

16 48k 90

12 192k 70

Page 4: 第 14 章  ADC 和 DAC 模块

Δ-ΣADC 模块

图 △ -∑ 的内部功能原理

Page 5: 第 14 章  ADC 和 DAC 模块

Δ-ΣADC 模块

图 ADC△-∑ 原理结构

Page 6: 第 14 章  ADC 和 DAC 模块

Δ-ΣADC 模块

从前面的图可以看出,输入缓冲区( Input Buffer )连接到内部和外部总线输入复用开关上。来自输入复用开关上的信号直接或者通过缓冲区传递到 Δ-Σ 调制器。 Δ-Σ 执行真正的模拟 - 数字的转换。 调制器过采样输入,产生串行的比特流输出。 高速数据流对大多数应用是没有意义的,所以在后级加入抽取器。 抽取器将高速的串行数据流转换成并行的 ADC 结果。抽取器控制分辨率和采样率;输出是最后四个采样的函数。当输入多路复用开关被切换,输出的前三个采样就不是有效的,直到开关切换后的第四个采样才是有效的。

Page 7: 第 14 章  ADC 和 DAC 模块

Δ-ΣADC 模块

在 PSoC 中的 ADC 模块的具体结构包括: 输入放大器;提供高输入阻抗和用户可选择的增益。 3 阶 Δ-Σ调制器 抽取器抽取器包含一个 4阶的 CIC抽取滤波器和后端处理单元。

后端处理单元执行可选的增益,偏置和采样滤波器功能。

Page 8: 第 14 章  ADC 和 DAC 模块

Δ-ΣADC 模块-- 操作模式

设置者可以配置 ADC ,使其工作在下面的四种模式之一:

单采样; 快速滤波器; 连续 /快速平均。

通过往控制寄存器写启动位或者发送开始转换信号( Start Of Conversion , SOC ),来启动 ADC 转换器。 当转换结束后,设置一个状态位,并且转换结束信号( End of Conversion, EOC )为高电平,这个信号一直保持到 CPU 或 DMA 读取转换值为止。

Page 9: 第 14 章  ADC 和 DAC 模块

Δ-ΣADC 模块-- 操作模式

1 .单采样 在触发器作用下,执行单次采样。在这种模式下,ADC 在待机模式下等待 SOC 信号有效。当 SOC 有效,ADC 执行一次采样转换,并捕获结果。为了检测 EOC ,系统可以轮询一个控制寄存器或者配置外部的 EOC 信号来产生一个中断或者调用 DMA 请求。 当传输完成后, ADC 进入待机状态。直到下一个SOC 事件。

Page 10: 第 14 章  ADC 和 DAC 模块

Δ-ΣADC 模块-- 操作模式

2 .连续采样 在连续模式下,通道复位,然后连续运行直到停止。当输入信号不需要切换,并且需要多个采样值时,就可以采用这种模式。

Page 11: 第 14 章  ADC 和 DAC 模块

Δ-ΣADC 模块-- 操作模式

3 .快速滤波器 快速滤波器模式连续的捕获数据,在每个采样间,通道复位。一个采样结束,另一个采样立即开始,使用轮询,中断或 DMA 来传输结果。当输入在多个通道间进行切换,并且在每个采样间需要一个滤波器进行复位时,就可以采用这种模式。

Page 12: 第 14 章  ADC 和 DAC 模块

Δ-ΣADC 模块-- 操作模式

4 .快速 FIR (平均) 这种模式和快速滤波器类似,但在两个转换间不复位调制器。当要求抽取率因子大于 128 时,可以使用。这

种模式使用后续的处理器 sinc1 滤波器执行额外的抽取,以

得到大于 16 位的分辨率。

Page 13: 第 14 章  ADC 和 DAC 模块

Δ-ΣADC 模块-- 操作模式

SOC 信号用于启动 ADC 。一个数字时钟或者UDB 的

输出能用于驱动这个输入信号。此外,采样周期必须大于转换周期。在系统中,如果需要 ADC 和其他硬件同步,则需要使用 SOC 信号。这个信号是可选的,如果ADC 运行在连续模式下,则不需要这个信号。 当每次转换完后, EOC 信号为高。这个信号可用

于触发一个中断或者 DMA 请求。

Page 14: 第 14 章  ADC 和 DAC 模块

Δ-ΣADC 模块-- 操作模式

Δ-Σ ADC 的分辨率限制在 8-20 位。分辨率越高,采样率越低。当修改分辨率时,时钟会相应的改变来保证一个合理的采样率。 Δ-Σ ADC 有固有的不稳定性,导致其在操作范围的上限和下限会产生非线性。为了避免产生这种现象,输入在调制器的前端被衰减 10% 。后端处理器使用 1.11倍的增益来补偿这种衰减。最终的结果比要求的范围扩大了10% 。比如: 如果选择输入范围 ±1.024V ,实际的输入范围是±1.126V 。有用的输入保持在 ±1.024V ,但是除非输入超过 ±1.126V ,否则 ADC 不会饱和。

Page 15: 第 14 章  ADC 和 DAC 模块

Δ-ΣADC 模块-- 操作模式

从 ADC 的数字数出也会超过范围 10% ,如果 ADC 配置为 10 位操作,通常一个 10 位的差分的 ADC 输出范围 -512

到511 ,对应 -1.024 到 +1.022 。 由于这个额外的 10% 的范围,数字输出直到计数±563 前不会饱和(而不是 -512 到 511 )。

Page 16: 第 14 章  ADC 和 DAC 模块

Δ-ΣADC 模块-- 操作模式

除非分辨率设为 8 位或 16 位时,一般不需要关心的问题。当分辨率设置为 8 位时,必须要注意不能使计数值从其最大的正值 /负值卷回到所对应的一个负值或者负值。防止产生这个问题使用 API 函数,使得返回一个比设定分辨率大的一个值。比如: 1 )分辨率设为 16 位,其最大的正值和负值会超过32767~-32768 的范围,所以使用 ADC_GetResult32() 函数,而不是使用 ADC_GetResult16() 函数。 2 )对分辨率为 8 时,其最大的正值和负值会超过 127~-128 ,所以使用 ADC_GetResult16() 函数。

Page 17: 第 14 章  ADC 和 DAC 模块

数 /模转换器 DAC 模块 PSoC 提供了 4 个数 - 模转换器 DAC 。每个 DAC 为 8 位,能配置成电压或电流输出。 DAC支持 Capsense ,电源管理和波形生成等。下图给出了 DAC 的模块图。

图 DAC 模块内部结构

Page 18: 第 14 章  ADC 和 DAC 模块

数 /模转换器 DAC 模块

其特点主要包括: 可调 255级步长的电压或电流输出; 可编程的台阶大小(取决于范围); 8位标定用于校正 25%的增益误差; 电流输出模式下,源( source)和吸收 (sink)选项; 电流模式下, 8Msps的转换率;电压模式下, 1Mbps的转换率。

单调性

Page 19: 第 14 章  ADC 和 DAC 模块

数 /模转换器 DAC 模块

下表给出了 DAC 寄存器组 。 表 DAC 寄存器组

寄存器名字 功能 特点通用寄存器

DACx_CR0 DAC 控制寄存器 0 选择模式,范围和速度DACx_CR1 DAC 控制寄存器 1 控制 UDB ,方向和复位DACx_SW0 DAC 全局布线寄存器 0 DAC 电压输出布线DACx_SW1 DAC 本地总线布线寄存器 1 DAC 电压输出布线DACx_SW2 DAC 复用开关布线寄存器 2 DAC 电流 / 电压输出布线DACx_SW3 DAC 全局布线寄存器 3 DAC 电流输出布线

DACx_STROBE DAC 选通寄存器 控制选通 DAC

DACx_D DAC 数据寄存器DACx_TR DAC 标定寄存器 修正 DAC 模块

Page 20: 第 14 章  ADC 和 DAC 模块

数 /模转换器 DAC 模块

通过设置寄存器 DACx_CR0[4] ,使 DAC 工作在电流模式下,输出电流范围为 0-32uA,0-256uA 和 0-2.048mA

。 IDAC 能通过配置寄存器 DACx_CR1[2] ,将转换器配置为源电流(即从输出端向外电路流出的负载电流)和吸收电流(外电路流入输出端的负载电流)模式。 此外,也可以使用 UDB 输入来控制源和吸收模式。通过使用 DACx_CR1[3] 位来使能使用 UDB 输入。

Page 21: 第 14 章  ADC 和 DAC 模块

数 /模转换器 DAC 模块

通过设置寄存器 DACx_CR0[4] ,使 DAC 工作在电压模式下, DAC 输出电流通过电阻连接,输出电压的范围通过设置寄存器 DACx_CR0[3:2] ,将其电压输出范围设置为 0-1.024V 或者 0-4.096V 。 在电压模式下,任何连接到 DAC 输出端的负载应该是纯容性的( VDAC 的输出不被缓冲)。

Page 22: 第 14 章  ADC 和 DAC 模块

数 /模转换器 DAC 模块

在电压模式下,转换率最高为 1Mbps 。此外,在4V 模式下比 1V 模式转换速度要慢,这是由于到 Vssa 的

电阻负载比 1V 的负载大 4 倍。在 4V 模式下,最高转换速度为 250kbps 。 下图给出了 DAC 的输出选项,通过两个独立的复用开关得到。这些复用开关通过 DAC_SWx 寄存器来控制。

Page 23: 第 14 章  ADC 和 DAC 模块

数 /模转换器 DAC 模块

图 DAC 互联结构

Page 24: 第 14 章  ADC 和 DAC 模块

数 /模转换器 DAC 模块

DAC 中可用 8 个标定位来消除DAC 的增益误差。cal[7:0] 的默认输出是 [10000000] 。比默认值低将降低增益

;反之增加。使用 DACx_TR 寄存器完成标定,标定的最小分辨率是 LSB 的 0.5 ,即表示有可以通过标定来修正 25% 的增益误差。 采样标定过程如下:

1 )固定输入码=255 , Cal 码 =128 ,捕获 DAC 的输出(dac_vout/dac_iout) ;

2 )确定 LSB 的增益误差; 3 )使用正确的标定码,捕获 DAC 的输出 (dac_vout/dac_iout)

Page 25: 第 14 章  ADC 和 DAC 模块

数 /模转换器 DAC 模块

通过将两个电流 DAC 的输出求和,可以实现更高分辨率的电流输出,如图所示,每一个有不同的输入部分。

图 高分辨率 DAC 结构

Page 26: 第 14 章  ADC 和 DAC 模块

数 /模转换器 DAC 模块

如下图所示,可以使用两个 8 位的 DAC 实现 12位的

DAC 分辨率。 1 )一个 DAC范围是 0-2.048mA ,第二个范围 0-

32uA 。 2 )最低范围DAC 的中间 4 位被输入作为较低 4 位。

图使用两个 8 位 DAC 实现 12 位 DAC 的例子

Page 27: 第 14 章  ADC 和 DAC 模块

LCDLCD显示显示 ADCADC测量值的实现测量值的实现 该设计实现使用该设计实现使用 Δ-ΣADCΔ-ΣADC 测量板子上电位器的电测量板子上电位器的电压,并使用压,并使用 PSoCPSoC 开发板上的字符开发板上的字符 LCDLCD 显示结果。显示结果。 ADCADC 使用内部的使用内部的 3MHz3MHz 时钟驱动,采样率为时钟驱动,采样率为10,000SPS10,000SPS 。将电位器的电压连接到。将电位器的电压连接到 ADCADC 的输入。程序的输入。程序

读读出出 ADCADC 的结果,并在的结果,并在 LCDLCD 上显示出来。上显示出来。 该工程使用如下元件:该工程使用如下元件:

Delta Sigma ADC (Delta Sigma ADC (Component Catalog->Analog->ADC-Component Catalog->Analog->ADC->Delta Sigma ADC>Delta Sigma ADC))

Character LCD (Character LCD (Component Catalog->Display->Character Component Catalog->Display->Character LCDLCD))

Analog Port (Analog Port (Component Catalog->System->Analog PinComponent Catalog->System->Analog Pin))

Page 28: 第 14 章  ADC 和 DAC 模块

LCDLCD显示显示 ADCADC测量值的实现测量值的实现---- 创建和配置工程创建和配置工程

11 .打开软件.打开软件 PSoC CreatorPSoC Creator ,在软件的,在软件的 Start PageStart Page界界

面下,点击面下,点击 Create New Project…Create New Project… 创建一个新的工程。创建一个新的工程。 22 .在.在 New ProjectNew Project 窗口,根据目标器件窗口,根据目标器件 PSoC3/5PSoC3/5 ,,选择选择 Empty PSoC3/5 DesignEmpty PSoC3/5 Design 模板,并将工程命名模板,并将工程命名Ex2_ADC_to_LCDEx2_ADC_to_LCD “。选择工程保存路径,点击“。选择工程保存路径,点击 OKOK””

按按 钮; 钮;

Page 29: 第 14 章  ADC 和 DAC 模块

LCDLCD显示显示 ADCADC测量值的实现测量值的实现---- 创建和配置工程(创建和配置工程(添加并配置添加并配置 Δ-ΣADCΔ-ΣADC ))

下面给出添加并配置下面给出添加并配置 Δ-ΣADCΔ-ΣADC 的步骤,主要步骤的步骤,主要步骤包括:包括: 11 .拖动.拖动 Delta Sigma ADCDelta Sigma ADC 器件并将其放置于原理图器件并将其放置于原理图内内 (Component Catalog->Analog->ADC ->Delta Sigma (Component Catalog->Analog->ADC ->Delta Sigma

ADC)ADC) 。。 22 .双击原理图内的.双击原理图内的 ADC_DelSig_1ADC_DelSig_1 器件打开配置窗器件打开配置窗口。图口。图 14.7 ADC14.7 ADC 配置界面配置界面 33 .如图.如图 14.714.7 ,按如下方式,在,按如下方式,在 ConfigureConfigure标签内进行标签内进行配置:配置:

Page 30: 第 14 章  ADC 和 DAC 模块

LCDLCD显示显示 ADCADC测量值的实现测量值的实现---- 创建和配置工程(创建和配置工程(添加并配置添加并配置 Δ-ΣADCΔ-ΣADC ))

图 14.7 ADC 配 置界面

Page 31: 第 14 章  ADC 和 DAC 模块

LCDLCD显示显示 ADCADC测量值的实现测量值的实现---- 创建和配置工程(创建和配置工程(添加并配置添加并配置 Δ-ΣADCΔ-ΣADC ))

NameName: ADC_DelSig_1: ADC_DelSig_1 Conversion ModeConversion Mode: 2-Continuous: 2-Continuous ResolutionResolution: 8: 8 Conversion RateConversion Rate: 10000: 10000 Input ModeInput Mode :: SingleSingle Input RangeInput Range: Vssa to Vdda: Vssa to Vdda Input Buffer GainInput Buffer Gain: 1: 1 Buffer ModeBuffer Mode :: Rail to RailRail to Rail 。。

Page 32: 第 14 章  ADC 和 DAC 模块

LCDLCD显示显示 ADCADC测量值的实现测量值的实现---- 创建和配置工程(创建和配置工程(添加并配置添加并配置 Δ-ΣADCΔ-ΣADC ))

在 Common 标签下,按下面参数设置: 不选中 Hardware SOC[Start of Conversion]( 表示使

用软件来启动 ADC 工作 ) Clock Source : Internal ; 不选中 Enable_Vref_Vssa;

4 .点击“OK” 关闭 ADC属性设置界面。

Page 33: 第 14 章  ADC 和 DAC 模块

LCDLCD显示显示 ADCADC测量值的实现测量值的实现---- 创建和配置工程(添加并配置模拟端口)创建和配置工程(添加并配置模拟端口)

下面给出添加并配置模拟端口的步骤,主要步骤下面给出添加并配置模拟端口的步骤,主要步骤包括:包括: 11 .拖动模拟端口器件并将其放置于原理图内.拖动模拟端口器件并将其放置于原理图内((Component Catalog->Ports and Pins->Analog PinComponent Catalog->Ports and Pins->Analog Pin)) 。。 22 .双击原理图内的.双击原理图内的 Pin_1Pin_1 元件打开配置窗口;元件打开配置窗口; 33 .如图.如图 114.84.8 ,在,在 TypeType 标签下按如下方式进行配标签下按如下方式进行配

置: 置:

Page 34: 第 14 章  ADC 和 DAC 模块

LCDLCD显示显示 ADCADC测量值的实现测量值的实现---- 创建和配置工程(添加并配置模拟端口)创建和配置工程(添加并配置模拟端口)

图 14.8 Type标签下的配置界面

Page 35: 第 14 章  ADC 和 DAC 模块

LCDLCD显示显示 ADCADC测量值的实现测量值的实现---- 创建和配置工程(添加并配置模拟端口)创建和配置工程(添加并配置模拟端口)

Name:Name: POT POT 。。 只选择只选择 AnalogAnalog 。。 其余选项均为默认值。其余选项均为默认值。如图如图 114.94.9 ,在,在 GeneralGeneral 标签下,进行如下设置标签下,进行如下设置 Drive Mode:Drive Mode: High Impedance Analog High Impedance Analog 。。 其余选项均为默认值其余选项均为默认值

Page 36: 第 14 章  ADC 和 DAC 模块

LCDLCD显示显示 ADCADC测量值的实现测量值的实现---- 创建和配置工程(添加并配置模拟端口)创建和配置工程(添加并配置模拟端口)

图 14.9 General标签配置界面

Page 37: 第 14 章  ADC 和 DAC 模块

LCDLCD显示显示 ADCADC测量值的实现测量值的实现---- 创建和配置工程(添加并配置创建和配置工程(添加并配置 LCDLCD ))

下面给出添加并配置下面给出添加并配置 LCDLCD 的步骤,主要步骤包括:的步骤,主要步骤包括: 11 .拖动字符.拖动字符 LCDLCD 器件并将其放置于原理图内器件并将其放置于原理图内((Component Catalog->Display->Character LCDComponent Catalog->Display->Character LCD)) 。。 22 .双击原理图内的.双击原理图内的 LCD_Char_1LCD_Char_1 器件打开配置窗口。器件打开配置窗口。 33 .如图.如图 14.1014.10 所示,在所示,在 GeneralGeneral 标签下按如下方式进标签下按如下方式进

行行配置:配置:

NameName: LCD_Char_1 : LCD_Char_1 LCD Custom Character SetLCD Custom Character Set: None: None Include ASCII to Number Conversion Routines:Include ASCII to Number Conversion Routines: 选中选中 其余选项均为默认值其余选项均为默认值

Page 38: 第 14 章  ADC 和 DAC 模块

LCDLCD显示显示 ADCADC测量值的实现测量值的实现---- 创建和配置工程(添加并配置创建和配置工程(添加并配置 LCDLCD ))

图 14.10 LCD配置界面

Page 39: 第 14 章  ADC 和 DAC 模块

LCDLCD显示显示 ADCADC测量值的实现测量值的实现---- 创建和配置工程(连接元器件)创建和配置工程(连接元器件)

如图如图 114.104.10 所示,为连接元器件完成后的原理图。所示,为连接元器件完成后的原理图。

图 14.10 连接完成后的原理图

Page 40: 第 14 章  ADC 和 DAC 模块

LCDLCD显示显示 ADCADC测量值的实现测量值的实现---- 创建和配置工程( 配置引脚)创建和配置工程( 配置引脚)

下面给出配置引脚的步骤,主要步骤包括:下面给出配置引脚的步骤,主要步骤包括: 11 .在.在 Workspace ExplorerWorkspace Explorer 窗口双击文件窗口双击文件Ex2_ADC_to_LCD.cydwrEx2_ADC_to_LCD.cydwr 。。 22 .点击.点击 PinsPins 选项。选项。 33 .如图.如图 114.124.12 所示,为所示,为 LCD_Char_1LCD_Char_1 选择管脚选择管脚

P2[6:0]P2[6:0] 。。 44 .为.为 POTPOT 管脚选择管脚选择 P0[7]P0[7] 。。

图 14.12 引脚分配界面

Page 41: 第 14 章  ADC 和 DAC 模块

LCDLCD显示显示 ADCADC测量值的实现测量值的实现---- 创建和配置工程(创建函数文件)创建和配置工程(创建函数文件)

详见书上的程序详见书上的程序

Page 42: 第 14 章  ADC 和 DAC 模块

LCDLCD显示显示 ADCADC测量值的实现测量值的实现---- 编程及调试编程及调试

下面给出对下面给出对 CypressCypress 提供的提供的 CY8CKIT-030CY8CKIT-030 开发套件进行开发套件进行编程的步骤,其步骤主要包含:编程的步骤,其步骤主要包含: 11 .断开开发板的电源。.断开开发板的电源。 22 .将.将 P0[7]P0[7] 与与 VRVR 连接连接 33 .对开发板重新供电。.对开发板重新供电。 44 .按照前面一个工程所述方法进行编程。.按照前面一个工程所述方法进行编程。 55 .编完程序之后,通过.编完程序之后,通过 resetreset键重启开发板,调整可变键重启开发板,调整可变电位器的旋钮来改变电压的值,观察电位器的旋钮来改变电压的值,观察 LCDLCD 上所显示相对的上所显示相对的数字值。数字值。 66 .保存并关闭工程。.保存并关闭工程。

Page 43: 第 14 章  ADC 和 DAC 模块

IDAC 值显示的实现 该设计给出了 IDAC8 电流源工作模式,其输出范围

在255uA 。在字符型 LCD 上显示电流值,通过外部设备

检测IDAC 的输出。

Page 44: 第 14 章  ADC 和 DAC 模块

IDAC 值显示的实现-- 创建和配置工程

1 .在计算机上的桌面上,选择开始 -> 所有程序 ->Cypress->PSoC Creator 2.0->PsoC Creator 2.0 。打

开PSoC Creator软件; 2 .在 PSoC Creator 2.0软件的主界面下,选择File->New->Project... ; 3 .在 New Project窗口,选择Empty PSoC3

Design 模板,并将工程命命名为 IDAC 。选择工程保存路径,点击“OK”按钮;

Page 45: 第 14 章  ADC 和 DAC 模块

创建和配置工程-- 添加并配置 IDAC

下面给出添加并配置 DAC 的步骤,主要步骤包括: 1 .拖动电流 DAC 器件并将其放置于原理图内(Component Catalog->Analog->DAC->

Current DAC) 。 2 .双击原理图内的 IDAC8_1 器件打开配置窗口

。图14.13 IDAC 配置界面 3 .如图 14.13 所示,在 Configure标签内按如

下方式进行配置:

Page 46: 第 14 章  ADC 和 DAC 模块

创建和配置工程-- 添加并配置 IDAC

图 14.13 IDAC 配 置 界面

Page 47: 第 14 章  ADC 和 DAC 模块

创建和配置工程-- 添加并配置 IDAC

Name: IDAC8_1 Polarity: Positive(Source)(极性 ) Data Source: CPU or DMA(Data Bus)( 数据源 ) Range : 0-255uA (电流源范围) Speed : High Speed (电流源的工作速度) Value 参数设置:

%Range : 100 uA : 255 8 bit Hex : FF

Strobe Mode : Register (触发模式) 其余选项均为默认值

Page 48: 第 14 章  ADC 和 DAC 模块

创建和配置工程-- 添加并配置字符 LCD

下面给出添加并配置 LCD 的步骤,主要步骤包括: 1 .拖动字符 LCD 并将其放置于原理图内

(Component Catalog->Display->Character LCD) 。 2 .双击原理图内的 LCD_Char_1 器件打开配置窗口。 3 .如图 14.14 所示,在 General标签内按如下方式进

行配置:

Name : LCD_Char_1 ; LCD Custom Character Set : None 选中 Include ASCII to Number

Page 49: 第 14 章  ADC 和 DAC 模块

创建和配置工程-- 添加并配置字符 LCD

图 14.14 字符 LCD 配置界面

Page 50: 第 14 章  ADC 和 DAC 模块

创建和配置工程-- 添加并配置模拟引脚

下面给出添加并配置模拟引脚的步骤,主要步骤包括: 1 .拖动模拟端口器件并将其放置于原理图内(Component Catalog->Ports and Pins->

Analog Pin) 。 2 .双击原理图内的 Pin_1 器件打开配置窗口。

3 .如图 14.15 所示,按如下方式进行配置: Type标签下,参数如下配置:

Name: Pin_1 Number of Pins: 1 Analog :只选中该选项 其余选项均为默认值

Page 51: 第 14 章  ADC 和 DAC 模块

创建和配置工程-- 添加并配置模拟引脚

图 9.22 模拟引脚配置界面

Page 52: 第 14 章  ADC 和 DAC 模块

创建和配置工程-- 连接器件

下面给出连接器件的步骤,主要步骤包括: 1 .使用连线工具将器件进行连接,将 Pin_1 和

IDAC的输出连接。 2 .完成连接后,如图 14.16 所示:

图 14.16 系统连接结构

Page 53: 第 14 章  ADC 和 DAC 模块

创建和配置工程-- 配置引脚

如图 14.17 所示,给出配置管脚的步骤,主要步骤包括:

1 .从 Workspace Explorer窗口,双击IDAC.cydwr 。

2 .为 LCD_Char_1 和 Pin_1 分配引脚。

图 14.17 引脚分配界面

Page 54: 第 14 章  ADC 和 DAC 模块

创建和配置工程-- 编写软件程序

下面给出了 main.c 主程序的源代码,并对代码进行了分析: void main() { LCD_Char_1_Start(); /* 启动 LCD */ LCD_Char_1_ClearDisplay(); /* 清除 LCD显示

*/ IDAC8_1_Start(); /* 启动 IDAC */ IDAC8_1_SetRange(IDAC8_1_RANGE_255uA); /* 设置

IDAC范围 255¦ÌA */ IDAC8_1_SetValue(100); /* 设置 IDAC 的值

为 100 */ LCD_Char_1_Position(0,0); /* 移动光标到 0 行

, 0 列 */ LCD_Char_1_PrintString(" IDAC8 DEMO"); /* LCD 上打印信息 */

Page 55: 第 14 章  ADC 和 DAC 模块

创建和配置工程-- 编程及调试

下面给出对 Cypress 提供的 CY8CKIT-030 开发套件进行编程的步骤,其步骤主要包含: 1 .断开开发板的电源。 2 .分别将下列管脚进行连接:

P0[6] 外接一个电阻,测量电流经过电阻转换后的电压

3 .使用前述方法进行编程。 4 .编程结束之后,通过开发板上的 Reset按钮,可以看到 IDAC 的输出到 LCD屏上。 5 .保存并关闭工程。