在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

    
    
    <address id="vxupu"><td id="vxupu"></td></address>

      <pre id="vxupu"><small id="vxupu"></small></pre>
      <dfn id="vxupu"></dfn>
      <div id="vxupu"><small id="vxupu"></small></div>
    1. 新聞中心

      EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ARM-Linux的數(shù)據(jù)采集和網(wǎng)絡傳輸系統(tǒng)設計

      基于ARM-Linux的數(shù)據(jù)采集和網(wǎng)絡傳輸系統(tǒng)設計

      作者: 時間:2016-09-12 來源:網(wǎng)絡 收藏

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

      基于ARM-Linux的數(shù)據(jù)采集和網(wǎng)絡傳輸系統(tǒng)設計

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

      3 軟件設計

      3.1 AD控制部分

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

      基于ARM-Linux的數(shù)據(jù)采集和網(wǎng)絡傳輸系統(tǒng)設計

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

      3.2 設備驅動

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

      3.2.1 FIFO設備驅動

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

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

      #include

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

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

      基于ARM-Linux的數(shù)據(jù)采集和網(wǎng)絡傳輸系統(tǒng)設計

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

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

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

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

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

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

      基于ARM-Linux的數(shù)據(jù)采集和網(wǎng)絡傳輸系統(tǒng)設計

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

      4 系統(tǒng)測試實驗

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

      基于ARM-Linux的數(shù)據(jù)采集和網(wǎng)絡傳輸系統(tǒng)設計

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

      5 結論

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


      上一頁 1 2 下一頁

      評論


      相關推薦

      技術專區(qū)

      關閉