用ADI的DSP做一套實(shí)驗(yàn)教學(xué)系統(tǒng),選定的型號(hào)是SHARC系列的ADSP-21369,硬件設(shè)計(jì)出了一個(gè)大概的框圖如下(比較丑,大家不要笑話,也歡迎大家對(duì)此圖提意見(jiàn))
在評(píng)估版來(lái)之前看了很多資料,現(xiàn)在總結(jié)一下DAI接口(數(shù)字音頻接口)的外圍設(shè)備中用到的精密時(shí)鐘發(fā)生器。
先簡(jiǎn)單概述一下精密時(shí)鐘發(fā)生器。精密時(shí)鐘發(fā)生器(Precision clock generatorsPCG)包括四個(gè)單元,每一個(gè)單元產(chǎn)生的一對(duì)信號(hào)(時(shí)鐘和幀同步)來(lái)自時(shí)鐘輸入信號(hào)。這四個(gè)單元A,B,C,D具有相同的功能并且各自獨(dú)立作用。每個(gè)單元產(chǎn)生的兩個(gè)信號(hào)通常被用來(lái)作為一個(gè)串行位時(shí)鐘/幀同步對(duì)。
下面討論使用PCG(精確時(shí)鐘發(fā)生器)為SHARC SPORT 提供時(shí)鐘的注意事項(xiàng)。
使用PCG 產(chǎn)生的信號(hào)為I2S 模式的SPORT 提供FS 和SCLK 信號(hào)時(shí),需要配置PCG 的延遲寄存器,使信號(hào)時(shí)序與I2S 協(xié)議時(shí)序一致。LRCLK 信號(hào)必須由串行時(shí)鐘的下降沿驅(qū)動(dòng)。
使用PCG 為TDM 模式的SPORT 提供信號(hào)時(shí),要求幀同步信號(hào)僅在一個(gè)串行bit 時(shí)鐘周期保持有效。注意,TDM 模式的幀同步是電平觸發(fā)的,而不是邊沿觸發(fā)。PCG 脈寬寄存器(PCG_PW)應(yīng)該置“1”,這樣幀同步僅在一個(gè)串行時(shí)鐘周期有效。在這樣的配置下,由于幀同步是單串行時(shí)鐘周期有效,SPORT 是使能還是再次使能的狀態(tài)都沒(méi)關(guān)系。如果幀同步無(wú)效期間,SPORT 被使能,需要等待直到下個(gè)有效幀同步信號(hào)。在PCG 配置需要50%工作周期的系統(tǒng)下,使用DAI中斷來(lái)使能SPORT。
假設(shè)PCG 幀同步和時(shí)鐘信號(hào)在SPORT 使能或再次使能前啟動(dòng),由于串口可以在同步和時(shí)鐘信號(hào)啟動(dòng)后的任何時(shí)候使能,可能有以下情形發(fā)生:串口在任何有效同步信號(hào)采樣時(shí),開(kāi)始鎖存(接收機(jī)情形)或驅(qū)動(dòng)數(shù)據(jù)(發(fā)送機(jī)情形)。注意,幀同步信號(hào)在TDM 模式是電平觸發(fā)而不是邊沿觸發(fā)的。這樣的情況會(huì)在串口禁止然后重新使能下反復(fù)發(fā)生,以致失去同步。這可能導(dǎo)致通道移位或者數(shù)據(jù)丟失。啟動(dòng)串口的正確過(guò)程應(yīng)該是等待幀同步信號(hào)無(wú)效沿,然后在幀同步信號(hào)無(wú)效期間使能串口。這就保證了串口在幀同步信號(hào)有效電平期間采樣數(shù)據(jù)。這個(gè)過(guò)程還應(yīng)該在串口禁止和重新使能的時(shí)候采用,從而保證串口不會(huì)在有效幀的中部采樣數(shù)據(jù)。這個(gè)操作由以下過(guò)程實(shí)現(xiàn)。PCG 幀同步映射到DAI 中斷。幀同步無(wú)效邊沿觸發(fā)DAI 中斷,這意味著幀同步信號(hào)會(huì)在一段時(shí)間無(wú)效,串口應(yīng)該在幀同步信號(hào)無(wú)效期間啟動(dòng),或者執(zhí)行串口禁止和重新使能時(shí)操作。 |