JESD204B調試笔(bǐ)記(jì)(实用(yòng)版)
作者(zhě):晨风
本(běn)文(wén)为(wèi)明(míng)德揚原創文(wén)章(zhāng),轉(zhuǎn)载請注明(míng)出(chū)处!
進(jìn)行工程的(de)功能(néng)調試时(shí),对(duì)AD9144,AD9516進(jìn)行參數配置是(shì)非(fēi)常重(zhòng)要(yào)且必不(bù)可(kě)少(shǎo)的(de),这(zhè)过(guò)程中(zhōng)遇到(dào)了(le)以(yǐ)下(xià)問(wèn)題(tí)。
一(yī)、問(wèn)題(tí)1
在(zài)我(wǒ)们(men)使用(yòng)上(shàng)位機(jī)软(ruǎn)件(jiàn)進(jìn)行配置时(shí)發(fà)現(xiàn)上(shàng)位機(jī)的(de)log記(jì)录(lù)中(zhōng)有(yǒu)写入(rù)參數而(ér)无读(dú)出(chū)參數,这(zhè)个(gè)問(wèn)題(tí)有(yǒu)两(liǎng)種(zhǒng)可(kě)能(néng)性(xìng),一(yī)是(shì)參數沒(méi)有(yǒu)写入(rù)進(jìn)去(qù)所(suǒ)以(yǐ)读(dú)出(chū)来(lái)的(de)參數都是(shì)0,二(èr)是(shì)写進(jìn)去(qù)了(le)但是(shì)在(zài)读(dú)參數时(shí)出(chū)錯了(le)。
如(rú)图(tú)所(suǒ)示:
对(duì)此(cǐ)我(wǒ)们(men)怀疑是(shì)否是(shì)网(wǎng)路(lù)通(tòng)信(xìn)有(yǒu)問(wèn)題(tí),檢查發(fà)現(xiàn)PC與(yǔ)FPGA連(lián)接的(de)网(wǎng)口(kǒu)千(qiān)兆(zhào)网(wǎng)指燈(dēng)
沒(méi)有(yǒu)亮(liàng)百(bǎi)兆(zhào)网(wǎng)卻亮(liàng)了(le)。
檢查网(wǎng)絡配置發(fà)現(xiàn)网(wǎng)絡的(de)連(lián)接速度(dù)只(zhī)有(yǒu)百(bǎi)兆(zhào)网(wǎng)選項,无法使用(yòng)千(qiān)兆(zhào)网(wǎng)傳輸,也(yě)就(jiù)是(shì)電(diàn)腦不(bù)支持(chí)千(qiān)兆(zhào)网(wǎng)絡。
解(jiě)決方(fāng)法有(yǒu)两(liǎng)種(zhǒng),一(yī)是(shì)重(zhòng)新更(gèng)換電(diàn)腦主(zhǔ)機(jī),二(èr)是(shì)重(zhòng)新更(gèng)改程序将其設置为(wèi)百(bǎi)兆(zhào)网(wǎng)傳輸。
此(cǐ)次(cì)我(wǒ)们(men)選擇方(fāng)法一(yī),更(gèng)換PC主(zhǔ)機(jī)後(hòu)重(zhòng)新测試發(fà)現(xiàn)AD9144,AD9516配置可(kě)以(yǐ)正(zhèng)常读(dú)写,
故此(cǐ)次(cì)問(wèn)題(tí)原因(yīn)是(shì)PC與(yǔ)FPGA网(wǎng)絡接口(kǒu)不(bù)匹(pǐ)配所(suǒ)致(zhì)。
二(èr)、問(wèn)題(tí)2
在(zài)進(jìn)行AD9144,AD9516寄存器配置後(hòu),下(xià)载bit流文(wén)件(jiàn)到(dào)FPGA後(hòu),用(yòng)示波(bō)器观察AD9144輸出(chū)信(xìn)号(hào),發(fà)現(xiàn)无波(bō)形輸出(chū),用(yòng)Vivado抓取(qǔ)信(xìn)号(hào)观察,發(fà)現(xiàn)sync和(hé)tx_tready信(xìn)号(hào)始終(zhōng)为(wèi)低沒(méi)有(yǒu)拉高(gāo),也(yě)就(jiù)是(shì)说(shuō)明(míng)AD9144與(yǔ)jesd204b沒(méi)有(yǒu)同(tóng)步上(shàng)。
同(tóng)步不(bù)上(shàng)的(de)原因(yīn)有(yǒu)多(duō)種(zhǒng),大致(zhì)可(kě)分(fēn)为(wèi)硬(yìng)件(jiàn)問(wèn)題(tí)、时(shí)鐘(zhōng)關(guān)系(xì)問(wèn)題(tí)、寄存器配置問(wèn)題(tí),先(xiān)暫将硬(yìng)件(jiàn)問(wèn)題(tí)排除。
对(duì)时(shí)鐘(zhōng)關(guān)系(xì)進(jìn)行分(fēn)析,發(fà)現(xiàn)时(shí)鐘(zhōng)理論數值計(jì)算結果(guǒ)沒(méi)有(yǒu)錯誤,詳细(xì)的(de)分(fēn)析步驟請自(zì)行查看(kàn)《时(shí)鐘(zhōng)關(guān)系(xì)说(shuō)明(míng)》。
依據(jù)时(shí)鐘(zhōng)關(guān)系(xì)理論值檢查JESD204B的(de)IP核設置,未發(fà)現(xiàn)錯誤。
用(yòng)示波(bō)器檢查FPGA輸送給(gěi)AD9516的(de)分(fēn)頻时(shí)鐘(zhōng)發(fà)現(xiàn)无法偵测到(dào),檢查原理图(tú)後(hòu)定(dìng)位到(dào)对(duì)應(yìng)的(de)引脚,發(fà)現(xiàn)FPGA輸送过(guò)来(lái)的(de)时(shí)鐘(zhōng)过(guò)大超頻了(le),使得示波(bō)器也(yě)无法偵测到(dào)信(xìn)号(hào),通(tòng)过(guò)查找(zhǎo)AD9516的(de)操作手(shǒu)順發(fà)現(xiàn)其用(yòng)来(lái)分(fēn)頻的(de)源时(shí)鐘(zhōng)最(zuì)大值为(wèi)250MHZ,後(hòu)将AD9516源时(shí)鐘(zhōng)設置为(wèi)250MHZ,用(yòng)示波(bō)器也(yě)能(néng)正(zhèng)常测試到(dào)。
250MHZ时(shí)鐘(zhōng)源:
对(duì)程序內(nèi)的(de)时(shí)鐘(zhōng)進(jìn)行分(fēn)析發(fà)現(xiàn)數據(jù)産生(shēng)模块(kuài)的(de)使用(yòng)的(de)时(shí)鐘(zhōng)为(wèi)62.5MHZ,而(ér)用(yòng)来(lái)驅動(dòng)JESD204B模块(kuài)的(de)时(shí)鐘(zhōng)为(wèi)device_clock=125MHZ,因(yīn)为(wèi)數據(jù)産生(shēng)和(hé)數據(jù)傳遞是(shì)同(tóng)步,所(suǒ)以(yǐ)时(shí)鐘(zhōng)不(bù)匹(pǐ)配,将62.5MHZ改为(wèi)125MHZ。
对(duì)照JESD204B的(de)IP核手(shǒu)順提(tí)供的(de)寄存器配置數據(jù),未發(fà)現(xiàn)有(yǒu)錯誤。
JESD204B的(de)IP核參數:
查看(kàn)AD9144寄存器配置手(shǒu)册,找(zhǎo)到(dào)AD9144同(tóng)步信(xìn)号(hào)指示0X470,0X471,0X472,0X473
其分(fēn)别代(dài)表(biǎo)代(dài)碼組同(tóng)步信(xìn)号(hào)既同(tóng)步K碼,幀同(tóng)步信(xìn)号(hào)校(xiào)验(yàn)核檢查标(biāo)志,初始通(tòng)道(dào)同(tóng)步信(xìn)号(hào)。
然後(hòu)再次(cì)通(tòng)过(guò)上(shàng)位機(jī)配置观察配置过(guò)程發(fà)現(xiàn)其他(tā)寄存器值都可(kě)以(yǐ)正(zhèng)常读(dú)写,而(ér)这(zhè)4个(gè)寄存器读(dú)出(chū)值为(wèi)0,也(yě)就(jiù)是(shì)说(shuō)明(míng)硬(yìng)件(jiàn)无問(wèn)題(tí),极(jí)有(yǒu)可(kě)能(néng)是(shì)寄存器配置方(fāng)面(miàn)出(chū)錯了(le)。
同(tóng)步指示寄存器:
查閱AD9144,AD9516手(shǒu)册發(fà)現(xiàn)AD9516的(de)寄存器0X232的(de)写入(rù)值應(yìng)該为(wèi)1,但是(shì)AD9516的(de)配置软(ruǎn)件(jiàn)給(gěi)出(chū)的(de)參考值为(wèi)0,因(yīn)而(ér)更(gèng)改寄存器值後(hòu)能(néng)够成(chéng)功配置。
寄存器配置:
成(chéng)功配置後(hòu)如(rú)下(xià)图(tú)所(suǒ)示:
三(sān)、問(wèn)題(tí)3
解(jiě)決配置問(wèn)題(tí)後(hòu),進(jìn)行测試用(yòng)vivado的(de)观测sync,tx_tready信(xìn)号(hào)發(fà)現(xiàn)信(xìn)号(hào)已經(jīng)拉高(gāo),并且tx_data有(yǒu)數值,说(shuō)明(míng)AD9144與(yǔ)JESD204B已經(jīng)完成(chéng)同(tóng)步了(le)。
同(tóng)步完成(chéng)後(hòu)的(de)信(xìn)号(hào):
但是(shì)在(zài)用(yòng)示波(bō)器观察AD9144的(de)模拟波(bō)形时(shí)發(fà)現(xiàn)波(bō)形與(yǔ)預期(qī)的(de)有(yǒu)偏差,查閱AD9144和(hé)JESD204B的(de)手(shǒu)順并結合vivado的(de)vio功能(néng)来(lái)在(zài)線(xiàn)調試數據(jù),發(fà)現(xiàn)其數模轉(zhuǎn)換的(de)方(fāng)式是(shì)以(yǐ)16進(jìn)制的(de)補碼相对(duì)應(yìng),後(hòu)重(zhòng)新調整數據(jù)後(hòu),輸出(chū)波(bō)形與(yǔ)預期(qī)一(yī)致(zhì),完成(chéng)調試。
异(yì)常波(bō)形(125MHZ):
正(zhèng)常波(bō)形(31.25MHZ):
以(yǐ)上(shàng)就(jiù)是(shì)調試过(guò)程中(zhōng)遇到(dào)的(de)問(wèn)題(tí),这(zhè)里(lǐ)總(zǒng)結出(chū)来(lái)與(yǔ)大家(jiā)分(fēn)享,欢迎在(zài)評論中(zhōng)互相讨論。














