<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>
  • ESM7000支持8路14位AD數據采集

     2021-3-31     作者:劉乾坤         

      ESM7000是基于NXP i.MX7D的高性能低功耗工控主板,支持以太網、CAN、串口、USB等豐富的通訊接口。ESM7000提供了RGB和LVDS兩種顯示接口可選,支持從320x240到1920x1080的顯示分辨率,支持電容/電阻觸摸屏。


      ESM7000還集成了兩個ADC單元,每個ADC單元支持4通道的模擬量采集, ADC的基準電壓為1.8V,分辨率為14位,輸入模擬量信號范圍為0~1.8V。通過標定,ESM7000的ADC可實現14位精度的模擬信號采集。基于ESM7000可快速構建通訊接口豐富、人機交互良好、高性價比的數據采集方案。支持AD功能的ESM7000售價保持不變,用戶可在英創ESM7000主頁查看對應的定貨型號和價格。


      ESM7000的AD輸入引腳與主板的ISA總線引腳是復用的,復用關系如下表所示:


    ESM7000引腳E列

    8-bit精簡ISA8通道ADC接口
    E1

    GND電源地

    GND電源地
    E2ISA_D0ADC1_CH0
    E3ISA_D1ADC1_CH1
    E4ISA_D2ADC1_CH2
    E5ISA_D3ADC1_CH3
    E6ISA_D4ADC2_CH0
    E7ISA_D5ADC2_CH1
    E8ISA_D6ADC2_CH2
    E9ISA_D7ADC2_CH3
    E10ISA_RDnNC
    E11ISA_WEnNC
    E12ISA_ADVnNC
    E13ISA_CSnNC


      軟件操作上,ESM7000的兩個ADC對應設備名稱為L"ADC1:"和L"ADC2:",通過標準的文件讀函數ReadFile就可讀取指定通道的ADC轉換結果。下面是連續讀取ESM7000指定AD通道,并記錄最大值、最小值和計算直方圖的示例代碼。


    #define     VBASE                1800         // 1800mV
    #define     resolution         0x4000     // 14-bit
     
    UINT32  histogram[resolution];
     
    int _tmain(int argc, _TCHAR* argv[])
    {
             HANDLE   hADC;
             DWORD   adc_val,   inst;
             DWORD   dwMinVal,   dwMaxVal, i,   times, dwBytesofRead;
             ADC_INFO        adcInfo;
             TCHAR     adcInst[][10]={TEXT("ADC1:"),   TEXT("ADC2:")};  // ADC設備名
     
             inst   = 0;
             hADC   = CreateFile(adcInst[inst], GENERIC_READ   | GENERIC_WRITE, FILE_SHARE_READ   | FILE_SHARE_WRITE, NULL, OPEN_EXISTING,   0, NULL);
             if (hADC == INVALID_HANDLE_VALUE)
             {
                       ERRORMSG(1,   (_T("Could   not retrieve an handle on \r\n")));
                       return   -1;
             }
     
             memset(   histogram,0, sizeof(histogram));
             dwMinVal   = 0xffffffff;
             dwMaxVal   = 0;        
             adcInfo.dwChannels = 1;         // ADC通道0~3
             adcInfo.pData = &adc_val;      // 14位的ADC數據
             for(i=0; i<1000;   i++)
             {
                       ReadFile(hADC, &adcInfo,   1, &dwBytesofRead, NULL);
                       dwMinVal   = adc_val < dwMinVal   ? adc_val : dwMinVal;
                       dwMaxVal   = adc_val > dwMaxVal   ? adc_val : dwMaxVal;
                       histogram[adc_val]++;             
             }
     
             RETAILMSG(   1, (TEXT("-----------   Data Analysis-%s-CH%d -----------\r\n"), adcInst[inst], adcInfo.dwChannels));
             for( i=0, times=0;   i<resolution;i++ )
             {
                       if(   histogram[i]   )
                                times += histogram[i];
             }
     
    #ifdef VBASE
             TCHAR     szBuf[100];
             for( i=0; i<resolution;i++   )
             {
                       if(   histogram[i]   )
                       {
                                wsprintf(szBuf,   TEXT("   value :%5.2fmv   times:%5d   %d%%\r\n"), i * (float)VBASE / resolution, histogram[i], histogram[i]*100/times);
                                RETAILMSG( 1, (TEXT(" %s"), szBuf));
                       }
             }
             wsprintf(szBuf, TEXT(" MinVal:%5.2fmv    MaxVal:%5.2fmv     MaxVal-MinVal:%5.2fmv\r\n"), dwMinVal*   (float)VBASE   / resolution, dwMaxVal*   (float)VBASE   / resolution, (dwMaxVal-dwMinVal)* (float)VBASE / resolution);
             RETAILMSG(   1, (TEXT("   %s"), szBuf));
    #else
             for( i=0;   i<resolution;i++ )
             {
                       if( histogram[i]   )
                                RETAILMSG(   1, (TEXT(" datas :%5d   times:%5d   %d%%\r\n"), i, histogram[i], histogram[i]*100/times));
             }
             RETAILMSG( 1, (TEXT("   MinVal:%5d  MaxVal:%5d   MaxVal-MinVal:%d\r\n"), dwMinVal,   dwMaxVal, dwMaxVal-dwMinVal));
    #endif
     
             RETAILMSG(   1, (TEXT("---------------------   END ---------------------\r\n\r\n")));
     
             CloseHandle(hADC);
             return   0;
    }
    亚洲嫩草影院久久精品| 国产精品日韩专区| 亚洲国产欧美日韩精品一区二区三区 | 日韩蜜芽精品视频在线观看| 四虎精品成人免费视频| 亚洲精品成人图区| 国产麻豆剧传媒精品国产免费| 婷婷五月深深久久精品| 色花堂国产精品第一页| 思思91精品国产综合在线| 久久e热在这里只有国产中文精品99| 精品国产日产一区二区三区| 91精品国产高清久久久久久| 国产精品自在线拍国产手机版| 亚洲国模精品一区| 久久精品国产大片免费观看| 正在播放国产精品| 国产内地精品毛片视频| 91久久精品国产91久久性色也| 日韩精品中文字幕在线观看| 2022国产精品视频 | 少妇人妻偷人精品无码视频| 国产麻豆精品入口在线观看| 国产麻豆精品精东影业av网站| 国产香蕉精品视频| 99久久免费看国产精品| 日韩精品午夜视频一区二区三区| 亚洲依依成人精品| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 一本色道久久综合亚洲精品高清| 2019天堂精品视频在线观看| 秋霞午夜鲁丝片午夜精品久| 国产馆精品推荐在线观看| 99视频精品全部在线观看| 精品熟女少妇a∨免费久久| 久久精品一区二区三区不卡| 任你躁在线精品免费| 国产亚洲精品AAAA片APP| 国产精品爽爽va在线观看网站| 久久99国产综合精品| 亚洲国产成人乱码精品女人久久久不卡 |