《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 基于PCI總線的測控卡的設計

基于PCI總線的測控卡的設計

2008-10-20
作者:張 德 馬淑芬 吳嗣亮

  摘 要: 介紹了一種基于PCI總線的測控板卡的設計,使用PCI9054實現總線控制,利用FPGA實現測控板卡的發送邏輯、接收邏輯和數據緩沖功能,并采用了乒乓FIFO;最后給出了用WinDriver編寫設備驅動程序的方法。
  關鍵詞: PCI9054 FPGA 狀態機 乒乓FIFO WinDriver


  PCI總線是一種高性能的局部總線,它具有32/64位總線寬度,且總線地址和數據復用,支持猝發傳輸,傳輸速率高達132MB/s;同時可支持多組外圍設備。另外,PCI總線不依賴于熱和CPU,具有較好的兼容性。
  近幾年來,現場可編程門陣列(FPGA)在現代電子設計中的成功應用,使充分利用FPGA的本身資源設計專用電路,完成系統功能成為可能,從而簡化了電路、縮小了體積、提高了穩定性、具有更大的靈活性。
  基于這種設計思想,筆者利用FPGA和PCI總線接口芯片設計了一種測控電路板卡,經實際運行,效果很好。
1 系統結構與功能
  本板卡為基于PCI總線,采用RS485電平傳輸的異步串行通信測控卡。它與PCI總線的協議部分采用PCI9054專用接口芯片來完成。PCI9054是由美國PLX公司生產的一款高性能PCI I/O加速器,它采用了先進的32位數據管道結構技術,支持復用/非復用的32位數據/地址總線,本地總線有三種模式可選:M、C、J模式,被廣泛應用于PCI總線板卡的開發中。在本設計中,PCI9054工作在C模式下,采用中斷方式,總線周期為 “PCI目標讀單周期" title="單周期">單周期”和“PCI目標寫單周期”,數據總線為8位。
  異步串行通信電路部分完全用FPGA來實現。在設計上,筆者選用了Xilinx公司的SpartanⅡ系列的XC2S200來實現異步串行通信的接收、發送和接口控制功能,FPGA具有在線可編程能力,設計者可根據實際需求分配資源。
  測控卡的通信協議為起止式協議,采用固定的幀格式:1位開始位、8位數據位、1位停止位,無奇偶校驗位,在軟件中采用統一的CRC校驗,傳輸波特率為19.2kbps。為保證接收數據" title="接收數據">接收數據的正確性,設計中采用16倍頻波特率作為接收采樣時鐘,并把第八個采樣值作為接收數據。
  測控卡主要完成以下工作:采用RS485差分電平傳輸的遙測數據經過電平轉換后,由接收模塊" title="接收模塊">接收模塊接收后乒乓緩存到FIFO中,并通過PCI總線接口芯片PCI9054以單周期方式送到計算機內存中以便進行下一步處理。發送模塊" title="發送模塊">發送模塊接收到PCI總線傳輸過來的遙控命令后,按照通信協議格式組幀,在通過電平轉換芯片轉換成RS485電平后,以19.2kHz的頻率發送給目標設備,實現對目標設備的各種控制。
  根據以上分析,筆者設計的測控卡的具體功能結構如圖1所示。下面詳細闡述各部分的功能。


  ·MAX3490E:完成RS485差分電平到TTL電平的轉換;
  ·接收模塊:完成遙測數據的接收和緩沖;
  ·發送模塊:完成遙控數據的緩沖和發送;
  ·接口模塊:實現與PCI9054的接口功能,完成讀寫和傳輸控制操作;
  ·PCI9054:完成和PCI 總線的接口協議。
1.1 發送模塊設計
  發送模塊主要實現對遙控數據的緩存和并/串轉換,同時按照設計的異步串行通信數據幀格式進行相應的處理,最后將數據串行發送。處理器讀取線路狀態寄存器信息,檢查發送FIFO(TxFifo)是否為空,如為空且有遙控數據待發,則將遙控數據通過PCI9054發送并存儲到發送FIFO中。發送狀態機讀取TxFifo中數據,通過并/串移位后用19.2kbps的波特率串行輸出。發送狀態機實現起止位“0”、并/串移位信號、停止位“1”的發送,具體如圖2 所示。


  開始:當移位寄存器" title="移位寄存器">移位寄存器空,發送模塊處于等待開始狀態,一旦檢測到非空,發送起始位“0”,狀態機進入移位狀態;
  移位:通過并/串移位寄存器串行發出,當完成8bit 移位后,狀態機轉入停止狀態;
  停止:在這個狀態,為發送的數據加上一位停止位,然后轉入開始狀態,等待下一個數據。
  發送模塊包含8位并/串移位寄存器TSR、51×8 bits發送FIFO(TxFifo)、用于實現發送遙控數據計數的52計數器等。發送模塊內部電路結構如圖3所示。


1.2 接收模塊設計
  接收模塊實現遙測數據的串/并轉換,同時完成起始位、停止位的識別捕獲及遙測數據的緩存。由于本設計中由設備每100ms定時發送一幀(181字節)接收數據,當FIFO產生滿標志時,將耗時(181×(8+2)/19200)ms,即約95ms,僅剩5ms左右的時間讓PC機響應,由于操作系統的特點,不能充分滿足PC機的響應時間,這會造成接收數據混亂。為保證PC機所需的響應時間和數據的正確性和實時性,筆者使用了兩個滿標志為181的接收FIFO進行乒乓切換,收到良好的效果。
  接收模塊包含8位串/并移位寄存器、兩個滿標志為181的接收FIFO(RxFifo、RxFifo_Cache)、采樣電路、捕獲電路、讀寫通道選擇電路和移位計數器電路。其中,采樣比較電路采樣起始信號、數據信號和結束標志,通道選擇電路用來對FIFO乒乓切換讀寫通道進行選擇。接收模塊內部結構如圖4所示。采樣電路、捕獲電路在采樣捕獲到起始信號“0”后根據通信協議接收串行數據,經過串/并移位后乒乓存儲到FIFO中,由PCI9054根據滿、空信號乒乓讀取。


1.3 接口模塊設計
  接口模塊主要實現PCI9054和接收、發送模塊的通信,包括傳輸控制邏輯、時鐘分頻控制,筆者根據PCI9054的單周期讀寫時序給出了各類寄存器的讀寫信號、總線響應信號、控制信號等。該模塊含有五個寄存器:接收FIFO寄存器(RFR)、發送FIFO寄存器(TFR)、線路控制狀態寄存器(LCSR)、中斷標識寄存器(IIR)和中斷使能寄存器(IER)。具體說明如下: ·LCSR:通過讀該寄存器獲取各個FIFO的狀態信號(置1有效,0無效)。LCSR格式如下:

  
  TxFifocompleted:數據傳輸完成(1完成,0未完成);
  TxFifoEmpty:發送FIFO寄存器空(1空,0非空);
  TxFifoFull:發送FIFO寄存器滿(1滿,0未滿);
  RxFifoEmpty:接收FIFO寄存器空(1空,0非空);
  RxFifoFull:接收FIFO寄存器滿(1滿,0未滿)。
  ·IIR:通過讀取該寄存器獲得中斷類型。IIR格式如下:

  
  0100(int0):接收FIFO(RxFIFO)滿中斷;
  0010(int1):發送FIFO(TxFIFO)空中斷;
  0001(idle):無中斷。
  ·IER:可以通過寫該寄存器相應位使能或取消中斷。IER格式如下:

  
  TxFifoI:發送FIFO空中斷使能 (1允許,0禁止);
  RxFifoI:接收FIFO滿中斷使能(1允許,0禁止)。
  中斷產生由接口中斷狀態機實現,具體如圖5所示。
  空閑:空閑狀態,沒有中斷產生;
  中斷int0:接收FIFO(RFR)滿,產生中斷,要求PCI9054響應;
  中斷int1:發送FIFO(TFR)空,產生中斷,要求PCI9054寫入數據或讀取中斷標識寄存器IIR。
2 驅動程序的開發
  驅動程序主要是完成對硬件板卡的內存映像地址、I/O地址的存取,并正確處理來自板卡的硬件中斷。與傳統開發設備驅動程序的方法不同,WinDriver不要求開發者非常熟悉操作系統平臺,掌握核心開發/調試知識等;并且WinDriver設備驅動程序工具包將驅動程序的開發作了最大的簡化,它為開發人員提供了功能全面的API函數。開發人員只要根據硬件板卡功能的需要調用所需的函數即可。本測控卡驅動程序需要完成設備的初始化、FIFO的讀寫等,筆者選擇相應的函數將其封裝成一個測控卡驅動類,并加以例化,供應用程序調用,即很好地實現了硬件功能。
  利用專用PCI總線接口芯片可以實現完整的PCI主控模塊和目標模塊接口功能,將復雜的PCI總線接口轉換為相對簡單的用戶接口,避免了用戶直接面對復雜的PCI總線協議,降低了設計難度。利用FPGA設計自己需要的專用電路,具有極大的靈活性,設計者可以根據實際的需要,在FPGA資源允許的條件下對設計進行優化擴展。譬如筆者在設計過程當中,利用FIFO實現了數據緩存,并根據數據的實際長度加大了FIFO的深度,有效地降低了中斷次數或查詢次數;同時,FIFO的乒乓切換很好地滿足了PC機所需的響應時間,保證了接收數據的正確性,對整個系統起到優化作用。利用WinDriver 開發驅動程序,簡單實用,縮短了開發周期。


參考文獻
1 李圣怡,戴一帆,王憲平.Windows環境下軟硬件接口技術[M].長沙:國防科技大學出版社,2001
2 李貴山,陳金鵬.PCI 局部總線及其應用[M].西安:西安電子科技大學出版社,2003
3 葉玉明,姚伯威,彭 衛.基于PCI總線數據采集系統研究[J].中國測試技術,2003(1):47~48
4 PCI9054 Datasheet [M]. USA:PLX Corp,2001

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲二区在线视频| 欧美日韩精品一区二区天天拍小说| 欧美日韩你懂的| 翔田千里一区二区| 欧美国产一区二区| 欧美专区中文字幕| 欧美网站在线观看| 亚洲精品网址在线观看| 国产午夜精品久久| 亚洲欧美国产高清va在线播| 亚洲国产另类久久久精品极度| 亚洲午夜在线观看视频在线| 一区二区三区我不卡| 欧美专区亚洲专区| 亚洲午夜精品一区二区三区他趣| 美女黄毛**国产精品啪啪| 亚洲欧美乱综合| 国产精品亚发布| 亚洲男人天堂2024| 亚洲午夜激情免费视频| 欧美中文字幕第一页| 亚洲在线成人| 国产欧美日韩高清| 久久精品一区二区国产| 好男人免费精品视频| 久久久xxx| 亚洲韩日在线| 亚洲精品美女在线| 欧美日韩中文字幕日韩欧美| 一区二区三区.www| 亚洲一区二区三区乱码aⅴ| 国产精品久久久久久久久久免费看| 亚洲一二三区在线观看| 午夜精品久久久久久久蜜桃app | 欧美福利影院| 亚洲黄色小视频| 亚洲国产精品久久人人爱蜜臀| 久久综合伊人77777| 亚洲国产精品va在看黑人| 在线日本成人| 欧美区日韩区| 亚洲伊人久久综合| 亚洲综合日韩中文字幕v在线| 国产精品久久久久7777婷婷| 欧美一区二区三区在线| 国产视频精品xxxx| 久久久水蜜桃| 亚洲美女中出| 亚洲神马久久| 国产情人节一区| 久久亚洲一区| 99视频在线精品国自产拍免费观看| 亚洲美女色禁图| 国产日韩欧美二区| 性视频1819p久久| 亚洲国产经典视频| 夜夜嗨av色综合久久久综合网| 国产精品入口尤物| 欧美xx视频| 亚洲欧美综合v| 亚洲精品一区二区三区99| 亚洲一区综合| 亚洲国产精品电影| 国产午夜精品视频| 欧美日韩成人在线视频| 欧美中文字幕在线观看| 一本在线高清不卡dvd| 久久国产精品一区二区| 一区二区三区成人精品| 亚洲成人影音| 老色鬼久久亚洲一区二区| 亚洲欧美日本国产有色| 亚洲精品影院| 亚洲一区二区免费| a91a精品视频在线观看| 在线观看精品一区| 国产日韩精品在线播放| 欧美亚洲成人免费| 欧美久久久久中文字幕| 欧美91大片| 美女国内精品自产拍在线播放| 欧美影院在线播放| 新狼窝色av性久久久久久| 在线亚洲精品| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲一区二区免费看| 亚洲精选久久| 日韩视频一区二区| 99国产精品99久久久久久| 激情国产一区| 国内精品亚洲| 激情另类综合| 好吊妞**欧美| 激情五月综合色婷婷一区二区| 国产午夜精品麻豆| 加勒比av一区二区| 在线观看三级视频欧美| 欧美性感一类影片在线播放| 欧美日韩一区在线| 国产精品久久97| 国产日产亚洲精品系列| 国产最新精品精品你懂的| 一区二区视频免费在线观看| 在线观看欧美亚洲| 狠狠久久综合婷婷不卡| 在线观看欧美日韩国产| 亚洲精品美女| 亚洲精品一区二区三区樱花| 中文日韩在线视频| 亚洲欧美激情视频| 亚洲国产精品精华液2区45| 亚洲精品久久7777| 亚洲免费在线视频一区 二区| 欧美尤物一区| 亚洲天堂偷拍| 欧美一级二级三级蜜桃| 麻豆精品精品国产自在97香蕉| 欧美日韩视频在线第一区| 国产日本亚洲高清| 欧美日韩国产三级| 亚洲精品一区在线观看香蕉| 尤物网精品视频| 在线中文字幕一区| 欧美综合77777色婷婷| 日韩视频免费| 久久精品成人欧美大片古装| 欧美极品一区二区三区| 欧美色精品天天在线观看视频 | 久久av资源网站| 欧美日韩一级黄| 激情小说另类小说亚洲欧美| 一本色道久久综合亚洲精品婷婷| 亚洲欧美激情在线视频| 亚洲一区二区三区四区五区黄| 久久久久久久91| 国产精品二区在线| 亚洲日本中文| 亚洲高清精品中出| 亚洲日韩欧美视频| 久久精品欧洲| 国产欧美婷婷中文| 亚洲综合第一| 午夜一区二区三区不卡视频| 欧美日韩日日骚| 日韩一级精品| 99在线热播精品免费| 欧美成人精品不卡视频在线观看| 欧美日韩在线一区| 日韩亚洲在线| 亚洲视频中文字幕| 国产精品久久久久7777婷婷| 99精品国产福利在线观看免费 | 欧美日韩一区二区视频在线| 亚洲激情社区| 久久成人国产| 久久综合九色欧美综合狠狠| 国产一区二区久久| 亚洲专区一二三| 欧美亚洲视频在线看网址| 国产精品成人一区二区三区吃奶 | 欧美午夜精品久久久| 欧美亚洲免费电影| 欧美精品免费播放| 亚洲欧美日韩人成在线播放| 欧美超级免费视 在线| 亚洲一区免费观看| 欧美国产欧美亚洲国产日韩mv天天看完整 | 日韩小视频在线观看| 国产欧美婷婷中文| 亚洲永久免费精品| 亚洲国产精品视频| 久久激情中文| 中文亚洲视频在线| 欧美风情在线| 亚洲国产1区| 国产真实乱偷精品视频免| 亚洲午夜91| 亚洲美女视频网| 欧美 日韩 国产一区二区在线视频 | 午夜天堂精品久久久久 | 亚洲精品资源| 欧美不卡激情三级在线观看| 久久成人国产| 国产一区二区三区在线观看免费 | 香蕉久久国产| 亚洲视频大全| 欧美视频中文字幕在线| 一区二区三区.www| 亚洲精品婷婷| 欧美日韩国产在线播放网站| 亚洲黄色高清| 亚洲国产欧美国产综合一区| 鲁大师成人一区二区三区| 亚洲成色777777在线观看影院| 亚洲午夜国产成人av电影男同| 欧美电影在线观看| 亚洲欧洲日韩综合二区| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲高清久久久| 欧美日韩国内自拍|