<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>
  • ESM335x工控主板ISA總線DMA數據傳輸

     2018-6-5     作者:劉乾坤         

      在《EM335x主板ISA總線的高級應用》一文中介紹了WEC7版的ESM335x精簡ISA總線數據"塊"讀寫方法,對于多字節數據塊的連續讀寫,采用塊讀寫方式可以減少驅動程序API的調用次數,提高ISA總線的訪問效率。


      數據塊讀寫功能是通過設備驅動的DeviceIoControl來完成的,需要用到以下數據結構:

      

    typedef struct 
      { 
        PBYTE pReadBuf;                  // ISA讀數據buffer, 只能一個buffer有效 
        PBYTE pWriteBuf;          // ISA寫數據buffer, 只能一個buffer有效 
        DWORD dwDataLength;      // length of data in byte 
        DWORD dwDataPortOfs;     // 讀寫的起始地址 = 0x00 – 0xFF 
        DWORD dwInc;                     // = 0: 固定地址, > 0: 讀寫后地址自動增加 
      } ISA_BLOCK_INFO, *PISA_BLOCK_INFO;


      在上述數據結構中:

      pReadBuf為進行讀操作時的數據buffer,讀操作具體為8-bit數據讀。注意:數據結構中,pReadBuf和pWrietBuf只能有一個有效。

      pWriteBuf為進行寫操作時的數據buffer,寫操作具體為8-bit數據讀。注意:數據結構中,pReadBuf和pWrietBuf只能有一個有效。

      dwDataPortOfs為讀寫的端口地址,范圍為0x00 – 0xFF。

      dwDataLength為本數據塊讀或寫的字節數。

      dwInc為每次讀寫后,地址的自動增量,dwInc = 0:表示固定地址讀寫,dwInc > 0: 表示每次讀寫后,地址會自動增加dwInc,作為下一次的讀寫地址。當地址超過0xFF時,會折回到地址0x00。


      數據塊讀寫方式雖然減少了頻繁調用系統API而產生的系統開銷,但數據讀寫過程還是需要CPU的全程參與,為了進一步提高CPU的利用效率,我們升級了ISA的驅動程序,實現了DMA方式的數據傳輸。基于支持DMA操作的ISA驅動,應用程序在調用DeviceIoControl進行塊讀寫操作時,如果訪問固定地址(即將設置參數dwInc為0),則驅動程序就會自動啟用DMA方式進行數據傳輸。


      采用DMA進行數據傳輸可以進一步提高ISA總線的數據傳輸速度,同時大大降低總線數據傳輸對CPU負載率的影響。當不使用DMA進行數據傳輸,ESM335x CPU全速運行時(CPU負載100%),ISA總線的讀寫速度在3MB/s左右,使用DMA方式后,ESM335x ISA總線速度可達到5MB/s左右,扣除驅動程序必要處理開銷,在應用層實測的數據塊讀速度為4.17MB/s、數據塊寫速度為4.5MB/s,而此時CPU的負載率在15%左右。

    亚洲精品福利视频| 亚洲精品国产av成拍色拍| 国产午夜亚洲精品不卡免下载| 久久精品韩国三级| 精品无码一区二区三区水蜜桃| 久久精品国产亚洲AV嫖农村妇女| 国产亚洲一区二区精品| 日本久久中文字幕精品| 久久精品夜夜夜夜夜久久| 精品乱子伦一区二区三区高清免费播放 | 国产成人综合久久精品亚洲| 熟妇人妻VA精品中文字幕| 亚洲精品网站在线观看不卡无广告| 无码国产精品一区二区免费式影视| 日韩精品一区二区三区大桥未久| 一本色道久久88综合亚洲精品高清 | 久久国产乱子伦精品免费不卡| 亚洲精品国自产拍在线观看| 无码专区人妻系列日韩精品少妇| 无码精品黑人一区二区三区| 久久久久久国产精品无码下载| 精品久久久久久中文| 92国产精品午夜福利| 无码日韩人妻精品久久蜜桃| 国产午夜精品理论片| 青青热久久国产久精品| 99久久婷婷国产综合精品| 精品欧洲av无码一区二区14| 香蕉久久夜色精品国产小说| 国产亚洲精品a在线无码| 九九久久精品国产免费看小说| 色婷婷99综合久久久精品| 国产成人久久精品区一区二区| 久久99精品一久久久久久| 中文字幕一精品亚洲无线一区| 伊人久久精品无码麻豆一区| 911精品国产亚洲日本美国韩国| 久久免费观看国产99精品| 国产在线无码精品电影网| 久久99精品久久久久久噜噜| 国产精品国产三级在线高清观看 |