- 积分
- 572
- 在线时间
- 1340 小时
- 最后登录
- 2025-6-3
- 阅读权限
- 50
- 精华
- 2
 
- UID
- 27691
- 帖子
- 437
- 精华
- 2
- 经验
- 572 点
- 金钱
- 483 ¥
- 注册时间
- 2007-9-25
|

楼主 |
发表于 2009-5-6 14:28
|
显示全部楼层
LS说得对
CPLD主要用在生成LRCLK,BCLK上面(其它都是后来想到的附加功能),但这部分的代码只占很小一部分,
因为一个除4的分频器加上一个除48的分频器代码很简单,就这么几行:
module ClockDiv (mclk, bclk, lrck);
input mclk;
output bclk,lrck;
reg [1:0] bclk_cnt;
reg [4:0] lrck_cnt;
reg lrck;
wire bclk = bclk_cnt[1];
always @ (posedge mclk)
begin
bclk_cnt <= #1 bclk_cnt + 1'b1;
end
always @ (negedge bclk)
begin
if (lrck_cnt == 5'h17) begin
lrck_cnt <= #1 5'h0;
lrck <= #1 ~lrck;
end
else begin
lrck_cnt <= #1 lrck_cnt + 1'b1;
end
end
endmodule
希望对你会有帮助。
CS8421的MCLK_OUT是从外置晶振XTI分频而来,被动模式下用不到,如果输入输出都在96KHZ以下就不需要XTI输入,也不会
有MCLK输出。
想让PCM63做16fs,除非你用DF1704之类的能接受96KHZ输入的数字滤波器,老一代的PMD100、DF1700、SM5842等可受不了
2fs的输入。 |
|