<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)RM-Linux的數據采集和網(wǎng)絡(luò )傳輸系統設計

基于A(yíng)RM-Linux的數據采集和網(wǎng)絡(luò )傳輸系統設計

作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò ) 收藏

8片MAX1308由兩片Altera公司的Cyclone II系列FPGA芯片控制,每片FPGA內部分為兩個(gè)模塊,一個(gè)為AD轉換控制模塊,另一個(gè)為FIFO存儲模塊。最終兩個(gè)FIFO存儲器分別掛在S3C2440芯片的BANK3和BANK5上,通過(guò)數據總線(xiàn),ARM處理器可以讀取FIFO內的數據。ARM與FPGA(FIFO)接口電路如圖4所示。

基于A(yíng)RM-Linux的數據采集和網(wǎng)絡(luò )傳輸系統設計

其中的FIFO由Quartus II提供的IP核手動(dòng)配置,自動(dòng)生成。FIFO的輸出通過(guò)一組三態(tài)門(mén)與ARM的數據總線(xiàn)相連,三態(tài)門(mén)的EN端分別由nGC S3和nGCS5控制,同時(shí)nGCS3和nGCS5通過(guò)反相器分別與兩個(gè)FIFO的rdreq端相連,這樣ARM通過(guò)這兩個(gè)片選信號可同時(shí)打開(kāi)FIFO的輸出通道以及讀使能信號rdreq。nOE信號通過(guò)反相器分別與兩個(gè)FIFO的rdclk端相連,來(lái)提供FIFO的讀時(shí)鐘信號。

3 軟件設計

3.1 AD控制部分

MAX1308采用內部時(shí)鐘的采樣時(shí)序圖如下圖5所示。其中雙向并行接口DO~D7用來(lái)設置8位配置寄存器,以激活和禁止相應的采樣通道。內部時(shí)鐘模式下,啟動(dòng)一次轉換,需在采樣時(shí)間(tACQ)內將CONVST置為低電平,此時(shí)T/H捕獲信號,在CONVST上升沿轉換開(kāi)始。一旦能夠讀取轉換結果,轉換結束信號(基于A(yíng)RM-Linux的數據采集和網(wǎng)絡(luò )傳輸系統設計)將給出一個(gè)低電平脈沖。當最后一個(gè)通道的轉換結果可以被讀取時(shí),最后轉換結束信號(基于A(yíng)RM-Linux的數據采集和網(wǎng)絡(luò )傳輸系統設計)跳變到低電平。

基于A(yíng)RM-Linux的數據采集和網(wǎng)絡(luò )傳輸系統設計

FPGA內部按照上述時(shí)序邏輯實(shí)現采集模塊后,再連接到FIFO模塊上,然后通過(guò)一組三態(tài)門(mén)掛接到ARM數據總線(xiàn)上。

3.2 設備驅動(dòng)

設備驅動(dòng)程序在內核中扮演著(zhù)特殊的角色,它使某個(gè)特定硬件響應一個(gè)定義良好的內部編程接口,這些接口完全隱藏了設備的工作細節。用戶(hù)的操作通過(guò)一組標準化的調用執行,而這些調用獨立于特定的驅動(dòng)程序。將這些調用映射到作用于實(shí)際硬件的設備特有操作上,則是設備驅動(dòng)程序的任務(wù)。

3.2.1 FIFO設備驅動(dòng)

用戶(hù)空間驅動(dòng)程序具有很多優(yōu)點(diǎn),比如可以和整個(gè)C庫連接,可以使用通常的調試器調試驅動(dòng)程序代碼,而不用費力地調試正在運行的內核等。

該驅動(dòng)程序是通過(guò)mmap函數將外設FIFO存儲器映射到用戶(hù)空間的一段內存中,進(jìn)而對其進(jìn)行操作。映射一個(gè)設備意味著(zhù)將用戶(hù)空間的一段內存與設備內存關(guān)聯(lián)起來(lái)。mmap函數定義如下:

#include

void*mmap(void*addr,size_t len,int prot,int flag,int filedes,off_t off);

此函數將在進(jìn)程的虛擬地址空間(地址起始為addr,長(cháng)度為len字節)和與文件描述符fd關(guān)聯(lián)的文件(偏移量為off,長(cháng)度為len字節)之間建立映射。映射后系統對設備的讀寫(xiě)操作就等同于對用戶(hù)內存的讀寫(xiě)。

基于A(yíng)RM-Linux的數據采集和網(wǎng)絡(luò )傳輸系統設計

程序中需要對S3C2440的存儲器控制寄存器進(jìn)行配置,主要是BANKCON3、BANKCON5和BWSCON 3個(gè)寄存器,使BANK3和BANK5數據總線(xiàn)寬度為16位,WAIT等待信號無(wú)效,合理配置讀寫(xiě)信號周期。這些同樣是通過(guò)存儲映射的方式實(shí)現。

3.2.2 DM9000網(wǎng)絡(luò )設備驅動(dòng)

2.6.30.4內核中的網(wǎng)卡驅動(dòng)相當完善,其中包含DM9000的驅動(dòng),所以隨著(zhù)內核的移植,該驅動(dòng)就可以直接使用了。

3.3 網(wǎng)絡(luò )應用程序

Linux OS之所以得到廣泛應用的一個(gè)主要原因是其卓越的網(wǎng)絡(luò )應用。是一種實(shí)現網(wǎng)絡(luò )不同主機進(jìn)程間通信的一種機制。

為了數據的可靠傳輸,我們選擇基于面向連接的TCP通信協(xié)議進(jìn)行應用層的開(kāi)發(fā),面向連接的通信流程如圖7所示。

基于A(yíng)RM-Linux的數據采集和網(wǎng)絡(luò )傳輸系統設計

眾所周知,使用多進(jìn)程的服務(wù)器模型有利于程序的健壯性。下位機作為服務(wù)器端,設置listen()偵聽(tīng)客戶(hù)端的連接請求,針對每個(gè)Soc ket連接請求,利用fork()函數產(chǎn)生一個(gè)子進(jìn)程處理到來(lái)的連接,在子進(jìn)程中完成客戶(hù)指令的接收與判斷、數據的處理與發(fā)送等,并關(guān)閉服務(wù)器偵聽(tīng),在父進(jìn)程中關(guān)閉客戶(hù)端的連接,采用多進(jìn)程思想,解決多客戶(hù)端問(wèn)題。上位機應用程序為字符界面,將接收到的數據以文件的形式保持起來(lái)。

4 系統測試實(shí)驗

用SG1110數字合成信號發(fā)生器給采集板輸入一個(gè)頻率為4 kHz,峰峰值為8.6 V的正弦波信號,如圖8(a)所示,在單通道采集的模式下將采集的一段數據傳送給網(wǎng)絡(luò )上的客戶(hù)端,并將此數據用MATLAB程序畫(huà)圖如圖8(b)所示。

基于A(yíng)RM-Linux的數據采集和網(wǎng)絡(luò )傳輸系統設計

由上圖可以看出,還原后的圖像為一正弦波,每個(gè)周期的采樣點(diǎn)數約為160個(gè),采樣頻率接近640 kHz,符合預期結果。

5 結論

嵌入式遠程系統是一種新的將分散信息集中處理的有效方法,對工業(yè)控制的數據集中處理、環(huán)境監控等有非常重要的應用價(jià)值。該系統的創(chuàng )新點(diǎn)是在用戶(hù)空間實(shí)現了FIFO設備驅動(dòng),最大的特點(diǎn)是實(shí)現了多達64通道的模擬,實(shí)現了多數據源采集的要求。系統的便攜化程度高,實(shí)用性和智能性強,潛在的經(jīng)濟效益巨大。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>