色譜-質譜(GC-MS)聯用儀可對許多產品中的多種元素進行分析測定,因此被廣泛應用于農業、工業以及醫藥、環保、食品等領域中。GC-MS技術在未來的經濟發展和科學研究中將發揮更為積極和重要的作用。 GC-MS聯用儀對質譜掃描速度要求很高,需要對被測信號進行高速的實時采集,在極短的時間內獲得大量的數據。因此必須設計高速的數據采集接口電路。 本文采用兩片雙端口RAM為信箱以ISA卡的形式完成單片機與PC機的高速通訊,采用高速高性能的A/D和D/A轉換電路實現聯用儀系統的高速、高精度采樣及掃描。 1 系統設計思路 選擇PC機作為主機,MCU作為從機組成監測系統,對測量點進行數據采集和模擬控制。在數據傳輸速度較高、數據量較大且需經常交換信息的場合,采取雙口共享RAM緩沖區方式是最合適的。雙端口RAM將單片機與PC機有機地連接為一個整體,PC機和單片機的優勢可以互補,使其成為功能強大的雙CPU數據監測系統。 這里采用8051單片機負責數據采集和模擬控制工作,將高速采集掃描接口電路做成PC機擴展卡形式,直接插入PC機的I/O擴展槽內。為了進一步提高系統數據采集的實時性,采用了兩片雙端口RAM,以保證單片機的數據“采集”和PC機的數據“讀取”并行進行。當然,這種方法使系統的控制邏輯變得復雜了。51單片機通過雙端口RAM與PC機進行數據傳輸的示意圖如圖1所示。 圖1 PC機與51單片機通過雙端口RAM進行數據傳輸的示意圖 整個系統的工作過程為:通過PC機鍵盤設定主要分析參數,其中與質函數采樣掃描有關的參數由PC機傳送給單片機,單片機負責具體執行。與采樣掃描有關的參數有掃描方式、采樣速度、開始與終止命令等,系統啟動和停止命令由PC機發出,從而命令單片機開始采樣與掃描或者終止采樣與掃描。 單片機在接到啟動命令之前不進行質函數掃描,但可以通過A/D轉換器進行數據采樣,將采樣到的數據存到其中一片RAM中,并通知PC機將數據取走,這些數據可以作為譜圖的本底數據。掃描開始之后,數據從RAM的低地址起開始依次存儲,存滿一片RAM后,向另一片RAM存儲,同時向PC機提出申請,要求PC機盡快將這一片RAM內的數據取走,PC機確定讀取RAM后讀取RAM中的所有數據。待另一片RAM存滿后再取走另一片RAM內的數據,如此循環。 根據色譜-質譜聯用儀的性能要求,這里選用了12位的A/D轉換芯片AD1674,轉換時間為10μs;14位D/A轉換芯片AD7534,轉換時間為180μs;4K雙端口RAM CY7C142;8051單片機。PC機系統通過ISA總線與接口板進行通信。 2 系統硬件設計方案 硬件設計分為兩大部分:第一部分為雙端口RAM的接口電路,主要包括PC機與雙端口RAM CY7C142的接口電路和8051單片機與雙端口RAM CY7C142的接口電路;第二部分為數據采集和掃描電路,主要指8051單片機與A/D轉換器和D/A轉換器的接口電路。系統整體設計框圖如圖2所示。當單片機接收到一批數據存滿雙口RAM信息時,向計算機發送一個中斷申請,通知計算機到雙口RAM 中去讀取數據。下面分別進行介紹。 圖2 系統整體設計框圖 2.1 雙端口RAM的接口電路 CY7C142為一片2K×8的雙端口靜態RAM。由系統的工作過程可知,PC機只需對CY7C142進行讀,8051單片機則只需對其進行寫。這里將CY7C142的左側端口與PC機的ISA總線相連,右側端口與8051單片機相連。分別用字母符號L、R表示左端口、右端口。雙端口RAM CY7C142的接口電路如圖3所示。 圖3 雙端口RAM CY7C142的接口電路 由圖可見兩片雙端口存儲器的左端數據線D0(L)"D7(L)、低八位地址線A0(L)"A7(L)和高三位地址線A8(L)"A10(L)都是通過鎖存器74LS373(4)、74LS373(3)和74LS373(2)與74LS245相連接到PC機的數據總線上的;左端OE(L)與PC機的IOR相連,R/W(L)直接接成高電平,這樣PC機只能對這兩片存儲器進行讀。兩片雙端口存儲器的右端數據線D0(R)"D7(R)與8051單片機的數據線口P0.0"P0.7相連,低八位地址線A0(R)"A7(R)與鎖存器74LS373(5)相連,高三位地址線A8(L)"A10(L)分別與P2.0"P2.2相連;OE(R)直接接成高電平,R/W(R)與8051的WR信號相接,這樣8051只能對存儲器進行寫;兩片存儲器的CE(R)分別與譯碼器(2)相連。鎖存器74LS373(1)的一端與8051的P1.0"P1.7相連,另一端與連接PC機數據總線的74LS245相連,PC機對采樣板的控制指令就是通過這個通道進行的。 鎖存器74LS373(6)的一端與8051的P3.0引腳相連,另一端與74LS245相連,通過它PC機可以知道從哪一片雙端口存儲器取數據。同時, 8051的P3.0引腳通過反相器或直接與CY7C142(1)或CY7C142(2)的CE(L)相連,這種連接方法使得PC機在讀RAM(1)數據和8051寫RAM(2)或PC機讀RAM(2)和8051寫RAM(1)之間來回進行切換。8051的P3.4引腳與PC機的一個IRQ相連,完成下面功能:每當8051寫滿一個雙端口RAM時,就向PC機發出一個中斷請求信號,使PC機立即響應此中斷請求,讀取雙端口RAM的數據。 2.2 8051單片機與AD1674和AD7534的接口電路 8051單片機與AD1674和AD7534的接口電路如圖4所示。其中,AD1674為12位逐次逼近式A/D轉換芯片,轉換時間為10μs,片內帶有采樣保持器/放大器和三態輸出緩沖器;AD7534為14位高分辨率D/A轉換芯片,轉換時間為0.18ms;AD586為高精度5V參考電壓源,最大偏差為±2.0mV,它為AD7534提供精確的電壓基準。 圖4 單片機與AD1674和AD7534的接口電路 2.3 譯碼電路 該部分涉及兩個譯碼電路,一個是與PC機ISA總線相連的譯碼電路(1),另一個是與8051相連的譯碼電路(2)。譯碼電路(1)如圖5所示,譯碼電路(2)如圖6所示。 圖5 與PC機ISA總線相連的譯碼電路 圖6 與8051相連的譯碼電路 由此,板上五個I/O地址代表的含義是:100H——PC機對8051輸出控制命令口;101H——PC機讀取雙端口RAM數據時的低八位地址口;102H——PC機讀取雙端口RAM數據時的高三位地址口;103H——PC機讀取RAM的數據口;104H——表明雙端口RAM1、2的標志口。 3 軟件設計方案 整個系統的軟件設計分為兩部分:單片機系統部分和PC機部分。這里僅介紹數據采集和PC機取數程序。 3.1 數據采集程序 單片機發出A/D轉換指令后,AD1674開始工作,采集到數據后存到CY7C142(1)中。當RAM1存滿后,單片機發出中斷請求,通知PC機從雙端口RAM1中取走數據,同時將采集的數據存到CY7C142(2)中,RAM2存滿后通知PC機取數,如此循環。數據采集程序流程圖如圖7所示。 圖7 數據采集程序流程圖 3.2 PC機讀取RAM程序 PC機接到單片機發來的中斷申請后,立即從雙端口RAM中讀取數據,首先判斷104口的狀態以確定取哪一個RAM內的數據,然后向CY7C142讀取1024個數據(每個數據兩個字節)后中止,等待單片機發出下一個中斷申請。PC機讀取RAM程序流程圖如圖8所示。 圖8 PC機讀取RAM程序流程圖 讀取數據的過程為:首先向101H口、102H口輸出低八位、高三位地址,然后向103口讀取數據,此后將地址加一再讀取八位數據,直到將2048個字節(1024個數據)都讀完。這樣, 數據被采樣控制器8051送入RAM, 同時采樣數據又被PC機取走, 這兩部分工作互不干擾, 實現了連續不斷、大數據量、高速、實時的數據采集。 實驗表明,采用雙端口RAM作為主從CPU的中介是一種實用、高效的系統設計方法,該方法使得信息交換方便、快速、可靠,加上高速、高性能的A/D和D/A轉換電路,實現了色譜-質譜聯用儀系統的高速、高精度數據采集及掃描。 |