微机接口实验串行AD.docx

上传人:wj 文档编号:1311537 上传时间:2023-04-30 格式:DOCX 页数:9 大小:384.36KB
下载 相关 举报
微机接口实验串行AD.docx_第1页
第1页 / 共9页
微机接口实验串行AD.docx_第2页
第2页 / 共9页
微机接口实验串行AD.docx_第3页
第3页 / 共9页
微机接口实验串行AD.docx_第4页
第4页 / 共9页
微机接口实验串行AD.docx_第5页
第5页 / 共9页
微机接口实验串行AD.docx_第6页
第6页 / 共9页
微机接口实验串行AD.docx_第7页
第7页 / 共9页
微机接口实验串行AD.docx_第8页
第8页 / 共9页
微机接口实验串行AD.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机接口实验串行AD.docx

《微机接口实验串行AD.docx》由会员分享,可在线阅读,更多相关《微机接口实验串行AD.docx(9页珍藏版)》请在冰点文库上搜索。

微机接口实验串行AD.docx

08·串行A/D转换实验座位号:

3709300720286王梦硕

08·串行模/数转换实验

09300720286

王梦硕

实验目的:

学习使用串行模数转换芯片TLC549进行电压采集和数据处理。

实验原理:

1·TLC549

TLC549是一种8位串行逐次比较型A/D转换芯片。

通用为处理器通过串行控制线可以实现对该芯片的控制。

该芯片具有4Mhz片内系统时钟和软、引荐控制电路,转换时间最长17us,转换速度为40,000次/s。

总失调误差最大为±0.5LSB,典型功耗值位6mW。

TLC549的管脚示意图与分配如下:

·4、8脚位电源输入和接地;

·2脚AIN为模拟采样电压的输入;

·5脚CS_n为片选信号,当CS_n为高电平时,数据输出DATA_OUT端处于高阻状态;

·7脚I/OCLK为时钟信号输入端;

·6脚DOUT为转换后的串行数据输出端;

·1、3脚为参考电压输入端。

2·TLC549的工作时序:

TLC549在读出前一次数据后,马上进行电压采样,ADC转换,转换完后就进入HOLD模式,直到再次读取数据时,芯片才会进行下一次A/D转换。

也就是说,本次读出的数据是前一次的转换值,读操作后就会再启动一次转换。

一次转换所用的时间最长为17us,芯片没有转换,结束信号输出。

控制时序:

·将CS置低。

内部电路在测得CS下降延后,等待ten后自动将前一次转换结果的最高位(D7)位输出到DATA_OUT端。

·前四个I/O_CLOCK周期的下降沿一次移出第2、3、4和第5个位(D6、D5、D4、D3),片上采样保持电路在第4个I/O_CLOCK下降沿开始采样模拟输入。

·接下来的3个I/O_CLOCK周期的下降沿移出第6、7、8(D2、D1、D0)个转换位。

·最后,片上采样保持电路在第8个I/O_CLOCK后,CS必须为高,或I/O_CLOCK保持低电平,这种状态需要维持tconv以等待保持和转换工作的完成。

实验内容:

电原理图:

本次试验两部分电原理图基本相同,唯一不同在于TLC549的AIN端输入信号:

第1部分输入直流电压信号;第2部分输入正弦信号。

1·REF+连基准源的+5V(通过可调电阻调整),CLK、DAT和-CS分别连P10、P11和P12。

D2区电位器的输出连ANIN。

通过单片机P1口控制串行AD转换芯片TLC549实现模拟电压信号的采集,并存入内部数据存储器。

记录10组不同的电压转换值,并分析误差。

程序代码、注释及流程图:

CS BIT P1.2

DAT BIT P1.1

CLK BIT P1.0

AD_DATA DATA30H

ORG 8000H

AJMP MAIN

ORG 8100H

MAIN:

MOV SP,#60H

ACALL TLC549_ADC ;先进行一次采样

MOV R7,#0FFH ;延时

DJNZ R7,$

ACALL TLC549_ADC ;获得上次采样的结果

MOV AD_DATA,A ;存储采样结果

SJMP $

TLC549_ADC:

CLR A

CLR CLK

CLR CS ;选中TLC549

MOV R6,#8

TLCAD_L1:

SETB CLK

NOP

NOP

MOV C,DAT

RLC A

CLR CLK ;DAT=0,为读出下一位数据做准备

NOP

DJNZ R6,TLCAD_L1

SETB CS ;禁止TLC549,再次启动A/D转换

SETB CLK

RET

;

END

仿真效果:

以下几幅图片是电位器拨到不同位置时A/D转换结果。

2·使用信号源产生0~+5V区间的正弦波,使用串行A/D转换芯片TLC549实现信号采集,并利用采样定律分析采样频率与输入信号频率的关系。

程序代码、注释及流程图:

CS BIT P1.2

DAT BIT P1.1

CLK BIT P1.0

ORG 8000H

AJMP MAIN

ORG 800BH

AJMP INTT0

ORG 8100H

MAIN:

MOV SP,#60H

MOV R1,#30H

ACALL TLC549_ADC ;先运行一次

MOV TMOD,#02H

MOV TH0,#37H

MOV TL0,#37H ;设置采样率,可变

SETB ET0 ;允许T0中断

SETB EA ;打开总中断

SETB TR0 ;开始计时

CJNE R1,#50H,$ ;在R1达到50H前一直等待中断

CLR TR0

SJMP $

;

TLC549_ADC:

CLR A

CLR CLK

CLR CS

MOV R6,#8

TLCAD_L1:

SETB CLK

NOP

NOP

MOV C,DAT

RLC A

CLR CLK

NOP

DJNZ R6,TLCAD_L1

SETB CS

SETB CLK

RET

;

ORG 8400H

INTT0:

;T0中断程序

ACALL TLC549_ADC

MOV @R1,A

INC R1 ;地址指针+1

RETI

;

END

仿真效果:

下图是一次采样的结果:

实验现象和数据记录:

1·REF+连基准源的+5V(通过可调电阻调整),CLK、DAT和-CS分别连P10、P11和P12。

D2区电位器的输出连ANIN。

通过单片机P1口控制串行AD转换芯片TLC549实现模拟电压信号的采集,并存入内部数据存储器。

记录10组不同的电压转换值,并分析误差。

参考电压为5.02V,测量10组数据

1

2

3

4

5

6

7

8

9

10

模拟值

5.02

4.39

4.03

3.61

3.03

2.67

2.17

1.45

1.08

0.69

数字值(转换前)

255

225

207

184

155

136

109

74

54

33

数字值(转换后)

5.00

4.41

4.06

3.61

3.04

2.67

2.14

1.45

1.06

0.65

绝对误差

-0.02

0.02

0.03

0.00

0.01

0.00

-0.03

0.00

-0.02

-0.04

相对误差

-0.39%

0.50%

0.72%

-0.05%

0.31%

-0.12%

-1.50%

0.08%

-1.95%

-6.22%

2·使用信号源产生0~+5V区间的正弦波,使用串行A/D转换芯片TLC549实现信号采集,并利用采样定律分析采样频率与输入信号频率的关系。

采样频率固定为10kHz,对不同频率正弦波进行采样:

a·4.21kHZ

1

2

3

4

5

6

7

8

转换值

0.98

0.23

4.41

1.46

2.46

3.69

0.55

4.80

9

10

11

12

13

14

15

16

转换值

0.45

3.81

2.29

1.62

4.34

0.25

4.67

1.00

17

18

19

20

21

22

23

24

转换值

3.03

3.18

0.88

4.73

0.27

4.22

1.76

2.13

25

26

27

28

29

30

31

32

转换值

3.96

0.41

4.79

0.63

3.54

2.64

1.33

4.53

b·1.66kHZ

1

2

3

4

5

6

7

8

转换值

4.71

1.88

0.27

0.98

3.24

4.77

4.00

1.68

9

10

11

12

13

14

15

16

转换值

0.25

1.13

3.44

4.79

3.85

1.50

0.23

1.31

17

18

19

20

21

22

23

24

转换值

3.61

4.80

3.67

1.33

0.23

1.48

3.79

4.80

25

26

27

28

29

30

31

32

转换值

3.50

1.15

0.25

1.66

3.95

4.79

3.30

1.00

c·803HZ

1

2

3

4

5

6

7

8

转换值

4.75

3.13

1.95

0.94

0.33

0.29

0.82

1.82

9

10

11

12

13

14

15

16

转换值

2.99

4.02

4.69

4.79

4.32

3.38

2.21

1.13

17

18

19

20

21

22

23

24

转换值

0.41

0.25

0.66

1.58

2.73

3.83

4.59

4.82

25

26

27

28

29

30

31

32

转换值

4.47

3.61

2.46

1.33

0.53

0.23

0.55

1.35

d·393HZ

1

2

3

4

5

6

7

8

转换值

3.81

2.70

2.11

1.56

1.07

0.68

0.41

0.25

9

10

11

12

13

14

15

16

转换值

0.25

0.39

0.66

1.04

1.52

2.07

2.64

3.20

17

18

19

20

21

22

23

24

转换值

3.73

4.18

4.51

4.73

4.82

4.77

4.57

4.26

25

26

27

28

29

30

31

32

转换值

3.81

3.30

2.73

2.15

1.60

1.09

0.68

0.41

实验分析:

1·AD转换的误差

本实验采用的ADC方式是利用2进制数向上逼近,即从高位向低位逐级置1,如果置1后DAC结果大于模拟值,则将这一位置0,否则保留;如此重复逐位判断。

因为这种转换方式,转换值与实际值之间的误差其实为截尾误差(仅考虑转换方法造成的误差)。

根据实验中的实际情况:

模数转换间隔约为0.02V,所以误差最大为-0.02V,最小为0V,均匀分布,期望值位-0.01V。

实际测量10组数据的误差平均值也为-0.01V,但这个数据没有参考价值。

可以看到有3组数据的绝对误差为正数,这显然是由于其他误差造成的,因为我们使用的实验器材本身会带来误差,比如在DAC中产生误差导致错误的判断,实验操作者也会将偶然误差带入实验结果中。

所以从测量结果中我们只能得出ADC转换比较精确的结论。

2·采样定理

在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中最高频率fmax的2倍时(fs.max>=2fmax),采样之后的数字信号完整地保留了原始信号中的信息。

以上为采样定理。

用10kHz采样信号采样不同频率信号。

对4.21kHz正弦信号进行采样可以看出,采样后的数字信号并不能很好地保留原始信号,即使已经满足了采样定理的条件。

可见,如果对更高频率的信号进行采样,获得的结果会更加不理想。

对采样定理的实际应用中,一般保证采样频率位信号最高频率的5~10倍。

在b、c、d三组数据中,被采样信号频率逐渐降低,可以看出频率越低,正弦波被越好地还原。

但同时为了节省资源,如采样结果序列的长度,我们不应该用过高的采样频率对信号进行采样,如d组所示:

用10kHz采样信号对393Hz信号进行采样,虽然很完美地还原了模拟信号,但在一些对还原精度要求不高的场合,完全可以减少采样点数(即降低采样频率),在保证一定ADC质量的同时,极大地减少后续处理的计算量。

3·频谱分析

用matlab对采样数据进行fft并作出频谱图。

用10kHz采样信号采样803Hz信号得到的频谱:

被采样信号频率为1.66kHz时:

9/9

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2