999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于單片機(jī)與CPLD的無線控制系統(tǒng)

2009-05-25 09:59:44張九賓張丕狀杜坤坤
現(xiàn)代電子技術(shù) 2009年1期

張九賓 張丕狀 杜坤坤

摘 要:介紹一種基于單片機(jī)與CPLD結(jié)合的傳感器網(wǎng)絡(luò)節(jié)點的無線控制系統(tǒng)。節(jié)點中單片機(jī)對無線命令進(jìn)行譯碼,并對外圍子模塊進(jìn)行控制,CPLD擴(kuò)展控制系統(tǒng)的并行I/O端口、SPI串行接口等,從而根據(jù)系統(tǒng)需要可擴(kuò)展無線傳感網(wǎng)絡(luò)節(jié)點的外圍功能模塊。采用單片機(jī)與CPLD模塊化設(shè)計方法,降低了設(shè)計成本,方便電路的多次改進(jìn),為傳感器網(wǎng)絡(luò)節(jié)點在不同場合的應(yīng)用提供了一種通用的方法。

關(guān)鍵詞:單片機(jī)I/O端口擴(kuò)展;CPLD;控制節(jié)點;SPI串行接口擴(kuò)展

中圖分類號:TP302.1 文獻(xiàn)標(biāo)識碼:B

文章編號:1004-373X(2009)01-094-03

Wireless Control System Based on Single Chip Computer and CPLD

ZHANG Jiubin,ZHANG Pizhuang,DU Kunkun

(School of Information and Communication Engineering,North University of China,Taiyuan,030051,China)

Abstract:

A wireless control system of sensor network nodes with the combination of single chip computer and CPLD is introduced.In the node,single chip computer decodes the wireless commands and controls expansion modules,CPLD expands control system parallel I/O ports and serial SPI ports,the system can expand periphery function modules according to need.The way of module design with the combination of single chip computer and CPLD can low cost price,facilitate the circuit several times to improve and provide a common method for the sensor network nodes in the application of different occasions.

Keywords:single chip computer I/O expansion;CPLD;control node;SPI serial interface expansion

0 引 言

自單片機(jī)引入我國以來,相關(guān)產(chǎn)品的普及促使單片機(jī)的應(yīng)用設(shè)計日益廣泛。傳統(tǒng)的單片機(jī)控制系統(tǒng)由單片機(jī)以及外圍擴(kuò)展芯片組成,但是這些外圍芯片一般具有接線重復(fù)性高、體積大等缺點。可編程邏輯宏單元或邏輯塊之間的相互連線在同一封裝內(nèi),受外界干擾影響小,電磁兼容(EMC)性能好。對設(shè)計者來說,CPLD器件最大的優(yōu)點在于可現(xiàn)場編程,改變邏輯關(guān)系時,無需更改外部線路板,只需用圖形語言程序或硬件描述語言程序來改變電路,生成下載編輯軟件,通過下載電纜輸入CPLD器件即可,非常方便,特別有利于新品試制,大大縮短了開發(fā)周期。使用CPLD和單片機(jī)結(jié)合構(gòu)成其外圍電路可以減少系統(tǒng)芯片數(shù)量,縮小系統(tǒng)體積,提高系統(tǒng)可

靠性。

1 控制系統(tǒng)

該系統(tǒng)是一個無線傳感器網(wǎng)絡(luò)節(jié)點的控制系統(tǒng),它用于控制無線模塊接收主站發(fā)送過來的信息,單片機(jī)讀取這些數(shù)據(jù)并譯碼后,根據(jù)譯碼結(jié)果控制各功能子模塊,如無線模塊控制、溫度采集控制、電源管理控制、時間統(tǒng)一信號控制等功能,共需要28個輸出控制 I/O口,13個輸入控制I/O口,擴(kuò)展I/O端口分配 8個。各外圍模塊通過SPI串行標(biāo)準(zhǔn)接口的擴(kuò)展與單片機(jī)和CPLD進(jìn)行通信,并完成數(shù)據(jù)傳輸控制功能。各外圍模塊只需接受MCU的控制命令,即可獨(dú)立完成外圍模塊各自的功能:無線模塊的收發(fā)、數(shù)據(jù)采集A/D轉(zhuǎn)換、時間統(tǒng)一記錄、電源管理等。同時預(yù)留單片機(jī)通過 USART的串口輸出,另外,還需要此系統(tǒng)具有很好的擴(kuò)展性,通過擴(kuò)展外圍模塊來增加節(jié)點不同的功能。系統(tǒng)設(shè)計要求如圖1所示。

根據(jù)設(shè)計要求,單片機(jī)系統(tǒng)要8 b的UART串行輸出以及SPI串行輸入輸出,同時為了完成各種控制功能,單片機(jī)必須至少擴(kuò)展7個I/O端口。如果使用傳統(tǒng)的擴(kuò)展方法,在輸出速率要求不高的情況下,并行接口通常使用8255傳統(tǒng)的微處理器接口芯片來擴(kuò)展。

但是,這些芯片都是40腳DIP封裝,體積龐大,并且每片最多只能擴(kuò)展3個8 b I/O端口,還要考慮8255中A,B,C口是作為輸入口還是輸出口。當(dāng)需要的控制端口較多時,不得不用多個這種專用芯片。這時需重復(fù)連接多片8255的8位數(shù)據(jù)線、單片機(jī)讀/寫信號線、ALE,CS(片選)和A0,A1信號線,增加了單片機(jī)硬件、軟件的設(shè)計難度,也就造成電路復(fù)雜、控制不便、可靠性降低,而且增大了電路的功耗、體積和重量。同時接口芯片提供的端口數(shù)未必與實際需要的端口數(shù)相等,不能根據(jù)實際情況分配I/O端口的數(shù)量,容易造成芯片部分資源的浪費(fèi)。而CPLD具有豐富的可編程I/O引腳,并且由于其在系統(tǒng)可編程的特點,設(shè)計者能夠自己定義器件的內(nèi)部邏輯和管腳,擴(kuò)展電路也具有可編程設(shè)計的特點,方便電路的多次改進(jìn),降低了設(shè)計成本。

2 單片機(jī)與CPLD

AVR單片機(jī),采用精簡指令集CPU(RISC),具有高性能,處理速度快(1 MIPS/MHz),成本低,包括FLASH程序存儲器、看門狗、E2PROM、同/異步串口、SPI 、ADC、 定時器/計數(shù)器,眾多的中斷系統(tǒng),集成多種功能,具有低功耗抗干擾的休眠模式。

復(fù)雜可編程邏輯器件(Complex Programmable Logic Device,CPLD)是一種半定制的專用集成電路(Application Specific Integrated Circuit,ASIC)。其芯片上按一定排列方式集成了大量的門和觸發(fā)器等基本邏輯元件。通過軟件編程可以實現(xiàn)這些元件的連接,從而使之完成某個邏輯電路或系統(tǒng)的功能,成為一個可在實際電子系統(tǒng)中使用的ASIC。

目前,最大的兩家CPLD/FPGA生產(chǎn)廠商分別是ALTERA 以及Xilinx。該系統(tǒng)使用的Xilinx的XC2C256屬于Xilinx公司的Coolrunner2系列,包含256個宏單元,最大用戶I/O管腳有100個。

3 系統(tǒng)硬件連接組成以及工作過程

使用CPLD代替單片機(jī)的外圍接口芯片,與AVR單片機(jī)構(gòu)成的控制系統(tǒng)相連如圖2所示。系統(tǒng)的主要部分僅需要2片集成電路,AVR單片機(jī)系列ATmega162和XC2C256。單片機(jī)與CPLD之間的接口是通過單片機(jī)的地址/數(shù)據(jù)復(fù)用總線(PORTA端口)以及讀寫控制I/O口(WR,RD,ALE)與CPLD的I/O口相連來進(jìn)行數(shù)據(jù)、狀態(tài)的傳輸。

在單片機(jī)中對擴(kuò)展的I/O端口進(jìn)行統(tǒng)一編址,通過C語言可以方便地訪問I/O端口,單片機(jī)要往數(shù)據(jù)端口或控制端口輸出信息,必須先把地址送到地址總線上,將確定的控制信息送到控制總線上,再把數(shù)據(jù)信息送到數(shù)據(jù)總線上。經(jīng)過CPLD的內(nèi)部邏輯進(jìn)行地址、數(shù)據(jù)鎖存,并譯碼以獲得擴(kuò)展的端口號,從而獲得對各個外部功能子模塊的控制信號,端口號COM

通過選擇不同的I/O端口可以控制讀取、寫入各外圍處理模塊的數(shù)據(jù)。要讀取某一外圍處理模塊的數(shù)據(jù),必須先讀取狀態(tài)選擇端口COM

4 CPLD軟件設(shè)計

采用Xilinx公司的CPLD開發(fā)軟件Xilinx ISE完成系統(tǒng)的軟件設(shè)計,Xilinx ISE支持原理圖輸入、HDL語言輸入、狀態(tài)圖輸入和混合輸入等輸入方法。其中HDL語言中的VHDL硬件描述語言,與具體的工藝技術(shù)和器件無關(guān),易于共享和復(fù)用,具有多層次描述系統(tǒng)硬件功能的能力。

在設(shè)計中,CPLD需要實現(xiàn)的功能為地址譯碼端口以及控制不同端口的電路設(shè)計,用VHDL語言對進(jìn)行編程編譯,然后采用元件例化的方法得到電路結(jié)構(gòu)如 圖3所示。

CPLD中所設(shè)計的程序片斷:

addr_code<=RD≀&PA;_i_latch;

地址譯碼功能電路

p2: process(addr_code)

begin

case addr_code is

when″100000″=>adrr_cs<=″111111111110″; --cs(0),電源管理

when ″100001″=>adrr_cs<=″111111111101″; --cs(1),時間統(tǒng)一模塊控制端口

when ″100010″=>adrr_cs<=″111111111011″; --cs(2),無線模塊模式控制端口

when ″100011″=>adrr_cs<=″111111110111″; --cs(3),數(shù)據(jù)采集模塊控制端口

when ″100100″=>adrr_cs<=″111111101111″; --cs(4),片選選擇端口

when ″100101″=>adrr_cs<=″111111011111″; --cs(5),狀態(tài)端口

when others =>adrr_cs<=″111111111111″;

end case;

end process p2;--無線模塊模式控制電路

p: process(adrr_cs(2),PA_i(2 downto 0))

begin

if (adrr_cs(2)′event and adrr_cs(2) = ′0′)then

wireless_manage<=PA_i(2 downto 0);

end if;

end process p;--片選不同的功能模塊通過擴(kuò)展SPI與單片機(jī)通信

p:process(SS_PIN,adrr_cs(4),PA_i(2 downto 0),csaddr)

begin

if (adrr_cs(4)′event and adrr_cs(4) = ′0′)then csaddr<=PA_i(2 downto 0);

end if;

if (SS_PIN=′0′) then

case csaddr is

when ″000″ => SS <=″11111110″;

when ″001″ => SS <=″11111101″;

when ″010″ => SS <=″11111011″;

when others => SS<=″11111111″;

end case;

else

SS<=″11111111″;

end if;

end process p;

地址譯碼端口以及不同端口實現(xiàn)的功能仿真結(jié)果如圖4所示。可以看出,仿真結(jié)果符合設(shè)計要求。

5 單片機(jī)軟件設(shè)計

AVR單片機(jī)固化程序采用ICC語言編寫,并使用模塊化的設(shè)計方法,分為初始化程序、預(yù)定義子程序、主程序、無線收發(fā)控制程序、各功能模塊控制程序、讀功能子模塊的子程序、配置功能子模塊程序、超時程序等。模塊化設(shè)計使軟件更加靈活,便于調(diào)用和移植,并且在錯誤發(fā)生的時候,可以很快找到錯誤,極大地提高了系統(tǒng)的可靠性和穩(wěn)定性。

單片機(jī)中要對擴(kuò)展的不同I/O端口分配相對應(yīng)的不同的內(nèi)存地址。例如:要對擴(kuò)展的電源管理I/O端口分配單片機(jī)所映射的內(nèi)存地址為Ox2000。可以寫成:#define POWER_ADDR (*( unsigned char *)0x2000)。

單片機(jī)主要完成系統(tǒng)的控制功能,在實現(xiàn)輸出控制接口時需要與CPLD配合,提供CPLD需要的數(shù)據(jù)和地址及控制線。當(dāng)需要某一組輸出工作時,在單片機(jī)中用C語言對宏變量對應(yīng)的地址進(jìn)行賦值,“WR”或“RD” 同時就被拉低,CPLD通過這組信號判斷選擇并且使能某一組輸出工作,并將輸出控制代碼從單片機(jī)經(jīng)過CPLD的相應(yīng)端口輸出,完成控制功能。例如對電源管理單片機(jī)中定義的I/O端口對應(yīng)的內(nèi)存地址為:#define POWER_ADDR (*(unsigned char *)0x2000),當(dāng)用C語言寫下POWER_ADDR=0x12時,就會在CPLD的8個I/O口輸出相應(yīng)的控制信息“00010010”,從而對各功能模塊進(jìn)行供電或斷電。

6 結(jié) 語

采用CPLD作為單片機(jī)I/O端口的擴(kuò)展芯片,大大減少了單片機(jī)外圍所用芯片的種類和數(shù)量,縮小了體積,降低了功耗,提高了系統(tǒng)的可靠性和整體性。使用單片機(jī)和CPLD結(jié)合可以有效地實現(xiàn)過去需要利用單片機(jī)和大量外圍接口芯片才能完成的功能,而且還可以根據(jù)需要不斷地擴(kuò)展外圍電路,只需要修改CPLD的程序就可以實現(xiàn)用戶的需求。CPLD器件與單片機(jī)結(jié)合,可以優(yōu)勢互補(bǔ),組成靈活的、硬軟件都可現(xiàn)場編程的控制器,縮短開發(fā)周期,適應(yīng)市場需要。

參考文獻(xiàn)

[1]李彬,蕭德云,張正芳.基于單片機(jī)和CPLD的智能I/O模塊設(shè)計.計算機(jī)工程與應(yīng)用,2006,42(36):66-69.

[2]何立民.單片機(jī)高級教程——應(yīng)用與設(shè)計.北京:北京航空航天大學(xué)出版社,2003.

[3]趙鑫,蔣亮,齊兆群,等.VHDL與數(shù)字電路設(shè)計.北京:機(jī)械工業(yè)出版社,2005.

[4]羅苑棠.CPLD/FPGA常用模塊與綜合系統(tǒng)設(shè)計實例精講.北京:電子工業(yè)出版社,2007.

[5]李慶,亓科,于敬芬.基于CPLD與單片機(jī)的多路高精度數(shù)據(jù)采集系統(tǒng)設(shè)計.海軍工程大學(xué)學(xué)報,2007,19(3): 62-65.

[6]沈周義,許克濱.采用CPLD增強(qiáng)單片機(jī)P89C669外部設(shè)備擴(kuò)展能力.現(xiàn)代電子技術(shù),2007,30(13):63-65.

[7]程耕國,劉濤.CPLD擴(kuò)展51單片機(jī)尋址范圍.微計算機(jī)信息,2006,22(5Z):185-186,10.

[8]蔡錦元.CPLD器件在單片機(jī)控制器中的使用.現(xiàn)代電子技術(shù),2006,29(22):1-3.

[9]沈文,Eagle lee,詹衛(wèi)前.AVR單片機(jī)C語言開發(fā)入門指導(dǎo).北京:清華大學(xué)出版社,2007.

[10]楊美剛,李小文.SPI接口及其在數(shù)據(jù)交換中的應(yīng)用.通信技術(shù),2007(11):385-387.

作者簡介張九賓 男,1981年出生,山西運(yùn)城人,現(xiàn)就讀于中北大學(xué)信息與通信工程學(xué)院,碩士研究生。

張丕狀 男,1965年出生,教授,博士,碩士生導(dǎo)師。中北大學(xué)信息與通信工程學(xué)院信息工程系副主任,中北大學(xué)山西省無損檢測中心青年骨干。主要從事信號信息處理、數(shù)據(jù)采集測試工作。

杜坤坤 女,1983年出生,山東聊城人,現(xiàn)就讀于中北大學(xué)信息與通信工程學(xué)院,碩士研究生。

主站蜘蛛池模板: 国产福利在线观看精品| 亚洲精品成人片在线播放| 日韩专区欧美| 666精品国产精品亚洲| 又黄又湿又爽的视频| 久久黄色毛片| 最新亚洲人成无码网站欣赏网| 国产精品2| 一区二区三区国产精品视频| 日韩精品无码不卡无码| 91视频日本| 国产精品人人做人人爽人人添| 国产JIZzJIzz视频全部免费| 国产主播在线观看| 亚洲另类色| 欧美色99| 亚洲午夜国产精品无卡| 日韩精品毛片人妻AV不卡| 狂欢视频在线观看不卡| 亚洲综合色区在线播放2019| 亚洲天堂久久新| 欧美在线国产| 全色黄大色大片免费久久老太| 欧美日韩国产系列在线观看| 精品久久777| 欧美不卡在线视频| 真实国产精品vr专区| 国产精品亚洲欧美日韩久久| 亚洲成人黄色在线| 亚洲综合二区| 91精品国产91欠久久久久| 天堂av综合网| 久久中文字幕不卡一二区| 国产精品无码制服丝袜| 国产成人精品无码一区二| 在线观看国产小视频| 欧美一级在线看| 色噜噜狠狠色综合网图区| 中文一级毛片| 国产成人精品免费视频大全五级| 国产毛片片精品天天看视频| 97在线公开视频| 91午夜福利在线观看精品| 青青草欧美| 久久这里只精品热免费99| 亚洲69视频| 日本午夜视频在线观看| 国产精品丝袜视频| 黄色污网站在线观看| 手机在线免费不卡一区二| 亚洲AV一二三区无码AV蜜桃| 手机在线免费不卡一区二| 国产小视频免费| 久久精品免费国产大片| 女人18一级毛片免费观看| 中文字幕乱码二三区免费| 国产精品亚洲αv天堂无码| 福利姬国产精品一区在线| 视频在线观看一区二区| 国产欧美日韩专区发布| 精品国产成人高清在线| 国产日韩精品一区在线不卡| 精品福利视频导航| 色窝窝免费一区二区三区 | 国产91av在线| 国产一区二区精品高清在线观看| 99久久国产自偷自偷免费一区| 无遮挡一级毛片呦女视频| 99久久亚洲综合精品TS| 国产精品专区第1页| 久久激情影院| 四虎永久在线| 中文字幕人妻无码系列第三区| 亚洲,国产,日韩,综合一区| 亚洲第一综合天堂另类专| 在线日韩日本国产亚洲| 亚洲国产精品无码AV| 亚洲自拍另类| 又粗又硬又大又爽免费视频播放| 超碰91免费人妻| 国产幂在线无码精品| 伊人狠狠丁香婷婷综合色|