基于MicroBlaze軟核的液晶驅動(dòng)程序設計

發(fā)布時(shí)間:2010-11-8 14:45    發(fā)布者:eetech
關(guān)鍵詞: MicroBlaze , 驅動(dòng)程序 , 軟核 , 液晶
1 MicroBlaze的體系結構

MicroBlaze采用功能強大的32位流水線(xiàn)結構,包含32個(gè)32位通用寄存器和1個(gè)可選的32位移位器,時(shí)鐘頻率可達150 MHz;在Virrex一4 FPGA上運行速率高達120 DMIPS,僅占用Virtex—II Pro FPGA中的950個(gè)邏輯單元。MicroBlaze軟核的結構框圖如圖1所示。它具有以下基本特征:

①32個(gè)32位通用寄存器和2個(gè)專(zhuān)用寄存器(程序計數器和狀態(tài)標志寄存器)。

②32位指令系統,支持3個(gè)操作數和2種尋址方式。

③分離的32位指令和數據總線(xiàn),符合IBM的OPB總線(xiàn)規范(與外設相連接的低速總線(xiàn))。

④通過(guò)本地存儲器總線(xiàn)(LMB,本地高速總線(xiàn))直接訪(fǎng)問(wèn)片內塊存儲器(BRAM)。

⑤具有高速的指令和數據緩存(cache),三級流水線(xiàn)結構(取址、譯碼、執行)。

⑥具有硬件調試模塊(MDM)。

⑦帶8個(gè)輸入和8個(gè)輸出快速鏈路接口(FSL)。


圖中接口信號說(shuō)明如下:

①DOPB,器件內部的外圍設備數據接口總線(xiàn),用于處理器與片內的設備進(jìn)行數據交換。

②DLMB,實(shí)現數據交換的本地塊存儲器總線(xiàn)。該總線(xiàn)為處理器內核與塊存儲器(BRAM)之間提供專(zhuān)用的高速數據交換通道。

③IOPB,用于實(shí)現外部程序存儲器的總線(xiàn)接口。當程序較大時(shí),需要外接大容量的存儲器。該總線(xiàn)提供讀取指令的通道。

④ILMB,用于取指令的本地存儲器總線(xiàn)。該總線(xiàn)與器件內部的塊存儲器(BRAM)相連,實(shí)現高速的指令讀取。

⑤MFSLO~7,主設備數據接口,提供點(diǎn)對點(diǎn)的通信通道。

⑥SFSLO~7,從設備數據接口,提供點(diǎn)對點(diǎn)的通信通道。

2 MicroBlaze嵌入式開(kāi)發(fā)工具EDK

Xilinx公司提供了完善的嵌入式開(kāi)發(fā)工具EDK(Em—bedded Development Kit)。EDK是Xilinx公司于2003年推出的SOPC(System On Programmable Chip)系統開(kāi)發(fā)套件。該套件集成了豐富的開(kāi)發(fā)工具和大量的IP核資源,其中集成的工具包括硬件平臺生成器(PlatGen)、硬件仿真模型生成器(SimGen)、硬件調試工具(XMD)、軟件庫生成器(LibGen)、應用軟件編譯工具(GNU Compilers)、軟件調試工具(GNU Debuggers)等;IP核資源包括LMB和OPB總線(xiàn)接口、外部存儲器控制器(EMC)、SDRAM控制器、UART接口、中斷控制器、定時(shí)器等。所有這些工具和資源都由EDK中的一個(gè)叫平臺工作室XPS(XilinxPlatform Studio)的集成開(kāi)發(fā)環(huán)境統一管理。XPS提供一個(gè)友好的圖形用戶(hù)界面(GUI),使用非常方便。設計流程如圖2所示。




3 液晶顯示模塊


MPG240128液晶模塊為圖形點(diǎn)陣式液晶,不僅可以顯示數字、字符等內容,還可以顯示漢字和任意圖形。該模塊的控制芯片為T(mén)6963C,與外部的連接只有8位數據線(xiàn)和6條控制線(xiàn)及電源。液晶模塊引腳說(shuō)明如表1所列。MCtJ只要通過(guò)這些數據線(xiàn)和控制線(xiàn),按照相應的時(shí)序進(jìn)行讀寫(xiě),即可實(shí)現對模塊的顯示控制。




4 MicrOBlaze與液晶顯示模塊的接口

由于本文采用的液晶模塊已經(jīng)自帶了顯示控制芯片T6963C,因此液晶模塊的外圍電路相對來(lái)說(shuō)就比較簡(jiǎn)單,只要考慮和MicroBlaze的接口電路即可。本設計采用GPIO模擬液晶模塊的時(shí)序,實(shí)現對液晶模塊的顯示控制。MicroBlaze和液晶模塊的接口電路如圖3所示。





在EDK開(kāi)發(fā)套件的XPS集成開(kāi)發(fā)環(huán)境下進(jìn)行系統硬件設計。在其界面環(huán)境下,添加所需IP核,進(jìn)行系統連接和各項參數設置。利用平臺產(chǎn)生器,根據硬件描述文件(.MHS文件),生成嵌入式系統子模塊的網(wǎng)表文件(.NGC),然后調用Xilinx的綜合工具XST進(jìn)行綜合,從而構成整個(gè)應用系統的硬件模型。           

本設計中采用了GPIO對液晶模塊進(jìn)行控制。EDK提供了一系列API函數,通過(guò)這些函數可以很方便地對GPIO進(jìn)行操作。下面先介紹2個(gè)函數:




其中,InstancePtr是指針,指向要控制的GPIO的基地址;Channel為通道值,選0或1。這兩個(gè)函數只對Mask中對應位為1的位有影響,比如,XGpio_DiscreteSet(&lcd240128,1,Ox00000001)將LCl3240128_pin<O>置1,而不影響其他位;同理,XGpio_DiscteteClear(&1cd240128,1,0x00000001)將LCD240128_pin<0>置0,而不影響其他位。為了增強程序的可讀性,增加了8個(gè)宏定義:#define wr_high()XGpio_DiscreteSet(&lcd240128,1,Ox00000800),#define wr_low()XGpio_DiscreteClear(&1cd240128,l,0x00000800),其他6個(gè)同理可推知。有了這2個(gè)函數,就可以很方便地編寫(xiě)出寫(xiě)命令和寫(xiě)數據函數了。下面對這2個(gè)函數作簡(jiǎn)要介紹:








液晶顯示圖形和字符都是由點(diǎn)陣組成的,因此,在液晶上顯示一個(gè)像素點(diǎn)是顯示圖形和字符的基礎。下面將單像素點(diǎn)顯示函數介紹如下:




有了單像素點(diǎn)顯示函數,就可以很方便地編寫(xiě)出字符顯示函數和圖形顯示函數了。限于篇幅,這里不作介紹。

結 語(yǔ)

本設計已在Xilinx Spatan3 Starter Board上進(jìn)行了驗證,取得了良好的效果。通過(guò)本設計的實(shí)現可以看出,MicroBlaze是一個(gè)功能強大、應用靈活的嵌入式軟處理器,特別是其強大的用戶(hù)自定義邏輯功能,極大地方便了系統設計?梢灶A見(jiàn),基于嵌入式軟處理器的SOPC開(kāi)發(fā)方法,必將擁有廣闊的應用前景。
本文地址:http://selenalain.com/thread-37390-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页