新聞中心

EEPW首頁(yè) > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于SoPC的數(shù)字示波器設(shè)計(jì)

基于SoPC的數(shù)字示波器設(shè)計(jì)

作者: 時(shí)間:2012-04-28 來(lái)源:網(wǎng)絡(luò) 收藏

3
中使用的是NiosⅡ/f處理器,使用硬件乘除法器,工作于50 MHz。使用FPGA內(nèi)嵌的RAM塊作為系統(tǒng)的運(yùn)行內(nèi)存。采用FLASH作為片外存儲(chǔ)器,保存用戶程序,其通過(guò)Avalon總線三態(tài)橋與NiosⅡ處理器相連。
3.1 軟件
系統(tǒng)開(kāi)機(jī)調(diào)用相關(guān)函數(shù)初始化LCD,SD卡和FAT文件系統(tǒng)之后,首先繪制圖形界面,輸出固定信息,接著讀取波形參數(shù),將其顯示在LCD上,然后等待FIFO寫滿。若FIFO寫滿則將FIFO數(shù)據(jù)讀入緩沖區(qū)中,同時(shí)在屏幕上繪制波形,獲得波形的最大和最小值。最后如果有用戶按鍵輸入則處理按鍵事件,否則檢測(cè)波形參數(shù)是否變化,若有變化則更新顯示,否則等待FIFO寫滿,進(jìn)行下一次顯示。流程如圖3所示。

本文引用地址:http://butianyuan.cn/article/177387.htm

c.JPG


3.1.1 底層軟件設(shè)計(jì)
底層軟件為各設(shè)備的驅(qū)動(dòng)程序,主要有:
(1)LCD驅(qū)動(dòng)。根據(jù)顯示內(nèi)容的需求,LCD驅(qū)動(dòng)程序設(shè)計(jì)了以下函數(shù):
①發(fā)送數(shù)據(jù)/命令:將數(shù)據(jù)/命令通過(guò)驅(qū)動(dòng)器發(fā)送到LCD;
②LCD初始化:完成LCD的上電復(fù)位和初始化;
③LCD清屏:清空顯示;
④輸出一個(gè)像素:在指定位置輸出一個(gè)指定顏色的像素點(diǎn);
⑤畫直線:畫從(x0,y0)到(x1,y1)的指定顏色的直線;
⑥畫矩形:畫從(x0,y0)到(x1,y1)的指定顏色的矩形,可選擇是否填充;
⑦輸出一個(gè)字符:在指定位置輸出一個(gè)指定顏色的字符;
⑧輸出一個(gè)字符串:在指定位置輸出一個(gè)指定顏色的字符串。
(2)SD卡驅(qū)動(dòng)。SD卡通信采用SPI模式,SD卡驅(qū)動(dòng)的函數(shù)及功能為:
①發(fā)送數(shù)據(jù)/命令:將數(shù)據(jù)/命令發(fā)送到SD卡;
②讀取數(shù)據(jù):從SD卡讀取一個(gè)字節(jié);
③SD卡復(fù)位:SD卡上電后復(fù)位并使其進(jìn)入SPI模式;
④SD卡初始化:初始化SD卡使其作好數(shù)據(jù)讀寫準(zhǔn)備;
⑤讀一個(gè)扇區(qū):從指定的扇區(qū)地址讀取一個(gè)扇區(qū)的數(shù)據(jù)到緩沖區(qū);
⑥寫一個(gè)扇區(qū):將緩沖區(qū)數(shù)據(jù)寫入指定的扇區(qū)地址處。
(3)FAT16文件系統(tǒng)。FAT16文件系統(tǒng)的主要函數(shù)及功能為:
①FAT初始化:獲取每簇的扇區(qū)數(shù)、FAT表地址、根目錄地址和FAT表占用的扇區(qū)數(shù)等FAT信息;
②確定文件名稱:查找已存在的波形文件以確定要保存的文件的名稱;
③添加根目錄項(xiàng):將保存的文件的名稱、大小、位置等添加到根目錄;
④添加FAT表項(xiàng):查找FAT表的空簇,將新文件的簇號(hào)寫入FAT表。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉