《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 業界動態 > 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]
主站蜘蛛池模板: 黄色美女视频免费 | 国产精品天天爽夜夜欢张柏芝 | 视频二区精品中文字幕 | 在线永久免费观看黄网站 | 一级一黄在线观看视频免费 | 18在线| 日本一区二区免费在线观看 | 欧美日韩一区二区在线视频 | 亚洲欧洲视频在线 | 欧美日韩生活片 | 成人欧美一区二区三区 | 看全色黄大色黄大片毛片 | 爽爽在线 | 国产一级毛片外aaaa | aaa毛片在线 | 亚洲在线看| 九九精品免视频国产成人 | 九九九九精品视频在线播放 | 亚洲欧美日韩国产精品一区 | 精品一区二区在线观看 | 欧美国产高清 | 特级片视频| 久色视频在线观看 | 亚洲日本一区二区三区高清在线 | 高h原耽肉汁动漫视频 | 国产高清一区二区三区 | 久久国产免费观看精品3 | 久草精品视频 | 一级爱做片免费观看久久 | 亚洲高清视频网站 | 亚洲一区二区三区久久久久 | 草草视频在线免费观看 | 日日摸天天摸狠狠摸视频 | 欧美亚洲激情视频 | 成人免费a视频 | 美女黄网站人色视频免费国产 | 亚洲毛片在线播放 | 日韩天天干 | 天天爽夜夜操 | 久久色精品| 97国产在线播放 |