黃同(tóng)学高(gāo)速AD項目学習笔(bǐ)記(jì)
本(běn)文(wén)为(wèi)明(míng)德揚原創文(wén)章(zhāng),轉(zhuǎn)载請注明(míng)出(chū)处!作者(zhě):黃同(tóng)学
以(yǐ)下(xià)是(shì)我(wǒ)在(zài)做高(gāo)速AD項目的(de)調試經(jīng)验(yàn),現(xiàn)在(zài)分(fēn)享出(chū)来(lái),希望可(kě)以(yǐ)給(gěi)大家(jiā)提(tí)供一(yī)定(dìng)的(de)幫助。如(rú)果(guǒ)發(fà)現(xiàn)sync一(yī)直(zhí)沒(méi)有(yǒu)同(tóng)步上(shàng),即一(yī)直(zhí)为(wèi)低,那(nà)麼(me)就(jiù)需要(yào)檢查同(tóng)步条(tiáo)件(jiàn),具體(tǐ)操作如(rú)下(xià)。
1、檢查是(shì)时(shí)鐘(zhōng)的(de)正(zhèng)确性(xìng)
1)需要(yào)使用(yòng)示波(bō)器测量(liàng)时(shí)鐘(zhōng)的(de)正(zhèng)确性(xìng),示波(bō)器設置如(rú)下(xià)
2)表(biǎo)笔(bǐ)設置,使用(yòng)前(qián)需要(yào)自(zì)行校(xiào)準表(biǎo)笔(bǐ),校(xiào)準方(fāng)法这(zhè)里(lǐ)不(bù)再贅述,不(bù)会(huì)的(de)同(tóng)学可(kě)以(yǐ)在(zài)网(wǎng)上(shàng)搜索方(fāng)法。
3)测量(liàng)點(diǎn)
接着对(duì)參考时(shí)鐘(zhōng)和(hé)同(tóng)步时(shí)鐘(zhōng)進(jìn)行测量(liàng),这(zhè)两(liǎng)个(gè)测量(liàng)點(diǎn)都是(shì)AD9516給(gěi)AD9144的(de)时(shí)鐘(zhōng),給(gěi)FPGA的(de)时(shí)鐘(zhōng)需要(yào)直(zhí)接测量(liàng)芯片(piàn)引脚,比較危险,不(bù)建議测。主(zhǔ)要(yào)测量(liàng)有(yǒu)无輸出(chū)和(hé)时(shí)鐘(zhōng)頻率是(shì)否正(zhèng)确。
AD9516的(de)配置软(ruǎn)件(jiàn)生(shēng)成(chéng)的(de)寄存器值不(bù)一(yī)定(dìng)正(zhèng)确,部(bù)分(fēn)寄存器的(de)值需要(yào)自(zì)行修改。之前(qián)就(jiù)遇到(dào)过(guò)同(tóng)步时(shí)鐘(zhōng)的(de)輸出(chū)頻率不(bù)对(duì)的(de)問(wèn)題(tí),修改了(le)AD9516的(de)0x19B寄存器的(de)值,問(wèn)題(tí)得到(dào)解(jiě)決。分(fēn)頻系(xì)數=M+N+2,其它(tā)寄存器的(de)分(fēn)頻系(xì)數計(jì)算方(fāng)式與(yǔ)此(cǐ)相同(tóng)。
參考时(shí)鐘(zhōng)在(zài)開(kāi)發(fà)板上(shàng)的(de)位置如(rú)下(xià):
同(tóng)步时(shí)鐘(zhōng)在(zài)開(kāi)發(fà)板上(shàng)的(de)位置如(rú)下(xià):
2、AD9144的(de)寄存器正(zhèng)确設置
ACE软(ruǎn)件(jiàn)生(shēng)成(chéng)出(chū)来(lái)的(de)值基本(běn)是(shì)正(zhèng)确的(de),但是(shì)要(yào)注意(yì)一(yī)下(xià)幾(jǐ)點(diǎn):
1)正(zhèng)确設置DAC PLL,如(rú)下(xià)图(tú)所(suǒ)示,其中(zhōng)Ref_clk = 參考时(shí)鐘(zhōng);Fin = 这(zhè)个(gè)时(shí)鐘(zhōng)作用(yòng)不(bù)清(qīng)楚;FDAC = DAC每通(tòng)道(dào)的(de)实際工作頻率,这(zhè)个(gè)值包(bāo)含插值。
注意(yì):要(yào)點(diǎn)應(yìng)用(yòng)
2)正(zhèng)确設置采樣(yàng)率如(rú)下(xià)图(tú)所(suǒ)示,
因(yīn)为(wèi)乘法器輸出(chū)的(de)頻率範圍是(shì)6-12GHZ,所(suǒ)以(yǐ)DAC的(de)工作頻率要(yào)≥375MHZ,如(rú)果(guǒ)不(bù)够,可(kě)以(yǐ)通(tòng)过(guò)增加插值的(de)方(fāng)式来(lái)提(tí)高(gāo)頻率,同(tóng)时(shí)也(yě)可(kě)以(yǐ)不(bù)用(yòng)PLL(此(cǐ)方(fāng)法未测試)
AD9144对(duì)寄存器的(de)配置順序有(yǒu)要(yào)求,具體(tǐ)順序可(kě)以(yǐ)閱读(dú)數據(jù)手(shǒu)册或(huò)者(zhě)看(kàn)明(míng)德揚潘老(lǎo)师(shī)的(de)上(shàng)位機(jī)代(dài)碼。配置的(de)順序特(tè)别注意(yì)一(yī)个(gè)0X300的(de)寄存器,这(zhè)个(gè)寄存器第(dì)一(yī)次(cì)配置要(yào)設置为(wèi)0,第(dì)二(èr)次(cì)配置設置为(wèi)1
AD9144的(de)要(yào)在(zài)AD9516配置完成(chéng)之後(hòu)等待一(yī)段(duàn)时(shí)間(jiān)才能(néng)開(kāi)始配置,具體(tǐ)等待輸出(chū)时(shí)鐘(zhōng)稳定(dìng)的(de)时(shí)間(jiān)可(kě)以(yǐ)看(kàn)AD9516的(de)數據(jù)手(shǒu)册,程序里(lǐ)面(miàn)的(de)延时(shí)是(shì)調出(chū)来(lái)的(de)。AD9144的(de)寄存器的(de)配置速度(dù)不(bù)能(néng)太快(kuài),不(bù)然也(yě)会(huì)出(chū)現(xiàn)无法同(tóng)步的(de)現(xiàn)象(xiàng),具體(tǐ)原因(yīn)未知,程序里(lǐ)面(miàn)的(de)延时(shí)也(yě)是(shì)調出(chū)来(lái)的(de)。
3、IP核設置
公式計(jì)算和(hé)IP核設置的(de)F,S,K,Lane,等參數是(shì)由(yóu)選擇的(de)DAC工作模式确定(dìng)的(de),其他(tā)參數如(rú)SCR等,需要(yào)怎麼(me)設置在(zài)AD9144數據(jù)手(shǒu)册里(lǐ)面(miàn)第(dì)50页(yè)(不(bù)同(tóng)版本(běn)的(de)數據(jù)手(shǒu)册页(yè)數可(kě)能(néng)会(huì)有(yǒu)偏差)開(kāi)始有(yǒu)詳细(xì)介紹。 IP核是(shì)高(gāo)電(diàn)平複位的(de),这(zhè)里(lǐ)要(yào)注意(yì):如(rú)果(guǒ)複位住了(le)这(zhè)幾(jǐ)个(gè)会(huì)一(yī)直(zhí)等于(yú)0,并且无法同(tóng)步
4、AXI總(zǒng)線(xiàn)配置
具體(tǐ)配置方(fāng)法參考明(míng)德揚潘老(lǎo)师(shī)的(de)文(wén)檔,經(jīng)过(guò)一(yī)次(cì)簡單的(de)测試,这(zhè)个(gè)可(kě)以(yǐ)不(bù)配置也(yě)能(néng)正(zhèng)常工作,具體(tǐ)沒(méi)有(yǒu)詳细(xì)测試。
5、时(shí)鐘(zhōng)
IP核的(de)tx_core_clk需要(yào)PLL産生(shēng)一(yī)个(gè)合适的(de)时(shí)鐘(zhōng)并且經(jīng)过(guò)BUFG給(gěi)JESD204B IP核使用(yòng);Drp_clk動(dòng)态調整时(shí)鐘(zhōng)我(wǒ)这(zhè)里(lǐ)沒(méi)有(yǒu)用(yòng)到(dào),但是(shì)必須給(gěi)一(yī)个(gè)时(shí)鐘(zhōng),并且要(yào)和(hé)IP核里(lǐ)面(miàn)設置的(de)頻率相同(tóng);AXI时(shí)鐘(zhōng)頻率和(hé)IP核內(nèi)設置的(de)相同(tóng)即可(kě)。
6、參數計(jì)算
參考明(míng)德揚潘老(lǎo)师(shī)的(de)文(wén)檔,特(tè)别注意(yì)是(shì)要(yào) * 還(huán)是(shì) \ 。
舉个(gè)例子:20MHZ正(zhèng)弦波(bō),16个(gè)點(diǎn)組成(chéng)一(yī)个(gè)正(zhèng)弦波(bō),2通(tòng)道(dào),16bit,插值=2(使用(yòng)DAC PLL的(de)时(shí)候頻率必須≥375MHZ,这(zhè)例子速率不(bù)够所(suǒ)以(yǐ)要(yào)X2)。
1)有(yǒu)效傳輸:20MHZ*16个(gè)點(diǎn)*2通(tòng)道(dào)*16bit=10.24Gbit;
2)实際經(jīng)过(guò)8b/10b編碼的(de)速率是(shì):10.24Gbit * 1.25=12.8Gbit这(zhè)就(jiù)是(shì)4条(tiáo)Lane總(zǒng)共(gòng)要(yào)傳輸的(de)速率;
3)單通(tòng)道(dào)的(de)DAC采樣(yàng)率(sample_clock):20MHZ*16个(gè)點(diǎn)=320MHZ(因(yīn)为(wèi)插值=2所(suǒ)以(yǐ)这(zhè)个(gè)值填入(rù)ACE的(de)时(shí)候要(yào)*2=640MHZ,計(jì)算的(de)时(shí)候依旧(jiù)使用(yòng)320MHZ);
4)幀頻率(frame_clock):sample_clock / S=320 / 1 = 320MHZ(S值由(yóu)DAC模式決定(dìng));
5)字(zì)符頻率(character_clock):frame_clock*F=320MHZ*1=320MHZ(F值由(yóu)DAC模式決定(dìng));
6)Bit頻率(bit_clock):character_clock*10=320MHZ*10=3.2Gbit;
7)多(duō)幀頻率(multi_frame_clock):frame_clock / K=320MHZ / 32 =10MHZ(K由(yóu)DAC模式決定(dìng));
8)同(tóng)步时(shí)鐘(zhōng)(sysref_clock):multi_frame_clock / R =5MHZ(R=2),AD9144數據(jù)手(shǒu)册規定(dìng),同(tóng)步时(shí)鐘(zhōng)的(de)最(zuì)大值是(shì):fdata / (K * S) fdata是(shì)哪个(gè)沒(méi)有(yǒu)细(xì)看(kàn);
9)設置时(shí)鐘(zhōng)(device_clock):multi_frame_clock * D =80MHZ(D取(qǔ)8);
10)Ref_clk:每条(tiáo)Lane的(de)速率/ 40 =3.2Gbit / 40 = 80MHZ;
11)device_clock要(yào)≥ref_clk,最(zuì)好(hǎo)是(shì)等于(yú);
12)实際上(shàng)設置的(de)頻率是(shì)160MHZ主(zhǔ)要(yào)是(shì)考慮到(dào)插值=2,实際上(shàng)應(yìng)該設为(wèi)80MHZ也(yě)能(néng)工作(未测試)。
7、实現(xiàn)同(tóng)步
經(jīng)过(guò)上(shàng)面(miàn)的(de)設置應(yìng)該就(jiù)能(néng)同(tóng)步上(shàng)了(le),具體(tǐ)表(biǎo)現(xiàn)为(wèi)tx_sync信(xìn)号(hào)持(chí)續为(wèi)高(gāo)電(diàn)平
8、DAC輸出(chū)波(bō)形
必須拉高(gāo)DAC的(de)輸出(chū)使能(néng)引脚,不(bù)然会(huì)沒(méi)有(yǒu)波(bō)形輸出(chū)!!!
AD9144是(shì)電(diàn)流型輸出(chū)DAC,并且板子上(shàng)使用(yòng)變(biàn)壓器進(jìn)行放(fàng)大,所(suǒ)以(yǐ),不(bù)能(néng)輸出(chū)直(zhí)流波(bō)形只(zhī)能(néng)輸出(chū)交變(biàn)的(de)波(bō)形,目前(qián)已經(jīng)测試能(néng)輸出(chū)正(zhèng)弦波(bō)。三(sān)角(jiǎo)波(bō) 和(hé) 方(fāng)波(bō)可(kě)能(néng)无法輸出(chū)或(huò)者(zhě)輸出(chū)失真(zhēn)。
9、DAC的(de)數據(jù)映射
用(yòng)一(yī)个(gè)示例展(zhǎn)示給(gěi)大家(jiā)。
2路(lù)DAC輸出(chū) 4調lane
波(bō)形數據(jù)是(shì):
30FB
7640
7FFF
7640
5A81
30FB
0
CF05
A57F
89C0
8001
89C0
A57F
CF05
0
輸入(rù)到(dào)IP核的(de)數據(jù)(tx_tdata)00057fc000cfa58900057fc000cfa589
00 05 7f c0
00 cf a5 89
00 05 7f c0
00 cf a5 89
第(dì)2路(lù) DAC(順序得看(kàn)數據(jù)手(shǒu)册)
00 05 7f c0 lane 3
00 cf a5 89 lane 2
0x0000 0xcf05 0xa57f 0x89c0
第(dì)1路(lù) DAC(順序得看(kàn)數據(jù)手(shǒu)册)
00 05 7f c0 lane 1
00 cf a5 89 lane 0
0x0000 0xcf05 0xa57f 0x89c0
以(yǐ)上(shàng)就(jiù)是(shì)高(gāo)速AD項目中(zhōng)实現(xiàn)sync同(tóng)步的(de)小經(jīng)验(yàn),不(bù)同(tóng)情(qíng)況遇到(dào)的(de)問(wèn)題(tí)有(yǒu)所(suǒ)不(bù)同(tóng),希望我(wǒ)的(de)思(sī)路(lù)可(kě)以(yǐ)給(gěi)大家(jiā)带(dài)来(lái)幫助,同(tóng)学们(men)也(yě)可(kě)以(yǐ)在(zài)留言評論中(zhōng)與(yǔ)我(wǒ)進(jìn)行讨論。















