一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

圖2 DMA雙buffer示意圖

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

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

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

2、應(yīng)用程序打開(kāi)設(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ū)動(dòng)根據(jù)不同clk,設(shè)定不同長(zhǎng)度的dma buffer,滿(mǎn)足填滿(mǎn)一個(gè)buffer的時(shí)間不超過(guò)10ms(雙buffer)

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

unsignedintbits_per_word; //每個(gè)采樣點(diǎn)的位數(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)核,啟動(dòng)傳輸:

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

{

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

exit ( 1 );

}

此時(shí),主板上的SPI已經(jīng)進(jìn)入從模式,有數(shù)據(jù)傳入時(shí),將存入DMA緩存,存滿(mǎn)一個(gè)buffer就通知CPU讀出數(shù)據(jù)到CPU維護(hù)的一個(gè)內(nèi)存區(qū)域(256個(gè)kfifo組成鏈表,kfifo大小與buffer相同,使用完后會(huì)覆蓋第一個(gè)kfifo)。同時(shí),當(dāng)一次傳輸完成后,通過(guò)定時(shí)器讀出剩余在DMA buffer中的數(shù)據(jù)。應(yīng)用程序應(yīng)及時(shí)使用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í),從設(shè)備需要分兩次調(diào)用open/close函數(shù),按以上步驟進(jìn)行操作。如有用戶(hù)對(duì)這個(gè)方案感興趣,可以聯(lián)系我們,我們將提供驅(qū)動(dòng)文件和完整的應(yīng)用程序示例。

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

    關(guān)注

    87

    文章

    11509

    瀏覽量

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

    關(guān)注

    7

    文章

    6100

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

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

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

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

    數(shù)據(jù)采集系統(tǒng)的典型應(yīng)用

    一、數(shù)采系統(tǒng)的介紹 數(shù)據(jù)采集系統(tǒng)是一種綜合運(yùn)用數(shù)據(jù)采集技術(shù)、計(jì)算機(jī)技術(shù)、傳感器技術(shù)和信號(hào)處理技術(shù)
    的頭像 發(fā)表于 02-18 16:19 ?865次閱讀
    <b class='flag-5'>數(shù)據(jù)采集</b>系統(tǒng)的典型應(yīng)用

    電機(jī)數(shù)據(jù)采集網(wǎng)關(guān)具有哪些特點(diǎn)?

    電機(jī)數(shù)據(jù)采集網(wǎng)關(guān)是一種專(zhuān)門(mén)用于電機(jī)系統(tǒng)數(shù)據(jù)采集和傳輸?shù)脑O(shè)備,它在電機(jī)監(jiān)控、優(yōu)化和維護(hù)方面發(fā)揮著關(guān)鍵作用。電機(jī)數(shù)據(jù)采集網(wǎng)關(guān)的特點(diǎn)主要包括以下幾個(gè)方面: 1、數(shù)據(jù)采集能力 電機(jī)
    的頭像 發(fā)表于 02-14 16:49 ?413次閱讀
    電機(jī)<b class='flag-5'>數(shù)據(jù)采集</b>網(wǎng)關(guān)具有哪些特點(diǎn)?

    溫度變送器(傳感器)IO數(shù)據(jù)采集方案

    溫度變送器數(shù)據(jù)采集方案主要涵蓋以下幾個(gè)方面: 一、數(shù)據(jù)采集方式 溫度變送器的數(shù)據(jù)采集方式一般有兩種: ? 直接采集法 ?:這種
    的頭像 發(fā)表于 12-17 09:42 ?932次閱讀

    深控信息技術(shù)公司:不需要點(diǎn)表的工業(yè)網(wǎng)關(guān)數(shù)據(jù)采集方案

    深控信息技術(shù)公司的 “不需要點(diǎn)表的工業(yè)網(wǎng)關(guān)” 數(shù)據(jù)采集方案,顛覆了傳統(tǒng)依賴(lài)點(diǎn)表進(jìn)行數(shù)據(jù)采集的模式。傳統(tǒng)方式往往需要大量的人力和時(shí)間去配置點(diǎn)表,且在面對(duì)復(fù)雜多變的工業(yè)環(huán)境和設(shè)備時(shí),容易出
    的頭像 發(fā)表于 12-16 15:29 ?500次閱讀
    深控<b class='flag-5'>信息技術(shù)</b>公司:不需要點(diǎn)表的工業(yè)網(wǎng)關(guān)<b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>方案</b>

    數(shù)據(jù)網(wǎng)關(guān)與數(shù)據(jù)采集器的區(qū)別

    在現(xiàn)代信息技術(shù)和工業(yè)自動(dòng)化領(lǐng)域,數(shù)據(jù)的收集、處理和傳輸是至關(guān)重要的。數(shù)據(jù)網(wǎng)關(guān)和數(shù)據(jù)采集器是實(shí)現(xiàn)這些功能的兩個(gè)關(guān)鍵組件,它們?cè)?b class='flag-5'>數(shù)據(jù)流動(dòng)和管理中
    的頭像 發(fā)表于 11-28 15:52 ?1490次閱讀

    成纜機(jī)數(shù)據(jù)采集物聯(lián)網(wǎng)解決方案

    在現(xiàn)代制造業(yè)中,成纜機(jī)作為重要的生產(chǎn)設(shè)備,其運(yùn)行數(shù)據(jù)的高效采集和管理對(duì)于優(yōu)化生產(chǎn)流程、提升產(chǎn)品質(zhì)量和降低運(yùn)營(yíng)成本至關(guān)重要。物聯(lián)網(wǎng)(IoT)技術(shù)的發(fā)展為成纜機(jī)的數(shù)據(jù)采集提供了新的解決
    的頭像 發(fā)表于 11-20 15:59 ?600次閱讀
    成纜機(jī)<b class='flag-5'>數(shù)據(jù)采集</b>物聯(lián)網(wǎng)解決<b class='flag-5'>方案</b>

    數(shù)控機(jī)床CNC數(shù)據(jù)采集方案

    產(chǎn)品介紹及解決方案 遠(yuǎn)創(chuàng)智控YC-8000CNC-WIFI-01-03數(shù)控機(jī)床數(shù)據(jù)采集網(wǎng)關(guān)能夠?qū)崟r(shí)采集機(jī)床的運(yùn)行狀態(tài)、加工過(guò)程的參數(shù)、設(shè)備維護(hù)信息
    的頭像 發(fā)表于 11-11 09:51 ?758次閱讀
    數(shù)控機(jī)床CNC<b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>方案</b>

    PLC數(shù)據(jù)采集解決方案

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

    中科創(chuàng)達(dá)榮獲2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)

    及前百家企業(yè)”名單。中科創(chuàng)達(dá)憑借非凡的技術(shù)實(shí)力與持續(xù)的創(chuàng)新能力,成功入選“2024年度軟件和信息技術(shù)服務(wù)競(jìng)爭(zhēng)力百?gòu)?qiáng)企業(yè)”以及“2024年軟件和信息技術(shù)服務(wù)優(yōu)秀企業(yè)”。
    的頭像 發(fā)表于 10-30 11:44 ?958次閱讀

    儀器儀表智能工廠數(shù)據(jù)采集物聯(lián)網(wǎng)解決方案

    。 正是在這種背景下,智能工廠數(shù)據(jù)采集物聯(lián)網(wǎng)解決方案應(yīng)運(yùn)而生。它以“萬(wàn)物互聯(lián)”為核心理念,通過(guò)數(shù)據(jù)采集技術(shù)、網(wǎng)絡(luò)通信技術(shù)和大
    的頭像 發(fā)表于 08-14 15:31 ?700次閱讀
    儀器儀表智能工廠<b class='flag-5'>數(shù)據(jù)采集</b>物聯(lián)網(wǎng)解決<b class='flag-5'>方案</b>

    水利數(shù)據(jù)采集遠(yuǎn)程監(jiān)控平臺(tái)是什么

    水利數(shù)據(jù)采集遠(yuǎn)程監(jiān)控平臺(tái)是一種基于現(xiàn)代信息技術(shù)的管理系統(tǒng),用于對(duì)水資源、水環(huán)境、水利工程等進(jìn)行實(shí)時(shí)的數(shù)據(jù)采集和遠(yuǎn)程監(jiān)控。這個(gè)平臺(tái)通常包括硬件設(shè)備和軟件系統(tǒng)兩部分。 硬件設(shè)備主要包括傳感器、數(shù)據(jù)
    的頭像 發(fā)表于 07-22 15:36 ?670次閱讀

    Modbus數(shù)據(jù)采集物聯(lián)網(wǎng)平臺(tái)可以采集什么設(shè)備?有什么功能?

    在當(dāng)今工業(yè)物聯(lián)網(wǎng)(IIoT)的浪潮中,Modbus協(xié)議無(wú)疑是連接傳統(tǒng)工業(yè)設(shè)備與現(xiàn)代信息技術(shù)的重要橋梁,具備簡(jiǎn)單易用、通用性強(qiáng)、擴(kuò)展性強(qiáng)等優(yōu)勢(shì)。對(duì)此,數(shù)之能提供Modbus數(shù)據(jù)采集物聯(lián)網(wǎng)平臺(tái)解決
    的頭像 發(fā)表于 07-22 13:29 ?489次閱讀
    Modbus<b class='flag-5'>數(shù)據(jù)采集</b>物聯(lián)網(wǎng)平臺(tái)可以<b class='flag-5'>采集</b>什么設(shè)備?有什么功能?