久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 一種嵌入式便攜數據采集分析儀

一種嵌入式便攜數據采集分析儀

作者: 時間:2012-04-20 來源:網絡 收藏

引言

本文引用地址:http://cqxgywz.com/article/171587.htm

對旋轉機械的多點振動測試實踐中,需要使用多種儀器,如示波器、動平衡儀、振動分析儀等。隨著測試技術的進步,虛擬儀器的出現將其合而為一,大大簡化了復雜的測試工作。虛擬儀器的概念是使用計算機對被測信號進行數據采集,并對采集到的數據序列進行分析和顯示的全過程。按照虛擬儀器概念搭建的儀器需要三部分:計算機、數據采集硬件和分析軟件。數據采集硬件一般由A/D板卡實現。然而計算機的進步和總線的變化使曾經可行的測量結構和分析程序在新的總線、操作系統上不能正常工作。各個廠家的A/D板卡一般只具有簡單的采樣觸發方式;硬件和windows底層源代碼的保密性又扼殺了用戶自行開發新的采樣觸發方式的可能性。PC機體積過大不便移動工作;筆記本電腦雖,內部幾乎沒有插入板卡的空間,接口性能也嬌氣。這些不足又為測試工作帶來了新的不便。

近年來技術發展很快,使用單片機控制的數據采集系統方興未艾。但由于單片機性能的限制,采樣速率有限,存儲空間很小,不能滿足高速大容量采樣的需求,更不可能使儀器運行分析軟件,擺脫電腦獨立工作。

ARM系列微處理器功耗低且性能大大高于單片機,使在系統上實現虛擬儀器成為可能。本文基于ARM7TDMI設計的實現了上述目的。

硬件結構和工作原理

儀器的硬件結構及工作原理圖如圖1所示。處理器選用三星(samsung)公司的s3c44b0x替代51單片機,在保持微小功耗的前提下獲得了更高的運行頻率和更強大的數據處理能力。其ARM7TDMI內核應用改進的RISC設計思想來獲得更好的功耗性能比,具有0.06mW/MHz的低功耗,保證儀器可以在電池供電條件下工作較長時間。ARM7的三級指令流水線提供0.97MIPS/MHz的指令效率,接近每周期執行一條指令。

40.jpg
圖1 硬件結構及工作原理圖

S3c44b0x外接10MHz的晶體振蕩器,通過內部的PLL倍頻,運行在64MHz的主頻下。這樣的主頻比一般單片機高了5~10倍,保證處理器在控制高速A/D進行數據采集的同時,還能提供額外運算時間來分析數據。除ARM7TDMI內核外,s3c44b0x還提供PWM計數器、UART、DMA、 8通道10位精度A/D變換器等外圍設備。

存儲器方面,系統配置了8Mbyte的SDRAM和16Mbyte的FLASH。大容量的SDRAM提供了充足的程序運行空間和采集數據緩存。FLASH 一部分用作系統的啟動存儲器;一部分存儲采集到的數據,即使掉電也不會丟失。存儲器通過16位數據線、地址線和片選線與處理器連接。S3c44b0x提供八個存儲器片選空間(bank)。

A/D變換器是數據采集的關鍵部件。儀器擁有兩個A/D變換器。一個是s3c4bb0x內部的A/D變換器,具有10位精度,8通道和單通道最高 100kSps的速度。另一個是AD公司的AD7859芯片,具有12位精度,8通道和單通道最高200kSps的速度,自帶采樣保持器。AD7859通過16位數據線、地址線和片選線連接到處理器,占用一個存儲器bank。處理器以訪問存儲器的方式訪問AD7859,也可以使用處理器的DMA控制數據傳輸。AD7859的觸發端通過一個多路開關分別連接了儀器外時鐘輸入端和處理器的計數器輸出端,以實現多種觸發方式。此外,處理器還可以通過數據線傳送命令的方式觸發AD7859進行采樣。

USB控制器是數據傳輸的主要部件。本儀器選用Philips公司的PDIUSBD12芯片,符合USB1.1標準,數據傳輸速度達到12Mbps。 PDIUSBD12作為下位機通過8位數據線、地址線和片選線連接到s3c44b0x,占用一個存儲器bank。PDIUSBD12的INT_N管腳連接到s3c44b0x的EINT2管腳,通過中斷方式通知處理器處理USB上位機的呼叫。PDIUSBD12的硬件連接電路原理圖如圖2所示。

41.jpg
圖2 PDIUSBD12硬件連接原理圖

儀器的人機交互界面由一塊320×240的高分辨率單色液晶顯示器和一塊4×4鍵盤組成。液晶顯示器模塊以8位數據線、地址和片選連接到s3c44b0x,占用一個存儲器bank。

軟件系統

軟件系統主要包括初始化程序、操作系統、采樣觸發程序、USB固件和應用軟件5個部分。

初始化程序

初始化程序是針對s3c44b0x使用匯編語言編寫的。在將控制權交給操作系統前,初始化最基本的硬件設備。主要工作是配置SDRAM并將操作系統代碼從FLASH拷貝到SDRAM中。這一部分的主要代碼如下:

ResetHandler:

ldrr0,=WTCON;//watchdogdisable

ldrr1,=0x0

strr1,[r0]

mrsr0,cpsr;//disableinterrupt

orrr0,r0,#0xc0

msrcpsr,r0

/*Setclockcontrolregisters*/

ldrr0,=LOCKTIME

ldrr1,=2000; //count=t_lock*Fin

strr1,[r0]

ldrr0,=PLLCON

ldrr1,=0xf8033; //MCLK=64MHz

strr1,[r0]

ldrr0,=CLKCON

ldrr1,=0x7ff8; //AllunitblockCLKenable

strr1,[r0]

;/*Setmemorycontrollerregisters,initializeSDRAM*/

ldrr1,=0x11110002;//BWSCON

ldrr2,=0X600; //GCS0FLASHROM

ldrr3,=0X7FFC; //GCS1LCDCONTROLLER

ldrr4,=0X7FFC; //GCS2

ldrr5,=0X7FFC; //GCS3

ldrr6,=0X7FFC; //GCS4

ldrr7,=0X7FFC; //GCS5

ldrr8,=0X18000; //GCS6SDRAM

ldrr9,=0X18000; //GCS7SDRAM

ldrr10,=0x820419; //REFRESH

ldrr11,=0x16; //BankSize

ldrr12,=0x20; //MRSR6

ldrr13,=0x20; //MRSR7

ldrr0,=0x01c80000; //BWSCONAddress

stmiar0,{r1-r13}

;/*Copyentireprogramsto0x0c008000atSDRAM*/

ldrr0,=0x0;//startaddressoftheflashrom

ldrr1,=0xc008000; //targetaddressintheSDRAM

ldrr2,=0x128e0; //thenumberofbytesneedtocopy

linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

上一頁 1 2 3 4 下一頁

評論


相關推薦

技術專區

關閉