2 MicroBlaze嵌入式開發(fā)工具EDK
Xilinx公司提供了完善的嵌入式開發(fā)工具EDK(Em—bedded Development Kit)。EDK是Xilinx公司于2003年推出的SOPC(System On Programmable Chip)系統(tǒng)開發(fā)套件。該套件集成了豐富的開發(fā)工具和大量的IP核資源,其中集成的工具包括硬件平臺生成器(PlatGen)、硬件仿真模型生成器(SimGen)、硬件調試工具(XMD)、軟件庫生成器(LibGen)、應用軟件編譯工具(GNU Compilers)、軟件調試工具(GNU Debuggers)等;IP核資源包括LMB和OPB總線接口、外部存儲器控制器(EMC)、SDRAM控制器、UART接口、中斷控制器、定時器等。所有這些工具和資源都由EDK中的一個叫平臺工作室XPS(XilinxPlatform Studio)的集成開發(fā)環(huán)境統(tǒng)一管理。XPS提供一個友好的圖形用戶界面(GUI),使用非常方便。設計流程如圖2所示。
3 液晶顯示模塊
MPG240128液晶模塊為圖形點陣式液晶,不僅可以顯示數字、字符等內容,還可以顯示漢字和任意圖形。該模塊的控制芯片為T6963C,與外部的連接只有8位數據線和6條控制線及電源。液晶模塊引腳說明如表1所列。MCtJ只要通過這些數據線和控制線,按照相應的時序進行讀寫,即可實現(xiàn)對模塊的顯示控制。
4 MicrOBlaze與液晶顯示模塊的接口
由于本文采用的液晶模塊已經自帶了顯示控制芯片T6963C,因此液晶模塊的外圍電路相對來說就比較簡單,只要考慮和MicroBlaze的接口電路即可。本設計采用GPIO模擬液晶模塊的時序,實現(xiàn)對液晶模塊的顯示控制。MicroBlaze和液晶模塊的接口電路如圖3所示。
在EDK開發(fā)套件的XPS集成開發(fā)環(huán)境下進行系統(tǒng)硬件設計。在其界面環(huán)境下,添加所需IP核,進行系統(tǒng)連接和各項參數設置。利用平臺產生器,根據硬件描述文件(.MHS文件),生成嵌入式系統(tǒng)子模塊的網表文件(.NGC),然后調用Xilinx的綜合工具XST進行綜合,從而構成整個應用系統(tǒng)的硬件模型。
本設計中采用了GPIO對液晶模塊進行控制。EDK提供了一系列API函數,通過這些函數可以很方便地對GPIO進行操作。下面先介紹2個函數:
其中,InstancePtr是指針,指向要控制的GPIO的基地址;Channel為通道值,選0或1。這兩個函數只對Mask中對應位為1的位有影響,比如,XGpio_DiscreteSet(&lcd240128,1,Ox00000001)將LCl3240128_pin<O>置1,而不影響其他位;同理,XGpio_DiscteteClear(&1cd240128,1,0x00000001)將LCD240128_pin<0>置0,而不影響其他位。為了增強程序的可讀性,增加了8個宏定義:#define wr_high()XGpio_DiscreteSet(&lcd240128,1,Ox00000800),#define wr_low()XGpio_DiscreteClear(&1cd240128,l,0x00000800),其他6個同理可推知。有了這2個函數,就可以很方便地編寫出寫命令和寫數據函數了。下面對這2個函數作簡要介紹:
液晶顯示圖形和字符都是由點陣組成的,因此,在液晶上顯示一個像素點是顯示圖形和字符的基礎。下面將單像素點顯示函數介紹如下:
有了單像素點顯示函數,就可以很方便地編寫出字符顯示函數和圖形顯示函數了。限于篇幅,這里不作介紹。
結 語
本設計已在Xilinx Spatan3 Starter Board上進行了驗證,取得了良好的效果。通過本設計的實現(xiàn)可以看出,MicroBlaze是一個功能強大、應用靈活的嵌入式軟處理器,特別是其強大的用戶自定義邏輯功能,極大地方便了系統(tǒng)設計??梢灶A見,基于嵌入式軟處理器的SOPC開發(fā)方法,必將擁有廣闊的應用前景。