一種基于FPGA和DSP的圖行顯示控制系統(tǒng)設計
系統(tǒng)將鍵盤接口和顯示接口連接在FPGA上。系統(tǒng)硬件原理如圖2所示。
本文引用地址:http://www.ex-cimer.com/article/235993.htm
3 系統(tǒng)軟件設計
3.1 鍵盤接口設計
為實現人機交互必須要有相應的輸入接口,系統(tǒng)在FPGA外部連接了6×6的矩陣鍵盤,以實現各種參數的輸入和顯示控制。DSP和FPGA要完成各自不同的控制邏輯。
FPGA中用VHDL硬件描述語言設計鍵值的掃描程序,采用逐行掃描的思想,并開辟一寄存器保存掃描到的鍵值,DSP讀取該寄存器即得到按鍵鍵值,該寄存器對應的地址為0xA0001000,對應DSP中CE2的選址空間。當有按鍵按下時,FPGA掃描得到鍵值,保存至按鍵寄存器中,并向DSP發(fā)送外部中斷Exint4,DSP在中斷服務程序中讀取地址為0xA0001000寄存器中的內容即可得到鍵值。
3.2 顯示接口設計
由于顯示屏是640×480的單色顯示屏,要在DSP內開辟一顯示的數據緩沖區(qū),大小為38 400 Byte,緩沖區(qū)的每一位代表一個像素,代表顯示屏上的一個像素點,緩沖區(qū)的第一個Byte的最低位點代表顯示屏的第一個像素點,依次類推。
對于要顯示的圖像,DSP必須先用相應的圖形算法填充該圖形緩沖區(qū),之后啟動DSP的EDMA將數據通過DSP的總線送至FPGA的雙口RAM中,雙口RAM的起始地址是0xA0080000,對應LCD顯示屏第一行的第1~32個像素點,結束地址是0xA00895FC,對應顯示屏第480行第637~640個像素點。DSP是32位數據總線,每個地址可存儲32位的像素點。
對于畫圖函數,最基本的莫過于畫點函數,它是其他各種作圖函數的基礎,也是實現各種復雜圖形顯示的基礎。
畫線、畫方框、畫矩形、填充矩形、畫橢圓、填充橢圓、畫圓、填充圓的驅動函數只要基于畫點函數再配合相應的算法即可實現。
對于漢字的顯示,需要加載相應的字庫,系統(tǒng)中的字庫采用16×16點陣的漢字字庫。首先根據漢字的區(qū)位碼在字庫中找到相應的點陣數組,然后將點陣數組輸入到相應坐標的顯存緩沖區(qū)即可。為提高程序的運行速度,系統(tǒng)中沒有采用標準C庫文件的文件操作方式來讀取字庫數組,而是將字庫文件轉換為數組形式保存在SDRAM中,程序只需根據漢字的區(qū)位碼查表即可得到點陣數組,大幅提高了程序的運行速度。
對于圖標和圖像的顯示,首先也要將圖像轉換為相應的點陣數組,再按照要顯示的坐標區(qū)域將點陣數組輸入的相應區(qū)域即可。
用基本畫圖函數就可實現各種圖形的顯示,在此基礎也可以實現各種復雜圖像的顯示,系統(tǒng)驗證時曾顯示了圖像、正弦波、三角波等較為復雜的動態(tài)圖形的顯示,并可以通過鍵盤控制波形頻率的改變,如圖3所示。
4 結束語
人機交互和圖形圖像顯示技術,在需要人機交互系統(tǒng)應用中具有重要現實意義,文中討論了基于DSP+FPGA的圖形顯示控制系統(tǒng),給出了各部分的設計思想,提供了鍵盤輸入和圖形圖像顯示的功能,可以滿足各種復雜的人機交互和圖形圖像顯示,在實際使用中也得到了驗證。
fpga相關文章:fpga是什么
評論