用Verilog HDL实现I2C总线功能
end
本文链接地址:http://www.oyaya.net/fanwen/view/157652.html
end
ForACK1:
begin
tempsda=1; //释放数据线,等待应答信号
send_byte_zt=delay_ACK;
end
delay_ACK: //延时
begin
if(delay_counter>=3)
begin
send_byte_zt=ForACK2;
delay_counter=0;
end
else
begin
delay_counter=delay_counter+1;
send_byte_zt=send_byte_zt;
tempscl=1;
end
end
ForACK2:
begin
send_byte_zt=AckYESNO;
tempen_sdao=0; //输出SDA使能信号,控制sdao和sdai
end
AckYESNO:
begin
if(sdai) //如果应答信号sdai为1,NO_ACK置1
begin
tempNO_ACK=1; //设置未应答标志信号
end
tempsc1=0; //终止应答位
send_byte_zt=Finish_delay;
end
Finish_delay: //延时
begin
if(delay_counter>=2)
begin
《用Verilog HDL实现I2C总线功能(第3页)》