基于DSP 的高速信號(hào)采集系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引言
數(shù)據(jù)采集技術(shù)是一項(xiàng)基本的實(shí)用性技術(shù),已被廣泛地應(yīng)用于測量、檢測、控制、診斷等各個(gè)領(lǐng)域。隨著電子技術(shù), 計(jì)算機(jī)技術(shù)和通信技術(shù)的迅猛發(fā)展, 國內(nèi)外用數(shù)字信號(hào)處理的辦法檢測, 采集, 分析, 處理各種數(shù)據(jù)已經(jīng)成為一種趨勢,而運(yùn)用數(shù)字信號(hào)處理的方法對(duì)現(xiàn)場采集的音頻信號(hào)進(jìn)行實(shí)時(shí)分析,為現(xiàn)場狀況的預(yù)測提供精確的數(shù)據(jù)分析依據(jù),現(xiàn)己經(jīng)在故障檢測、災(zāi)害預(yù)防、軍事等方面得到了廣泛的應(yīng)用。在鋁電解工業(yè)中,確認(rèn)電解槽的破損形式和部位時(shí)可利用其發(fā)出的信號(hào)進(jìn)行檢測。在鋁電解的生產(chǎn)過程中會(huì)產(chǎn)生一些特征頻率,如熔體循環(huán)流動(dòng)、界面波動(dòng)、陽極氣體排出等等,也可以利用這些信號(hào)所傳達(dá)的信息實(shí)時(shí)檢測進(jìn)行故障預(yù)防。本設(shè)計(jì)的功能是采集鋁電解槽的20kHz 以下頻率信號(hào)即音頻信號(hào)緩沖存儲(chǔ)并實(shí)時(shí)上傳到PC 機(jī)并且接收PC 機(jī)傳來的指揮信號(hào)。
2 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)
單片機(jī)工作頻率較低, 其信號(hào)處理能力遠(yuǎn)遠(yuǎn)不及DS P , 但是它擁有豐富的接口, 本設(shè)計(jì)中用到了較多芯片, 其初始化控制協(xié)調(diào)運(yùn)行等需要較多的接口, 所以選擇單片機(jī)作為主機(jī)控制所有芯片。DSP 主頻為100MHz肯定達(dá)到處理要求,外擴(kuò)的64k SRAM 為語音濾波等算法提供了空間。在與PC 機(jī)的通訊中,DSP 沒有內(nèi)置任何通訊模塊, 單片機(jī)內(nèi)置了串口通訊, 但對(duì)于高速信號(hào)采集和遠(yuǎn)程采集控制來講串口顯然不符合要求,所以本設(shè)計(jì)采用了瑞立公司的網(wǎng)絡(luò)通訊芯片8019 通過網(wǎng)線與PC 機(jī)進(jìn)行通信,它遵守TCP/IP 和UDP 協(xié)議,從而使該系統(tǒng)可以通過網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程控制,理論上要求傳輸速度為96k*32 位*2 加開銷大約為8M/s,五類雙絞網(wǎng)線帶寬為10M,傳輸距離200 米,可以達(dá)到電解槽現(xiàn)場要求。
系統(tǒng)總體架構(gòu)如圖1 所示,由單片機(jī)通過DSP 的主機(jī)接口HPI 控制DSP 的加載啟動(dòng)和復(fù)位, 單片機(jī)控制AD 模塊AIC23 的初始化和復(fù)位,同時(shí)也控制網(wǎng)絡(luò)通訊模塊8019 的上電復(fù)位,通過串口RS232 可以將程序下載到單片機(jī)中。DSP 則通過多通道緩沖串口McBSP 與AIC23 進(jìn)行數(shù)據(jù)交換,同時(shí)通過網(wǎng)絡(luò)模塊8019 與上位機(jī)進(jìn)行數(shù)據(jù)通信,SRAM 則為DSP 的數(shù)據(jù)存儲(chǔ)和處理提供了更廣闊的空間。另外CPLD 模塊并未在圖中表示出,所有需要邏輯的信號(hào)都要通過CPLD 模塊進(jìn)行邏輯,如片選信號(hào), 地址譯碼信號(hào), 一部分復(fù)位信號(hào)等等。
系統(tǒng)總體架構(gòu)圖
圖1 系統(tǒng)總體架構(gòu)圖
2.1 主從結(jié)構(gòu)設(shè)計(jì)
系統(tǒng)由單片機(jī)和DS P 組成主從結(jié)構(gòu), 單片機(jī)為主機(jī),主要通過DSP 的HPI 外設(shè)對(duì)DSP 進(jìn)行控制,該外設(shè)包括HD[0-7] 八個(gè)數(shù)據(jù)線和十個(gè)控制引腳,用單片機(jī)的P0 口連接DSP 的HD 口,P2 口連接需要控制的幾個(gè)控制引腳,這樣通過P0 口和P2 口,單片機(jī)就可以通過HPI實(shí)現(xiàn)對(duì)DSP 的控制,事實(shí)上主要是上電復(fù)位的bootloader引導(dǎo)過程。單片機(jī)對(duì)DSP 的啟動(dòng)控制過程是首先上電發(fā)復(fù)位信號(hào),DSP 上電復(fù)位后30 個(gè)CPU 周期內(nèi)會(huì)首先檢查INT2 中斷標(biāo)志是否有效,將HPI 的HINT 引腳連接到INT2 上,這樣DSP 復(fù)位后HINT 的低電平使INT2有效,正好選擇了HPI 模式,待DSP 完成了對(duì)HPI 實(shí)現(xiàn)方式的確認(rèn)后向DSP 裝載程序,程序搬移完成后設(shè)置程序入口點(diǎn),這樣就實(shí)現(xiàn)了DSP 的啟動(dòng)。
2.2 DSP 與AIC23 的通信
DSP 與AIC23 間的通信是通過McBSP[6]口實(shí)現(xiàn)的,它是一個(gè)多通道多緩沖全雙工的串行通信接口,AIC23通過單片機(jī)配置可以實(shí)現(xiàn)8kHz-96kHz 的采樣率[4],根據(jù)采樣定理采樣率需要達(dá)到40kHz 以上,將AIC23 配置為96kHz 的采樣率。硬件連接方案如下:將DSP 的BDX0(發(fā)送串行數(shù)據(jù))BDR0(接收串行數(shù)據(jù))BFSX0(發(fā)送幀同步引腳)BFSR0(接收幀同步引腳)與AIC23 的DIN(接收串行數(shù)據(jù))DOUT(發(fā)送串行數(shù)據(jù))LRCIN(接收幀同步信號(hào))LRCOUT(發(fā)送幀同步信號(hào))相連接。因?yàn)檎麄€(gè)通信過程是由DSP 主導(dǎo)的,所以時(shí)鐘信號(hào)統(tǒng)一用BCLKX0(發(fā)送時(shí)鐘引腳),故而將BCLKX0 BCLKR0(接收時(shí)鐘引腳)以及AIC23 上的BCLK 相連。
2.3 DSP 與8019 的通信
對(duì)于DS P 來講, 8 0 1 9 好比一個(gè)片外存儲(chǔ)器, 所以DSP 對(duì)8019 的操作與對(duì)片外存儲(chǔ)器的操作相同,連接方法也與存儲(chǔ)器連接方法相同, 這里不再螯述, 事實(shí)上,8019 內(nèi)部存儲(chǔ)器分為三部分即控制寄存器和數(shù)據(jù)發(fā)送接收存儲(chǔ)器。
[!--empirenews.page--]
3 系統(tǒng)軟件設(shè)計(jì)
3.1 單片機(jī)程序設(shè)計(jì)
單片機(jī)控制著整個(gè)系統(tǒng),主要工作是各個(gè)芯片的上電復(fù)位初始化, 對(duì)于不同的芯片操作方式也不盡相同,程序設(shè)計(jì)中將每個(gè)芯片初始化定義為一個(gè)函數(shù),其主函數(shù)如下:
對(duì)DSP 的初始化過程分為復(fù)位和加載程序兩步,完成初始化后通過AIC23 放音。
3.2 DSP 程序設(shè)計(jì)
DSP 程序包括主程序,AD 控制程序,8019 控制程序,中斷向量表和命令文件。主程序中完成對(duì)自身各寄存器的配置和外圍芯片的二次初始化以及死循環(huán),需要配置的自身寄存器包括幾個(gè)基本狀態(tài)寄存器,定時(shí)器有關(guān)寄存器和多通道緩沖串口寄存器。AD 控制程序包含于McBSP 接收中斷服務(wù)程序中,該程序?qū)⒔邮盏降男盘?hào)存儲(chǔ)到一個(gè)定義好的緩存中,同時(shí)將發(fā)送緩存中的一個(gè)信號(hào)送給AD。程序如下:
[!--empirenews.page--]
8019 控制程序是最繁瑣的一部分,因?yàn)榫幊踢^程要遵循TCP/IP 和UDP 協(xié)議,8019 具有獨(dú)特的分頁控制寄存器的功能??梢詫?fù)雜的控制程序分為幾個(gè)控制函數(shù), 好在制造商已經(jīng)為用戶提供了這幾個(gè)函數(shù)的庫文件,用戶只需要調(diào)用就可以了,以下給出8019 通信程序:
[!--empirenews.page--]
3.3 CPLD 程序設(shè)計(jì)
CPLD 程序中要完成的有片選信號(hào)(包括一部分地址信號(hào))和中斷信號(hào)的邏輯處理,選用ALTRA 的EPM7032AE[5]。
DSP 的外部中斷INT1 反映的是USB 中斷請(qǐng)求,INT1 為低有效而USBINT 為高有效,INT1<=NOT(USBINT);DSP 的RW 信號(hào)在讀操作時(shí)為高電平在寫操作時(shí)為低電平,MEMSTRB 存儲(chǔ)器選通信號(hào)為低有效,SRAM 的寫信號(hào)MEMWR 和讀信號(hào)MEMRD 均為低有效, 故MEMWR<=RW OR MEMSTRB,MEMRD<=NOT (RW)OR MEMSTRB;DSP 的I/O 選通信號(hào)IOSTRB 為低有效, 而對(duì)于接受I /O 控制的USB 芯片來講其讀寫信號(hào)RD 和WR 均為低有效,故IOWR<=RW OR IOSTRB,IORD<=NOT(RW) OR IOSTRB;DSP 的數(shù)據(jù)選通信號(hào)DS 為低有效,存儲(chǔ)器選通信號(hào)MEMSTRB 也為低有效,而SRAM的片選信號(hào)RAMCS 同樣為低有效,并且RAMCS在DS 或MEMSTRB 有效時(shí)均應(yīng)被激活,RAMCS<=MEMSTRB OR DS;3.4 上位機(jī)程序設(shè)計(jì):
上位機(jī)程序的功能是接收來自下位機(jī)的傳送數(shù)據(jù)和向下位機(jī)發(fā)送數(shù)據(jù)和命令,對(duì)于接受到的數(shù)據(jù)可以利用數(shù)據(jù)分析系統(tǒng)進(jìn)行分析得出結(jié)果,而對(duì)于向下位機(jī)發(fā)送的數(shù)據(jù)工業(yè)中以控制參數(shù)和音頻命令居多,故本設(shè)計(jì)中上位機(jī)界面提供了這些內(nèi)容, 界面如圖2 所示。
上位機(jī)界面
圖2 上位機(jī)界面。
3.5 調(diào)試
抓包測試圖
圖3 抓包測試圖。
電路板制作完成后, 用聯(lián)機(jī)網(wǎng)線將電路板和PC 機(jī)連接,將電路板IP 和PC 機(jī)IP 設(shè)置在同一組中,從PC 機(jī)發(fā)送包含0-20kHz 各個(gè)頻率的音頻信號(hào)給DSP,DSP 將該音頻通過AIC23 后播放,與PC 機(jī)同步播放的音頻信號(hào)相對(duì)比檢查傳輸實(shí)時(shí)性, 對(duì)比其各部分頻率或?qū)Ρ萈C 機(jī)內(nèi)和DSP 內(nèi)數(shù)據(jù)數(shù)值可知數(shù)據(jù)傳輸質(zhì)量如何。同時(shí)DSP 將采集到的信號(hào)發(fā)送給PC 機(jī),由于數(shù)量很大全部顯示反應(yīng)遲緩所以捕捉顯示,對(duì)比CCS 查看到的DSP內(nèi)存儲(chǔ)數(shù)據(jù)可知傳輸是否正確,用網(wǎng)絡(luò)抓包軟件抓包可以清楚的看到通信的內(nèi)容, 如圖3 所示。
4 結(jié)束語
系統(tǒng)設(shè)計(jì)完成后通過測試能夠完成高速信號(hào)的采集和傳輸, 數(shù)據(jù)傳輸正確, 質(zhì)量良好。數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性和可靠性達(dá)到用戶的設(shè)計(jì)要求。在該系統(tǒng)的設(shè)計(jì)中,DSP 的強(qiáng)大運(yùn)算能力和擴(kuò)展的數(shù)據(jù)存儲(chǔ)空間為復(fù)雜算法的實(shí)現(xiàn)提供了條件。在鋁電解工業(yè)應(yīng)用中,后續(xù)課題中將把電解鋁控制的復(fù)雜神經(jīng)網(wǎng)絡(luò)算法寫入到本設(shè)計(jì)的DSP 中,屆時(shí)該設(shè)計(jì)的功能可將現(xiàn)場信號(hào)采集實(shí)時(shí)運(yùn)算及控制以及上傳下載高速信號(hào)集于一身。此外,在其它工控場合本設(shè)計(jì)也可扮演重要角色。