DS1302
16,17,18,19,20,21,22,23:
DATA 输出;rSIO <= T[i-16];
if( C1 == 0 ) rSCLK <= 1'b0;
else if( C1 == FHALF ) rSCLK <= 1'b1;
if( C1 == FCLK -1) begin C1 <= 6'd0; i <= i + 1'b1; end
else C1 <= C1 + 1'b1;
DS1302 由于使用 SPI 传输的关系,所以下降沿设置数据,上升沿锁存数据。
闲置状态,SCLK 信号还有 CS 信号都是拉低发呆,而且读写数据都是由低至高
32,33,34,35,36,37,38,39: 读8次一次1bit
DATA输入;
if( C1 == 0 )时 rSCLK <= 1'b0;
else if( C1 == FHALF ) begin rSCLK <= 1'b1; T[i-32] <= RTC_DATA; end
if( C1 == FCLK -1) begin C1 <= 6'd0; i <= i + 1'b1; end
else C1 <= C1 + 1'b1;