全球旧事资料 分类
dress1A1910address2A1910address3A1910
fassig

address4A1910
52ROM设计及其仿真本实验我设定的输出波形总共有四种,分别是正弦波,三角波,方波和锯齿波。因此在累加器的输出端,需要对四个ROM进行选择,我的实现方法是利用ROM的时钟使能控制端来对ROM进行选择,chose由波形选择按键控制。ROM的输出由嵌套的三目运算符来实现选择。具体的程序代码如下:ROM选择wire30chosewireclke
1wireclke
2wireclke
3wireclke
4assig
assig
assig
assig
clke
1clke
2clke
3clke
4chose0chose1chose2chose3ROM输出wire70dac_i
wire70si
_outwire70saw_outwire70squ_outwire70tri_outassig
dac_i
chose01si
_outchose11saw_outchose21squ_outchose31tri_out8b0

图52ROM输出正弦波仿真
f53DAC0832状态机由图32的操作时序,可以写出DAC0832的状态机,程序源码如下:moduledac_0832dac_clkrstalwaysposedgedac_clkordata_i
egedgerstdata_outifrstCSWRbegi
CS1b1WR1b1i
putdac_clkdata_out8b0i
putrst复位e
di
put70data_i
8位数else据输入begi
outputregCScasec
t2DA0832片选信号经过300
s的保持时间CS首先拉outputregWR读入低,拉低时间为1000
s信号123456789outputreg70data_out81000NS计数位数据输出begi
CS1b0reg70data_i
_rege
ddefaultCS1b1alwaysposedgedac_clkore
dcase
egedgerst与ROM时钟同步,让数据稳定传输casec
t2ifrstCS拉低后200
sWR拉低900
sdata_i
_reg023456789else900NS计数data_i
_regdata_i
begi
WR1b0reg30c
t2e
ddefaultWR1b1alwaysposedgedac_clkore
dcase
egedgerstifrstcasec
t2c
t24b012345678elseCS拉低后100
s将数据送出,时间begi
持续900
sifc
t24d9data_outdata_i
_regc
t24b0defaultelsee
dcasec
t2c
t21b1e
de
de
dmodule
f图53DAC0832控制器仿真
六、结论
通过按键设定不同的频率控制字和波形,在示波器上可以看到正确的波形,数码管上显示的频率值也与示波器上显示的频率值相近,虽存在误差,但在误差允许的范围内可以接受。更改不同的频率控制字,波形的频率改变;更改波形选择按键,波形发生改变。该实验是一个完整的设计实验,从方案的确定到最终的测试,让我们收获颇多。完成该工程,不仅要对结构级建模的思想有很深的了解,而且要学习ROM的使用方法,这一系列都会使我r
好听全球资料 返回顶部