基于CPLD的MAX1032采樣控制的方法與實現(xiàn)
圖6所示是Modelsim的仿真波形。SCLK上跳沿DIN_out的數(shù)據(jù)被MAX1032讀取。 本文引用地址:http://m.butianyuan.cn/article/148388.htm
程序的第二部分的作用是將MAX1032輸出的串行采樣結(jié)果存入CPLD內(nèi)部的一個14位寄存器。采樣結(jié)果DOUT_in_S是14位的串行序列。CPLD在SCLK的上跳沿讀取數(shù)據(jù)后,可將其存到一個內(nèi)部寄存器,再由DOUT選擇輸出寄存器的高或低八位數(shù)據(jù)讀出。最后的采樣結(jié)果是并行輸出的。總共2個字節(jié),末兩位數(shù)據(jù)無效。對于外部時鐘模式,可從加載轉(zhuǎn)換啟動字開始計算,在第16個SCLK下跳沿,芯片將輸入采樣結(jié)果。得到結(jié)果即可按照公式(采樣電壓=12x(轉(zhuǎn)換成十進(jìn)制的輸出結(jié)果)/16384)進(jìn)行計算。以下是這部分功能的可綜合代碼:
圖7所示是Moddsim仿真的CPLD讀取MAX1032的采樣結(jié)果并將其存入寄存器DOUT_P_buf的仿真圖。由圖可見,在啟動采樣后的第16個SCLK的下跳沿,MAX1032輸出14位串行采樣結(jié)果,CPLD將其存入內(nèi)部寄存器中以待系統(tǒng)讀取。一般在下一次采樣之前,需要將CPLD復(fù)位來清除上一次采樣的數(shù)據(jù)。由于外部時鐘模式下的SSTRB始終為低,故本例沒有對該信號進(jìn)行處理。
5 結(jié)束語
本文介紹了利用CPLD控制MAX1032進(jìn)行采樣的實現(xiàn)方法,包括CPLD的內(nèi)部邏輯設(shè)計和對采樣信號的處理等。實驗證明,該方法能夠適用
需要使用CPLD控制外圍電路的場合。
評論