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