在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英創信息技術基于SPI接口的大容量通用數據采集方案

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-02-05 10:24 ? 次閱讀

數據采集是工業控制系統中的重要環節,較高的采樣率對數據處理環節提出了高的要求。當數據量不大,采樣率不高時,使用CPU進行傳輸處理是非常簡單方便的;當遇到大的數據容量,高的采樣率時,如果仍然使用CPU處理數據傳輸,將會帶來巨大的CPU負載,難以滿足高速大容量數據采集的要求。通常,在數據容量比較大,采樣率較高的場合,使用DMA技術將數據直接傳輸到內存,不經過CPU管理,是比較通用的方案。

英創公司針對英創主板ESM335x已有的硬件資源,在linux-4.1.6操作系統環境下,提出了一種基于SPI接口的大容量通用數據采集方案,其物理連接如圖1所示。這里用另一塊ESM335x作為主設備,模擬數采裝置,實際使用可以是任何支持SPI主模式的設備。使用時,連接SPI主從設備的公共地后,只需要連接ESM335x主板上對應SPI_SCLK、SPI_MOSI、SPI_CS0N的 3個管腳,見表1。

圖1 SPI接口大容量通用數據采集連接圖

表1 ESM335x工控主板SPI接口數采方案管腳說明

信號名稱 CN2(管腳標號) 說明
GPIO29/SPI_MOSI F14 SPI數據信號,主設備輸出,從設備輸入
GPIO30/SPI_SCLK F15 SPI時鐘信號,主設備輸出,從設備輸入
GPIO31/SPI_CS0N F16 SPI片選信號,低有效,主設備輸出,從設備輸入

該方案使用SPI作為傳輸協議,采用雙buffer的DMA技術,能夠達到1Msps(一個采樣點數據位寬8-16位)。ESM335x工作在SPI從模式,能夠接收的最高時鐘為16MHz(最低不限制),即最高數據傳輸率為2MBytes/s。當DMA緩存buffer1裝滿數據后,會觸發DMA中斷,通知CPU將數據讀出DMA緩存,然后繼續將新傳輸進入的數據存儲在buffer2;buffer2裝滿數據后,也產生DMA中斷通知CPU取出數據,然后將新數據存儲到buffer1,如此循環,如圖2所示。當主機傳輸完成不再提供時鐘信號后,ESM335x(從設備)通過定時器超時讀出DMA緩存中剩余的數據。

圖2 DMA雙buffer示意圖

圖3 使用DMA技術的SPI數據采集CPU負載

如圖3所示,使用此方案后,CPU負載率很低,此例中不到1%。用戶使用時,需要按如下步驟進行操作:

1、加載SPI從模式驅動。在linux操作系統中,使用insmod spi-slave.ko命令,會創建設備節點/dev/spi-slave。

2、應用程序打開設備:

fd = open ( "/dev/spi-slave", O_RDWR, S_IRUSR | S_IWUSR );

3、設定傳輸參數:

//configure info transfer to driver

structspi_slave_transfer

{

unsignedintclk; //驅動根據不同clk,設定不同長度的dma buffer,滿足填滿一個buffer的時間不超過10ms(雙buffer)

unsignedintmode; //SPI mode: 0,1,2,3

unsignedintbits_per_word; //每個采樣點的位數

};

structspi_slave_transfer transfer;

transfer.clk =16000000; //16M clk ---16KB every buffer

transfer.mode = 1;

transfer.bits_per_word = 16;

4、傳入參數至內核,啟動傳輸:

if(ioctl ( fd, SPI_SLAVE_START, &transfer )<0)

{

printf ( "START WRONG!!!!!!!!!!!!!!!!\n" );

exit ( 1 );

}

此時,主板上的SPI已經進入從模式,有數據傳入時,將存入DMA緩存,存滿一個buffer就通知CPU讀出數據到CPU維護的一個內存區域(256個kfifo組成鏈表,kfifo大小與buffer相同,使用完后會覆蓋第一個kfifo)。同時,當一次傳輸完成后,通過定時器讀出剩余在DMA buffer中的數據。應用程序應及時使用read函數從CPU維護的區域讀出數據,以免CPU維護太多內存。

count_in_byte = 0;

read_count = 0;

while(1)

{

FD_ZERO(&fdRead);

FD_SET(fd,&fdRead);

aTime.tv_sec = 2;

aTime.tv_usec = 0;

ret = select ( fd+1, &fdRead, NULL, NULL, &aTime );

if( ret<0 )

printf( "select, something wrong!\n " );

if( ret>0 )

{

if( FD_ISSET(fd, &fdRead) )

{

memset(read_buf,0,4096*4);

read_count = read(fd, read_buf, 4096*4);

if( read_count<0 )

{

printf ( "READ WRONG!!!!!!!!!!!!!!!!\n" );

exit ( 1 );

}

if(read_count){ //0 --- end-of-file not printf

count_in_byte += read_count;

printf("\nread_count = %d\ncount_in_byte = %d\n", read_count, count_in_byte);

}

//process data, here just print to console

if(read_count < 20){

for( i=0; i

{

printf ( "%02x ", read_buf[i] );

if(i%10 == 9)

printf ( "\n" );

}

printf("\n");

}

}

}

printf ( "remaining time %u.%u!\n",aTime.tv_sec, aTime.tv_usec );

}

5、完成傳輸,關閉SPI。

if(ioctl ( fd, SPI_SLAVE_STOP, &transfer )<0)

{

printf ( "STOP WRONG!!!!!!!!!!!!!!!!\n" );

exit ( 1 );

}

6、關閉設備文件

close ( fd );

當主設備前后兩次傳輸的參數不一樣時,從設備需要分兩次調用open/close函數,按以上步驟進行操作。如有用戶對這個方案感興趣,可以聯系我們,我們將提供驅動文件和完整的應用程序示例。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11479

    瀏覽量

    213026
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6097

    瀏覽量

    36195
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    基于RFID讀寫器構建的產線數據采集方案

    RFID數據采集方案是基于RFID無線射頻識別技術的一種數據采集方案,它通過RFID讀寫器與RFID標簽進行
    的頭像 發表于 06-18 15:03 ?37次閱讀

    CNC數據采集到MES系統方案

    將CNC數據采集到MES系統的方案,旨在實現生產過程的數字化、自動化和智能化管理。以下是一個詳細的方案介紹: 一、方案概述 該方案通過集成先
    的頭像 發表于 03-14 15:13 ?325次閱讀
    CNC<b class='flag-5'>數據采集</b>到MES系統<b class='flag-5'>方案</b>

    數據采集系統的典型應用

    一、數采系統的介紹 數據采集系統是一種綜合運用數據采集技術、計算機技術、傳感器技術和信號處理技術
    的頭像 發表于 02-18 16:19 ?793次閱讀
    <b class='flag-5'>數據采集</b>系統的典型應用

    電機數據采集網關具有哪些特點?

    電機數據采集網關是一種專門用于電機系統數據采集和傳輸的設備,它在電機監控、優化和維護方面發揮著關鍵作用。電機數據采集網關的特點主要包括以下幾個方面: 1、數據采集能力 電機
    的頭像 發表于 02-14 16:49 ?363次閱讀
    電機<b class='flag-5'>數據采集</b>網關具有哪些特點?

    深控信息技術公司:不需要點表的工業網關數據采集方案

    深控信息技術公司的 “不需要點表的工業網關” 數據采集方案,顛覆了傳統依賴點表進行數據采集的模式。傳統方式往往需要大量的人力和時間去配置點表,且在面對復雜多變的工業環境和設備時,容易出
    的頭像 發表于 12-16 15:29 ?461次閱讀
    深控<b class='flag-5'>信息技術</b>公司:不需要點表的工業網關<b class='flag-5'>數據采集</b><b class='flag-5'>方案</b>

    數據網關與數據采集器的區別

    在現代信息技術和工業自動化領域,數據的收集、處理和傳輸是至關重要的。數據網關和數據采集器是實現這些功能的兩個關鍵組件,它們在數據流動和管理中
    的頭像 發表于 11-28 15:52 ?1315次閱讀

    數控機床CNC數據采集方案

    產品介紹及解決方案智控YC-8000CNC-WIFI-01-03數控機床數據采集網關能夠實時采集機床的運行狀態、加工過程的參數、設備維護信息
    的頭像 發表于 11-11 09:51 ?692次閱讀
    數控機床CNC<b class='flag-5'>數據采集</b><b class='flag-5'>方案</b>

    PLC數據采集解決方案

    問題,這些問題限制了企業生產力的提升和管理效能的增強。因此,打造一套高效率、高可靠性的PLC數據采集解決方案顯得尤為關鍵。 二、解決方案概述 針對工業生產中的數據采集需求,我們提出一套基于PLC的
    的頭像 發表于 10-31 15:58 ?690次閱讀
    PLC<b class='flag-5'>數據采集解決方案</b>

    中科達榮獲2024年軟件和信息技術服務優秀企業

    及前百家企業”名單。中科達憑借非凡的技術實力與持續的創新能力,成功入選“2024年度軟件和信息技術服務競爭力百強企業”以及“2024年軟件和信息技術服務優秀企業”。
    的頭像 發表于 10-30 11:44 ?889次閱讀

    儀器儀表智能工廠數據采集物聯網解決方案

    。 正是在這種背景下,智能工廠數據采集物聯網解決方案應運而生。它以“萬物互聯”為核心理念,通過數據采集技術、網絡通信技術和大
    的頭像 發表于 08-14 15:31 ?637次閱讀
    儀器儀表智能工廠<b class='flag-5'>數據采集</b>物聯網解決<b class='flag-5'>方案</b>

    水利數據采集遠程監控平臺是什么

    水利數據采集遠程監控平臺是一種基于現代信息技術的管理系統,用于對水資源、水環境、水利工程等進行實時的數據采集和遠程監控。這個平臺通常包括硬件設備和軟件系統兩部分。 硬件設備主要包括傳感器、數據
    的頭像 發表于 07-22 15:36 ?604次閱讀

    Modbus數據采集物聯網平臺可以采集什么設備?有什么功能?

    在當今工業物聯網(IIoT)的浪潮中,Modbus協議無疑是連接傳統工業設備與現代信息技術的重要橋梁,具備簡單易用、通用性強、擴展性強等優勢。對此,數之能提供Modbus數據采集物聯網平臺解決
    的頭像 發表于 07-22 13:29 ?461次閱讀
    Modbus<b class='flag-5'>數據采集</b>物聯網平臺可以<b class='flag-5'>采集</b>什么設備?有什么功能?

    數據采集網關與工業物聯網平臺一體化解決方案

    隨著信息技術的進步,智能制造逐漸從概念走向現實。工業物聯網通過連接設備、系統和人員,實現了生產過程的高度自動化和智能化。然而,在實際應用中,如何高效地采集和處理海量的數據成為了亟待解決的問題。這就需要一種可靠且高效的
    的頭像 發表于 07-14 10:42 ?630次閱讀
    <b class='flag-5'>數據采集</b>網關與工業物聯網平臺一體化解決<b class='flag-5'>方案</b>

    NI數據采集板卡如何連接使用?

    和控制。 ? 1. 了解數據采集板卡: 首先,需要了解所使用的NI數據采集板卡的型號和規格。NI提供了多種型號的數據采集板卡,具有不同的輸入通道數、采樣率、接口類型等特性。在選擇和使用
    的頭像 發表于 07-11 10:05 ?2177次閱讀

    信捷PLC數據采集監控系統解決方案

    印刷、食品飲料等行業得到廣泛使用。 對此,物通博聯提供接入信捷PLC全系列的數據采集監控系統解決方案。該方案的核心在于其高度集成的數據采集網關,它能夠接入PLC實現對設備狀態
    的頭像 發表于 06-25 13:51 ?813次閱讀
    信捷PLC<b class='flag-5'>數據采集</b>監控系統解決<b class='flag-5'>方案</b>
    主站蜘蛛池模板: 成人mv高清在线 | 天天夜干| 最新亚洲情黄在线网站 | 狠狠色噜狠狠狠狠色综合久 | 亚洲午夜久久久 | 精品特级毛片 | 亚洲视频国产 | 成人a在线观看 | 激情六月婷婷开心丁香开心 | 操操干| 香蕉视频黄色在线观看 | 成人夜色香网站在线观看 | 日本wwwxx| 久久婷人人澡人人爽 | 久久综合中文字幕 | 欧美另类69xxxxxhd | 高清一级片 | 第一福利在线 | 深夜释放自己vlog糖心旧版本 | 丁香狠狠色婷婷久久综合 | 欧美不卡在线视频 | www天堂在线观看 | 日本最色视频 | 天天干天天色天天射 | 欧美ww| 色橹橹 | 三级在线观看 | 久久综合97色综合网 | 午夜精品久久久久久99热 | 视频一区中文字幕 | 五月婷婷六月综合 | 扒开双腿疯狂进出爽爽爽 | 夜夜夜夜夜操 | 亚洲人成网站在线在线 | 国产单男 | 免费一级欧美片在线观免看 | 美女扒开尿囗给男生桶爽 | 澳门三级bd高清 | 日本三级三级三级免费看 | 亚洲精品www | 亚洲一区二区三区免费在线观看 |