关于IIC问题求解答
时间:10-02
整理:3721RD
点击:
1、IIC的速率是可以随意定的吗?还是只能用着两种的速率:标准是100K,高速是400K?
2、在看一段代码有点不解
15: // waiting for acknowledge
begin
isOut <= 1'b0; //SDA端口改为输入
if( C1 == 100 ) isAck <= SDA;
if( C1 == 0 ) rSCL <= 1'b0;
else if( C1 == 50 ) rSCL <= 1'b1;
else if( C1 == 150 ) rSCL <= 1'b0;
if( C1 == F100K -1 ) begin C1 <= 9'd0; i <= i + 1'b1; end
else C1 <= C1 + 1'b1;
end
这是个是EEPROM器件返回来的应答信号,看到的网上资料中,如果器件收到数据会给FPGA一个应答信号,在时钟SCL信号的低电平期间将 SDA 线拉低,确保在该时钟的高电平期间为稳定的低电平。但是这里程序我理解的是将在高电平期间接收到应答信号,不知道我理解的是否有错误~~~~这个程序好使,我应经在板子上验证过
2、在看一段代码有点不解
15: // waiting for acknowledge
begin
isOut <= 1'b0; //SDA端口改为输入
if( C1 == 100 ) isAck <= SDA;
if( C1 == 0 ) rSCL <= 1'b0;
else if( C1 == 50 ) rSCL <= 1'b1;
else if( C1 == 150 ) rSCL <= 1'b0;
if( C1 == F100K -1 ) begin C1 <= 9'd0; i <= i + 1'b1; end
else C1 <= C1 + 1'b1;
end
这是个是EEPROM器件返回来的应答信号,看到的网上资料中,如果器件收到数据会给FPGA一个应答信号,在时钟SCL信号的低电平期间将 SDA 线拉低,确保在该时钟的高电平期间为稳定的低电平。但是这里程序我理解的是将在高电平期间接收到应答信号,不知道我理解的是否有错误~~~~这个程序好使,我应经在板子上验证过
IIC的速率是也就是SCL的频率,可以自己定。