Chip123 科技應用創新平台
標題:
Philip UDA1341TS的L3 interface使用問題
[打印本頁]
作者:
indicateto
時間:
2008-3-25 05:10 PM
標題:
Philip UDA1341TS的L3 interface使用問題
最近在使用這顆IC來做DA
8 w/ ]: c0 f+ _1 T9 w
; W6 e% z0 @5 ?
使用I2S介面,傳送15bit的音訊信號
" {' Q7 b* T: D5 V, x. q
" j; S7 [5 n0 p. |4 Y& M2 X
I2S的BAUDR_REG = ((48000000/(8000*2))/16);
6 B) p v. Y, ~+ k
* J# {9 ]8 {. @6 P
I2S是接在48MHZ的APB BUS下
4 y& X. ?/ a. r1 i6 p0 Y4 Z
* X4 b$ {% F2 g4 O& s h# w$ o
看了一下spec
- X( }; o4 R6 a) c! \$ G
0 g' O: A) I `/ P" P
首先應該是要設定STATUS REG
4 C: [9 ]5 q( n0 E/ b* b' p
; @, G% m" f, b3 V
遵守L3interface的規範來送資料
3 r# z) P- P1 \! A! i B2 K
- y6 z( r1 x- f6 o/ U- k
所以先送位址
/ D% U2 D1 P& c& I8 H r+ m
BIT0~BIT1 "00"選到STATUS REG
3 m; g K$ X! g# u$ F( `, l/ ~" K8 R( `5 p3 M
BIT2~BIT7 "101000"選擇到Philip UDA1341
- z4 \' g; y, ?1 r
(L3MODE=LOW ; L3CLOCK依造spec規範來給CLOCK)
0 w) i2 H' Q4 q
7 g/ t/ N0 B8 M5 i& X9 n5 D# k5 o
4 o0 D3 @( R. Y
再送出DATA
7 A; K, ?$ d* E( p6 D7 C
BIT0~BIT7 "00000110"
4 T9 e& U& d4 V0 A4 \0 }
(L3MODE=HIGH ; L3CLOCK依造spec規範來給CLOCK)
+ G, X, P5 @( K+ U$ d' f
(System Clock setting=256fs)
% w% P9 s1 ^" I" a" n
" i4 @% b, _: E4 W' S3 g0 }. e
經過上面的設定後,應該理論上會RESET成功了,其他大部分的REG應該會有初始值,可是我的DA功能並沒有出來,不知道問題在哪邊?
8 s( E4 M8 k* O$ c. Q+ o
/ A4 C7 J% T( p/ r/ U
4 Z c4 r- X/ }( S
PS: UDA1341TS的SYSCLK目前接12MHZ部知道有沒有接錯?
作者:
rogeryang
時間:
2008-3-25 06:25 PM
if your fs=48kHz,
3 h( W* P$ F9 F
you choose 256fs, then the sys clk = 48*256= 12.288MHz,
. S# v8 F( p8 ^: m7 g
not 12MHz.
作者:
indicateto
時間:
2008-3-26 10:06 AM
標題:
回復 1# 的帖子
請問如何知道我fs=?
8 V) j* M/ o1 J, E: }/ y% l5 f- s& t
0 Z5 E/ s" x* I$ s8 V' v
I2S的BAUDR_REG = ((48000000/(8000*2))/16);
% Z% y* \- U C6 {6 \+ L
+ M# z+ p2 Q% z& ^( }+ ~" d+ j; ^& ]
根據上面的設定,我fs=16kHz是ㄇ?
作者:
rogeryang
時間:
2008-3-26 10:26 AM
UDA1341 support 三種 fs = 32kHz, 44.1kHz, 48kHz,
2 I z6 F* J# b z+ E
and support 256fs, 384fs,512fs 三種 sys clk,
4 ]0 n) F$ \0 t* d }1 f ?- T
所以正常情況下.你會依據需求.假設你system 的需求. audio datarate 是 32kHz,
3 b+ G- S h1 Y4 q
那你可以把sys clk訂在384fs= 32*384= 12.288MHz .也可以定成256fs= 32*256=8.192MHz
2 S" X3 W: n8 B. K- V) r! ~& k
當然裡頭的相對應register要設好.
作者:
indicateto
時間:
2008-3-26 11:26 AM
標題:
回復 4# 的帖子
因為最近拿到一個程式,但是不大懂程式內的取樣頻率到底是多少
) y5 H% x9 B2 q/ z9 E% z$ b9 ~/ y
& J4 q5 W7 h; |7 P
這是一個使用I2S介面,傳送音訊信號
8 Z. u9 C) I0 Y' z, q' L* e0 I) c( e6 D
F$ z/ Q5 d" \
=>好像是傳送15bit的音訊信號
% Q6 c& b+ V6 @0 _3 b) a4 j
& [5 x+ g% j! T" Q( p) W
已知APB BUS=48MHZ
# H% [1 X5 x) y' q9 @) V3 W
, f+ h& V7 K3 [. [
I2S是掛在APB BUS下的一個IP
7 a5 H" n7 x8 _% X8 O! l% U9 K0 `- G
$ p! d. X/ Y8 R c3 R; r1 U2 M
在程式內I2S的BAUDR_REG = ((48000000/(8000*2))/16);
6 e. n' V4 Q. p/ H5 ^
& A) b4 s Q- X7 o0 S. ~
看了一下I2S的SPEC
' e9 Z0 F' q; E) j( t8 Q7 o( m) z
1 x. L( U! ~& J# z# i
感覺BAUDR_REG是再設定一個CLOCK divide value
1 f5 I# v7 ~* f! B' _
, |4 c) q4 y' S7 j2 Y* U
也就是把I2S這個IP所跑的頻率,除上這個數值,來產生一個CLOCK輸出 ,但是我不大清楚這個輸出,跟fs取樣頻率之前有啥關連?
z {( d7 w- r8 g- Z/ G- J% x
7 N4 X6 M e' y, m: V. e
因為I2S的輸出信號會經過DA轉換成聲音輸出
* p) P' W+ Z! \
. x. {% A& K4 {. b0 {( f
但是我使用的DA是Philip UDA1341TS,這是一顆有AD,DA功能的IC
9 R; p8 C' v2 z0 C i+ W
; {1 o- p& Q1 }* ?3 @" \& Z
所以他會要接SYSTEM CLOCK
( X5 f- R. t) w& y" d" I" ^
* o6 }, @: K. c5 u
SPEC上說SYSTEM CLOCK=256fs,384fs,512fs
$ u. l$ h2 a3 L `
+ G. o* ?5 l' ~$ m1 N* t& N; D" p
那SYSTEM CLOCK該接多少呢??
% y" L2 Y( T* v0 R; B) p+ `
5 O8 o7 M4 W* m& o: A! \* [
[
本帖最後由 indicateto 於 2008-3-26 11:28 AM 編輯
]
作者:
indicateto
時間:
2008-3-26 11:36 AM
標題:
回復 4# 的帖子
其實現在ㄉ問題,應該是我被這行程式給搞混了
! \6 I7 s, t( c) k. k
1 Y( ]2 M' B5 M2 T* s
I2S的BAUDR_REG = ((48000000/(8000*2))/16);
X+ @3 v) w* s" `
! S) k+ `1 H6 ~
根據上式fs=?
作者:
indicateto
時間:
2008-3-26 07:11 PM
標題:
回復 4# 的帖子
SYSCLK一定要剛剛好ㄇ?
5 k/ B; Y) z, L9 Q* [& g
' R8 A. `# n a G7 X8 A
還是大一點也可以?
3 i5 B6 C Z& }8 R" J" ^1 P% i4 Z4 \, U
+ T# @. ~+ D" o# V9 e, p/ Q2 [
很難弄道剛剛好吧
作者:
indicateto
時間:
2008-3-27 02:52 PM
剛剛把我手上的music.bin檔
2 ? z2 l' U' E% S# A p) Z
' K8 R9 G$ m& ?1 y! R( F
用GWave開啟,看到了格式PCM,16bit,44.1kHZ
& D5 Q# L8 h9 r
, y* K8 }. N( t3 H7 g
我目前SYSCLK設定成256fs=>44.1*256=11.2896MHZ
/ y4 N) Y5 [: p2 k( p. _5 ?
' N/ h5 Q) w- u7 F" G
不過我目前是接12MHZ的石英震盪器,不知道有沒有關係
( |$ x( y8 F0 m; F: Q0 r, L
( H' ^) [+ u; a
可是還是沒有聲音被我放出來,有點雜音,好像還是無解
歡迎光臨 Chip123 科技應用創新平台 (http://chip123.com/)
Powered by Discuz! X3.2