基于單片機(jī)與CPLD的無線控制系統(tǒng)
摘要:介紹一種基于單片機(jī)與CPLD結(jié)合的傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的無線控制系統(tǒng)。節(jié)點(diǎn)中單片機(jī)對(duì)無線命令進(jìn)行譯碼,并對(duì)外圍子模塊進(jìn)行控制,CPLD擴(kuò)展控制系統(tǒng)的并行I/O端口、SPI串行接口等,從而根據(jù)系統(tǒng)需要可擴(kuò)展無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)的外圍功能模塊。采用單片機(jī)與CPLD模塊化設(shè)計(jì)方法,降低了設(shè)計(jì)成本,方便電路的多次改進(jìn),為傳感器網(wǎng)絡(luò)節(jié)點(diǎn)在不同場合的應(yīng)用提供了一種通用的方法。
關(guān)鍵詞:單片機(jī)I/O端口擴(kuò)展;CPLD;控制節(jié)點(diǎn);SPI串行接口擴(kuò)展
0 引 言
自單片機(jī)引入我國以來,相關(guān)產(chǎn)品的普及促使單片機(jī)的應(yīng)用設(shè)計(jì)日益廣泛。傳統(tǒng)的單片機(jī)控制系統(tǒng)由單片機(jī)以及外圍擴(kuò)展芯片組成,但是這些外,圍芯片一般具有接線重復(fù)性高、體積大等缺點(diǎn)??删幊踢壿嫼陠卧蜻壿媺K之間的相互連線在同一封裝內(nèi),受外界干擾影響小,電磁兼容(EMC)性能好。對(duì)設(shè)計(jì)者來說,CPLD器件最大的優(yōu)點(diǎn)在于可現(xiàn)場編程,改變邏輯關(guān)系時(shí),無需更改外部線路板,只需用圖形語言程序或硬件描述語言程序來改變電路,生成下載編輯軟件,通過下載電纜輸入CPLD器件即可,非常方便,特別有利于新品試制,大大縮短了開發(fā)周期。使用CPLD和單片機(jī)結(jié)合構(gòu)成其外圍電路可以減少系統(tǒng)芯片數(shù)量,縮小系統(tǒng)體積,提高系統(tǒng)可靠性。
1 控制系統(tǒng)
該系統(tǒng)是一個(gè)無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的控制系統(tǒng),它用于控制無線模塊接收主站發(fā)送過來的信息,單片機(jī)讀取這些數(shù)據(jù)并譯碼后,根據(jù)譯碼結(jié)果控制各功能子模塊,如無線模塊控制、溫度采集控制、電源管理控制、時(shí)間統(tǒng)一信號(hào)控制等功能,共需要28個(gè)輸出控制I/O口,13個(gè)輸入控制I/O口,擴(kuò)展I/O端口分配8個(gè)。各外圍模塊通過SPI串行標(biāo)準(zhǔn)接口的擴(kuò)展與單片機(jī)和CPLD進(jìn)行通信,并完成數(shù)據(jù)傳輸控制功能。各外圍模塊只需接受MCU的控制命令,即可獨(dú)立完成外圍模塊各自的功能:無線模塊的收發(fā)、數(shù)據(jù)采集A/D轉(zhuǎn)換、時(shí)間統(tǒng)一記錄、電源管理等。同時(shí)預(yù)留單片機(jī)通過USART的串口輸出,另外,還需要此系統(tǒng)具有很好的擴(kuò)展性,通過擴(kuò)展外圍模塊來增加節(jié)點(diǎn)不同的功能。系統(tǒng)設(shè)計(jì)要求如圖1所示。
根據(jù)設(shè)計(jì)要求,單片機(jī)系統(tǒng)要8 b的UART串行輸出以及SPI串行輸入輸出,同時(shí)為了完成各種控制功能,單片機(jī)必須至少擴(kuò)展7個(gè)I/O端口。如果使用傳統(tǒng)的擴(kuò)展方法,在輸出速率要求不高的情況下,并行接口通常使用8255傳統(tǒng)的微處理器接口芯片來擴(kuò)展。
但是,這些芯片都是40腳DIP封裝,體積龐大,并且每片最多只能擴(kuò)展3個(gè)8 b I/O端口,還要考慮8255中A,B,C口是作為輸入口還是輸出口。當(dāng)需要的控制端口較多時(shí),不得不用多個(gè)這種專用芯片。這時(shí)需重復(fù)連接多片8255的8位數(shù)據(jù)線、單片機(jī)讀/寫信號(hào)線、ALE,CS(片選)和A0,A1信號(hào)線,增加了單片機(jī)硬件、軟件的設(shè)計(jì)難度,也就造成電路復(fù)雜、控制不便、可靠性降低,而且增大了電路的功耗、體積和重量。同時(shí)接口芯片提供的端口數(shù)未必與實(shí)際需要的端口數(shù)相等,不能根據(jù)實(shí)際情況分配I/O端口的數(shù)量,容易造成芯片部分資源的浪費(fèi)。而CPLD具有豐富的可編程I/O引腳,并且由于其在系統(tǒng)可編程的特點(diǎn),設(shè)計(jì)者能夠自己定義器件的內(nèi)部邏輯和管腳,擴(kuò)展電路也具有可編程設(shè)計(jì)的特點(diǎn),方便電路的多次改進(jìn),降低了設(shè)計(jì)成本。
2 單片機(jī)與CPLD
AVR單片機(jī),采用精簡指令集CPU(RISC),具有高性能,處理速度快(1 MIPS/MHz),成本低,包括FLASH程序存儲(chǔ)器、看門狗、E2PROM、同/異步串口、SPI、ADC、定時(shí)器/計(jì)數(shù)器,眾多的中斷系統(tǒng),集成多種功能,具有低功耗抗干擾的休眠模式。
復(fù)雜可編程邏輯器件(Complex Programmable Logic Device,CPLD)是一種半定制的專用集成電路(Application Specific Integrated Circuit,ASIC)。其芯片上按一定排列方式集成了大量的門和觸發(fā)器等基本邏輯元件。通過軟件編程可以實(shí)現(xiàn)這些元件的連接,從而使之完成某個(gè)邏輯電路或系統(tǒng)的功能,成為一個(gè)可在實(shí)際電子系統(tǒng)中使用的ASIC。
目前,最大的兩家CPLD/FPGA生產(chǎn)廠商分別是ALTERA以及Xilinx。該系統(tǒng)使用的Xilinx的XC2C256屬于XiIinx公司的Coolrunner2系列,包含256個(gè)宏單元,最大用戶I/O管腳有100個(gè)。
評(píng)論