一、AD7175-8介紹
AD7175-8是一款比較新的ADC器件了,至今還沒有找到完整的FPGA的驅動例程,從get新板到最終調試OK也花了快一個月的時間了,終於調試完成。當然,產品介紹在ADI官網上更加詳細,我只是簡單說幾個比較重要,我們經常考慮的幾個特點吧:
通道掃描數據速率:50 kSPS
可配置通道數:1-16個
輸出數據位寬:24位寬(最高位爲符號位,剩下23位就都是數據位了,因此精度是相當高的)
二、調試過程
1.Verilog源代碼鏈接:
輸入輸出如下圖所示:
2.使用介紹:
fpga_clk_i:外部FPGA模塊的主控時鐘;
adc_clk_i:將要輸出給ADC器件的SCLK的數據傳輸時鐘,即SPI時鐘信號線,一般爲20MHz;
reset_n_i:復位信號;
start_conversion_i:讀取數據寄存器使能,即將該變量置1時,該模塊將讀取AD7175-8採樣到的電壓數值;
dma_data_o:該變量32位寬,高8位爲對應通道數值,低24位爲採樣到的電壓數值;
dma_data_rdy_o:讀取數據寄存器完成信號線,讀完後拉高,即表示dma_data_o中存儲了電壓數值;
start_transmission_i:寫寄存器使能,拉高有效;
tx_data_i:寄存器的地址與配置數值;
tx_data_rdy_o:一個寄存器配置完成信號,配置完後拉高,即表示該寄存器配置完成;
start_read_i:讀寄存器使能,高有效;
rx_data_o:要讀取的寄存器的地址;
rx_data_rdy_o:寄存器讀取完成信號,讀取完成後拉高,即該數值中爲要讀取的寄存器地址;
adc_sdo_i:來自ADC器件的SPI輸入信號
adc_sdi_o:給ADC器件的SPI輸出信號
adc_cs_o:SPI片選信號,低有效
adc_sclk_o:SPI時鐘信號
sclk_cnt_o:給頂層輸出的當前模塊狀態判斷
3.調試過程:
小編建議,如下調試步驟:
1.讀懂上述代碼的具體作用與功能;
2.讀取ADC器件的ID寄存器,若爲3CDX,則表示時序無問題;
3.寫入寄存器,再讀取寫入的寄存器,若兩者一致表示寄存器讀寫完全OK;
4.配置單通道,並完成電壓信號的採集
5.配置多通道,完全Ok
小編也是花了一個多月的時間才調試OK,中途肯定會遇到很多莫名其妙的問題,但一定要有耐心解決噢,終於可以鬆一口氣啦!