AD_TLC549采集模拟信号

AD_TLC549采集模拟信号

实验原理

芯片介绍

TLC549是 TI公司生产的一种低价位、高性能的8位A/D转换器,它以8位开关电容逐次逼近的方法实现 A/D转换,其转换速度小于 17us,最大转换速率为 40000HZ,4MHZ典型内部系统时钟,电源为 3V至 6V。它能方便地采用三线串行接口方式与各种微处理器连接,构成各种廉价的测控应用系统。

?

TLC549 引脚图及各引脚功能

?

TLC549引脚图

REF+:正基准电压输入 2.5V≤REF+≤Vcc+0.1。

REF-:负基准电压输入端,-0.1V≤REF-≤2.5V。且要求:(REF+)-(REF-)≥1V。

VCC:系统电源3V≤Vcc≤6V。

GND:接地端。

/CS:芯片选择输入端,要求输入高电平 VIN≥2V,输入低电平 VIN≤0.8V。

DATA OUT:转换结果数据串行输出端,与 TTL 电平兼容,输出时高位在前,低位在后。

ANALOGIN:模拟信号输入端,0≤ANALOGIN≤Vcc,当 ANALOGIN≥REF+电压时,转换结果为全"1"(0FFH),ANALOGIN≤REF-电压时,转换结果为全"0"(00H)。

I/O CLOCK:外接输入/输出时钟输入端,同于同步芯片的输入输出操作,无需与芯片内部系统时钟同步

TLC549工作时序

当/CS变为低电平后, TLC549芯片被选中,同时前次转换结果的最高有效位MSB (A7)自 DATA OUT 端输出,接着要求自 I/O CLOCK端输入8个外部时钟信号,前7个 I/O CLOCK信号的作用,是配合 TLC549 输出前次转换结果的 A6-A0 位,并为本次转换做准备:在第4个 I/O CLOCK 信号由高至低的跳变之后,片内采样/保持电路对输入模拟量采样开始,第8个 I/O CLOCK 信号的下降沿使片内采样/保持电路进入保持状态并启动 A/D开始转换。转换时间为 36 个系统时钟周期,最大为 17us。直到 A/D转换完成前的这段时间内,TLC549 的控制逻辑要求:或者/CS保持高电平,或者 I/O CLOCK 时钟端保持36个系统时钟周期的低电平。由此可见,在自 TLC549的 I/O CLOCK 端输入8个外部时钟信号期间需要完成以下工作:读入前次A/D转换结果;对本次转换的输入模拟信号采样并保持;启动本次 A/D转换开始。

?

TLC549工作时序

本实验中,我们使用TLC549芯片检测模拟电压,为方便检测,我们在实验中,使用了数码管作为我们的显示模块,将检测到的电压显示到数码管上,与实际的电压进行比较。开发板上,芯片VCC=3.3V,VREF+=3.3V,VREF-=0。

硬件原理图

实验代码


/********************************版权声明**************************************

** 大西瓜团队

**

**----------------------------文件信息--------------------------

** 文件名称: ADC_TLC549.v

** 创建日期:

** 功能描述:使用AD芯片TLC549采集模拟信号,经过模数转换并显示在数码管上

** 操作过程:将模拟信号接到TLC549的数据管脚上,观察数码管变化

** 硬件平台:大西瓜第三代开发板,http://daxiguafpga.taobao.com

** 版权声明:本代码属个人知识产权,本代码仅供交流学习.

**---------------------------修改文件的相关信息----------------

** 修改人:

** 修改日期:????

** 修改内容:

*******************************************************************************/

module ADC_TLC549

(

clk,
//系统50MHZ时钟

adc_sclk,
//AD TLC549的时钟

data,
//AD TLC549的数据口

cs,
//AD TLC549的片选择

wei,
//数码管的为选择

duan //数码管的7段码

);

?

input clk;

input data;

output cs;

output adc_sclk;

output[7:0] duan;

output[3:0] wei;

?

reg cs,adc_sclk,clk1k,clk1ms;

reg[15:0] count;

reg[24:0] count1ms;

reg[3:0] cnt;

reg[2:0] number;

reg[1:0] state;

reg[3:0] wei;

reg ledcs;

reg
[7:0] duan;

reg[7:0] dataout;

reg[16:0] tenvalue;

parameter sample=2‘b00,

display=2‘b01;

?

/**********产生100k的采集时钟信号*********/

always@(posedge clk)

begin

if(count<=250)

count<=count+1‘b1;

else

begin

count<=0;

adc_sclk<=~adc_sclk;

end

end

/*******产生周期为1ms即1kHz的信号*********/

always@(posedge clk)

begin

if(count1ms>25‘d25000)

begin

clk1ms<=~clk1ms;

count1ms<=0;

end

else

count1ms<=count1ms+1;

end

?

/*********AD采样程序**************/

always@(negedge adc_sclk)

begin

case(state)

sample:

begin

cs<=0;

dataout[7:0]<={dataout[6:0],data};

if(cnt>4‘d7)

begin

cnt<=0;

state<=display;

end

else

begin

cnt<=cnt+1;

state<=sample;

end

end

display:

begin

cs<=1;//关AD片选

tenvalue<=(tendata((dataout>>4)&8‘b0000_1111)*16+ tendata(dataout&8‘b0000_1111))*129;//

//得到采集的数据

state<=sample;

end

default: state<=display;

endcase

end

?

/***********2进制转十进制函数*************/

function[7:0] tendata;//返回一个4位的数字

input[7:0] datain;

begin

case(datain)

4‘b00000000: tendata=4‘d0;//0

4‘b00000001: tendata=4‘d1;//1

4‘b00000010: tendata=4‘d2;//2

4‘b00000011: tendata=4‘d3;//3

4‘b00000100: tendata=4‘d4;//4

4‘b00000101: tendata=4‘d5;//5

4‘b00000110: tendata=4‘d6;//6

4‘b00000111: tendata=4‘d7;//7

4‘b00001000: tendata=4‘d8;//8

4‘b00001001: tendata=4‘d9;//9

4‘b00001010: tendata=4‘d10;//

4‘b00001011: tendata=4‘d11;//

4‘b00001100: tendata=4‘d12;

4‘b00001101: tendata=4‘d13;

4‘b00001110: tendata=4‘d14;

4‘b00001111: tendata=4‘d15;

default:tendata=4‘bzzzz_zzzz;

endcase

end

endfunction

?

/*********十进制转LED段选函数*********/

function[7:0] leddata;//返回一个8位的数字

input[3:0] datain;

begin

case(datain)

4‘d0: leddata=8‘b11000000;//0

4‘d1: leddata=8‘b11111001;//1

4‘d2: leddata=8‘b10100100;//2

4‘d3: leddata=8‘b10110000;//3

4‘d4: leddata=8‘b10011001;//4

4‘d5: leddata=8‘b10010010;//5

4‘d6: leddata=8‘b10000010;//6

4‘d7: leddata=8‘b11111000;//7

4‘d8: leddata=8‘b10000000;//8

4‘d9: leddata=8‘b10010000;//9

4‘d10: leddata=8‘b10111111;//-

4‘d11: leddata=8‘b01111111;//.

default:leddata=8‘bzzzz_zzzz;

endcase

end

endfunction

?

/********数码管扫描函数*************/

always@(posedge clk1ms)

begin

if(number==5)

number<=0;

else

begin

number<=number+1;

case(number)

4‘d0:

begin

duan<=leddata((tenvalue/10)%10);//个位

wei<=4‘b1110;

end

4‘d1:

begin

duan<=leddata((tenvalue/100)%10);//十位

wei<=4‘b1101;

end

4‘d2:

begin

duan<=leddata((tenvalue/1000)%10);
//百位

wei<=4‘b1011;

end

4‘d3:

begin

duan<=leddata(tenvalue/10000);//千位

wei<=4‘b0111;

end

4‘d4:

begin

duan<=leddata(4‘d11);//. 显示小数点

wei<=4‘b0111;

end

endcase

end

end

endmodule

?

时间: 2024-12-29 01:55:45

AD_TLC549采集模拟信号的相关文章

[傅里叶变换及其应用学习笔记] 十九. 采样定理在音乐上的应用

采样定理在音乐上的应用 人可以听到20~20000Hz的声音,上限为20000Hz,即$\frac{p}{2} = 20000$,$p=40000$.那么采样率至少要为40000.CD的采样率采用44100(44.1kHz),据传,在采集模拟信号时采用44100,是因为这些采集的机器以该采样率设置时最为正常,而并非出于理论上的考虑. 在采样时,若采用低于40000的采样率,就会造成声音的高频部分混叠(alias),也有人把这个说成是“低频混叠了变为高频部分,而高频的部分被混叠为低频部分”,实际上

单片机相关名词解释总结

最近开始研究单片机相关的知识,好多名词都容易混淆,所以做了个总结,可以直接用来查找索引,持续更新ing CPU Central Processing Unit,中央处理器,是一台计算机的运算核心和控制核心.它的功能主要是解释计算机指令以及处理计算机软件中的数据.中央处理器主要包括运算器(ALU,ArithmeticLogic Unit)和高速缓冲存储器(Cache)及实现它们之间联系的数据(Data).控制及状态的总线(Bus).它与内部存储器(Memory)和输入/输出(I/O)设备合称为电子

如何把直播嵌入网页

现在已经是全民直播的时代,有各种各种的方式手段进行直播. 大众比较熟知的直播服务提供商,如YY,斗鱼,乐视等. 像映客,花椒等手机移动端的直播APP也是比比皆是.如非商业模式的直播,上述提到公有云直播方式都可以轻松满足需求.那么对于商业模式的直播,如: 进入互联网的监控直播: 远程教育直播: 美女直播聊天室: 电视台网络直播: 现场活动直播: 会议直播. 以上提到的网络视频直播需求,免费直播平台就会有一些限制: 只能输出标清,不能随意调整输出不同的分辨率等参数: 只能把直播插入到平台提供的带有商

十年工作总结(一)

又是一个岁末年初,想想自己已经工作十年了.每年年末单位都作述职,但没有连续的总结几年的工作变化.成长,工作中的谬误和改进也很少提及,毕竟述职是给领导看的多报喜少报忧.所以想在blog里对这十年的工作作一下总结,也能更好的规划将来.   那么,就从刚毕业开始吧.   05年我毕业,三本,专业的名称需要我专门解释下招聘的人才能理解.所读的学校和专业是高考时志愿没填好时服从分配给分配到的,当时家里也觉得我以后不会有什么大出息,有个大学上,能找个工作,将来给说个媳分儿.   毕业了,该找工作了,我比较喜

东芝线阵CCD芯片TCD1305DG驱动时序设计

最近在做微型光谱仪,用到了东芝的CCD芯片TCD1305DG,该芯片是单行3648像素,输出信号是时间上离散的模拟信号,典型输出速率为0.5M,即每2000ns输出一个像素值(模拟信号),芯片内部集成了相关双采样电路,直接输出稳定的像元电压值,而不是传统的三阶梯信号.TCD1305DG需要三路驱动信号,分别是主时钟CLK,移位输出信号SH,积分清除信号ICG,芯片手册上给出的时序波形如下: 图1 TCD1305DG驱动时序 该CCD的基本工作原理如下:光敏元接收外部光信号并将其转换为电荷储存在光

(转)音视频解码模块阅读

一,在进行音视频解码前,进行平台初始化工作:InitPlatform(){...}该函数主要完成如下工作:先清空系统控制信息,视频缓冲区的信息HI_MPI_SYS_Exit()HI_MPI_VB_Exit() 接下来设置视频缓冲区先配置几个视频缓冲区的大小 stVbConf.astCommPool[0].u32BlkSize = 720 * 576 * 2;/*D1*/ stVbConf.astCommPool[0].u32BlkCnt = 10; stVbConf.astCommPool[1]

低成本,小体积模拟信号采集,隔离转换RS-485/232输出

为了满足广大客户的要求,我公司特推出一款IBF20系列小体积模块化设计两路4-20mA/0-5V信号转RS-485/232,MODBUS数据采集模块.IBF20产品实现传感器和主机之间的信号采集,用来检测模拟信号.IBF20系列产品可应用在 RS-232/485总线工业自动化控制系统,4-20mA / 0-5V信号测量.监测和控制,以及工业现场信号隔离及长线传输等等. 产品包括电源隔离,信号隔离.线性化,A/D转换和RS-485串行通信.每个串口最多可接255只 IBF20系列模块,通讯方式默认

ZigBee无线应变采集装置

1 水工结构健康监测的应变采集方式 随着大型水利水电工程的陆续建设,对水工建筑物及相关土木工程结构的健康监测也变得越来越重要.特别是近些年来,一些重大事故的警示以及材料技术.计算机技术.通信技术.智能控制技术的发展,都促进了结构健康监测技术的发展和应用. 结构健康监测分为整体监测和局部监测.而无论局部监测还是整体监测,都是以传感器准确采集传输数据为前提和基础,各种结构健康监测的数据采集主要采用的是传统"有线"传感器来实现,尽管这种采集方式具有采集信号准确.抗干扰性好.产品系列化等特点,

关于海康视频采集卡的简介---基于pci的插潮采集卡

vga 640x480 qvga vga的1/4,宽高分别是vga的一半 (1)采集类型 海康威视 DS-2CE16A2P-IT3P 700TVL 1/3" DIS ICR 红外防水筒型摄像机 http://www.51anf.com/goods-18.html 将VGA采集卡插入PC机的PCI插槽里,把接口辫子线接在卡上固定好,辫子线上有两个接口,一个是VGA IN(接VGA信号源的输入),另一个是VGA OUT(VGA信号源环通输出) http://32013898.blog.163.com