新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > I/O擴展電路GM8166在嵌入式鍋爐系統(tǒng)中的應(yīng)用

I/O擴展電路GM8166在嵌入式鍋爐系統(tǒng)中的應(yīng)用

——
作者:張秀松,何仲,顧家茜 時間:2007-01-26 來源:《國外電子元器件》 收藏
1 引言

鍋爐控制系統(tǒng)是一個典型的大慣性、大滯后、多變量的過程控制系統(tǒng),涉及到壓力、溫度、水位等多個物理參數(shù)的檢測與控制,需要同時控制循環(huán)泵、補水泵、加熱裝置、自動排除故障等。該系統(tǒng)有32路數(shù)字輸入信號、32路數(shù)字輸出信號、11路模擬量輸入信號和8路模擬量輸出信號,因此所需要的硬件電路多,控制復(fù)雜,筆者以atmel公司的at91rm9200為處理器設(shè)計出了一款具有32位高速數(shù)據(jù)處理能力,處理速度可達200mi/s,并配有l(wèi)cd、觸摸屏、sd卡、cpld、音頻、網(wǎng)絡(luò)、usb及串行接口等多項功能的嵌入式工業(yè)鍋爐控制系統(tǒng)。

本文引用地址:http://butianyuan.cn/article/21230.htm

在系統(tǒng)設(shè)計過程中,遇到了i/o口嚴重不足的問題,雖然at91rm9200具有122個通用i/o口,但嵌入式系統(tǒng)本身的各項功能實現(xiàn)占用了大量的i/o口,剩下用于鍋爐控制的已不多,所以需要進行i/o口擴展,一般采用的解決方案是利用74hc573、74ls164、74ls165、82c55等電路來實現(xiàn)i/o擴展,但使用上述器件存在pcb面積增大、成本高等缺點,這里筆者采用兩個成都國騰微電子有限公司開發(fā)的gm8166電路,通過串行輸入并行輸出、并行輸入串行輸出轉(zhuǎn)換即可完成鍋爐32路樹數(shù)字輸入和32路數(shù)字輸出控制的i/o口擴展。

2 gm8166的主要特點

gm8166通過串行輸入并行輸出,并行輸入串行輸出,并入并出轉(zhuǎn)換完成i/o口的擴展,最高工作頻率為10mhz,用于配合mcu完成對多個外圍電路的控制和信號采集工作。同時可接入spi總線,滿足了更多需求,設(shè)計時充分考慮了工作溫度范圍要求和抗電磁干擾能力,完全適用于工業(yè)領(lǐng)域。

cm8166的主要特性如下:

提供32位并行數(shù)據(jù)i/o口,可通過模式選擇實現(xiàn)8位、16位、24位、32位的數(shù)據(jù)轉(zhuǎn)換,也可通過普通i/o口模擬串口實現(xiàn)0-32任意位數(shù)據(jù)轉(zhuǎn)換;

既可實現(xiàn)串并/并串轉(zhuǎn)換,又可實現(xiàn)并行口切換輸入/輸出功能;

所有i/o口均內(nèi)接上拉電阻;

鎖存輸出,有輸出鎖存控制端;

有級聯(lián)輸入/輸出端,方便實現(xiàn)級聯(lián);

具備spi總線接口,可方便地接入spi總線;

與ttl兼容;

工作電壓為2.7v-6.5v;

最大輸出電流為10ma,最高工作頻率為10mhz;

工作環(huán)境溫度范圍為-40℃-85℃,滿足工業(yè)級標準。

3 gm8166的系統(tǒng)結(jié)構(gòu)和引腳功能

3.1 系統(tǒng)結(jié)構(gòu)

gm8166由控制模塊、移位寄存器模塊和i/o口模塊組成,圖1為gm8166的系統(tǒng)結(jié)構(gòu)框圖。

3.2 引腳功能

gm8166采用qfp52和sdip52兩種封裝形式。用戶可根據(jù)需要進行選擇。gm8166的引腳功能說明如下:

reset:復(fù)位信號,高電平復(fù)位。

clk:時鐘信號,上升沿有效。

csn:片選信號,低電平有效。

oc/en:串行輸入并行輸出轉(zhuǎn)換或并行口轉(zhuǎn)換輸入/輸出時做并行輸出允許控制信號:oc/en=0:并行輸出允許;oc/en=1:并行輸出禁止。并入串行輸出模式下作為并行輸入置數(shù)和串行移位控制信號:oc/en=0:允許并行輸入置數(shù),oc/en=1:串行移位,禁止并行輸入。

le:并行輸出數(shù)據(jù)鎖存信號,le=0表示并行輸出數(shù)據(jù)鎖存;le=1表示并行輸出數(shù)據(jù)不鎖存。

sel:接入spi總線控制信號,接入spi總線時,sel引腳固定接地,不需要接入spi總線時,sel引腳接固定電源。

modsel:并串/串并轉(zhuǎn)換模式和并行口轉(zhuǎn)換模式選擇信號,modsel=0;選擇并串/串并轉(zhuǎn)換模式;modsel=1;選擇并行口切換模式。

sp/mux:并串和串并轉(zhuǎn)換選擇信號,sp/mux=0;選擇并行輸入串行輸出模式,sp/mux=1:選擇串行輸出并行輸出模式,并行口切換模式下兼做1路輸入3路輸出和3路輸入1路輸出選擇信號,sp/mux=0:選擇1路輸出3路輸出模式;sp/mux=1:選擇3路輸入1路輸出模式。

m0、m1:工作方式控制信號,m0m1為00時為8位數(shù)據(jù)傳輸模式,01時為16位數(shù)據(jù)傳輸模式,10時為24位傳輸模式,11時為32位數(shù)據(jù)傳輸模式。

pdata:32位輸入/輸出數(shù)據(jù)口。

sdata:(mosi):串行數(shù)據(jù)輸入/輸出口;spi總線工作模式下做為mosi口。

cdata:輸入/輸出級聯(lián)數(shù)據(jù)口,并行輸入串行輸出模式下為輸入口,串行輸入并行輸出模式下為輸出口。

4 gm8166在嵌入式鍋爐中的應(yīng)用

4.1 硬件電路設(shè)計

gm8166共有三大功能,滿足三種不同應(yīng)用。串并/并串轉(zhuǎn)換功能為并行口比較緊張的系統(tǒng)通過串口擴展32位并行口;并行口切換功能可以將1組8位并行口擴展成3組8位并行口,通過控制信號在3組并口中切換完成輸入/輸出功能;spi總線功能使該器件可以接入spi總線中作為從設(shè)備進行數(shù)據(jù)收/發(fā),同樣完成串并轉(zhuǎn)換的功能,這里筆者采用兩個gm8166器件分別實現(xiàn)32數(shù)據(jù)并行輸入串行輸出轉(zhuǎn)換和32數(shù)據(jù)的串行輸入并行輸出轉(zhuǎn)換,擴展為64位i/o口,從而實現(xiàn)對鍋爐控制系統(tǒng)數(shù)字量輸入輸出信號的控制與傳輸,gm8166與at91rm9200的硬件原理圖如圖2。

如圖2所示,at91rm9200的pa口與gm8166連接。gm8166-1設(shè)為32位數(shù)據(jù)串行輸入并行輸出模式:at91rm9200通過pa0口連續(xù)發(fā)送32位數(shù)據(jù)到gm8166-1,在該模式下,當(dāng)reset信號為“1”時,gm8166移位寄存器復(fù)位,即所有的寄存器的值都為0;當(dāng)csn為0,reset為0,同時有時鐘輸入時,gm8166對移位寄存器進行移位,32個時鐘信號后,32位數(shù)據(jù)全部輸出到寄存器輸出口,由le和oc/en控制pdata[31:0]的輸出狀態(tài),從而實現(xiàn)對鍋爐的控制。

gm8166-2設(shè)為32數(shù)據(jù)并行輸入串行輸出模式:at91rm9200通過pa12口連續(xù)接收32位數(shù)據(jù),在該模式下,當(dāng)reset信號為1時,gm8166移寄存器復(fù)位,即所有寄存器的值都為0;當(dāng)csn為0,reset為0,oc/en信號為0時,同時來一個時鐘上升沿,gm8166將輸入端口(32位)數(shù)據(jù)并行保存到寄存器中;當(dāng)reset為0和oc/en信號為1時,gm8166對移位寄存器進行移位,從而實現(xiàn)對鍋爐信號的采集。

4.2 軟件設(shè)計

本系統(tǒng)軟件均采用c語言編寫。軟件示例如下。

4.2.1 32位數(shù)據(jù)串行輸入并行輸出轉(zhuǎn)換

4.2.2 32位數(shù)據(jù)并行輸入串行輸出轉(zhuǎn)換

如圖2所示,用pa1作為gm8166-1的clk,用pa0作sdata,用pa11作為gm8166-2的clk,用pa12作sdata,用軟件模擬產(chǎn)生串行接口的傳輸過程,編程時,應(yīng)注意gm8166的內(nèi)部移位寄存器都是在 clk的上升沿移位時,所以讀入時應(yīng)在clk的上升沿之后讀入sdata的狀態(tài),寫出時應(yīng)在clk上升沿之前置sdata相應(yīng)電平。

5 結(jié)束語

嵌入式鍋爐控制器中使用了兩個gm8166器件,實現(xiàn)了鍋爐中22個溫度、壓力、水位、燃燒機、風(fēng)機等狀態(tài)的檢測和10個手動按鍵的輸入;32個水泵、變頻器、燃燒機、風(fēng)機的啟停以及輕重油選擇、報警等開關(guān)量的輸出,解決了使用8255等通用并行i/o電路所帶來的成本高,功耗大和占用電路板面積大等系統(tǒng)結(jié)果設(shè)計與安裝方面的問題。



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉