徐洪霞
煙臺大學文經學院 山東煙臺 264005
基于單片機的遠程控制系統(tǒng)
徐洪霞
煙臺大學文經學院 山東煙臺 264005
本文介紹一種基于單片機的遠程控制系統(tǒng)設計。本系統(tǒng)的上位機和下位機都采用P89LPC900系列單片機,通過RS-485總線網絡達到一對多的控制目的。本文分別從硬件和軟件詳細介紹了系統(tǒng)平臺和工作流程,該系統(tǒng)結構簡潔、成本低,可靠性高,具有控制系統(tǒng)平臺的通用性。
P89LPC922;UART;RS-485;遠程控制;ICP
隨著數控技術的飛速發(fā)展,基于單片機的控制系統(tǒng)也日益復雜。但在一些要求響應快,實時性強、控制量多的應用場合,由單個單片機構成的系統(tǒng)往往難以勝任,這時利用多個單片機之間或者結合PC組成分布式系統(tǒng)成為一個可行的解決方案。本文完全采用Philips公司的P89LPC900系列單片機組建控制系統(tǒng),利用RS-485總線網絡,來達到一個單片機控制多個單片機的一對多通訊目的,并配置了豐富的外設接口,可廣泛應用在銀行、武警、小區(qū)等領域[1,2]。
控制系統(tǒng)主要有兩部分組成,即上位機(主控機)和下位機(從機)。上位機和下位機都選用相同的51單片機,這樣方便單片機的統(tǒng)一開發(fā)和維護。主控機通過485驅動芯片接入RS-485總線,它使用查詢方式與8個從機通信;8個從機也通過485驅動芯片接入RS-485總線,響應主機的查詢命令,將數據回傳給主機,從機之間的不能直接數據交換只能通過主機進行轉發(fā)。
由于各個從機模塊的硬件電路完全相同,所以我們可以用一對一通訊模式來說明一對多控制通訊模式。
2.1 共同接口設計
如圖,由于主控機和從機都是采用的同種同型號單片機,所以一些接口可以采用相同的設計,這樣更利于整個系統(tǒng)的硬件設計和軟件編程。比如:485接口、編程升級接口、存儲器接口和蜂鳴器接口等等,都可以采用完全相同的設計。
(1)485接口設計
如圖,單片機的串口引腳RXD和TXD分別連接MAX485的RO和DI引腳,以進行串行數據交換;單片機的控制引腳通過三極管連接MAX485的DE和RE引腳,以控制驅動器和接收器使能。這4個引腳均應接上拉電阻。MAX485的A和B引腳為RS-485總線網絡的差分信號輸入/輸出端,兩者之間串聯(lián)120歐電阻。
(2)程序下載設計
P89LPC922支持ICP(在電路編程)及ISP(在系統(tǒng)編程)等下載模式對芯片進行編程、及升級??赏ㄟ^外部的編程器或者PC的串口將程序下載到芯片中。ICP用到的5個腳分別是VCC、VSS、RST、PCL(P0.5)、PDA(P0.4)。
(3)外擴存儲器設計
存儲器采用ATMEL公司的AT24C02電可擦除存儲芯片,采用I2C協(xié)議和單片機通訊[4]。
(4)蜂鳴器設計
蜂鳴器的驅動采用PNP三極管8550來驅動,低電平有效。
2.2 主機設計
主控機除了上述的共同接口設計外,還要有I/O擴展接口。由于單片機自身的I/O口數量有限,可以用三八譯碼器74LS138擴展成8個I/O來驅動LED,8個LED分別對應著8個從機,哪個從機響應主機對應的LED燈就會閃爍。
2.3 從機設計
從機除了上述的共同接口設計外,還要有設備地址接口和電機驅動接口。
(1)地址獲取
利用四位撥動開關分別接到單片機的4個I/O,可以獲取16個不同的地址。
(2)電機驅動
國產的電機驅動L9110S是為控制和驅動電機設計的兩通道推挽式功率放大專用集成電路器件。該芯片有兩個TTL/CMOS兼容電平的輸入,具有良好的抗干擾性;兩個輸出端能直接驅動電機的正反向運動,它具有較大的電流驅動能力。
3.1 RS-485通訊協(xié)議設計[5]
RS-485總線網絡能夠實現多機通訊的關鍵是通訊協(xié)議設計,而其中最重要的是幀結構的設計。本系統(tǒng)根據控制系統(tǒng)的通用性定義了幀結構,如表1。
表1 RS-485總線數據幀結構
本系統(tǒng)的數據幀有四種類型,它們分別是:主機詢問從機是否在位的“Active”指令,從機應答在位的“Ready”指令,主機發(fā)送讀設備請求的“Command”命令,從機發(fā)送設備狀態(tài)“Succeed”指令。3.2 軟件流程
本系統(tǒng)平臺可以根據軟件不同實現多種一對多控制功能,具有控制系統(tǒng)通用性。主控機有8個按鈕,分別控制著1-8號從機;并分別對應著8個LED指示燈。主控機按下1號按鈕,詢問1號從機是否在位,如果1號從機成功接收到數據,就會反饋給主控機在位信息,這時主控機的1號LED燈亮;緊接著主控機發(fā)送開門指令,如果1號從機能成功執(zhí)行命令,會再次反饋給主控機信息,這時1號LED燈會閃爍兩下。同樣的2-8號從機操作過程相同。
(1)完全基于單片機,脫離PC機,便于開發(fā)成便攜式設備。可以廣泛用于銀行、酒店等領域的報警系統(tǒng)或者門禁系統(tǒng)。
(2)也可以把上位機換成PC機,加上一些軟件比如:用戶界面、數據處理、后臺數據庫等,就可以開發(fā)成用于工業(yè)數據采集控制系統(tǒng)。
本文完全利用單片機搭建了一個基于RS485通信協(xié)議的多單片機控制系統(tǒng)平臺。也可以根據實際的應用場合,選擇合適的上位機,稍作修改即可繼承運用本系統(tǒng)。本系統(tǒng)具有一定的通用性。
[1]Philips semiconductors Inc.P89LPC920/921/922,8-bit microcontrollers with two-clock 80C51 core[R].2003.
[2]邰鳴,李雙田.基于RS485通信方式的多單片機控制系統(tǒng)[J].微計算機應用,2008.
[3]廣州周立功單片機發(fā)展有限公司.P89LPC920/921/922[R].2004.
[4]Atmel Corporation.AT24C01A/02/04/08A/16A,Two-wire Serial EEPROM [R].2007.
[5]吳桂林,鄭建勇.RS485上下位機多機通信網絡系統(tǒng)設計[J].微計算機信息,2008.