《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 業界動態 > X-Scan X射線線陣列探測器并行幀捕獲卡

X-Scan X射線線陣列探測器并行幀捕獲卡

2008-10-30
作者:張增輝 沈 激 陳子瑜

  摘 要: 介紹了一個基于PCI總線的RS422并行幀捕獲卡。該卡用于X-Scan X射線線陣" title="線陣">線陣列探測器高速14bit圖像數據的獲取。簡要敘述了X射線線陣列探測器的輸出以及基于PCI總線的數據獲取理論和方法,并介紹了所采用芯片的性能及應用、卡的硬件設計思想和結構以及軟件設計。
  關鍵詞: RS422接口 PCI總線 X射線 線陣列探測器 幀捕獲


1 X-ScanX射線線陣列探測器數據端口和幀捕獲卡
  X-Scan是芬蘭DT公司生產的X射線線陣列探測器,用于安全、工業、醫學和食品等領域的無損檢測或質量控制中。探測器由探測元件、探測電子學和微控制器組成。探測器數據輸出采用RS422端口,為14位數據并行平衡(差分" title="差分">差分)輸出[1]。端口信號十分容易理解:行使能信號LEN和同步信號PCLK(PCLK信號頻率為2.2MHz)之間的關系如圖1所示。


  行使能信號LEN表明自上升沿" title="上升沿">上升沿后,經t2時間探測器發送數據;PCLK信號的上升沿用于計算機接口進行數據讀操作。DT公司X-Scan平衡輸出定義為一對互為反相的TTL電平信號。
  一行數據定義為一幀,其中包含的數據是大量的,并且需要高速傳輸,所以計算機接口應該基于PCI總線。為此研制了基于PCI總線的幀捕獲(Frame Grabbing )卡,以滿足X-Scan應用的需要。
2 計算機接口設計
2.1 PCI總線
  PCI(Peripheral Component Interconnect)總線[2]是ISA/EISA總線之后的一種現今計算機中廣泛采用的局部總線,支持外圍設備進行突發通訊,32位總線數據傳輸速率峰值達132MB/s,遠遠超過ISA/EISA總線5Mb/s的速度,適合X-Scan與計算機高速數據傳輸的要求。
  與ISA/EISA總線不同,PCI 總線協議及接口邏輯十分復雜,從而使得采用中小型規模器件開發接口電路的方法難以實現。鑒于此, 許多廠家推出了專用的PCI 總線控制芯片, 其中AMCC公司生產的S59XX系列芯片因其功能強大、開發方便而被廣泛應用。本方案采用AMCC公司的專用芯片S5933[2]來實現PCI協議的執行。
2.2 卡的組成
  卡由RS-422接口電平轉換、高速數據緩存、PCI總線控制器及控制邏輯等功能模塊組成。其結構如圖2所示。

2.2.1 電平轉換
  電平轉換的要求是將來自X-Scan RS422輸出端口的差分數據和控制信號" title="控制信號">控制信號轉換成TTL信號。組成的單元電路采用MAXIM公司的MAX3095 RS422 四接收器, 其電氣特性如圖3所示。MAX3095具有10Mbit/s的數據傳輸速率和90ns的傳輸延遲,滿足X-Scan 數據傳輸的速率要求;還具有200mV的差分接收靈敏度以及15kV的靜電保護(ESD-Protected)措施,滿足X-Scan數據長線傳輸的要求。


2.2.2 PCI總線控制器S5933
  S5933[3]是符合PCI 規范2.1版本的32 位控制芯片,它提供三種物理接口:PCI 總線接口、外接(Add-On)總線接口和外接配置存儲器(非易失存儲器)接口(見圖4 ),其中,PCI 總線接口與PCI 總線相連,配置存儲器接口與非易失存儲器連接(在系統初始化時用來對S5933進行配置),外接(Add-On)總線接口與用戶數據設備的連接是卡設計者最需要關注的地方。


  S5933中有兩個獨立的FIFO(8×32bit),用于PCI到ADD-ON和ADD-ON到PCI兩個方向的數據傳輸,FIFO的空滿狀態信號及讀寫控制信號可供外加接口使用。利用FIFO進行數據傳輸是S5933數據傳輸方式中主要的一種(其余還有兩種方式:MAILBox方式和PASS_THrμ方式)。FIFO方式控制邏輯簡單,易于實現,是本卡采用的方式。本卡中,數據傳送只有ADD-ON到PCI單一方向,所應用FIFO的狀態信號及控制信號只需WRFULL(滿/非滿)和-(寫入)信號。
  S5933 既可以作為 PCI總線的主設備接口,也可作為從設備接口。此卡設計中,S5933 采用主控模式,由它發起DMA操作。
2.2.3 高速數據緩存
  由于S5933中FIFO 深度不足,來自探測器的大量數據直接流入,就會使得FIFO 瞬間寫滿而S5933仍然不能獲得PCI總線控制權以及出現溢出和丟失數據。為此,在S5933 Add-On接口與MAX3095之間插入數據緩存。這里采用了IDT公司生產的IDT72V235高速先進先出存儲器(FIFO),100MHz存取速率,18位數據輸入和18位數據輸出,容量為2048×18 bit。其結構見圖5。


  高速流入的數據先在外部FIFO中緩存,內部FIFO非滿時再作傳送。由于X-Scan是以幀為單位高速傳送數據的,而幀與幀之間又有足夠的間隙時間,2K容量的外部FIFO足以防止數據的丟失。
  IDT72V235可以單片使用,也可以級聯或擴展使用,本卡中IDT72V235是單片使用的。
  數據輸入端由寫時鐘(WCLK)和寫使能()控制。當有效且FIFO非滿時(滿標志為高),數據在寫時鐘WCLK的上升沿被寫入。輸出端由讀時鐘(RCLK)和讀使能端()控制,當有效且FIFO非空時(空標志為高),數據在讀時鐘RCLK的上升沿讀入輸出寄存器,并在輸出使能()為低時輸出到端口。讀時鐘與寫時鐘可以同步,也可以異步。本卡中時鐘異步,讀時鐘信號由S5933 33MHz的BPCLOCK提供;寫時鐘信號由RS422端口提供,它們決定了數據寫入速率為2.2MHz,讀出速率為33MHz。
  復位(為低)時FIFO讀取擴展邏輯控制信號。這些信號定義了FIFO的八種工作模式,本卡中它們接地,FIFO定義在非同步IDT標準模式,時序圖見圖6。其中,讀出延遲tA和寫入滿到出現滿標志延遲tWFF都是最大6.5ns。


2.2.4 數據傳輸控制
  數據控制用于S5933與FIFO,以及FIFO與外部設備之間的傳輸控制。采用Lattice公司的可編程邏輯芯片ispLSI1016作為邏輯控制器,其性能指標為:最高頻率110MHz;10ns傳輸延遲。ispLSI1016編程后,與S5933及IDT72V235之間的邏輯關系如圖7所示。


  使能信號EN有效,而FIFO IDT72V235中有數據(/=1)且S5933 FIFO未滿(WRFULL=0)時,IDT72V235將數據驅動到輸出寄存器上;在下一個BPCLK周期,將IDT72V235輸出寄存器中的數據寫入S5933 FIFO。
3 編程與程序設計
  編程與程序設計包括ispLSI1016芯片的編程、S5933寄存器編程以及驅動程序的開發。ispLSI1016芯片的編程是利用ispDesignEXPERT開發系統及VHDL語言實現的,這里不再贅述。
3.1 S5933寄存器編程
  PCI總線規范定義了256字節的配置空間,分為預定義頭域和設備依賴區域兩部分。
  頭域包括設備制造商標識ID、設備ID、版本ID、分類代碼三個寄存器(用于識別設備及其功能)、基地址寄存器BADR(用來確定該設備的存儲和I/O" title="I/O">I/O空間需求)、中斷引腳和中斷編號兩個寄存器以及延時計數寄存器Min-Gnt和Max-Lat(用來設置DMA)等。
  設備依賴區域包括位于PCI總線一側和擴充總線接口一側的兩組操作寄存器,用于監測S5933的狀態并控制其運行。本卡用到的操作寄存器有: MWTC(主控寫計數)、MWAR(主控寫地址)、MCSR(主控控制/狀態)和INTCSR(中斷控制/狀態)等寄存器。
  配置空間數據編程在與S5933連接的一片非易失存儲器(nvRAM)中進行,系統加電或復位后, S5933將從nvRAM下載銷售商標識符VID和設備標識符DID,如果合法,則下載基地址單元BADR的內容,其值必須是C1H/C0H/C2H/FFH/E8H/10H。如果都正確,便依次讀入配置數據,決定I/O或存儲器空間的大小。然后將每個區域的起始地址寫回到BADR中,區域的起始地址必須是區域大小的倍數。每一個BADR都是物理地址(PCI設備自己不能單獨確定存儲器或I/O的地址,所有的地址影射都必須由系統來完成,而不是應用程序)。
3.2 驅動程序設計
  Windows系統下對設備的訪問需要通過設備驅動程序進行,所以需要開發卡的驅動程序。
  采用Jungo公司提供的WinDriver設備驅動程序開發工具包[4]來開發設備驅動程序。開發時可以有兩種方法可供選擇:一是利用 WinDriver Winzard;二是利用WinDriver提供的用戶態函數庫,后者要求程序員熟悉WinDriver的用戶態函數以及PCI設備的控制過程,相對的難度較大。但這兩種方法產生的驅動程序結構基本上沒有什么區別,大體結構如下:
  打開WinDriver設備;查找所要訪問的PCI設備;枚舉該設備的資源(內存、I/O、中斷等);鎖定該設備的資源,避免其它的程序調用;訪問板卡上的資源;解鎖資源;關閉WinDriver設備。
  本卡采用第一種方法,步驟如下:
  (1)安裝好PCI數據采集卡;
  (2)利用WinDriver Winzard檢測采集卡;
  (3)測試硬件,生成驅動程序代碼;
  (4)修改代碼,加入定制的功能;
  (5)在用戶態執行與調試代碼;
  (6)將性能苛刻部分插入到核心態。
  驅動程序流程圖如圖8所示。生成的驅動程序可獲得令人滿意的探測數據。


  此卡為X-Scan X射線線陣列探測器數據獲取而研制。探測器通過RS-422數據接口給捕獲卡提供14位數字圖像數據,數據是逐幀連續發出的,幀信號有效后,以2.2MHz時鐘并行連續輸出768個14 Bits的數據(一幀數據)。實際應用表明,該卡滿足探測器逐幀、連續、高速捕獲數據的需要。
參考文獻
1 User’s Manual of X-ray Linear Array Detector.Detection Technology Inc. Finland,2002
2 PCI Local Bus Specification Revision 2.0.PCI SIG,1993
3 AMCC PCI Products Data Book.San Diego:Applied Micro Circuits Corporation,1998
4 KernelDriver v6.11 User’s Guide.Jungo Ltd,1997~2003

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 九九精品成人免费国产片 | 日韩美女一区二区三区 | 日韩美视频网站 | 亚洲欧洲一区 | 成人精品免费视频 | 99爱视频精品免视看 | 免费国产成人手机在线观看 | 欧美大狠狠大臿蕉香蕉大视频 | 91精品国产一区二区三区四区 | 最新亚洲人成网站在线影院 | 精品国产美女福到在线不卡f | 日本爽快片100色毛片 | 久久一日本道色综合久久 | 一区视频在线播放 | 国产精品久久久久三级 | 久久久久久久国产免费看 | 国产精品黄网站 | 久久久久成人精品一区二区 | 国产美女又黄又爽又色视频免费 | 久色福利| 厕拍精品| 日韩视频一区二区 | 暖暖在线精品日本中文 | 国产成人免费高清在线观看 | 亚洲不卡在线观看 | h网站国产| 日韩精品中文字幕一区三区 | 三级黄色在线 | 一级做性色a爰片久久毛片 一级做性色a爰片久久毛片免费 | 成人午夜影视 | 成年人免费在线视频网站 | 亚洲男人a天堂在线2184 | 亚洲第一页乱 | 日本三级11k影院在线 | 夜夜骚视频 | 免费一级做a爰片久久毛片 免费一级做a爰片性色毛片 | 在线国产一区二区 | 久久久久久青草大香综合精品 | 欧美亚洲国产精品久久 | 毛片免费看 | 在线观看一区二区三区视频 |