色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于 SoPC 的震動信號采集設(shè)備設(shè)計方法

          基于 SoPC 的震動信號采集設(shè)備設(shè)計方法

          作者: 時間:2009-08-16 來源:網(wǎng)絡(luò) 收藏

          與Nios Ⅱ接口的

          1 接口硬件

          SPI(Serial Peripheral Interface)即串行外圍設(shè)備接口是Motorola公司推出的一種同步串行接口。SPI總線是一種4線同步總線,占用較少的I/O資源。Nios Ⅱ與外界SPI接口通信可采用軟件控制I/O、Mege IP Core以及自定義外設(shè)等方法。

          軟件控制I/O是利用CPU執(zhí)行程序來模擬SPI接口的時序從而完成通信,其特點(diǎn)是簡單、使用方便,但是由于CPU長時間進(jìn)行時序模擬,不能發(fā)揮出高速信號處理的優(yōu)勢,故不適合本設(shè)計;Mege IP Core是Altera公司(或第三方)推出的可以實(shí)現(xiàn)特定功能的IP核,通過將它集成到系統(tǒng)中,可以快速構(gòu)成SPI接口,但利用此種方法只能完成基本的通信功能,不能實(shí)現(xiàn)更多的擴(kuò)展,故本設(shè)計不采用;自定義外設(shè)即定制基于Avalon的用戶外設(shè),通過自行設(shè)計SPI硬件控制器,在實(shí)現(xiàn)通信功能的同時,使其具有采樣通道控制、FIFO緩沖以及DMA功能,使CPU不再參與通信操作,而利用DMA中斷進(jìn)行采樣數(shù)據(jù)的傳輸,可以極大的提高CPU利用率,故本設(shè)計采用此種方法。

          本設(shè)計采用Verilog硬件描述語言對自定義的A/D采樣控制器進(jìn)行設(shè)計。如圖2所示,控制器與Avalon總線通過data_bus、addr、pro_clk、WR、RD以及interrupt進(jìn)行通信,接受CPU的控制指令和回傳采樣數(shù)據(jù);控制器與通過miso、mosi、sclk以及CS進(jìn)行通信,完成采集的控制和數(shù)據(jù)的傳輸??刂破髟O(shè)計好后利用 Builder對其封裝成一個元件(也可稱之為IP核),而后可以像Altera提供的Mege IP Core外設(shè)一樣使用。

          圖2 SPI原理圖

          2 接口軟件實(shí)現(xiàn)

          為了實(shí)現(xiàn)A/D采樣控制器的功能,除了硬件設(shè)計外,還需要開發(fā)相應(yīng)的硬件抽象層(HAL)驅(qū)動程序。HAL可以看作是一個支持應(yīng)用程序開發(fā)的軟件平臺,它提供API函數(shù)接口,屏蔽硬件訪問細(xì)節(jié),雖然占用了一些額外的資源,但大大增加了應(yīng)用程序的開發(fā)速度和可移植性。

          驅(qū)動開發(fā)的第一步就是創(chuàng)建一個用于描述設(shè)備寄存器的設(shè)備頭文件,在這個文件中應(yīng)用清晰易懂的宏符號描述出寄存器集合,并給出其訪問方法;第二步為創(chuàng)建驅(qū)動程序,即為應(yīng)用程序編寫API函數(shù),用以完成控制器初始化、工作模式設(shè)定、SPI通信等功能;驅(qū)動程序開發(fā)完畢后,還需要把源程序文件放到約定的目錄下,并為它編寫一個簡單的Makefile文件,這樣,驅(qū)動程序才能編譯到HAL系統(tǒng)庫中。下面列出了主要的API函數(shù):

          bool Init_SPI(void); //SPI控制器初始化,返回值為0表示成功,下同
          bool Init_ad7329(void); //初始化
          bool Set_ad7329_InputMode(unsigned int inputmode) ; //設(shè)置模擬輸入模式
          bool Set_ad7329_PowerMode(unsigned int powermode); //設(shè)置輸入電源范圍
          bool Set_ad7329_WorkMode(char workmode,char startchannl,char number);
          //設(shè)置工作模式:即所選通道、通道自動切換模式
          int Set_ad7329_SampleStart(void); //開始采樣,返回值為采樣工作模式

          3 仿真與測試

          A/D采樣控制器是在Quartus Ⅱ 7.2 SP3環(huán)境下設(shè)計的,在完成時序仿真后采用modelsim 7.2中進(jìn)行功能仿真,仿真結(jié)果如圖3所示。通過仿真結(jié)果可以看出,在CPU控制下,通過Avalon總線控制命令和數(shù)據(jù)傳遞給A/D采樣控制器并寫入到其內(nèi)部寄存器中,在控制命令的作用下,完成AD7329的初始化、輸入模式、輸入電壓范圍和采樣通道的選擇,并開始進(jìn)行采樣。在采樣數(shù)據(jù)達(dá)到預(yù)定數(shù)量時,interrupt變低,通知CPU啟動DMA數(shù)據(jù)傳輸,而后,在DMA控制器的控制下,完成了數(shù)據(jù)的讀取。

          圖3 SPI仿真時序圖

          結(jié)論

          本系統(tǒng)經(jīng)多次實(shí)驗室測試,可以對多種不同輸出范圍的模擬震動傳感器進(jìn)行信號采集,并且精度高、速度快。由于將采集得到的數(shù)據(jù)實(shí)時發(fā)送到以太網(wǎng)上,故通過連接在網(wǎng)上的工作站可同時對多套信號采集設(shè)備進(jìn)行控制和記錄,大大提高了系統(tǒng)的可擴(kuò)展性。綜上可以看出,本系統(tǒng)非常適合在對采集速度和傳感器節(jié)點(diǎn)數(shù)量要求較高的測試領(lǐng)域應(yīng)用。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉