STM32F429中LTDC的DMA2D加速

2021-07-09 03:44:36 字數 2017 閱讀 1679

每個液晶屏的時序都不一樣,但總體上是類似的。如下圖:

vden:    資料使能訊號。

hsync:     每一行掃瞄的起始點, 在掃瞄過程中, 不會管上一行掃瞄有沒有結束, 當出現這乙個訊號,即開始新一行的掃瞄.

vsync:      每一場掃瞄的起始點, 這與hsync相似的.

back proch:     因為有不同tft屏和不同掃瞄硬體, 並且hsync和vsync對於時序的約束力有限, 所以會加入一些容錯的時間, 因此行掃瞄和場掃瞄都會有back proch: 和front proch: , 並且會在hsync,vsync出現之後, 和正常解析度掃瞄之後都將容錯時序, 也就是在正常掃瞄的前後都加入容錯時間, back proch: 雖然從字面上理解是後容錯, 但通常會放在正常描述之前, 當然這還要看具體tft屏的規格書.

front proch:    也就是放在正常描述之後的容錯時間. 同上.

clk:     也就是正常掃瞄的時鐘, 乙個上公升沿只會掃瞄乙個pixel.

從下面這個示意圖可以比較直觀的看出:

注意:有些液晶屏給的引數單位可能不一樣,需要自己計算。

各引數值確定方法如下:

vbpd

:確定幀同步訊號和幀資料傳輸前的一段延遲時間,是幀資料傳輸前延遲時間和行同步時鐘間隔寬度的比值,如圖,

vbpd=t3

/t6=1.02 ms

/31.77μs=32。

vfpd

是幀資料傳輸後延遲時間和行同步時鐘間隔寬度的比值,如圖,

vfpd=t5

/t6=0.35 ms

/31.77μs=11。

vspw

:確定幀同步時鐘脈衝寬度,是幀同步訊號時鐘寬度和行同步時鐘間隔寬度的比值。如圖,

vspw=t2

/t6=0.06 ms

/31.77μs=2。

hbpd

:確定行同步訊號和行資料傳輸前的一段延遲時間,描述行資料傳輸前延遲時間內

vclk

脈衝個數,如圖,

vbpd=t7×vclk=1.89 μs×25mhz=47。

hfpd

vclk

脈衝個數,如圖,

hfpd=t9×vclk=0.94 μs×25 mhz=24。

hspw

:確定行同步時鐘脈衝寬度。描述行同步脈衝寬度時間內

vclk

脈衝個數,如圖,

hspw=3.77μs×25 mhz=94。

可參考官方例程的配置,需要注意的是,它只是乙個lcd控制器,

需要定義快取的位址。可以設定在flash裡,但是不便於操作,一般還是建議設定外部sdram裡。可參考下面這個

pdf文件。

429中ltdc的2d加速功能還比較簡單,只有以下4種模式

dma2d功能:  

dma2d_m2m   從flash拷貝至視訊記憶體

dma2d_m2m_pfc 從flash拷貝至視訊記憶體,並可以進行顏色的格式轉換,替換/不更改/混合

dma2d_m2m_blend 從flash拷貝至視訊記憶體,並先進行前景與後景色混合

dma2d_r2m 拷貝固定顏色至視訊記憶體

使用方式:

uint32_t dma2d_outadd;

uint32_t dma2d_inadd;

void dma2d_m2m_config(uint16_t xpos, uint16_t ypos, uint16_t width, uint16_t height)

}

先定義好輸入指標,這個函式實現的就是把flash裡面的資料匯入視訊記憶體中顯示。

STM32F429除錯記錄(一)

stm32f429的晶元有兩路can介面 四路串列埠 內部乙太網以及內部dsp處理器等硬體,硬體的豐富程度可見一斑,而且主頻達到180mhz,雖然比a8 a9架構的arm晶元還是差一大截,但是在工業控制上的應用還是比較多的。在程式編寫方面stm32f4系列不管在mdk還是庫函式都有挺大改動,剛著手除...

STM32F429 如何使用SDRAM

關於stm32f429 控制sdram fmc 擴充套件外部sdram 1 原理介紹 為什麼是fmc 不是 fsmc 區別在那裡!stm32f429使用fmc外設來管理擴充套件的儲存器,fmc是flexible memory controller的縮寫,譯為可變儲存控制器。它可以用於驅動包括sram...

STM32F429 如何使用NAND Flash

1 原理介紹 flash即是儲存晶元的一種,其結合了rom和ram的特點,既具備電可擦除程式設計的效能,又可以快速讀取資料,資料不會因斷電丟失。目前市面上flash主要有nor flash和nand flash。nor flash具有隨機訪問和隨位元組執行寫操作的能力,即可以訪問到儲存器內部的任意乙...