柴 源,孫翠翠,阮 鵬,張玉梅
(1.吉林師范大學(xué) 信息技術(shù)學(xué)院;2.吉林師范大學(xué) 物理學(xué)院,吉林 四平 136000)
基于DSP的激光脈沖信號(hào)采集與串口通信方法研究
柴 源1,孫翠翠2,阮 鵬1,張玉梅2
(1.吉林師范大學(xué) 信息技術(shù)學(xué)院;2.吉林師范大學(xué) 物理學(xué)院,吉林 四平 136000)
本文主要利用DSP對脈沖信號(hào)進(jìn)行采集與處理,并對DSP與上位機(jī)之間串口通信的方法進(jìn)行了研究.以TMS320LF2407為數(shù)據(jù)采集的核心,利用其模數(shù)轉(zhuǎn)換模塊、數(shù)據(jù)存儲(chǔ)模塊完成數(shù)據(jù)的采集;通過串口通信模塊實(shí)現(xiàn)DSP與上位機(jī)之間的數(shù)據(jù)傳輸.
數(shù)據(jù)采集;DSP;串口通信
上世紀(jì)80年代,隨著激光技術(shù)的誕生與飛速發(fā)展,激光技術(shù)廣泛應(yīng)用于醫(yī)療、工業(yè)、軍事及國防等各個(gè)領(lǐng)域.尤其在軍事國防領(lǐng)域,激光脈沖信號(hào)的數(shù)據(jù)采集與傳輸技術(shù)成為了普遍關(guān)注和研究的重點(diǎn).若采用有效合理的數(shù)據(jù)處理系統(tǒng),就能進(jìn)一步提高脈沖信號(hào)采集及串口通信進(jìn)行傳輸?shù)乃俣?,為后續(xù)的告警系統(tǒng)發(fā)出警告、啟動(dòng)相應(yīng)的干擾和實(shí)施掩護(hù)措施提供即時(shí)準(zhǔn)確的信息.由此可見,對激光脈沖信號(hào)的采集與數(shù)據(jù)處理、串口通信技術(shù)方法的深入研究,有著十分重要的意義.
本文以TMS320LF2407作為數(shù)據(jù)采集的核心,對激光脈沖信號(hào)進(jìn)行采集處理,將接收的激光脈沖信號(hào),通過光電轉(zhuǎn)換模塊、DSP號(hào)采集處理模塊、串口通信模塊傳送給上位機(jī),完成對激光信號(hào)的數(shù)據(jù)采集與串口通信過程.圖1為系統(tǒng)的整體框圖.
圖1 信號(hào)采集處理與串口通信系統(tǒng)框圖
2.1 光電轉(zhuǎn)化模塊
光電轉(zhuǎn)化模塊作為信號(hào)處理的前置調(diào)理模塊,主要負(fù)責(zé)將接收到的激光脈沖信號(hào)轉(zhuǎn)換成電信號(hào),并進(jìn)行放大處理.
對高速脈沖信號(hào)的放大處理,一般都采用集成運(yùn)算放大器[1].其優(yōu)點(diǎn)主要是:(1)輸入級(jí)是差分電路,可以有效減少溫漂;(2)輸入低電流狀態(tài)可以獲得高輸入阻抗;(3)中間電壓放大級(jí)采用有源負(fù)載的共發(fā)射極電路,增益大;(4)輸出級(jí)為互補(bǔ)對稱電路,輸出功率大、輸出電阻??;(5)偏置電路中各種電流源給各級(jí)電路提供合適的靜態(tài)電流.
本文的激光脈沖信號(hào)前沿上升時(shí)間為5~6ns,放大器的帶寬在60~70MHz,就可以滿足系統(tǒng)的要求.放大電路采用AD8331集成運(yùn)算放大器,對放大器GAIN引腳進(jìn)行設(shè)定,設(shè)定電壓為0.6V,可得到30dB的電壓增益.同時(shí),連接退耦電容來防止電源的紋波干擾.放大電路原理圖如圖2所示.
圖2 放大電路原理圖
圖3 高速比較電路原理圖
信號(hào)通過放大電路,信號(hào)幅值被放大,但因其脈寬窄,要想被DSP準(zhǔn)確無誤的采集到,需連接峰值保持電路,使信號(hào)的峰值保持時(shí)間滿足系統(tǒng)采集所需要的最小時(shí)間.為了提高信號(hào)的準(zhǔn)確度,進(jìn)一步防止噪聲所帶來的誤觸發(fā),在峰值保持電路后接一個(gè)高速比較電路,通過設(shè)定輸入電壓的范圍,來濾除干擾信號(hào).對于高速比較電路的選擇,需要滿足兩個(gè)條件:(1)傳輸時(shí)間為納秒級(jí);(2)輸出電壓范圍符合DSP外部中斷所要求的電壓值.出于對以上兩點(diǎn)考慮,選擇傳輸時(shí)間為4納秒、輸出電平為TTL電平的AD8612作為比較電路,電路圖如圖3所示.
采用AD8612最大優(yōu)點(diǎn)是可以通過對電阻的設(shè)定,來調(diào)節(jié)輸入電壓的范圍.從高速比較電路出來的信號(hào),即為DSP的外部硬件中斷信號(hào).
2.2 DSP信號(hào)采集處理模塊
TMS320LF2407DSP具有強(qiáng)大的內(nèi)外片資源,放棄了傳統(tǒng)單片機(jī)的馮.諾依曼結(jié)構(gòu),采用了程序存儲(chǔ)總線和數(shù)據(jù)存儲(chǔ)總線分開的哈佛結(jié)構(gòu)[2].在數(shù)據(jù)采集系統(tǒng)中,主要用到了數(shù)據(jù)/程序存儲(chǔ)模塊、模數(shù)轉(zhuǎn)換模塊(ADC)、串口通信模塊.數(shù)據(jù)采集系統(tǒng)的框圖如圖4所示.
圖4 DSP數(shù)據(jù)采集系統(tǒng)硬件模塊圖
TMS320LF2407DSP的模數(shù)轉(zhuǎn)換模塊ADC的排序器可以選擇單獨(dú)的8個(gè)模擬轉(zhuǎn)換通道,也可以選擇2個(gè)排序器級(jí)聯(lián)成16個(gè)模擬轉(zhuǎn)換通道,這兩種ADC排序器的工作方式比較如下表所示.
表1 兩種ADC排序器工作方式對比
ADC模塊的啟動(dòng)方式是DSP響應(yīng)外部中斷信號(hào),或是通過查詢I/O口初始信號(hào)來進(jìn)行啟動(dòng).因?yàn)樾枰杉男盘?hào)是脈沖信號(hào),信號(hào)到來時(shí)間不固定,若采用I/O口查詢初始信號(hào)方式來啟動(dòng)ADC模塊,DSP的主要工作就都被查詢I/O口是否有信號(hào)占用,處理其他工作的資源將被占用.相反,外部中斷方式不需要DSP進(jìn)行實(shí)時(shí)查詢,只在有外部中斷時(shí)進(jìn)行響應(yīng),且中斷結(jié)束后,不影響DSP繼續(xù)之前的數(shù)據(jù)處理.從兩種方式相互比較可以看出,中斷方式可以更好地處理數(shù)據(jù),不影響DSP的工作效率.當(dāng)一個(gè)外設(shè)引起中斷,則在DSP中與其對應(yīng)的中斷使能位就會(huì)被設(shè)置為1,從而向外設(shè)中斷請求寄存器發(fā)出請求信號(hào),使外設(shè)中斷請求寄存器(PIRQR)相應(yīng)位置1,并且為了方便CPU區(qū)分不同的外設(shè)中斷請求,在中斷向量寄存器(PIVR)中,分別加載中斷向量,每中斷向量對應(yīng)唯一一個(gè)外設(shè)中斷請求都.在中斷控制寄存器里,PIRQR這個(gè)位信息被邏輯綜合后,產(chǎn)生中斷請求,CPU根據(jù)不同的中斷向量,判斷并響應(yīng)中斷.
通過對DSP模數(shù)轉(zhuǎn)換模塊ADC排序器及啟動(dòng)方式等分析比較,并且從盡量使信號(hào)采集系統(tǒng)結(jié)構(gòu)簡單明了,并降低系統(tǒng)成本角度考慮,TMS320LF2407DSP內(nèi)部的ADC就可以滿足系統(tǒng)要求[3].這里ADC排序器選擇單8通道(SEQ1)排序器工作方式,由多路選擇器選擇6路模擬輸入通道;中斷選擇外部電平上升沿觸發(fā)方式,引腳XINT2/ADCSOC作為觸發(fā)源,而其余的內(nèi)部中斷,都固定為邊沿觸發(fā)方式,它們與中斷控制器的連接都由DSP的內(nèi)部總線來完成.設(shè)外設(shè)中斷寄存器XINT2中的位2=1時(shí),與設(shè)定向量值相同,則響應(yīng)外部中斷請求,啟動(dòng)ADC模塊進(jìn)行數(shù)據(jù)采集,并且對每路信號(hào)進(jìn)行多次采樣,得到平均值.
數(shù)據(jù)采集完成后,需要將數(shù)據(jù)存入存儲(chǔ)模塊.對于系統(tǒng)來說,數(shù)據(jù)的傳輸量與數(shù)據(jù)的存儲(chǔ)量都不大,因此DSP內(nèi)部的存儲(chǔ)模塊滿足數(shù)據(jù)存儲(chǔ)要求,不需要外加存儲(chǔ)器.存儲(chǔ)模塊中,每個(gè)存儲(chǔ)單元與模擬信號(hào)輸入是一一對應(yīng)的.將逐次轉(zhuǎn)換后的數(shù)據(jù)存入與其模擬通道相對應(yīng)的結(jié)果寄存器中,即第N通道的轉(zhuǎn)換結(jié)果,保存在結(jié)果寄存器RESULTn(N)中,以此類推.對于沒有數(shù)據(jù)轉(zhuǎn)換結(jié)果的通道,ADC在轉(zhuǎn)換之前就會(huì)將其舍棄,保證轉(zhuǎn)化效率.圖5為ADC工作流程圖.
圖5 ADC進(jìn)行模/數(shù)轉(zhuǎn)換流程圖
經(jīng)過ADC轉(zhuǎn)換后的數(shù)據(jù)雖然存儲(chǔ)在與其相對應(yīng)的結(jié)果寄存器RESULTn中,但RESULTn寄存器中的數(shù)據(jù)不能直接傳輸.此時(shí),通過對DSP進(jìn)行軟件編程,將寄存在RESULTn中的數(shù)據(jù)提取出來,存放在系統(tǒng)隨機(jī)產(chǎn)生的串口通信寄存器中,數(shù)據(jù)才能用于串口通信傳輸.
2.3 串口通信模塊
TMS320LF2407DSP芯片本身的串行通信接口SCI模塊,可編程、支持RS-232協(xié)議[4].只要異步外設(shè)使用的是標(biāo)準(zhǔn)格式,就支持CPU與其之間的數(shù)字通信.它的接收器和發(fā)送器分別有各自的使能位和中斷位,并且是雙緩沖的,可獨(dú)立在雙工模式下工作.無論是發(fā)送數(shù)據(jù)還是接收數(shù)據(jù),可以借助中斷驅(qū)動(dòng)或通過查詢來完成.SCI-RXD和SCI-TXD這兩個(gè)引腳,是SCI模塊外部的輸入/輸出引腳.當(dāng)DSP發(fā)送數(shù)據(jù)時(shí),發(fā)送數(shù)據(jù)緩沖寄存器SCITXBUF從CPU裝載數(shù)據(jù),將數(shù)據(jù)從發(fā)送引腳SCI-TXD發(fā)送出去;當(dāng)接收數(shù)據(jù)時(shí),接收引腳SCI-RXD將接收到的數(shù)據(jù)存放在數(shù)據(jù)緩沖寄存器(SCIRXBUF)中.SCI模塊在檢測串行通信接口工作狀態(tài)的同時(shí),對接收的數(shù)據(jù)進(jìn)行奇偶性、間斷性檢測等檢查,保證了數(shù)據(jù)的完整性.
由于DSP的SCIRXD、SCITXD兩個(gè)引腳采用TTL電平,即在數(shù)據(jù)傳輸線TXD和RXD上,+3V~+15V代表邏輯“0”,-3V~-15V代表邏輯“1”;而RS-232標(biāo)準(zhǔn)中邏輯電平由正負(fù)電壓來表示,因此,在DSP和上位機(jī)之間需加入一個(gè)硬件電路,使TTL電平和RS-232傳輸電平在接收和發(fā)送時(shí)能夠進(jìn)行相互轉(zhuǎn)換,保證電平相匹配,才能進(jìn)行串行通信.本文采用了功耗低、集成度高的MAX232作為RS-232接口電平與TTL電平的轉(zhuǎn)換電路.并加入一個(gè)二極管和三個(gè)電阻這樣的典型電平匹配電路,進(jìn)行電平轉(zhuǎn)換.MAX232是+5V供電,電平表示“1”,可將-3~-15V電平轉(zhuǎn)化為邏輯“1”;供電電壓0V時(shí),電平表示“0”,可將+3~+15V電平轉(zhuǎn)化為邏輯“0”,簡化了外圍接口電路,提高了可靠性.串行通信接口電路的原理圖如圖6所示.
圖6 串行通信接口電路的硬件電路圖
2.4 DSP與上位機(jī)串行通信的軟件設(shè)計(jì)
DSP與上位機(jī)進(jìn)行接收數(shù)據(jù)/發(fā)送數(shù)據(jù)通信前,需要對SCI串行模塊進(jìn)行初始化,并且對波特率、停止位、奇偶校驗(yàn)位等進(jìn)行設(shè)置,且保證設(shè)置與PC機(jī)上的設(shè)置相一致,才能保證通信的正常進(jìn)行[5,6].當(dāng)需要發(fā)送數(shù)據(jù)時(shí),DSP通過微控制器控制數(shù)據(jù)發(fā)送過程;與DSP發(fā)送數(shù)據(jù)時(shí)所具有的主動(dòng)性不同,DSP接收數(shù)據(jù)時(shí)則具有隨機(jī)性,每接收一個(gè)字節(jié)數(shù)據(jù)存儲(chǔ)到SCIRXBUF寄存器中,DSP要想繼續(xù)接收數(shù)據(jù),必須及時(shí)將之前存入SCIRXBUF寄存器中的數(shù)據(jù)取走,才能繼續(xù)數(shù)據(jù)接收工作.DSP在接收上位機(jī)所發(fā)總的數(shù)據(jù)指令時(shí),同樣也具有兩種接收方式:查詢方式和中斷方式.查詢方式需要設(shè)定程序,以循環(huán)檢測方式實(shí)時(shí)檢測端口是否接收到數(shù)據(jù),在串行口和接口電路之間交換數(shù)據(jù)信息、狀態(tài)信息和控制信息,嚴(yán)重影響DSP的利用率;而中斷方式同樣也不需要實(shí)時(shí)查詢,并且不影響主程序的運(yùn)行,可有效的減少片內(nèi)資源損耗,有助于系統(tǒng)通信實(shí)用性的提高.根據(jù)以上分析,DSP發(fā)送數(shù)據(jù)時(shí),通過在程序中設(shè)置發(fā)送標(biāo)志位,并查詢標(biāo)志位是否成立,如果成立則DSP調(diào)用函數(shù),發(fā)送給上位機(jī)接收;發(fā)送流程圖如圖7所示.上位機(jī)發(fā)送數(shù)據(jù),DSP接收采用中斷方式,響應(yīng)中斷服務(wù)程序來接收數(shù)據(jù),接收流程圖如圖8所示.
采用函數(shù)調(diào)用和系統(tǒng)中斷方式進(jìn)行串口通信,不僅提高了DSP的工作效率,使數(shù)據(jù)及時(shí)可靠的傳遞,還可以為DSP后續(xù)工作節(jié)省資源,方便數(shù)據(jù)管理及調(diào)整監(jiān)控,有利于系統(tǒng)的進(jìn)一步開發(fā)與利用.DSP整體電路原理圖如圖9所示.
圖7 DSP串行通信發(fā)送流程圖
圖8 串行通信接收流程圖
圖9 DSP部分電路圖
本文主要對激光脈沖信號(hào)采集與串口通信的方法進(jìn)行了主要研究,通過對系統(tǒng)的軟硬件設(shè)計(jì),利用DSP對數(shù)據(jù)進(jìn)行了接收處理,及DSP與上位機(jī)之間的數(shù)據(jù)交換,并進(jìn)行了初步調(diào)試.與傳統(tǒng)單片機(jī)相比,系統(tǒng)結(jié)構(gòu)簡單、穩(wěn)定性好、數(shù)據(jù)處理快速、程序設(shè)定簡易,為今后系統(tǒng)進(jìn)一步提高信號(hào)的準(zhǔn)確度,設(shè)計(jì)抗干擾濾波方法及人機(jī)交互界面的研究打下了基礎(chǔ).
〔1〕趙保經(jīng).集成運(yùn)算放大器[M].北京:國防工業(yè)出報(bào)社,2003.134~140.
〔2〕劉和平.TMS320LF240xDSP結(jié)構(gòu)、原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2006.24~30.
〔3〕顧群楠,殷德奎.基于TMS320LF2407A的高速高精度數(shù)據(jù)采集系統(tǒng)[J].科學(xué)技術(shù)與工程,2005(6):105~108.
〔4〕劉樂善,歐陽星明,劉學(xué)清.微型計(jì)算機(jī)接口技術(shù)及應(yīng)用[M].武漢:華中科技大學(xué)出版社,2000.207~225.
〔5〕郭京蕾,吳勇.DSP和PC機(jī)的串行通信[J].計(jì)算機(jī)工程與設(shè)計(jì),2004(3):475~477.
〔6〕柳愛美,成小明,羅安.DSP與上位機(jī)之間數(shù)據(jù)通信的研究與應(yīng)用[J].微計(jì)算機(jī)信息,2002(8):54~55.
TP274.2
A
1673-260X(2016)12-0030-03
2016-09-07