具有可編程I/O功能工控觸摸屏的研制
石恩琪
(國(guó)民油井華高石油設(shè)備(上海)有限公司,上海200333)
摘要:在具有可編程I/O功能的工控觸摸屏設(shè)計(jì)過程中,給出總體設(shè)計(jì)方案,闡述了多串口通信和 I/O功能實(shí)現(xiàn)的具體方法,ARM處理器和單片機(jī)之間的通信以及ARM處理器和單片機(jī)各自功能的實(shí)現(xiàn)。
關(guān)鍵詞:工控觸摸屏;單片機(jī);多串口通信
中圖分類號(hào):TP273文獻(xiàn)標(biāo)志碼:A
收稿日期:2015—03—20
作者簡(jiǎn)介:石恩琪(1982—),男,工程師,從事海洋鉆井設(shè)備的設(shè)計(jì)和研發(fā)工作。
ResearchonProcessControlTouchScreenwith
ProgrammingI/OFunction
ShiEnqi
Abstract:In the design process of process control touch screen with programming I/O function, general design project has been put forward, further specific methods of multiple serial communication and I/O function implementation, communication between ARM processor and single chip as well as respective function realization of them have been illustrated.
Keywords:processcontroltouchscreen;singlechip;multipleserialcommunication
工業(yè)觸摸屏和PLC組成的控制系統(tǒng)具有界面友好、控制精度高、抗干擾能力強(qiáng)等特點(diǎn),兼具了觸摸屏和PLC的優(yōu)點(diǎn),廣泛應(yīng)用于工業(yè)生產(chǎn)各個(gè)領(lǐng)域。但是,部分中小型用戶只會(huì)使用PLC的小部分輸入點(diǎn)和輸出點(diǎn),這樣就浪費(fèi)了PLC的資源。針對(duì)這種情況,設(shè)計(jì)一種應(yīng)用簡(jiǎn)單、成本低的具有可編程I/O功能的觸摸屏,從而代替通用觸摸屏和PLC組成的控制系統(tǒng),這具有很大的實(shí)用價(jià)值。
此系統(tǒng)既可以將觸摸屏人機(jī)界面作為一個(gè)完整的控制系統(tǒng)使用,也可以作為通用工業(yè)觸摸屏使用??梢院?jiǎn)化使用多種控制元件的控制系統(tǒng),甚至在某些場(chǎng)合起到不可替代作用。
1設(shè)計(jì)思路
通用觸摸屏基本上是采用通信的方式控制PLC,而觸摸屏本身不具有輸入和輸出功能。本項(xiàng)目則是采用單片機(jī)的I/O作為整個(gè)系統(tǒng)的I/O,在內(nèi)部使用具有LCD控制功能的ARM處理器用通信的方式控制單片機(jī)I/O的輸入輸出,單片機(jī)的通信程序固化在單片機(jī)內(nèi)部,用戶不必改寫。
1.1系統(tǒng)的主要組成及結(jié)構(gòu)框圖
可編程I/O工業(yè)觸摸屏的硬件系統(tǒng)主要包括液晶顯示器、觸摸屏、液晶顯示控制模塊、觸摸屏控制器、微處理器、海量存儲(chǔ)器、內(nèi)存、程序存儲(chǔ)器、串行通信接口、I/O用單片機(jī)及其外圍器件、電源模塊等器件。這些組件的性能決定了觸摸屏的性能。
具有I/O功能的觸摸式人機(jī)界面系統(tǒng)的主要結(jié)構(gòu)框圖如圖1所示。
圖1 可編程 I/ O工業(yè)觸摸屏系統(tǒng)結(jié)構(gòu)框圖
1.2多串口功能的實(shí)現(xiàn)
本項(xiàng)目很多功能需要串口通信,例如,向觸摸屏下載用戶畫面、下載單片機(jī)程序、ARM處理器和PLC等外部設(shè)備通信、ARM處理器和單片機(jī)通信。設(shè)備外部只提供兩個(gè)串口,一個(gè)串口用作和PLC等外部設(shè)備通信,另外一個(gè)串口用作向觸摸屏下載畫面和下載單片機(jī)程序。若要使用一個(gè)串口實(shí)現(xiàn)兩個(gè)不同串口的功能,則就需要進(jìn)行分離。本項(xiàng)目使用HEF4053芯片實(shí)現(xiàn)此功能。
HEF4053芯片是一種三路雙通道模擬量多路器/多路信號(hào)分離器,如圖2所示。它具有一個(gè)共用的使能輸入端()。每個(gè)多路器/多路信號(hào)分離器具有兩個(gè)獨(dú)立的輸入/輸出端(Y0和Y1),一個(gè)共用輸入/輸出端(Z)和輸入選擇(Sn)。每個(gè)多路器/多路信號(hào)分離器包含兩個(gè)雙向模擬開關(guān),每個(gè)開關(guān)一端連接獨(dú)立的輸入/輸出(Y0和Y1),另一端連接共用端(Z)。
如圖3所示,以SA的控制為例,ZA作為串口一端的RX。當(dāng)SA為低電平時(shí),ZA和Y1A連接,即和單片機(jī)TX端連接;當(dāng)SA為高電平時(shí),ZA和Y0A連接,即和ARM處理器的TX端連接。同理,使用SB和進(jìn)行控制可以實(shí)現(xiàn)一端的TX和兩個(gè)RX分別連接。這樣兩個(gè)串口通信就分離出來了。
圖2 HEF4053管腳圖
圖3 分離器實(shí)際工作原理
圖4 單片機(jī)外圍輸入設(shè)計(jì)
1.3單片機(jī)I/O功能的實(shí)現(xiàn)
整個(gè)觸摸屏的輸入和輸出是通過ARM處理器和單片機(jī)通信方式控制單片機(jī)的I/O來實(shí)現(xiàn)的。對(duì)于單片機(jī)而言,除了要保證其和ARM處理器之間的正常通信外,還要保證其本身輸入輸出的穩(wěn)定性。為了保證I/O的輸入和輸出不相互干擾,以使每個(gè)I/O具有獨(dú)立的輸入或輸出功能,在管腳外圍設(shè)計(jì)采用光電隔離。此類型工控觸摸屏多用于有高速脈沖輸入輸出的場(chǎng)合,因此有必要使用高速光電隔離。按照?qǐng)D4對(duì)I/O輸入設(shè)計(jì),輸出的設(shè)計(jì)方法和輸入類似。
2主要技術(shù)
2.1ARM處理器和單片機(jī)的通信協(xié)議和格式
本項(xiàng)目的觸摸屏人機(jī)界面是采用通信的方式對(duì)單片機(jī)的輸入、輸出及其它內(nèi)部單元進(jìn)行控制,通信采用RS232串口通信。通信時(shí),ARM芯片向單片機(jī)發(fā)送初始命令,單片機(jī)做出應(yīng)答。通信除了可以控制單片機(jī)的輸入口和輸出口,還可以對(duì)單片機(jī)內(nèi)部允許地址進(jìn)行讀寫,對(duì)此設(shè)計(jì)了四種操作方式:讀字節(jié)、寫字節(jié)、讀位、寫位。
通信格式有兩種:
2.1.1命令幀格式
從上位機(jī)發(fā)送命令時(shí), 按表1 所示的格式排列命令數(shù)據(jù)。
表1 命令幀通信格式
具體命令幀格式規(guī)定為:
(1)命令幀起始符均為3AH;
(2)只有一個(gè)單片機(jī)的時(shí)候機(jī)器號(hào)為01H;
(3)命令符一共有4種,讀字節(jié)為A3H、寫字節(jié)為A6H、讀位為B3H、寫位為B6H;
(4)讀寫字節(jié)的數(shù)據(jù)傳送長(zhǎng)度最多為4個(gè)字節(jié),讀寫內(nèi)部位的數(shù)據(jù)長(zhǎng)度最多為32位;
(5)讀字節(jié)和讀位時(shí),4字節(jié)數(shù)據(jù)全部為0,寫字節(jié)和寫位時(shí),數(shù)據(jù)為要寫入的數(shù)據(jù);
(6)檢驗(yàn)碼是從幀開始到幀結(jié)束所有數(shù)據(jù)和操作后的8位數(shù)據(jù)。每次接收到一幀后計(jì)算FCS, 并與幀中所含的FCS作比較來檢查幀中間的數(shù)據(jù)對(duì)錯(cuò);
(7)結(jié)束符是13H。
2.1.2應(yīng)答幀格式
來自單片機(jī)的應(yīng)答幀按命令幀通信格式返回。具體格式規(guī)定為:
(1)起始符為3BH;
(2)機(jī)器號(hào)、命令符和數(shù)據(jù)長(zhǎng)度與命令幀相同;
(3)讀操作是返回地址內(nèi)容,寫操作是成功寫入的內(nèi)容;
(4)檢驗(yàn)碼計(jì)算方法與命令幀相同;
(5)結(jié)束符為13H。
例如,ARM處理器發(fā)出的命令幀為“3AH01HA6H01H00H20H00H00H00H02H13H”,表示向單片機(jī)RAM區(qū)地址00H寫20H;單片機(jī)的正確應(yīng)答幀格式應(yīng)為“3BH01HA6H01H00H20H00H00H00H03H13H”。
2.2ARM處理器主要功能的實(shí)現(xiàn)
ARM處理器是整個(gè)系統(tǒng)控制的核心,本項(xiàng)目采用的是含有LCD驅(qū)動(dòng)控制器的ARM7TDMI內(nèi)核處理器,能夠?qū)崿F(xiàn)項(xiàng)目需要的所有功能。除了和單片機(jī)以及PLC的通信以外,ARM處理器主要還實(shí)現(xiàn)以下兩個(gè)方面功能:
(1)LCD控制顯示
ARM處理器內(nèi)部有一個(gè)LCD驅(qū)動(dòng)控制器,能自動(dòng)產(chǎn)生LCD驅(qū)動(dòng)控制所需的控制信號(hào)。因此處理器可以直接和各種LCD屏直接接口,不需要外加LCD控制器。在這種接口方式下,LCD顯示緩沖區(qū)是映射在系統(tǒng)的存儲(chǔ)器空間上,程序只需要將像素點(diǎn)內(nèi)容寫入存儲(chǔ)器對(duì)應(yīng)地址,就可以實(shí)現(xiàn)在LCD屏上像素點(diǎn)顏色的顯示。[2]
(2)觸摸功能的實(shí)現(xiàn)
本項(xiàng)目采用的是四線電阻式觸摸屏,與ADS7843芯片連接。ARM處理器通過模擬的SIO串行接口與ADS7843進(jìn)行數(shù)據(jù)傳輸,來完成對(duì)觸摸屏上觸摸位置坐標(biāo)的讀取。
2.3單片機(jī)驅(qū)動(dòng)程序
單片機(jī)和ARM處理器的通信程序作為本系統(tǒng)中單片機(jī)的驅(qū)動(dòng)程序已經(jīng)存儲(chǔ)在單片機(jī)內(nèi),這樣使用本系統(tǒng)的時(shí)候就不需要再編寫單片機(jī)通信程序。如需要對(duì)單片機(jī)進(jìn)行開發(fā)使用,則需要另調(diào)用驅(qū)動(dòng)程序。
程序?qū)腁RM處理器通信接收到的I/O和單片機(jī)內(nèi)部寄存器地址對(duì)應(yīng),例如P0.0對(duì)應(yīng)地址80H,要讀寫P0.0口狀態(tài),驅(qū)動(dòng)程序會(huì)讀寫80H中的內(nèi)容,并返回通信結(jié)果。給操作方法可以實(shí)現(xiàn)對(duì)所有I/O的控制,不僅可以對(duì)I/O進(jìn)行讀寫操作,還可以對(duì)其他地址單元進(jìn)行讀寫操作。
3結(jié)束語
在通常情況下,使用可編程I/O功能觸摸屏進(jìn)行操作控制要比觸摸屏和PLC結(jié)合使用的控制方案更節(jié)省資源和成本,穩(wěn)定性更高。在運(yùn)用該方法研制的一套具有人機(jī)界面的切紙機(jī)控制系統(tǒng)中,其電機(jī)的運(yùn)轉(zhuǎn)信號(hào)和方向信號(hào)以及其它輸入信號(hào)是通過可編程觸摸屏的I/O實(shí)現(xiàn)的,系統(tǒng)運(yùn)行穩(wěn)定。
參考文獻(xiàn)
[1]康華光,等. 電子技術(shù)基礎(chǔ)模擬部分[M].北京:高等教育出版社,1999.
[2]胥靜.嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)實(shí)例詳解[M].北京:北京航空航天大學(xué)出版社,2005.
[3]Philips.HEF4053BMSIproductspecification.Holland:Philips,1995.
[4]王安正. 基于嵌入式系統(tǒng)的觸摸式人機(jī)界面的硬件設(shè)計(jì)和系統(tǒng)軟件的開發(fā)[D].上海:上海理工大學(xué)機(jī)械學(xué)院,2004.
編輯杜敏