当前位置:首页 > 电源 > 数字电源
[导读]1.总体设计方案 1.1 主控制模块方案一:采用单片机。单片机的应用较为广泛,但是单片机的处理频率达不到我们的要求。所以我们只能够使用处理速度较快的处理器。方案二:采

1.总体设计方案

 

 

1.1 主控制模块

方案一:采用单片机。单片机的应用较为广泛,但是单片机的处理频率达不到我们的要求。所以我们只能够使用处理速度较快的处理器。

方案二:采用Xilinx的FPGA来实现主控制器。Xilinx的FPGA的内部IP核可以方便的产生DDS波形,这样就方便我们能够更好的产生想要的波形。

所以采用方案二。

1.2显示模块

方案一:使用TFT触摸屏。彩屏有这样明显的优点:微功耗,尺寸小,超薄轻巧,显示信息量大,字迹美观,视觉舒适,但是对于FPGA来说,其实现对触摸屏的控制不能够较好的完成控制要求。

方案二:使用VGA显示。FPGA可以实现对VGA的控制。VGA的使用较为广泛,且价格在接收的范围之内。而且,对于FPGA来说,实现对VGA接口的控制比控制其他的显示器更加的方便和快捷。这就节省了我们的设计麻烦。

所以采用方案二。

 

1.3 输入模块

方案一:使用矩阵键盘。矩阵键盘的编码较为简答,且可以实现较为复杂的控制。但是矩阵键盘的按键过少,不能够实现更多数据的输入。

方案二:使用PS2键盘。PS2键盘的控制更为简单,我们可以通过两根数据线精心数据的读取,且PS2键盘的设计更加符合我们设计要求,这就决定了PS2在本设计中的优势。

故采用方案二。

 

 

1.4 AD输出模块

ADS7822是一种单片高速12位逐次比较型A/D转换器, ADS7822内置双极性电路构成的混合集成转换显片,具有外接元件少,功耗低,精度高等特点,并且具有自动校零和自动极性转换功能,只需外接少量的阻容件即可构成一个完整的A/D转换器。所以该方案采用ADS7822作为AD输入的元器件。

 

 

1.5 DA输出模块

DAC7513是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。

 

 

2.程序设计

2.1 AD输出

 

--**********************分频进程*************************

process(clk)

variable cnt1 : integer range 0 to 100;

variable cnt2 : integer range 0 to 20;

begin

if clk'event and clk='1' then

if cnt1=100 then

cnt1:=0;

if cnt2=20 then

cnt2:=0;

clock<=not clock;

if(cnt=3)then

cnt<=0;

else

cnt<=cnt+1;

end if;

else

cnt2:=cnt2+1;

end if;

else

cnt1:=cnt1+1;

end if;

end if;

end process;

--**************状态驱动进程**********************

sync :process(clock,reset)

begin

if(reset = '0') then

current_state <= start;

elsif(clock'event and clock='1') then

current_state <= next_state;

end if;

end process sync;

--***************adc驱动进程*******************

comb :process(current_state, intr)

begin

case current_state is

when start => --启动状态

next_state <= convert;

cs <= '0';

wr <= '0';

rd <= '1';

read_data <= '0';

when convert =>--初始化

if(intr = '0') then

next_state <= read1;

else

next_state <= convert;

end if;

cs <= '1';

wr <= '1';

rd <= '1';

read_data <= '0';

when read1 =>--读状态1

next_state <= read2;

cs <= '0';

wr <= '1';

rd <= '0';

read_data <= '1';

when read2 =>--读状态2

next_state <= start;

cs <= '1';

wr <= '1';

rd <= '1';

read_data <= '0';

when others =>--其他状态

next_state <= start;

end case;

end process comb;

--****************读取AD数据********************[!--empirenews.page--]

get_data: process(clock,reset)

begin

if(reset = '0') then

p<=0;

elsif(clock'event and clock='1') then

if(read_data = '1') then

p<=conv_integer(data_i);

end if;

end if;

end process;

2.2 DA输出

 

 

--*********************65536Hz分频进程************************

process(clk)

variable cnt1 : integer range 0 to 762;

begin

if clk'event and clk='1' then

case cnt1 IS

WHEN 381 =>

cp_65k<='1';

cnt1:=cnt1+1;

WHEN 762=>

cnt1:=0;

cp_65k<='0';

cp_wr<='0';

WHEN 20=>

cp_wr<='1';

cnt1:=cnt1+1;

WHEN OTHERS=>

cnt1:=cnt1+1;

end case;

end if;

end process;

--*********************1kHz分频进程************************

process(cp_65k)

variable cnt1 : integer range 0 to 64;

begin

if cp_65k'event and cp_65k='1' then

case cnt1 is

when 32=>cp_1k<='1';

cnt1:=cnt1+1;

when 64=>cnt1:=0;

cp_1k<='0';

when others=>cnt1:=cnt1+1;

end case;

end if;

end process;

--**************DDS地址累加器进程**********************

PROCESS(cp_65k)

BEGIN

IF(cp_65k'EVENT AND cp_65k='1') THEN

--DDS累加器循环累加dds_m

IF dds_add<65535 THEN

dds_add<=dds_add+dds_m;

ELSE

dds_add<=dds_add+dds_m-65536;

END IF;

END IF;

END PROCESS;

--***********************频率加减控制进程***************************

process(cp_1k)

VARIABLE keys:INTEGER RANGE 0 TO 127 :=0; --消抖累加器

begin

if cp_1k='1' then

case key is

when "10"=> --频率加

if keys=127 then

keys:=0;

bell<='1';

if dds_m=1000 then

dds_m<=1;

else

dds_m<=dds_m+1;

end if;

else

keys:=keys+1;

end if;

when "01"=> --频率减

if keys=127 then

keys:=0;

bell<='1';

if dds_m=1000 then

dds_m<=1;

else

dds_m<=dds_m-1;

end if;

else

keys:=keys+1;

end if;

when others=>bell<='0';

end case;

end if;

end process;

end dac;

2.3 VGA显示

 

 

3.性能指标

 

 

DA输出的波形

4.总结

经过了多日的努力,我们在本设计中基本实现了上述要求,并在有些功能方面提出了改进,使系统设计更加完善。在该设计中我们使用了FPGA作为主控器,但由于时间及器材条件的限制,本设计也存在不足,例如,测量范围不能达到更高的要求,测量精度也存在很大的提升空间。我们会在以后的学习中不断地弥补这些不足,完善测量系统设计。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭