<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 電源與新能源 > 設計應用 > 500兆/秒高速A/D系統(tǒng)的實現(xiàn)

          500兆/秒高速A/D系統(tǒng)的實現(xiàn)

          作者: 時間:2011-05-26 來源:網絡 收藏

          4 Windows95下軟件設計的實時性考慮

          的軟件運行于Window 95平臺之上的。設計的指標要求每秒能計時200次的操作,每次采集512點,既要求在5毫秒內將部分采到的512Bytes傳到計算機并存儲在硬盤上。這個要求對于PCI接口來說是非常低的,實測結果顯示的平均反應時間遠小于這個時間。但是結果顯示系統(tǒng)的平均反應時間遠小于這個時間。但是我們發(fā)現(xiàn)系統(tǒng)每處理10 000次響應總會有一到兩次的反應時間特別慢,超過5毫秒有時甚至達到40毫秒。而我們的系統(tǒng)要處理的是一個連續(xù)有序的事件,要求對每一個事件都必須做反應,否則后面的事件就會被誤處理。經過分析表明,這種現(xiàn)象完全是由于Windows95操作系統(tǒng)本身的原因造成的。Windows95是一種多任務的平臺,它的核心運行在優(yōu)先級較高的Ring0上,普通的應用程序則運行在優(yōu)先級低的Ring3上,應用程序靠內核的調度分時運行。Windows95是專門為PC機設計的,主要的用途是處理人們的娛樂以及辦公自動化等事務,考慮的是使用起來如何方便,并沒有對工業(yè)控制方面的實時性加以考慮,所以外層的應用程序有可能會隨時被內核打斷,根本沒有什么時間的保障。要想準確無誤地處理對時間要求比較荷刻的事件,必須把處理程序放在運行于內核級的中斷服務程序中去執(zhí)行,這樣除非有更高級的中斷否則程序就不會被打斷。在編寫中斷服務程序處理函數時我們采用了Windriver提供的Kernal PlugIn功能,將自己編寫的中斷服務程序掛接在系統(tǒng)內核上。用此種方法可以每秒10 000次的斷處理而不丟失。我們在編寫中斷服務程序時借用了硬件設計中FIFO的思想,先在內存中開辟一塊共域作緩沖區(qū)分別設置讀指針和寫指針,硬件觸發(fā)中斷后服務程序先從讀取數據進行處理,然后發(fā)了指令控制等待下一次事件,接著向上層應用軟件發(fā)出消息請求上層應用程序從緩沖區(qū)讀取數據存盤和顯示。中斷服務程序發(fā)出的消息有可能不會馬上被上層應用程序響應,但只要緩沖區(qū)足夠大,每一次事件產生的數據就不會丟失。整個程序的流程圖如圖8所示。

          本數據采集系統(tǒng)成成功地在上海某科研單位得到應用。雖然設計初衷是為了滿足某用戶的需求,但它容易擴展成通用的A/D采樣系統(tǒng)應用于相關的各個領域。


          上一頁 1 2 3 4 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();