藻類含量測(cè)量?jī)x的設(shè)計(jì)與實(shí)現(xiàn)
主要部件設(shè)計(jì)
本文引用地址:http://www.ex-cimer.com/article/147858.htm數(shù)字正弦信號(hào)發(fā)生器
數(shù)字正弦信號(hào)發(fā)生器是通過微處理器和高速數(shù)模轉(zhuǎn)換芯片,用隨時(shí)間快速變化的不連續(xù)的電壓值來逼近正弦信號(hào)。數(shù)字正弦信號(hào)發(fā)生器的作用就是產(chǎn)生880Hz的正弦變化的電壓信號(hào),輸送給LD3000電流驅(qū)動(dòng)器,以產(chǎn)生880Hz正弦變化電流來驅(qū)動(dòng)LED。
微處理器采用美國(guó)德州儀器公司的MSP430F149型號(hào)單片機(jī)。MSP430F149單片機(jī)的時(shí)鐘頻率最高為8MHz,也就是說MSP430F149單片機(jī)的時(shí)鐘周期最小為0.125μs。微處理器的最高時(shí)鐘頻率或者最小時(shí)鐘周期是數(shù)字信號(hào)發(fā)生器設(shè)計(jì)中需要考慮的非常重要的參數(shù),它是數(shù)字信號(hào)發(fā)生器產(chǎn)生一次輸出所需要的時(shí)間的決定性要素之一,因此微處理器的時(shí)鐘頻率在一定程度上決定了數(shù)字信號(hào)發(fā)生器插值逼近所需信號(hào)時(shí)插值的密度。MSP430F149單片機(jī)通過JTAG接口進(jìn)行編程和仿真調(diào)試。MSP430F149單片機(jī)通過SPI接口給高速數(shù)模轉(zhuǎn)換芯片傳送數(shù)字量。MSP430F149單片機(jī)的輸出數(shù)字量符合3.3V的CMOS電平,因?yàn)閱纹瑱C(jī)會(huì)通過SPI接口給DA芯片傳送數(shù)字量,因此必須考慮二者的電平匹配。
數(shù)模轉(zhuǎn)換芯片采用美國(guó)德州儀器公司的TLC5615C。TLC5615數(shù)模轉(zhuǎn)換芯片的標(biāo)稱精度為10位,電平與MSP430F149單片機(jī)的3.3伏特CMOS電平相匹配,可以通過SPI接口接收單片機(jī)傳送的數(shù)字量。TLC5615數(shù)模轉(zhuǎn)換芯片接收到16位的數(shù)據(jù),僅有10位是有效位,高4位和低2位均為無效位。
TLC5615數(shù)模轉(zhuǎn)換芯片的輸出電壓為:
其中,VREFIN為TLC5615數(shù)模轉(zhuǎn)換芯片參考基準(zhǔn)電壓,由芯片MAX6191B提供,為2.048V±5mV。INPUT為輸入的10位有效數(shù)據(jù)換算為10進(jìn)制數(shù)。
TLC5615數(shù)模轉(zhuǎn)換芯片的2個(gè)重要參數(shù)是更新率和穩(wěn)定時(shí)間。片選的最小時(shí)間間隔決定了芯片的更新率最大為約1.21MHz。然而芯片的典型穩(wěn)定時(shí)間為12.5μs,即從給芯片輸入10位有效數(shù)據(jù)到芯片輸出電壓穩(wěn)定到±0.5個(gè)最低有效位,所需要的典型時(shí)間是12.5μs。12.5μs是100個(gè)單片機(jī)時(shí)鐘周期,足夠單片機(jī)通過SPI口對(duì)DA芯片完成一次數(shù)據(jù)傳送,因此數(shù)字正弦信號(hào)發(fā)生器的“短板”就是TLC5615數(shù)模轉(zhuǎn)換芯片的穩(wěn)定時(shí)間12.5μs。12.5μs就是數(shù)字正弦信號(hào)發(fā)生器插值逼近標(biāo)準(zhǔn)正弦波的最小插值時(shí)間。
TLC5615及其參考基準(zhǔn)電壓芯片的電路原理圖如圖2所示。
數(shù)字正弦信號(hào)發(fā)生器的MSP430F149單片機(jī),主程序流程順序執(zhí)行“關(guān)閉看門狗”,“初始化時(shí)鐘”,“初始化SPI接口”,最后循環(huán)發(fā)送DA數(shù)據(jù)。
由于DA芯片的穩(wěn)定時(shí)間為12.5μs,我們將信號(hào)插值的時(shí)間間隔定為12.5μs。按單片機(jī)時(shí)鐘頻率為8MHz,則信號(hào)插值時(shí)間間隔為100個(gè)單片機(jī)時(shí)鐘周期。根據(jù)單片機(jī)程序中每條匯編指令所用的時(shí)鐘周期,通過調(diào)整流程圖中“空指令”所用周期數(shù),使得單片機(jī)給DA發(fā)送數(shù)據(jù)的時(shí)間間隔為100個(gè)時(shí)鐘周期。而每個(gè)正弦信號(hào)周期內(nèi)我們進(jìn)行90次插值,即我們用每個(gè)周期含有90個(gè)階梯的鋸齒波來模擬正弦波。在程序執(zhí)行中,傳送第90個(gè)數(shù)據(jù)與下一輪傳送第1個(gè)數(shù)據(jù)之間的時(shí)間間隔要比其它每相鄰2個(gè)數(shù)據(jù)傳送之間的時(shí)間間隔多3個(gè)單片機(jī)時(shí)鐘周期,故正弦信號(hào)的周期為9003*0.125μs,即
令t=0,12.5μs,25μs,…N*12.5μs…88*12.5μs,89*12.5μs,則得到signal在一個(gè)周期內(nèi)的90個(gè)插值。進(jìn)而得到每個(gè)插值所對(duì)應(yīng)的數(shù)字量,再將這些數(shù)字量轉(zhuǎn)化成16進(jìn)制,并轉(zhuǎn)換為TLC5615輸入16位數(shù)據(jù)的格式,然后將每個(gè)16位數(shù)據(jù)拆分為2個(gè)8位數(shù)據(jù),高位在前,低位在后,就得到了程序中所用的數(shù)據(jù)序列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}。
網(wǎng)線測(cè)試儀相關(guān)文章:網(wǎng)線測(cè)試儀原理
評(píng)論