X射線安檢設備廣泛應用于機場、車站、海關、港口、倉庫等地。近年來由于犯罪分子大量使用先進的偽裝技術,使傳統的安檢設備顯得力不從心。針對上述情況,本文設計了基于FPGA的X射線安檢設備控制器,該控制器通過加載Thin TCP/IP接入以太網,使得多臺PC共同對可疑物品的圖像數據進行分析,進而提高鑒別精度。 工作原理及控制要求 X射線安檢設備主要由X射線源、傳送裝置、控制器、X射線線性陣列探測卡、以太網控制器(CS8900A)、屏蔽輻射所需的機械裝置、裝有該設備配套軟件的PC等組成,X射線安檢設備原理如圖1所示。 圖1中,當控制器產生X射線觸發信號時,X射線源發出圓錐形X射線束,該射線束經準直器后變為扇形平面射線束。射線束穿過傳送帶上待檢測物,X 射線部分能量被吸收,最后轟擊X射線線性陣列探測卡上的晶體管。被檢測物體以某一速度相對于探測卡和X射線源移動時,探測卡逐行采集經過物體的射線,晶體 -光電二極管將X射線轉換成一個正比于所吸收的X射線流量和能量的電流信號,經放大和積分后,得到一個正比于積分電流乘積分時間的電壓,再經A/D轉換后送往圖像數據處理單元。 圖1 X射線安檢設備原理示意圖 CS8900A工作原理 CS8900A是一個集成了ISA總線接口的10Base-T以太網控制器。發送數據時,可以采用中斷模式和查詢方式。如果采用中斷模式發送數據幀,在收到主機發來的命令后檢測內部空間,若空間足夠大,芯片通知主機傳送數據,主機接到通知后發送數據包。發送過程中由CS8900A自動為要發送的數據幀添加前導符、定界符、CRC校驗碼等。若相應的寄存器已被設置,還會引發發送成功中斷。如果采用查詢方式發送數據,則主機對相應的寄存器進行查詢,若可以發送,CS8900A將數據幀加幀頭,生成校驗碼,最后發送至以太網中。 接收時,CS8900A將自動地從網絡中讀取數據包,在經過解碼、去掉幀頭和地址檢驗等步驟后,將數據幀在片內進行緩存。在CRC校驗通過后, CS8900A會根據初始化配置情況,通知主機收到了數據幀。最后選擇I/O模式、Memory模式、DMA模式中的一種,將數據傳送到主機的存儲區中。本設計選用I/O模式對數據進行讀取。 FPGA控制器工作原理 系統上電后,FPGA控制器初始化X射線源、CS8900A、X射線線性陣列探測卡等。由于FPGA內部邏輯是并發機制,所以以下進程是并發的:接收到檢測信號后觸發X射線源、X射線線性陣列探測卡,當接收到ADC的EOC端信號后進行圖像數據的接收、處理、發送;接收到CS8900A中斷信號后進行數據解析,根據解析的數據進行參數設置、控制傳送帶的運行狀態、報警等相應操作。工作流程如圖2所示。 圖2 X射線安檢設備控制器工作流程圖 控制要求 系統需要完成初始化、圖像數據采集、控制傳送帶運行狀態、報警等。FPGA控制器通過以太網網卡接收PC發來的參數數據對整個系統控制調節。 控制器設計 根據控制要求,控制器主要實現解析IP分組、數據處理、產生控制信號、生成IP分組等任務。解析IP分組實際上是對TCP/IP協議的解析;生成IP分組就是進行數據的封裝。本文是基于FPGA芯片設計的控制器,所以,解析IP分組、數據處理、產生控制信號、生成IP分組都是以邏輯電路形式出現在FPGA中。 FPGA控制器中TCP/IP協議的裁剪方案 隨著互聯網應用的迅猛發展,TCP/IP協議已成為嵌入式互聯網的主體構架。TCP/IP協議通常被認為是一個四層體系結構,包括鏈路層、網絡層、傳輸層和應用層。在本設計中,根據控制器的具體要求,對TCP協議進行了適當的裁剪,僅實現了四個協議:ARP(地址解析)、IP(網絡協議)、 ICMP(控制報文協議)、TCP。 TCP是一種面向連接的協議,它能提供高可靠性服務。通過使用序列號和確認信息,TCP協議能夠向發送方提供到達接收方的數據包的傳送信息,從而實現端對端的通信,為了保障圖像數據的可靠性,本控制器采用該協議。 FPGA控制器片內邏輯設計 本文采用VHDL分模塊設計了基于FPGA的安檢設備控制器。FPGA片內邏輯設計框圖如圖3所示。 圖3 FPGA片內邏輯設計框圖 數據接收模塊、數據解析模塊 圖3中,數據接收模塊實現CS8900A與FPGA內數據解析模塊的鏈接。當控制模塊產生確認接收數據信號時,數據接收模塊將CS8900A接收緩沖區中的數據讀出,然后將其寫入數據解析模塊。數據解析模塊實際上是將上述TCP/IP裁剪協議硬件化,主要用于解析來自數據接收模塊的數據,將解析的數據與預存于FPGA內的數據表對照。若解析的結果是指令和外設參數,將其分別寫入控制模塊和外設參數配置模塊,否則將其丟棄。 控制模塊 控制模塊是FPGA控制器的核心模塊,主要用于接收檢測信號后觸發X射線源、探測卡;接收ADC的EOC端信號后對圖像數據接收模塊產生采集數據信號;接收CS8900A中斷信號后對數據接收模塊產生接收網卡緩沖區中數據信號;據解析模塊所處理的指令,相應地有如下響應:產生外設參數配置信號、產生控制傳送帶運行狀態信號、產生報警信號。 外設初始化和參數配置模塊 外設初始化模塊在系統上電時,對控制器外設發送初始化信號,然后檢測控制模塊對其是否發送指令,若有指令,則重新初始化外設。外設參數配置模塊用于對外設進行參數設置,當控制模塊對其產生參數配置信號時,該模塊將參數寫入初始化模塊, 圖像數據接收、處理及發送模塊 圖像數據接收模塊實現ADC與控制模塊、圖像數據處理模塊鏈接。當控制模塊產生圖像數據采集信號時,接收模塊給X射線線性陣列探測卡發送啟動采集信號,然后將ADC圖像數據寫入處理模塊。處理模塊針對內置幾何校正、灰度變換、偽彩色等多種清晰度增強算法,利用數字圖像處理技術,將圖像對比度和清晰度進行增強。發送模塊對處理模塊處理好的圖像數據進行IP封裝,然后將其寫入CS8900A發送數據緩沖區,啟動網卡,將此數據發送到所連接的網絡上。 實驗與驗證 由于VHDL是并發程序,所以要把順序執行的思想轉化為并發設計思想。本設計采用Xilinx公司的ISE8.1在Virtex- xc2v6000芯片上實現了控制功能,在Modelsim SE6.1b中進行了仿真。由仿真結果得出,控制信號時序正確,符合控制要求。 結語 本文在分析X射線安檢設備部分組成器件工作原理及控制要求的基礎上,設計了FPGA內部邏輯,給出了控制器的工作流程,驗證了控制信號時序的正確性。預計此種控制器可以帶來可觀的經濟效益和市場前景。 |