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