基于打印機并行接口的數(shù)據(jù)采集系統(tǒng)
方案分析
在不影響原有設備正常工作的前提下,完成并行打印機的數(shù)據(jù)采集功能,考慮有以下2種方案:
(1)在數(shù)據(jù)輸出到打印紙后,利用掃描儀識別打印紙上的數(shù)據(jù),并將識別后的數(shù)據(jù)輸入到管理PC機的數(shù)據(jù)管理軟件中。
(2)在控制設備與打印機之間添加一個數(shù)據(jù)采集裝置,該裝置從控制設備連接到打印機的并行口截取數(shù)據(jù),并完成向管理PC機的數(shù)據(jù)轉發(fā)管理PC機負責接收、統(tǒng)計和分析數(shù)據(jù)的功能,如圖1所示。
圖1 數(shù)據(jù)采集方案示意圖
對比以上2種方案,方案(1)需要定期人為地操作掃描儀,工作量大,投入高,而且數(shù)據(jù)不可能保證完全識別正確;方案(2)中的數(shù)據(jù)采集裝置完全可以脫離人工干預,使用方便,性價比較高,因此采用方案(2)。 IEEE委員會在1994年3月公布了新的IEEE1284并行接口標準,對并行口的5種工作模式進行了定義。這5種模式分別是Centronics兼容模式(也叫標準模式)、字節(jié)(Byte)傳輸模式、半字節(jié)(Nibble)傳輸模式、增強并行端口(EPP)模式和擴展功能端口(ECP)模式。連接打印機的并行口通常工作在Centronics兼容模式,其他4種模式對并行口引腳定義與該模式的完全兼容,因此數(shù)據(jù)采集系統(tǒng)針對該模式的特點進行設計,也利于今后擴展和升級其他并行口設備數(shù)據(jù)采集系統(tǒng)。
并行口有25針和36針兩種,打印機配備36針的標準插頭插座實際上只利用了25針插頭插座中的信號,25個引腳信號可分為數(shù)據(jù)信號、控制信號和狀態(tài)信號三類
Centronics并行口通信速度最快只能達到150kB/S,筆者對控制設備和目標打印機EPSON LQ-1600K III進行測試發(fā)現(xiàn),二者之間的通信速度為50kB/S。
硬件設計
根據(jù)并行口的工作特點,筆者采用以51系列的單片機為核心的硬件電路完成并行口數(shù)據(jù)采集和轉發(fā)功能。系統(tǒng)電路框圖如圖2所示,主要包括6個組成部分:
(1)中央處理器??刂圃O備與打印機的通信速度不算高速,因此采用性價比較高的AT89C52作為核心處理單元。其片內包括256個字節(jié)的RAM,大部分可用作數(shù)據(jù)接收緩沖區(qū),這樣不必再外擴RAM單元。STROBE信號作為外部中斷源0,每當STROBE信號的下降沿出現(xiàn)時,表示數(shù)據(jù)處于有效狀態(tài),CPU通過P1口讀取采集數(shù)據(jù)。CPU的工作頻率選擇在22.1184MHz,以保證有足夠長的中斷程序響應時間。
(2)信號預處理。采集系統(tǒng)不能影響控制設備和打印機正常工作,因此需要對并行口輸入信號進行緩沖及光電隔離。緩沖芯片選擇74HC245,光耦選擇6N137。
(3)數(shù)據(jù)鎖存。并行口上數(shù)據(jù)線的數(shù)據(jù)保持時間很短,鎖存單元保證了CPU每次讀取數(shù)據(jù)的正確性。鎖存芯片選擇74HC573。
(4)看門狗及電源監(jiān)視。選用X5045芯片,完成系統(tǒng)上電復位、死機復位和電源電壓異常復位的功能。
(5)通信電路。這里選用MAX232異步通信接口芯片完成數(shù)據(jù)轉發(fā)到管理PC機的功能。
(6)電源。該部分負責為各電路模塊提供所需的電源。
圖2 系統(tǒng)電路框圖
硬件設計主要電路圖如圖3所示。
圖3 系統(tǒng)主要硬件電路圖[!--empirenews.page--]
軟件設計
圖4程序流程圖
圖4為單片機程序流程圖,程序由主程序和中斷服務程序構成。其中,中斷服務程序負責及時采集接受控制設備發(fā)送到并行口的有效數(shù)據(jù),并存放于緩沖區(qū)。主程序主要負責與管理PC機進行串行通信,轉發(fā)緩沖區(qū)中的數(shù)據(jù)。這樣,管理PC機只需要用可視化編程語言實現(xiàn)一
個數(shù)據(jù)接收、文件存儲功能的軟件即可為今后的數(shù)據(jù)統(tǒng)計、分析奠定基礎。
結語
本文在分析并行打印接口工作特點的基礎上,設計出以51單片機為核心的并行口數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)已經(jīng)成功應用于高速公路的若干施工單位中,運行經(jīng)驗表明該設計簡單、穩(wěn)定、可靠,極大地方便了施工單位對各種原料數(shù)據(jù)的統(tǒng)計和分析。