基于單片機(jī)和FPGA的人機(jī)交互系統(tǒng)的設(shè)計(jì)
摘要:在儀器儀表電路中,人機(jī)交互界面是必不可少的環(huán)節(jié)。為了解決單純采用單片機(jī)制作的系統(tǒng)功耗高、速度慢、電路結(jié)構(gòu)繁瑣的問題,同時(shí)為了 發(fā)揮出單片機(jī)的靈活性和FPGA的高速性,系統(tǒng)采用C805lF020單片機(jī)和CycloneⅡFPGA作為系統(tǒng)核心,設(shè)計(jì)實(shí)現(xiàn)了鍵盤、LCD等人機(jī)交互 功能,同時(shí)預(yù)留了部分I/O接口作為擴(kuò)展接口使用。采用FPGA掃描鍵盤可以極大程度地節(jié)省單片機(jī)的資源,利用單片機(jī)和FPGA共同控制LCD可以更好地 體現(xiàn)出人機(jī)交互的特色。
關(guān)鍵詞:人機(jī)交互;C805lF;T6963C;FPGA;鍵盤掃描
在現(xiàn)代各類儀器的開發(fā)中,人機(jī)交互功能正起著無可替代的作用。人機(jī)交互界面友好的儀器將更容易操作和使用,從而提高工作效率。液晶顯示器(LCD)具有功 耗低、價(jià)格低、壽命長、接口控制方便等特點(diǎn),在科研與設(shè)計(jì)領(lǐng)域正發(fā)揮著越來越大的作用。FPGA作為單片機(jī)外設(shè)的接口芯片,可以大大簡化接口電路,通過對(duì) FPGA進(jìn)行編程,可以實(shí)現(xiàn)常用的譯碼、地址選通等功能。
本文以C8051F020單片機(jī)與FPGA互連系統(tǒng)為控制核心,以液晶顯示控制器T6963C為例,結(jié)合行掃描鍵盤,簡述了一種人機(jī)交互功能的設(shè)計(jì)。
1 系統(tǒng)設(shè)計(jì)方案
FPGA可在很大程度上擴(kuò)展單片機(jī)的資源,然而人機(jī)交互功能仍應(yīng)盡量減少對(duì)單片機(jī)及FPGA的資源消耗,以便將更多的片內(nèi)資源用于其他功能的擴(kuò)展。采用 FPGA掃描鍵盤可以節(jié)省單片機(jī)的資源,同時(shí)也能靈活地實(shí)現(xiàn)鍵盤的擴(kuò)展。而考慮到液晶控制較復(fù)雜,依然采用單片機(jī)控制
LCD,使LCD的各種功能得到最大程度的利用,其系統(tǒng)框圖如圖1所示。
2 硬件電路及FPGA接口設(shè)計(jì)
2.1 總線接口設(shè)計(jì)
這里采用單片機(jī)C8051F020與CycloneⅡFPGA互連的系統(tǒng)。C8051F020器件是完全集成的混合信號(hào)系統(tǒng)級(jí)MCU芯片,具有64個(gè)數(shù)字 I/O引腳,與8051完全兼容,而且速度得到了極大提高,70%的指令執(zhí)行時(shí)間為l或2個(gè)系統(tǒng)時(shí)鐘周期,只有4條指令的執(zhí)行時(shí)間大于4個(gè)系統(tǒng)時(shí)鐘周期。 此外,C8051F020系列MCU對(duì)CIP-51內(nèi)核和外設(shè)有幾項(xiàng)關(guān)鍵性的改進(jìn),提高了整體性能,更易于在最終應(yīng)用中使用。如提供22個(gè)中斷源、7個(gè)復(fù) 位源、可編程交叉開關(guān)、8位A/D轉(zhuǎn)換器、12位D/A轉(zhuǎn)換器等。
CycloneⅡ系列FPGA將低功耗FPGA的密度規(guī)模擴(kuò)展至68 416個(gè)邏輯單元,并提供高達(dá)622個(gè)可用的I/O接口以及高達(dá)1.1 Mb的片內(nèi)存儲(chǔ)單元。CycloneⅡ系列成功實(shí)現(xiàn)了高效與低功耗的結(jié)合,可用于自動(dòng)化、通信、視頻播放等領(lǐng)域。為兼顧成本問題,本系統(tǒng)采用性價(jià)比較高的EP2C8型FPGA作為接口器件。
評(píng)論