紫外LED照射器的人機交互模塊設(shè)計
2)DMA的設(shè)置
DMA控制器為數(shù)據(jù)傳輸提供了一個通道,使數(shù)據(jù)可以在存儲器之間或者存儲器和有DMA功能的外設(shè)之間進行傳輸。在本課題的PPI驅(qū)動應(yīng)用中,數(shù)據(jù)需要在外接的65MSDRAM外部存儲器和PPI中進行傳輸。
在本設(shè)計中,具體的DMA設(shè)置如下:
*pDMA0_X_COUNT=320:
*pDMA0_X_MODIFY=2;//因為每個字是兩個字節(jié),其寬度為2,所以設(shè)置為2
*pDMA0_Y_COUNT=262;//通過LCD的DATA Sheet手冊可知,在整屏的數(shù)據(jù)傳輸中,前面19行和后面的3行是無效的,這是LCD液晶屏的時序所要求的,所以3+19+240=262.*pDMA0_Y_MODIFY=2:
3)定時器設(shè)置
在PPI的2幀同步模式下,Timer1和2的引腳分別變?yōu)镻PI_FS1和PPI_FS2。如果PPI設(shè)置為傳輸數(shù)據(jù),則定時器必須設(shè)置為產(chǎn)生需要的輸出幀同步脈沖。通常在視頻應(yīng)用中,同步幀1為HSYNC信號,同步幀2為VSYNC信號。在本設(shè)計中,具體的DMA設(shè)置的實現(xiàn)如下。
*pTIMER1_PERIOD=406;//設(shè)置行頻的波形時間。
*pTIMER1_WIDTH=30;//設(shè)置行頻的波形寬度。
*pTIMER2_PERIOD=262*406;//設(shè)置場頻的波形時間。
*pTIMER2_WIDTH=406*1; //設(shè)置場頻的波形寬度。
*pTIMER1_CONFIG=EMU_RUN 1 CLK_SEL 1 TIN_SEL 1 PERIOD_CNT 1 PWM_OUT;
*pTIMER2_CONFIG=EMU_RUN 1 CLK_SEL 1 TIN_SELIPERIOD_CNT 1 PWM_OUT;
//對時鐘計數(shù)器使用PWM_CLK,當timer1和timer2對點時鐘計數(shù)到了設(shè)置的次數(shù)的時候,那么會在Out引腳輸出一個有效電平,然后計數(shù)器重新開始計數(shù)。
*pTIMER_ENABLE=TIMEN1 1 TIMEN2; //使能定時器1和2
1.3 圖形標準庫
用戶圖形界面的實現(xiàn),除了硬件電路模塊的支持外還需要豐富的軟件系統(tǒng)的支持,而其中最基礎(chǔ),也是最不可或缺的是圖形標準庫。用戶圖形界面的圖形標準庫最基本的庫函數(shù)簡單的包括畫點、畫線、畫矩形,復(fù)雜的包括填充矩形、畫圓形,以及放置bmp格式的圖案庫函數(shù),要實現(xiàn)顯示中、英文等功能,需要設(shè)計字庫函數(shù),本系統(tǒng)基于強大的VisualDSP++5.0Kernel(VDK),擁有強大的圖形庫,所以可以支持復(fù)雜的用戶圖形界面。
要實現(xiàn)用戶圖形界面,僅僅有了繪制圖形的圖形標準庫函數(shù),還是遠遠不夠的,圖形庫只能形成單一的畫面,但是要想形成切合用戶習(xí)慣的可操作圖形界面的話,還需要在后臺有一個功能強大,并且穩(wěn)定的操作系統(tǒng)平臺,它決定了負責(zé)調(diào)度系統(tǒng)的狀態(tài),就是我們平常說的狀態(tài)機。狀態(tài)機根據(jù)用戶的外界按鍵輸入,以及系統(tǒng)當前的特定工作狀態(tài)來決定系統(tǒng)的下一步狀態(tài),從而調(diào)用相應(yīng)的圖形界面,如此,便實現(xiàn)了人性化的用戶圖形界面,可以滿足特定工作需求。
2 軟件設(shè)計思路
對于用戶圖形界面的設(shè)汁小能簡單的設(shè)計成統(tǒng)一的模塊,要考慮到用戶在復(fù)雜的應(yīng)用情況下對操作界面的需求,我們將這些界面分成不同的種類,設(shè)計流程如圖4所示,一種是靜態(tài)的配置狀態(tài)顯示,一種是動態(tài)的輸出狀態(tài)實時變化顯示,對于靜態(tài)界面,我們可以用格式轉(zhuǎn)化軟件將bmp格式圖像轉(zhuǎn)化成二維數(shù)組載入到顯示緩存中來顯示當前的固定配置界面。本文引用地址:http://www.ex-cimer.com/article/167577.htm
一般來說,編程人員在設(shè)計動態(tài)顯示界面的時候,如果按照常規(guī)的設(shè)計方法,會使用一些全局變量作為不同狀態(tài)、不同模式下的標志,這樣可以實現(xiàn)圖形界面的改變,但這會導(dǎo)致變量的數(shù)量過多,從而引起變量之間的搭配成倍的增加,隨著工作復(fù)雜程度的真假,狀態(tài)的轉(zhuǎn)移關(guān)系也就會劇烈的增加,這會讓開發(fā)者陷入復(fù)雜的邏輯問題。
為了解決上述問題,改變普通的設(shè)汁方法,盡量少設(shè)可以改變的狀態(tài),使貫穿與整個界面顯示系統(tǒng)的只有一兩個狀態(tài)量,如果想得到新的界面信息,只需要改變特定的一兩個狀態(tài)量,文中的方案是提取和解析鍵值來作為主線,少量全局變量和結(jié)構(gòu)作為輔助,這樣設(shè)計的現(xiàn)實系統(tǒng),非常簡明而且易于控制和修改。在使用過程中通過對鍵值的解析,得到對應(yīng)的界面。
評論