作者ksmrt0123 (ksmrt)
看板Electronics
标题Re: [问题] i2s的问题
时间Sat Apr 25 17:28:08 2009
※ 引述《baoerking (basketball)》之铭言:
: 请问各位大大,在i2s的specification里
: ,他的sck(serial clock or bit clock)是负
: 缘触发,如果我在设计时改成正缘可以吗??
: 因为我想配合整个系统後面都是以正缘为主,
: 这样可以吗??谢谢各位大大的指教。
你好像想直接 always @ (posedge sck) ...
通常这些 serial protocol 在 sck 正负缘都有工作要作,
如正缘latch data in, 负缘drive data out, 那你的电路要怎麽设计?
而且sck跟系统内部的clock也不同步, 需要synchronization.
一般的作法是用系统内部的clock (通常比sck快很多) 去sample sck,
再得到sck的正负缘. 下面是做 2-stage sampling 的 example.
reg sck_p2;
reg sck_p1;
assign sck_posedge = ~sck_p2 & sck_p1;
assign sck_negedge = sck_p2 & ~sck_p1;
always @ (posedge clk) begin
sck_p2 <= sck_p1;
sck_p1 <= sck;
end
然後根据 sck_posedge 或 sck_negedge 再做後续处理.
要注意的是 sck_posedge/sck_negedge 跟真实的sck正负缘会有时间差,
要确定 data 与sck相对的timing requirements 仍在规格内.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.68.71.218
1F:推 baoerking:谢谢大大,但我是要做接收端,所以sck会是由外部提供 04/25 17:42
2F:→ baoerking:不过经过你的提醒,我多注意到了一些东西,谢谢 04/25 17:42