<strike id="kiyse"></strike>
  • <tr id="kiyse"></tr>
  • <strike id="kiyse"></strike><samp id="kiyse"><tbody id="kiyse"></tbody></samp>
    <strike id="kiyse"><s id="kiyse"></s></strike>
    <tr id="kiyse"></tr>
    <noframes id="kiyse"><code id="kiyse"></code></noframes>
    <th id="kiyse"></th>
    <samp id="kiyse"></samp>
  • <th id="kiyse"><s id="kiyse"></s></th>
  • 多通道并行采集在Linux主板上的實現

     2022-8-4     作者:黃志超         

    英創公司推出了支持多通道同步采樣ADC的工控主板ESM7080,板載了8路16位同步AD,最高采樣率可達200KSPS,關于具體的指標可以參考文章英創推出多通道同步采樣ADC工控主板中的介紹。


    這套方案利用了CPU i.MX7D的異構核心優勢,使用Cortex-M4核心來控制8路AD,保證了數據讀取的實時性,M4讀取到數據后會通知Linux系統,再由Linux系統從緩沖區中將M4存放的數據一次性讀出。為了方便客戶的使用,英創公司提供了Linux系統上的專用驅動,將這8路AD作為了IIO子系統(Linux Industrial I/O Subsystem)中的設備,這樣用戶就可以通過標準的IIO接口操作來讀取AD數據,而不必關心和Cortex-M4核心相關的交互操作。下面就來介紹在ESM7080主板上采集數據的相關設置。


    因為是實現的同步采樣,所以Linux系統中,將8路AD作為了一個整體的設備,設備目錄為/sys/bus/iio/devices/iio:device0/,目錄中的文件如下圖

    image.png


    其中比較重要的幾個文件的說明如下:


    設備或目錄名稱簡介
    in_voltage_sampling_frequency設置或讀取當前采樣率
    sampling_frequency_available讀取in_voltage_sampling_frequency可以設置的有效值,具體見表2
    in_voltage_scale設置或讀取當前采樣電壓范圍,有兩個范圍,0表示-5v~+5v,1表示-10v~+10v
    in_voltage_scale_available讀取in_voltage_scale可以設置的值,即0和1
    scan_elements(目錄)用于使能連續采樣通道
    trigger(目錄)用于使能連續采樣的trigger
    buffer(目錄)用于開啟連續采樣

    表1

            

    sampling_frequency_available可以讀取出支持的采樣率:


    設備名稱支持的采樣率(Hz)
    sampling_frequency_available20,40,100,200,400,1000,2000,4000,10000,20000,40000,100000,200000

    表2


    表1中文件的讀取和寫入都可以通過標準文件的讀寫操作來實現,也可以通過libiio庫提供的函數接口來進行設置。


    英創公司建議客戶還是通過libiio庫來實現連續采樣,在之前的文章中我們已經做過詳細的介紹《基于Linux IIO接口的波形采集》。因為ESM7080主板的AD也是基于IIO子系統提供的接口,所以程序是完全一致的,這里就不再贅述了。下面說明關于ESM7080的AD在使用的時候需要注意的一些地方。


    因為將8個同步采樣的AD通道作為了一個整體設備,所以一次讀取出的數據是以16字節為單位的(一個通道16位為2個字節,一共8個通道),數據的具體排列方式如下:

    字節偏移量對應數據
    0通道1
    2通道2
    4通道3
    6通道4
    8通道5
    10通道6
    12通道7
    14通道8
    16通道0
    ......

    表3


    關于采集數據的時候負載情況,我們實際測試在100K和200K采樣率下,連續采集并將數據寫入到磁盤的過程中,系統負載的情況如下:


    采樣率負載情況
    200K30%
    100K15%

    表4


    根據表3的情況,可以看到在200K采樣率的情況下,還留有足夠的CPU資源給用戶進行處理數據。


    下面是在100K采樣率下進行的一次波形采集測試。我們在通道1和通道2上分別接入了100Hz的正弦波和三角波,其余通道接入了一個固定電平信號,使用基于libiio實現的例程采樣了16000個點(每個通道2000個點),然后利用gnuplot工具將采樣值按照通道排列的格式繪制成曲線圖,結果如下:

    image.png



    可以看到圖中繪制每個通道采集的2000個點中,通道1和通道2剛好是2個周期。100K采樣率下,100Hz的波形每個周期應該是采樣1000個點,剛好是對應上的。另外6通道接入了固定電平信號,所以是一條直線。


    對這套方案感興趣的客戶可以與英創公司的工程師聯系,索取相關資料和例程.





    国产精品无码一二区免费 | 国产成人精品视频2021| 91亚洲国产成人精品下载| 国产手机在线精品| 午夜精品不卡电影在线观看| 日产精品久久久一区二区| 丰满人妻熟妇乱又仑精品| 国产伦精品一区二区三区无广告| 精品亚洲成在人线AV无码| 亚洲国产精品福利片在线观看| 亚洲国产精品无码久久九九| 日韩精品专区在线影院重磅| 亚洲精品韩国美女在线| 亚洲AV无码成人精品区在线观看 | 精品精品国产自在97香蕉| 精品无码AV无码免费专区| 国产精品一区二区av| 国产区精品高清在线观看| 老司机精品福利在线| 国内精品福利视频| 亚洲色偷精品一区二区三区| 亚洲精品在线免费观看视频| 无码少妇精品一区二区免费动态 | 九九精品视频在线观看| 91精品国产高清久久久久久| 国产精品美女久久久m| 久久久久久一区国产精品| 亚洲午夜精品久久久久久浪潮| 国产成人精品亚洲一区| 国产精品自在在线午夜出白浆| 精品久久久久久无码中文野结衣 | 亚洲国产精品人人做人人爱| 最新国产午夜精品视频不卡| 亚洲av永久中文无码精品| 99久久综合国产精品免费| 国产精品免费观看| 国产精品国产三级国产an| 亚洲精品中文字幕| 日韩精品一卡2卡3卡4卡新区乱码| 四虎永久在线精品免费观看视频| 国产成人精品高清在线观看99 |