基于LPC2294處理器的嵌入式PLC的設(shè)計(jì)(一)
四十多年來(lái),PLC已成為實(shí)現(xiàn)工業(yè)控制的中堅(jiān)力量。它的功能不斷完善,應(yīng)用領(lǐng)域不斷擴(kuò)大,對(duì)于工業(yè)控制技術(shù)的進(jìn)步與社會(huì)發(fā)展所發(fā)揮的作用無(wú)可估量。PLC以它的高可靠性和易操作性,主導(dǎo)了工控行業(yè)數(shù)十年。PLC雖然有著它固有的優(yōu)勢(shì),但面對(duì)客戶需求的不斷變化,PLC要想生存,就必須突破傳統(tǒng)模式,積極求新求變以適應(yīng)新的市場(chǎng)發(fā)展。而具有低成本優(yōu)勢(shì)的嵌入式PLC,正好能夠滿足這一需求。所謂嵌入式PLC 是指采用SoC嵌入式片上系統(tǒng)芯片和嵌入式實(shí)時(shí)操作系統(tǒng)實(shí)現(xiàn)PLC功能,并能用IEC61131-3的標(biāo)準(zhǔn)編程語(yǔ)言編程的PLC.隨著高性能的ARM 嵌入式微處理器的發(fā)展,筆者設(shè)計(jì)了新一代微型嵌入式PLC.本文介紹了嵌入式PLC的體系結(jié)構(gòu),包含其硬件設(shè)計(jì)和軟件設(shè)計(jì)方案。
1 嵌入式PLC的硬件結(jié)構(gòu)設(shè)計(jì)
1.1 微控制器芯片的選取
CPU是PLC的核心,它能夠識(shí)別用戶按照特定的格式輸入的各種指令,并按照指令的規(guī)定,根據(jù)當(dāng)前的現(xiàn)場(chǎng)I/O信號(hào)的狀態(tài),發(fā)出相應(yīng)的控制指令,完成預(yù)定的控制任務(wù)。本設(shè)計(jì)選用的是Philips公司生產(chǎn)的LPC2294微控制器。LPC2294是一款基于32位ARM7TDMI-S,并支持實(shí)時(shí)仿真和跟蹤的CPU芯片,它帶有256kB嵌入的高速Flash存儲(chǔ)器,16kB 片內(nèi)SRAM.LPC2294采用144腳封裝、具有極低的功耗以及多達(dá)112個(gè)通用I/O 口,9個(gè)邊沿或電平觸發(fā)的外部中斷引腳,最大為60MHz的工作晶振,多個(gè)32位定時(shí)器,PWM 單元,實(shí)時(shí)時(shí)鐘和看門(mén)狗,轉(zhuǎn)換時(shí)間低至2.44μs的8通道10位ADC、4 路高級(jí)CAN 接口, 另外具有2 路UART(16C550),高速I(mǎi)2 C (400kbit/s)及2路SPI總線。LPC2294豐富的硬件資源和完善的功能使這款微控制器特別適用于汽車、工業(yè)控制應(yīng)用以及醫(yī)療系統(tǒng)和容錯(cuò)維護(hù)總線等場(chǎng)合。
1.2 硬件系統(tǒng)的整體結(jié)構(gòu)
本系統(tǒng)以ARM 芯片LPC2294為CPU,設(shè)計(jì)為14路PNP型輸入、10路繼電器輸出的基本模式。硬件總體結(jié)構(gòu)包括:
電源及復(fù)位模塊、ARM 微控制器、Flash存儲(chǔ)器擴(kuò)展模塊、開(kāi)關(guān)量輸入輸出模塊、模擬量輸入輸出模塊、RS485接口及CAN接口通信模塊等。系統(tǒng)的結(jié)構(gòu)如圖1所示。
1.2.1 開(kāi)關(guān)量輸入輸出接口電路
圖2所示為一路開(kāi)關(guān)量輸入圖。此部分電路前端為R、C組成的一階濾波電路,防止外部干擾信號(hào)進(jìn)入系統(tǒng)中。輸入端外接的輸入控制開(kāi)關(guān)信號(hào)(直流24V)通過(guò)輸入點(diǎn)10.0經(jīng)限流電阻輸入到光電耦合器(PC816)的輸入端,M 為輸入點(diǎn)10.0~10.7的公共輸入端。因P0.23口被設(shè)置為輸入模式且口線內(nèi)部無(wú)上拉電阻,所以需要外接上拉電阻,防止口線懸空。當(dāng)10.0輸入端為24V時(shí),光電耦合器中的光敏二極管導(dǎo)通,光敏晶體管輸出端被拉為低電平,指示該路輸入狀態(tài)的LED被點(diǎn)亮,P0.23被置為低電平。當(dāng)CPU訪問(wèn)該路信號(hào)時(shí),將該輸入點(diǎn)對(duì)應(yīng)的輸入過(guò)程映像寄存器的值置為 1.10.0輸入端為0V時(shí),P0.23為高電平,當(dāng)CPU訪問(wèn)該路信號(hào)時(shí),則將該輸入點(diǎn)對(duì)應(yīng)的輸入過(guò)程映像寄存器的值置為0.其余各個(gè)輸入點(diǎn)所對(duì)應(yīng)的電路及工作原理均相同。
圖3所示為繼電器輸出模塊圖,圖中并聯(lián)在繼電器線圈兩端的二極管這里起續(xù)流作用。該模塊的工作原理如下:當(dāng)內(nèi)部輸出過(guò)程映像寄存器為1時(shí),LPC2294端口P1.16輸出0,光敏晶體管導(dǎo)通,繼電器線圈得電,輸出點(diǎn)接通;反之當(dāng)內(nèi)部輸出過(guò)程映像寄存器為0時(shí),端口P1.16輸出1,繼電器線圈失電,輸出點(diǎn)斷開(kāi)。
需要注意的是,當(dāng)LPC2294的GPIO 口初上電時(shí),其輸出端口(如本圖中的P1.16)的電壓
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論