国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)基于SPI接口的大容量通用數(shù)據(jù)采集方案

英創(chuàng)信息技術(shù) ? 來源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-02-05 10:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

數(shù)據(jù)采集是工業(yè)控制系統(tǒng)中的重要環(huán)節(jié),較高的采樣率對數(shù)據(jù)處理環(huán)節(jié)提出了高的要求。當(dāng)數(shù)據(jù)量不大,采樣率不高時,使用CPU進(jìn)行傳輸處理是非常簡單方便的;當(dāng)遇到大的數(shù)據(jù)容量,高的采樣率時,如果仍然使用CPU處理數(shù)據(jù)傳輸,將會帶來巨大的CPU負(fù)載,難以滿足高速大容量數(shù)據(jù)采集的要求。通常,在數(shù)據(jù)容量比較大,采樣率較高的場合,使用DMA技術(shù)將數(shù)據(jù)直接傳輸?shù)絻?nèi)存,不經(jīng)過CPU管理,是比較通用的方案。

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

圖1 SPI接口大容量通用數(shù)據(jù)采集連接圖

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

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

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

圖2 DMA雙buffer示意圖

圖3 使用DMA技術(shù)的SPI數(shù)據(jù)采集CPU負(fù)載

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

1、加載SPI從模式驅(qū)動。在linux操作系統(tǒng)中,使用insmod spi-slave.ko命令,會創(chuàng)建設(shè)備節(jié)點/dev/spi-slave。

2、應(yīng)用程序打開設(shè)備:

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

3、設(shè)定傳輸參數(shù):

//configure info transfer to driver

structspi_slave_transfer

{

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

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

unsignedintbits_per_word; //每個采樣點的位數(shù)

};

structspi_slave_transfer transfer;

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

transfer.mode = 1;

transfer.bits_per_word = 16;

4、傳入?yún)?shù)至內(nèi)核,啟動傳輸:

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

{

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

exit ( 1 );

}

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

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、完成傳輸,關(guān)閉SPI。

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

{

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

exit ( 1 );

}

6、關(guān)閉設(shè)備文件

close ( fd );

當(dāng)主設(shè)備前后兩次傳輸?shù)膮?shù)不一樣時,從設(shè)備需要分兩次調(diào)用open/close函數(shù),按以上步驟進(jìn)行操作。如有用戶對這個方案感興趣,可以聯(lián)系我們,我們將提供驅(qū)動文件和完整的應(yīng)用程序示例。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11760

    瀏覽量

    219033
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6107

    瀏覽量

    37077
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    得物API商品接口數(shù)據(jù)采集服務(wù)及接口應(yīng)用展開

    以下從技術(shù)實現(xiàn)、接口功能、交流資源三方面展開分析: 一、技術(shù)實現(xiàn)基礎(chǔ):數(shù)據(jù)采集與API接口設(shè)計 得物價格
    的頭像 發(fā)表于 01-28 13:10 ?224次閱讀
    得物API商品<b class='flag-5'>接口</b><b class='flag-5'>數(shù)據(jù)采集</b>服務(wù)及<b class='flag-5'>接口</b>應(yīng)用展開

    單片機多路數(shù)據(jù)采集系統(tǒng)的設(shè)計

    及原理 傳感器裝置將按照設(shè)定的方式傳遞模擬電量。模擬電量的生成方式較為復(fù)雜,可以簡單的按照常規(guī)電量轉(zhuǎn)化的方式加以處置,也可以按照非物理量的應(yīng)用特征進(jìn)行設(shè)計,使單片機的多路數(shù)據(jù)采集系統(tǒng)可以完整結(jié)合信息
    發(fā)表于 01-07 06:44

    USB3.0接口轉(zhuǎn)換高性能圖像傳感和數(shù)據(jù)采集方案

    接口的普及與其強大的供電能力(PD),USB3.0接口轉(zhuǎn)換方案能夠同時實現(xiàn)高速通信與大功率傳輸,為各類高性能圖像傳感與數(shù)據(jù)采集應(yīng)用提供了堅實可靠的連接基礎(chǔ)。
    的頭像 發(fā)表于 01-06 14:45 ?314次閱讀
    USB3.0<b class='flag-5'>接口</b>轉(zhuǎn)換高性能圖像傳感和<b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>方案</b>

    高速分切機PLC數(shù)據(jù)采集遠(yuǎn)程監(jiān)控系統(tǒng)方案

    老舊設(shè)備缺乏通信基礎(chǔ),部分設(shè)備未預(yù)留空閑通信接口,導(dǎo)致數(shù)據(jù)采集與遠(yuǎn)程監(jiān)控過程中面臨多重挑戰(zhàn)。物通博聯(lián)依托工業(yè)物聯(lián)網(wǎng)技術(shù),提供一體化PLC數(shù)據(jù)采集遠(yuǎn)程監(jiān)控系統(tǒng)
    的頭像 發(fā)表于 11-06 15:41 ?514次閱讀
    高速分切機PLC<b class='flag-5'>數(shù)據(jù)采集</b>遠(yuǎn)程監(jiān)控系統(tǒng)<b class='flag-5'>方案</b>

    實時銷售數(shù)據(jù)采集接口技術(shù)實現(xiàn)方案

    ? ?一、核心需求分析 實時銷售數(shù)據(jù)采集需滿足以下關(guān)鍵指標(biāo): 低延遲 :數(shù)據(jù)產(chǎn)生到入庫延遲 $ Delta t leq 500ms $ 高吞吐 :支持 $ QPS geq 10,000 $ 的并發(fā)
    的頭像 發(fā)表于 10-23 16:01 ?418次閱讀
    實時銷售<b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>接口技術(shù)</b>實現(xiàn)<b class='flag-5'>方案</b>

    船舶岸電數(shù)據(jù)采集物聯(lián)網(wǎng)解決方案

    問題,需要構(gòu)建一套基于物聯(lián)網(wǎng)技術(shù)的船舶岸電數(shù)據(jù)采集系統(tǒng),實現(xiàn)對岸電設(shè)備的實時監(jiān)控、數(shù)據(jù)采集和故障預(yù)警。 物通博聯(lián)基于工業(yè)數(shù)采網(wǎng)關(guān)提供船舶岸電數(shù)據(jù)采集物聯(lián)網(wǎng)解決
    的頭像 發(fā)表于 10-16 17:13 ?745次閱讀
    船舶岸電<b class='flag-5'>數(shù)據(jù)采集</b>物聯(lián)網(wǎng)解決<b class='flag-5'>方案</b>

    工業(yè)設(shè)備數(shù)據(jù)采集的重要性及最新技術(shù)方案

    工業(yè)設(shè)備數(shù)據(jù)采集技術(shù)方案,并以國內(nèi)領(lǐng)先的物聯(lián)網(wǎng)解決方案提供商—— 有人物聯(lián)網(wǎng) 的最新產(chǎn)品和解決方案為例,為開發(fā)者、工程師和
    的頭像 發(fā)表于 09-16 15:16 ?701次閱讀

    易華錄入選國家級信息技術(shù)應(yīng)用創(chuàng)新典型解決方案

    近日,工業(yè)和信息化部網(wǎng)絡(luò)安全產(chǎn)業(yè)發(fā)展中心(工業(yè)和信息化部信息中心)公布了“2024年信息技術(shù)應(yīng)用創(chuàng)新解決方案”評選結(jié)果。易華錄申報的“基于節(jié)
    的頭像 發(fā)表于 08-07 15:35 ?1619次閱讀

    沖壓PLC類設(shè)備的數(shù)據(jù)采集解決方案

    沖壓PLC類設(shè)備的數(shù)據(jù)采集解決方案,結(jié)合低成本實施策略與深控免點表網(wǎng)關(guān)的應(yīng)用設(shè)計
    的頭像 發(fā)表于 08-07 11:21 ?818次閱讀
    沖壓PLC類設(shè)備的<b class='flag-5'>數(shù)據(jù)采集解決方案</b>

    P2P技術(shù)——數(shù)據(jù)采集系統(tǒng)高效存儲的關(guān)鍵

    優(yōu)勢,還具備高容量、高速傳輸、低延遲和高可靠性的特點,幫助客戶輕松應(yīng)對高速、高精度數(shù)據(jù)采集需求。未來,度緯科技將持續(xù)致力于技術(shù)創(chuàng)新,不斷提升產(chǎn)品性能,為各行業(yè)用戶提供更高效、更穩(wěn)定、更安全的數(shù)
    的頭像 發(fā)表于 07-24 17:24 ?720次閱讀
    P2P<b class='flag-5'>技術(shù)</b>——<b class='flag-5'>數(shù)據(jù)采集</b>系統(tǒng)高效存儲的關(guān)鍵

    告別手工錄入!PDA數(shù)據(jù)采集器掃碼讀取信息的完整解決方案

    三方面,解析PDA數(shù)據(jù)采集器如何構(gòu)建完整的自動化信息管理方案。一、PDA數(shù)據(jù)采集器的核心技術(shù)優(yōu)勢1、高效識別與低錯誤率PDA集成一維/二維條
    的頭像 發(fā)表于 07-04 14:40 ?989次閱讀
    告別手工錄入!PDA<b class='flag-5'>數(shù)據(jù)采集</b>器掃碼讀取<b class='flag-5'>信息</b>的完整解決<b class='flag-5'>方案</b>

    基于RFID讀寫器構(gòu)建的產(chǎn)線數(shù)據(jù)采集方案

    RFID數(shù)據(jù)采集方案是基于RFID無線射頻識別技術(shù)的一種數(shù)據(jù)采集方案,它通過RFID讀寫器與RFID標(biāo)簽進(jìn)行
    的頭像 發(fā)表于 06-18 15:03 ?507次閱讀

    Modbus轉(zhuǎn)Profinet賦予數(shù)據(jù)采集儀高效通信的超能力

    轉(zhuǎn)Profinet網(wǎng)關(guān)連接數(shù)據(jù)采集儀,實現(xiàn)數(shù)據(jù)的高效采集與傳輸。 Modbus轉(zhuǎn)Profinet網(wǎng)關(guān)概述 VING微硬創(chuàng)新Modbus轉(zhuǎn)Profinet網(wǎng)關(guān)能夠?qū)odbus接口設(shè)備接
    發(fā)表于 05-20 16:46

    DCS數(shù)據(jù)采集系統(tǒng)有什么功能

    調(diào)度和高效管理。以下是DCS數(shù)據(jù)采集系統(tǒng)的主要功能: 1. 數(shù)據(jù)采集與處理 實時數(shù)據(jù)采集:系統(tǒng)能夠?qū)崟r采集生產(chǎn)現(xiàn)場的各種數(shù)據(jù),包括溫度、壓力
    的頭像 發(fā)表于 04-01 17:12 ?1142次閱讀

    CNC數(shù)據(jù)采集到MES系統(tǒng)方案

    將CNC數(shù)據(jù)采集到MES系統(tǒng)的方案,旨在實現(xiàn)生產(chǎn)過程的數(shù)字化、自動化和智能化管理。以下是一個詳細(xì)的方案介紹: 一、方案概述 該方案通過集成先
    的頭像 發(fā)表于 03-14 15:13 ?981次閱讀
    CNC<b class='flag-5'>數(shù)據(jù)采集</b>到MES系統(tǒng)<b class='flag-5'>方案</b>