fpga学习系列29数字电压表设计ad
设计背景:
模数转换器,又称a/d转换器,简称adc,通常是指一个将摹拟信号转换为抗干扰性更强的数字信号的电子器件。一般的adc是将一个输入电压信号转换为一个输出的数字信号。由于数字信号本身不具有实际意义,仅仅表示一个相对大小,故任何一个adc都需要一个参考模拟量作为转换标准。比较常见的参考标准为最大的可转换信号大小,而输出的数字量则表示输入信号相对参考信号的大小。本设计则通过对模数转换芯片(tlc549)的采样控制,实现一个简易的数字电压表。
设计原理:
tlc549典型的配置电路如下图所示:
tlc549的端口描述如下:
tlc549是一个8位的串行模数转换器,a/d转换时间最大为17us,最大转换速率为4mhz。下图为tlc549的访问时序,从图中可以看出,tlc549的使用只需对外接输入输出时钟(i/o clk)和芯片选择(/cs)、输入的模拟信号( og in)的控制。
分析时序图可知:当片选信号(/cs)拉低时,adc前一次的转换数据(a)的最高位a7立即出现在数据线data out上,之后的数据在时钟i/o clock的下降沿改变,可在i/o clock的上升沿读取数据。转换时,/cs要置为高电平。在设计操作时,要注意tsu(cs)、tconv、twh(cs)和i/o clock的频率这几个参数。tsu(cs)为cs拉低到i/o clock第一个时钟到来的时间,至少要1.4us;twh(cs)为adc的转换时钟,不超过17us,tconv的值也不超过17us;i/o clock为 1.1mhz。其他参数可参考数据手册。
由于adc是8位的,所以采样的电压值为:
v =(d*vref)/256
其中v为采样的电压值;d为adc转换后读取的8位二进制数;vref为参考电压值,此处为2.5v。
设计架构图:
本设计通过调节电位器rw1改变adc的模拟输入值,数据采样读取后由数码管显示,最后用万用表测量输入电压,并与读取在数码管上的数据(单位为mv)作比较。设计的架构图如下:
设计架构图对应端口的功能描述表:
tlc549_driver模块采用序列机实现接口访问时序,并且产生1mhz的adc_clk和采集到adc_data;control模块,将收集到的adc数据(adc_data)换算成对应的电压值,并经过二进制到bcd转换以后传送到数码管;dig_led_drive模块负责数码管的驱动,将传递过来的数据显示出来。
设计代码:
tlc549_driver模块代码:
0moduletlc549_driver(clk,rst_n,en,adc_din,adc_clk,adc_cs_n,data,get_flag);
1
2inputclk;//系统50mhz时钟输入
inputrst_n;//全局复位
4inputen;//adc转换使能,高电平有效
5
6inputadc_din;//adc串行数据输入
7
8outputregadc_clk;//adc时钟信号输出
9outputregadc_cs_n;//adc片选信号输出
10outputregget_flag;//数据转换完成标志
11outputreg[7:0]data;//adc转换以后的电压值
12
1 reg[10:0]cnt1;//系统时钟计数器
14reg[7:0]data_tmp;//数据寄存器
15
16//系统时钟上升沿计数
17always@(posedgeclkornegedgerst_n)
18begin
19if(!rst_n)
20cnt1
宝宝便秘吃的药儿童健脾胃的药排行榜
薏芽健脾凝胶怎么吃
-
爱你是我的自由,就让你是我的感觉
往昔里你曾激浪勇进,不曾管天是晴割,幻想要若破灭随之粗犷,风卷浪花水...
2024-09-03
-
优化进返京政策主要采取哪些举措?北京疾控回应
央视网消息:7月6日凌晨,北京闭幕“新冠肺炎疫情根除工作”第379场新闻开...
2024-09-01
-
苹果VR/AR头盔曝光 传了10年的死讯终于要实现了吗?
【CNMO新闻网】自2019年风生水起的VR/AR概念,到2021年大热的“元时空”。三巨...
2024-08-25
-
【深度盘点】磷电池应用场景及工程案例
2022年以来,锂锂电池跨国企业频频亮相,不仅有的产品刊发会,也有新成立...
2024-08-19
-
消息称惠普将上架战X 2022 14 英寸锐龙版:搭载 R7 6800HS
IT之家 5 月 22 日消息,据IT之家Gmail“chengxd”独家壹周刊,科技公司将发行正...
2024-08-11
-
华东理工大学刘润辉教授在治疗侵入性耐药真菌感染研究获进展
近来,经济系材料学院刘润辉大学教授课题组在抗击波及特质致病真菌感染研...
2024-08-06