激情综合丁香-激情综合六月-激情综合婷婷亚洲图片-激情综合图区-激情综合网五月

ESM335x工控主板ISA總線DMA數(shù)據(jù)傳輸

 2018-6-5     作者:劉乾坤         
文章標(biāo)簽:C/C++ESM335x精簡ISA總線DMA

  在《EM335x主板ISA總線的高級應(yīng)用》一文中介紹了WEC7版的ESM335x精簡ISA總線數(shù)據(jù)"塊"讀寫方法,對于多字節(jié)數(shù)據(jù)塊的連續(xù)讀寫,采用塊讀寫方式可以減少驅(qū)動程序API的調(diào)用次數(shù),提高ISA總線的訪問效率。


  數(shù)據(jù)塊讀寫功能是通過設(shè)備驅(qū)動的DeviceIoControl來完成的,需要用到以下數(shù)據(jù)結(jié)構(gòu):

  

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


  在上述數(shù)據(jù)結(jié)構(gòu)中:

  pReadBuf為進(jìn)行讀操作時的數(shù)據(jù)buffer,讀操作具體為8-bit數(shù)據(jù)讀。注意:數(shù)據(jù)結(jié)構(gòu)中,pReadBuf和pWrietBuf只能有一個有效。

  pWriteBuf為進(jìn)行寫操作時的數(shù)據(jù)buffer,寫操作具體為8-bit數(shù)據(jù)讀。注意:數(shù)據(jù)結(jié)構(gòu)中,pReadBuf和pWrietBuf只能有一個有效。

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

  dwDataLength為本數(shù)據(jù)塊讀或?qū)懙淖止?jié)數(shù)。

  dwInc為每次讀寫后,地址的自動增量,dwInc = 0:表示固定地址讀寫,dwInc > 0: 表示每次讀寫后,地址會自動增加dwInc,作為下一次的讀寫地址。當(dāng)?shù)刂烦^0xFF時,會折回到地址0x00。


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


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

文章標(biāo)簽:C/C++ESM335x精簡ISA總線DMA
主站蜘蛛池模板: 中国一级性生活片| 久久精品免费一区二区三区| 欧美综合色区| 国产精品夜间视频香蕉| 91久久国产精品| 国产综合视频在线观看| 手机看片日韩在线| 伊人激情在线| 一级毛片在线免费视频| 中文字幕亚洲一区二区v@在线 | 欧美视频一区二区专区| 在线观看国产小视频| 三级黄色高清视频| 日韩一级欧美一级在线观看| 亚洲精品国产第一区第二区国 | 日本黄区免费视频观看| 亚洲国产日韩无在线播放| 污污美女网站| 欧美啊v在线观看| 国产在线拍小情侣国产拍拍偷| 特级毛片视频在线| 深夜精品影院18以下勿进| 国产成人精品日本亚洲网站| 韩国网站爱久久| 久久国产精品自在自线| 欧美成人免费午夜影视| 日韩亚洲制服丝袜中文字幕| 亚洲刺激视频| 亚洲免费黄色网| 亚洲欧美中文日韩综合| 一区二区三区高清在线| 91社区在线视频| 99久久久久国产精品免费| 九九热这里只有| 三极片免费看| 九九这里只有精品视频| 大陆一级毛片免费高清| 久久中文字幕美谷朱里| 久久青草免费免费91线频观看| 日本一级特黄视频| 无内丝袜透明在线播放|