新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > I/O擴展電路GM8166在嵌入式鍋爐系統中的應用

        I/O擴展電路GM8166在嵌入式鍋爐系統中的應用

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

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

        本文引用地址:http://www.104case.com/article/21230.htm

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

        2 gm8166的主要特點

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

        cm8166的主要特性如下:

        提供32位并行數據i/o口,可通過模式選擇實現8位、16位、24位、32位的數據轉換,也可通過普通i/o口模擬串口實現0-32任意位數據轉換;

        既可實現串并/并串轉換,又可實現并行口切換輸入/輸出功能;

        所有i/o口均內接上拉電阻;

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

        有級聯輸入/輸出端,方便實現級聯;

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

        與ttl兼容;

        工作電壓為2.7v-6.5v;

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

        工作環境溫度范圍為-40℃-85℃,滿足工業級標準。

        3 gm8166的系統結構和引腳功能

        3.1 系統結構

        gm8166由控制模塊、移位寄存器模塊和i/o口模塊組成,圖1為gm8166的系統結構框圖。

        3.2 引腳功能

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

        reset:復位信號,高電平復位。

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

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

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

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

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

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

        sp/mux:并串和串并轉換選擇信號,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位數據傳輸模式,01時為16位數據傳輸模式,10時為24位傳輸模式,11時為32位數據傳輸模式。

        pdata:32位輸入/輸出數據口。

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

        cdata:輸入/輸出級聯數據口,并行輸入串行輸出模式下為輸入口,串行輸入并行輸出模式下為輸出口。

        4 gm8166在嵌入式鍋爐中的應用

        4.1 硬件電路設計

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

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

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

        4.2 軟件設計

        本系統軟件均采用c語言編寫。軟件示例如下。

        4.2.1 32位數據串行輸入并行輸出轉換

        4.2.2 32位數據并行輸入串行輸出轉換

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

        5 結束語

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



        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 平武县| 潞西市| 铁岭县| 南汇区| 芮城县| 湘西| 龙南县| 梧州市| 阿拉善右旗| 乌鲁木齐县| 南投县| 阳西县| 汾西县| 扶沟县| 中宁县| 平遥县| 芮城县| 五家渠市| 娄烦县| 定边县| 宜昌市| 嘉兴市| 沁水县| 汉中市| 竹溪县| 济阳县| 普陀区| 廊坊市| 兴文县| 孙吴县| 炉霍县| 育儿| 宜都市| 庆城县| 德安县| 浦县| 东乡族自治县| 泰和县| 竹山县| 茶陵县| 日土县|