關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)與CPLD的無(wú)線控制系統(tǒng)

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

作者: 時(shí)間:2009-04-20 來(lái)源:網(wǎng)絡(luò) 收藏


地址譯碼端口以及不同端口實(shí)現(xiàn)的功能仿真結(jié)果如圖4所示??梢钥闯觯抡娼Y(jié)果符合設(shè)計(jì)要求。

5 軟件設(shè)計(jì)
AVR固化程序采用ICC語(yǔ)言編寫,并使用模塊化的設(shè)計(jì)方法,分為初始化程序、預(yù)定義子程序、主程序、收發(fā)控制程序、各功能模塊控制程序、讀功能子模塊的子程序、配置功能子模塊程序、超時(shí)程序等。模塊化設(shè)計(jì)使軟件更加靈活,便于調(diào)用和移植,并且在錯(cuò)誤發(fā)生的時(shí)候,可以很快找到錯(cuò)誤,極大地提高了系統(tǒng)的可靠性和穩(wěn)定性。
中要對(duì)擴(kuò)展的不同I/O端口分配相對(duì)應(yīng)的不同的內(nèi)存地址。例如:要對(duì)擴(kuò)展的電源管理I/O端口分配單片機(jī)所映射的內(nèi)存地址為Ox2000??梢詫懗桑?deftne POWER ADDR (*(unsigned char*)0x2000)。
單片機(jī)主要完成系統(tǒng)的控制功能,在實(shí)現(xiàn)輸出控制接口時(shí)需要與配合,提供需要的數(shù)據(jù)和地址及控制線。當(dāng)需要某一組輸出工作時(shí),在單片機(jī)中用C語(yǔ)言對(duì)宏變量對(duì)應(yīng)的地址進(jìn)行賦值,“WR”或“RD”同時(shí)就被拉低,通過(guò)這組信號(hào)判斷選擇并且使能某一組輸出工作,并將輸出控制代碼從單片機(jī)經(jīng)過(guò)CPLD的相應(yīng)端口輸出,完成控制功能。例如對(duì)電源管理單片機(jī)中定義的I/O端口對(duì)應(yīng)的內(nèi)存地址為:#define POWER_ADDR(*(unsigned char*)Ox2000),當(dāng)用C語(yǔ)言寫下POWER_ADDR=Oxl2時(shí),就會(huì)在CPLD的8個(gè)I/O口輸出相應(yīng)的控制信息“00010010”,從而對(duì)各功能模塊進(jìn)行供電或斷電。


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


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉