藻類含量測量儀的設計與實現
主要部件設計
本文引用地址:http://www.104case.com/article/147858.htm數字正弦信號發生器
數字正弦信號發生器是通過微處理器和高速數模轉換芯片,用隨時間快速變化的不連續的電壓值來逼近正弦信號。數字正弦信號發生器的作用就是產生880Hz的正弦變化的電壓信號,輸送給LD3000電流驅動器,以產生880Hz正弦變化電流來驅動LED。
微處理器采用美國德州儀器公司的MSP430F149型號單片機。MSP430F149單片機的時鐘頻率最高為8MHz,也就是說MSP430F149單片機的時鐘周期最小為0.125μs。微處理器的最高時鐘頻率或者最小時鐘周期是數字信號發生器設計中需要考慮的非常重要的參數,它是數字信號發生器產生一次輸出所需要的時間的決定性要素之一,因此微處理器的時鐘頻率在一定程度上決定了數字信號發生器插值逼近所需信號時插值的密度。MSP430F149單片機通過JTAG接口進行編程和仿真調試。MSP430F149單片機通過SPI接口給高速數模轉換芯片傳送數字量。MSP430F149單片機的輸出數字量符合3.3V的CMOS電平,因為單片機會通過SPI接口給DA芯片傳送數字量,因此必須考慮二者的電平匹配。
數模轉換芯片采用美國德州儀器公司的TLC5615C。TLC5615數模轉換芯片的標稱精度為10位,電平與MSP430F149單片機的3.3伏特CMOS電平相匹配,可以通過SPI接口接收單片機傳送的數字量。TLC5615數模轉換芯片接收到16位的數據,僅有10位是有效位,高4位和低2位均為無效位。
TLC5615數模轉換芯片的輸出電壓為:

其中,VREFIN為TLC5615數模轉換芯片參考基準電壓,由芯片MAX6191B提供,為2.048V±5mV。INPUT為輸入的10位有效數據換算為10進制數。
TLC5615數模轉換芯片的2個重要參數是更新率和穩定時間。片選的最小時間間隔決定了芯片的更新率最大為約1.21MHz。然而芯片的典型穩定時間為12.5μs,即從給芯片輸入10位有效數據到芯片輸出電壓穩定到±0.5個最低有效位,所需要的典型時間是12.5μs。12.5μs是100個單片機時鐘周期,足夠單片機通過SPI口對DA芯片完成一次數據傳送,因此數字正弦信號發生器的“短板”就是TLC5615數模轉換芯片的穩定時間12.5μs。12.5μs就是數字正弦信號發生器插值逼近標準正弦波的最小插值時間。
TLC5615及其參考基準電壓芯片的電路原理圖如圖2所示。

數字正弦信號發生器的MSP430F149單片機,主程序流程順序執行“關閉看門狗”,“初始化時鐘”,“初始化SPI接口”,最后循環發送DA數據。

由于DA芯片的穩定時間為12.5μs,我們將信號插值的時間間隔定為12.5μs。按單片機時鐘頻率為8MHz,則信號插值時間間隔為100個單片機時鐘周期。根據單片機程序中每條匯編指令所用的時鐘周期,通過調整流程圖中“空指令”所用周期數,使得單片機給DA發送數據的時間間隔為100個時鐘周期。而每個正弦信號周期內我們進行90次插值,即我們用每個周期含有90個階梯的鋸齒波來模擬正弦波。在程序執行中,傳送第90個數據與下一輪傳送第1個數據之間的時間間隔要比其它每相鄰2個數據傳送之間的時間間隔多3個單片機時鐘周期,故正弦信號的周期為9003*0.125μs,即

令t=0,12.5μs,25μs,…N*12.5μs…88*12.5μs,89*12.5μs,則得到signal在一個周期內的90個插值。進而得到每個插值所對應的數字量,再將這些數字量轉化成16進制,并轉換為TLC5615輸入16位數據的格式,然后將每個16位數據拆分為2個8位數據,高位在前,低位在后,就得到了程序中所用的數據序列aa: {0x00,0x00,0x00,0x04,0x00,0x14,0x00,0x2C,0x00,0x50,0x00,0x7C,0x00,0xB0,0x00,0xF0,0x01,0x38,0x01,0x88,0x01,0xE0,0x02,0x3C,0x02,0xA4,0x03,0x10,0x03,0x84,0x04,0x00,0x04,0x7C,0x05,0x00,0x05,0x84,0x06,0x10,0x06,0x98,0x07,0x28,0x07,0xB4,0x08,0x44,0x08,0xD4,0x09,0x60,0x09,0xEC,0x0A,0x74,0x0A,0xFC,0x0B,0x7C,0x0B,0xFC,0x0C,0x74,0x0C,0xE8,0x0D,0x54,0x0D,0xBC,0x0E,0x1C,0x0E,0x74,0x0E,0xC4,0x0F,0x0C,0x0F,0x4C,0x0F,0x80,0x0F,0xAC,0x0F,0xD0,0x0F,0xE8,0x0F,0xF8,0x0F,0xFC,0x0F,0xF8,0x0F,0xE8,0x0F,0xD0,0x0F,0xAC,0x0F,0x80,0x0F,0x4C,0x0F,0x0C,0x0E,0xC8,0x0E,0x78,0x0E,0x20,0x0D,0xC0,0x0D,0x58,0x0C,0xEC,0x0C,0x78,0x0C,0x00,0x0B,0x80,0x0B,0x00,0x0A,0x78,0x09,0xF0,0x09,0x64,0x08,0xD8,0x08,0x48,0x07,0xB8,0x07,0x2C,0x06,0x9C,0x06,0x14,0x05,0x88,0x05,0x04,0x04,0x80,0x04,0x04,0x03,0x88,0x03,0x14,0x02,0xA8,0x02,0x40,0x01,0xE0,0x01,0x88,0x01,0x38,0x00,0xF0,0x00,0xB4,0x00,0x7C,0x00,0x50,0x00,0x2C,0x00,0x14,0x00,0x04}。
網線測試儀相關文章:網線測試儀原理
評論