Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 8539|回復: 7
打印 上一主題 下一主題

[問題求助] Philip UDA1341TS的L3 interface使用問題

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-3-25 17:10:42 | 顯示全部樓層 回帖獎勵 |倒序瀏覽 |閱讀模式
最近在使用這顆IC來做DA8 c. r7 r' t1 p

7 |  F" {3 K2 I( |# n使用I2S介面,傳送15bit的音訊信號  ]* s2 y( G8 N( L! r

+ t$ l7 i+ w4 |I2S的BAUDR_REG = ((48000000/(8000*2))/16);
/ _: g  e8 D9 e5 ~# J/ Q
& P" u7 U# {5 ^" o0 i. yI2S是接在48MHZ的APB BUS下
- G7 i3 H4 A* c  i! V5 P; \7 e" X
1 T  T# Z' ~+ m. Y3 c( [看了一下spec
2 g6 m% |+ ?" P4 ?. S& t
+ m( X% M+ w4 d2 K' c- y首先應該是要設定STATUS REG$ F9 B  u' [0 }
% {" B/ r* K+ s3 r, }
遵守L3interface的規範來送資料( v" q7 X7 U/ k: D1 Z- B: k
5 N3 b  }( j8 T6 I& ?# p$ _
所以先送位址1 i2 J, ~5 g0 v9 g
BIT0~BIT1 "00"選到STATUS REG, U: g$ H7 }5 M- h& u
BIT2~BIT7 "101000"選擇到Philip UDA1341
3 U: b6 N- H+ d3 N4 Q/ t# K(L3MODE=LOW ; L3CLOCK依造spec規範來給CLOCK)4 ~% i( T8 i( a2 O

) Y6 _2 t; g) k3 \; u3 `" Y; q4 p' G. u  P
再送出DATA9 F5 a# B8 q2 _& a9 w4 {6 e0 f
BIT0~BIT7 "00000110"$ c6 [. a3 s) x- D- Z
(L3MODE=HIGH ; L3CLOCK依造spec規範來給CLOCK)
5 O$ M& s; B9 {, k/ t(System Clock setting=256fs), f$ z4 r$ O" J2 ]) M
" L- k1 t" s; g9 p3 N. a' t
經過上面的設定後,應該理論上會RESET成功了,其他大部分的REG應該會有初始值,可是我的DA功能並沒有出來,不知道問題在哪邊?' ?6 S4 W9 y6 N: a$ s0 O: ^9 n

5 V; V4 |5 S; V3 p; G  F' e# w: r. z
PS: UDA1341TS的SYSCLK目前接12MHZ部知道有沒有接錯?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
 樓主| 發表於 2008-3-26 10:06:35 | 顯示全部樓層

回復 1# 的帖子

請問如何知道我fs=?! U! |9 k; a# d4 R% n+ z1 H
1 q8 p9 S% W& f% P: r, D
I2S的BAUDR_REG = ((48000000/(8000*2))/16);
: g( x  P) m# j, b$ f  X6 N' c0 y$ y; a8 c
根據上面的設定,我fs=16kHz是ㄇ?
3#
 樓主| 發表於 2008-3-26 11:26:19 | 顯示全部樓層

回復 4# 的帖子

因為最近拿到一個程式,但是不大懂程式內的取樣頻率到底是多少
) v- K+ z! C5 u; U; E
$ P+ [/ K3 z) c這是一個使用I2S介面,傳送音訊信號" e* {* O* L+ ?

+ G- p+ t8 r4 q# q=>好像是傳送15bit的音訊信號
; b; s3 Y4 P% k6 S' ~
( e! x1 D! n1 r: K已知APB BUS=48MHZ+ ~: j& y$ O+ D3 z, R

: `1 Z- T) E/ t& C& Y; w. i  SI2S是掛在APB BUS下的一個IP
) d8 k; p( ?, e7 N  @* D
* H( F$ I) M6 d  v在程式內I2S的BAUDR_REG = ((48000000/(8000*2))/16);
# n2 Y" B: J' @5 ]4 _: u, s
, \& Q1 Y& h# @, m  n看了一下I2S的SPEC
) h) W, f7 R, [7 _; I( `9 z7 h' o
8 y3 ~" V7 z, z; ^感覺BAUDR_REG是再設定一個CLOCK divide value; g7 r$ t! `% L' t' Z' Y
! q2 W9 B# s* {5 y* k1 O
也就是把I2S這個IP所跑的頻率,除上這個數值,來產生一個CLOCK輸出 ,但是我不大清楚這個輸出,跟fs取樣頻率之前有啥關連?! @0 H0 L% I7 ]4 e$ j# |

# _% G9 k' A1 X2 ~1 G( d7 s  ^因為I2S的輸出信號會經過DA轉換成聲音輸出
! t0 s8 @  b& M$ }
: ?# w; s( d: L; u/ M% k9 i3 D1 T  @但是我使用的DA是Philip UDA1341TS,這是一顆有AD,DA功能的IC- d3 }# R  F% u4 X1 Q1 \/ k) _
- F1 R/ |3 _4 Q" ^0 d# P
所以他會要接SYSTEM CLOCK
9 g$ k3 C$ \+ C( X4 I- K) v6 a* H6 q
: M" \6 y! @; e# _& f: }SPEC上說SYSTEM CLOCK=256fs,384fs,512fs
* ]( @1 ]3 u" A& i$ d
9 v' H& R- \! c: t那SYSTEM CLOCK該接多少呢??6 }/ a' T1 w( T8 w$ m- W1 H
2 C) D$ p: |1 \" O3 \+ R
[ 本帖最後由 indicateto 於 2008-3-26 11:28 AM 編輯 ]
4#
 樓主| 發表於 2008-3-26 11:36:11 | 顯示全部樓層

回復 4# 的帖子

其實現在ㄉ問題,應該是我被這行程式給搞混了 3 N2 V: o9 H, R1 I! l. b

( L( G/ l  l! c* I$ j% ]I2S的BAUDR_REG = ((48000000/(8000*2))/16);
. n1 W' I+ F4 F* ]* J8 l3 Z" Y' l% T) v$ S0 n
根據上式fs=?
5#
 樓主| 發表於 2008-3-26 19:11:17 | 顯示全部樓層

回復 4# 的帖子

SYSCLK一定要剛剛好ㄇ?
: O; i( m3 X7 g& N5 x; b) Z( C+ M2 _, q$ g; h% Y. \$ _& q
還是大一點也可以?2 \+ {6 P( Y: Y* v# Z0 ?% f) d
+ h7 p6 v: Q( U% b; Z3 [9 q
很難弄道剛剛好吧
6#
 樓主| 發表於 2008-3-27 14:52:11 | 顯示全部樓層
剛剛把我手上的music.bin檔
. A2 h/ G  f: j: X7 S! X- D
* Z% p4 \  M- B, B6 Z+ L用GWave開啟,看到了格式PCM,16bit,44.1kHZ
' s! v( ~3 t( A4 E4 G  s4 K9 q" w, p' b9 u( H
我目前SYSCLK設定成256fs=>44.1*256=11.2896MHZ
2 R- m. U! L1 H* z9 R+ q* ~" T( s  A1 u3 ]3 ]3 y1 N1 ~; ^! G3 F" H
不過我目前是接12MHZ的石英震盪器,不知道有沒有關係5 o! P; C$ A* V0 _8 s' O* j
6 G# k; B2 e  z  `2 Q
可是還是沒有聲音被我放出來,有點雜音,好像還是無解
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-5-17 07:06 PM , Processed in 0.119516 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表