本(běn)文(wén)为(wèi)明(míng)德揚原創文(wén)章(zhāng),轉(zhuǎn)载請注明(míng)出(chū)处!
一(yī)、背景
AD9144是(shì)一(yī)款支持(chí)jesd204b協議高(gāo)速DAC芯片(piàn)。AD9144-FMC-EBZ是(shì)基于(yú)AD9144的(de)評估板(Evaluation Board),它(tā)是(shì)主(zhǔ)要(yào)由(yóu)AD9144,AD9516,與(yǔ)PIC16F單片(piàn)機(jī)組成(chéng)的(de)系(xì)統。工程上(shàng)使用(yòng)AD9144具有(yǒu)时(shí)鐘(zhōng)时(shí)序要(yào)求很高(gāo)和(hé)寄存器配置複雜的(de)難點(diǎn)。
配置AD9144-FMC-EBZ,有(yǒu)两(liǎng)種(zhǒng)途徑:
1、通(tòng)过(guò)FPGA母板,經(jīng)由(yóu)FMC接口(kǒu),使用(yòng)SPI配置寄存器
2、通(tòng)过(guò)ADI提(tí)供的(de)软(ruǎn)件(jiàn)工具,配合母板(ADS7)来(lái)配置寄存器,如(rú)图(tú)所(suǒ)示:
官方(fāng)的(de)指導说(shuō)明(míng)鍊(liàn)接:https://wiki.analog.com/resources/eval/dpg/ad9144-fmc-ebz
遇到(dào)問(wèn)題(tí):
我(wǒ)们(men)在(zài)嘗試第(dì)一(yī)種(zhǒng)方(fāng)法的(de)时(shí)候,遇到(dào)了(le)SPI寄存器写不(bù)進(jìn)的(de)情(qíng)況和(hé)读(dú)写不(bù)一(yī)致(zhì)的(de)情(qíng)況。
而(ér)第(dì)二(èr)種(zhǒng)方(fāng)法則需要(yào)ADS7用(yòng)作母板。
二(èr)、調試
在(zài)明(míng)德揚潘老(lǎo)师(shī)的(de)幫助下(xià),完成(chéng)了(le)以(yǐ)KC705作为(wèi)母板,正(zhèng)确配置AD9144,并輸出(chū)62.5MHz正(zhèng)弦波(bō)。
整个(gè)流程需要(yào)先(xiān)在(zài)KC705上(shàng)運行提(tí)供的(de)HDL工程,随後(hòu)進(jìn)入(rù)软(ruǎn)件(jiàn)工具配置流程。这(zhè)里(lǐ)的(de)HDL工程主(zhǔ)要(yào)完成(chéng)的(de)是(shì):Jesd204發(fà)送端的(de)配置與(yǔ)正(zhèng)弦餘弦信(xìn)号(hào)的(de)輸出(chū)。另(lìng)外(wài),这(zhè)里(lǐ)的(de)软(ruǎn)件(jiàn)工具配置流程既使用(yòng)ADI官方(fāng)提(tí)供的(de)工具对(duì)AD9144和(hé)AD9516分(fēn)别進(jìn)行配置。
在(zài)調試開(kāi)始前(qián),硬(yìng)件(jiàn)鍊(liàn)接如(rú)下(xià)图(tú)所(suǒ)示:
1、AD9516寄存器配置獲得
AD9516的(de)作用(yòng)是(shì)对(duì)輸入(rù)时(shí)鐘(zhōng)分(fēn)頻,为(wèi)AD9144分(fēn)别提(tí)供:sysref(3.91M),和(hé)refclk(125M)。
这(zhè)里(lǐ)使用(yòng)了(le)AD9516-Evaluation-Software完成(chéng)配置。软(ruǎn)件(jiàn)下(xià)载鍊(liàn)接:
在(zài)安(ān)裝(zhuāng)結束(shù)後(hòu),打(dǎ)開(kāi)软(ruǎn)件(jiàn)并選擇正(zhèng)确的(de)型号(hào),这(zhè)里(lǐ)選AD9516-1
分(fēn)别按下(xià)图(tú)所(suǒ)示進(jìn)行配置:輸入(rù)时(shí)鐘(zhōng)(来(lái)自(zì)KC705)設置为(wèi)2500;分(fēn)頻系(xì)數如(rú)图(tú)設置:最(zuì)後(hòu)得到(dào)两(liǎng)組頻率为(wèi)120M和(hé)3.9063M的(de)时(shí)鐘(zhōng);點(diǎn)擊左(zuǒ)下(xià)角(jiǎo)的(de)橙色(sè)框(RGISTER W/R)中(zhōng)的(de)WRITE。
點(diǎn)擊“file”,點(diǎn)擊“Save Setup”,導出(chū)“stp”文(wén)件(jiàn),如(rú)下(xià)图(tú)所(suǒ)示。
打(dǎ)開(kāi)導出(chū)的(de).stp文(wén)件(jiàn),如(rú)图(tú):这(zhè)个(gè)文(wén)件(jiàn)記(jì)录(lù)了(le)寄存器地(dì)址與(yǔ)对(duì)應(yìng)的(de)值,将于(yú)後(hòu)續步驟導入(rù)。
2、AD9144&AD9516寄存器配置:
A、首先(xiān)到(dào)AD公司官网(wǎng)搜索DAC Software Suite和(hé)Analysis Control Evaluation软(ruǎn)件(jiàn),下(xià)载并安(ān)裝(zhuāng);
B、打(dǎ)開(kāi)已經(jīng)安(ān)裝(zhuāng)好(hǎo)的(de)ACE软(ruǎn)件(jiàn),界面(miàn)如(rú)下(xià)图(tú)所(suǒ)示。在(zài)硬(yìng)件(jiàn)連(lián)接正(zhèng)确的(de)情(qíng)況下(xià),图(tú)中(zhōng)紅(hóng)圈会(huì)檢测到(dào)所(suǒ)連(lián)接的(de)硬(yìng)件(jiàn)板卡(kǎ),點(diǎn)擊图(tú)中(zhōng)綠(lǜ)圈的(de)LED狀按鈕,AD9144-FMC-EBZ板卡(kǎ)上(shàng)的(de)藍(lán)色(sè)LED燈(dēng)会(huì)随之閃爍,说(shuō)明(míng)連(lián)接成(chéng)功。
C、双(shuāng)擊打(dǎ)開(kāi)“AD9144-FMC-EBZ”板卡(kǎ)。在(zài)“initial configuration”界面(miàn)中(zhōng)按如(rú)图(tú)所(suǒ)示進(jìn)行設置,點(diǎn)擊“summary”并“apply”,双(shuāng)擊右(yòu)側紅(hóng)色(sè)图(tú)框中(zhōng)的(de)AD9144芯片(piàn)。
D、在(zài)打(dǎ)開(kāi)的(de)界面(miàn)中(zhōng)按图(tú)中(zhōng)配置設置DAC calibration,選擇“DAC3 DAC2”并點(diǎn)擊“calibrate”。
E、點(diǎn)擊上(shàng)图(tú)右(yòu)下(xià)角(jiǎo)的(de)“Proceed to memory map”,按照項目所(suǒ)需配置好(hǎo)AD9144相關(guān)的(de)寄存器表(biǎo)的(de)值,點(diǎn)擊右(yòu)上(shàng)apply selected将对(duì)應(yìng)的(de)寄存器值写入(rù)AD9144芯片(piàn)。
F、在(zài)電(diàn)腦開(kāi)始菜單>Analog Devices尋找(zhǎo)“AD9144&AD9135&AD9136 SPI”并打(dǎ)開(kāi),软(ruǎn)件(jiàn)界面(miàn)如(rú)图(tú)所(suǒ)示:
G、在(zài)上(shàng)方(fāng)框中(zhōng)點(diǎn)擊“read all registers”,然後(hòu)點(diǎn)擊“save registers to file”得到(dào)“.csv”文(wén)件(jiàn),右(yòu)鍵将其用(yòng)記(jì)事(shì)本(běn)打(dǎ)開(kāi),如(rú)图(tú)所(suǒ)示,找(zhǎo)到(dào)AD9516芯片(piàn)開(kāi)头(tóu)的(de)寄存器區(qū)域,将之前(qián)通(tòng)过(guò)AD9516 Evaluation Software得到(dào)的(de)stp文(wén)件(jiàn)中(zhōng)的(de)寄存器值添加進(jìn).csv文(wén)件(jiàn)中(zhōng)并保存。
如(rú)图(tú)所(suǒ)示,第(dì)一(yī)列是(shì)AD9144/AD9516的(de)芯片(piàn),第(dì)二(èr)列是(shì)对(duì)應(yìng)芯片(piàn)的(de)寄存器地(dì)址,第(dì)三(sān)列是(shì)寄存器对(duì)應(yìng)的(de)值,将AD9516所(suǒ)有(yǒu)寄存器的(de)值添加進(jìn)来(lái)并保存。
H、打(dǎ)開(kāi)“AD9144&AD9135&AD9136 SPI”软(ruǎn)件(jiàn)并選擇“restore registers from file”,将上(shàng)一(yī)步中(zhōng)修改保存好(hǎo)的(de).csv文(wén)件(jiàn)導入(rù)。
I、将vivado中(zhōng)的(de)工程bit流文(wén)件(jiàn)燒录(lù)到(dào)板子上(shàng),通(tòng)过(guò)ila抓取(qǔ)并观察tx_sync信(xìn)号(hào),發(fà)現(xiàn)信(xìn)号(hào)持(chí)續拉高(gāo),返回(huí)AD9144&AD9135&AD9136 SPI软(ruǎn)件(jiàn)read all registers,观察如(rú)图(tú)區(qū)域,如(rú)果(guǒ)图(tú)中(zhōng)所(suǒ)示四(sì)个(gè)寄存器值都为(wèi)0F,vivado tx_sync持(chí)續拉高(gāo),并且txdata有(yǒu)數值輸出(chū),則说(shuō)明(míng)AD9144與(yǔ)JESD204B同(tóng)步成(chéng)功,此(cǐ)时(shí)用(yòng)示波(bō)器测量(liàng)AD9144板卡(kǎ)輸出(chū)可(kě)观测到(dào)波(bō)形輸出(chū)。
三(sān)、調試过(guò)程中(zhōng)遭(zāo)遇問(wèn)題(tí)
1.SPI配置失敗問(wèn)題(tí)?
2.AXI-Lite的(de)參數設置?
通(tòng)过(guò)在(zài)Analysis Control Evaluation软(ruǎn)件(jiàn)中(zhōng)读(dú)取(qǔ)AD9144寄存器表(biǎo)值,查詢0x453-0x45A寄存器值,得到(dào)關(guān)鍵參數L,SCR,F,K,M,N,N’,S,CF,HD等的(de)值。
通(tòng)过(guò)文(wén)檔PG066 P27-P28中(zhōng)所(suǒ)示的(de)值,計(jì)算出(chū)AXI協議所(suǒ)需要(yào)的(de)每个(gè)寄存器地(dì)址的(de)值。填入(rù)到(dào)vivado工程模块(kuài)中(zhōng)的(de)AXI協議部(bù)分(fēn)。
Vivado工程中(zhōng)的(de)AXI協議部(bù)分(fēn):地(dì)址填入(rù)PG066 P27-P28中(zhōng)的(de)寄存器地(dì)址,值填入(rù)更(gèng)據(jù)關(guān)鍵參數算出(chū)来(lái)的(de)值。
以(yǐ)上(shàng)就(jiù)是(shì)AD9144的(de)調試心(xīn)得分(fēn)享,持(chí)續關(guān)注明(míng)德揚可(kě)了(le)解(jiě)更(gèng)多(duō),也(yě)可(kě)加入(rù)明(míng)德揚QQ群(qún)進(jìn)行深入(rù)讨論。















