fpga硬件驱动TFT液晶屏-小结
? ? 最近折騰了一下fpga,發(fā)現(xiàn)還真是不好搞,硬件描述語言和順序代碼的真的是天差地別,還好電路的底子還在一些。通過發(fā)揮不怕效率低,只要能運行的精神,終于把ili9320的初始化和寫操作調(diào)通了。最后跑了下時序分析,發(fā)現(xiàn)時鐘最高頻率居然能到160MHz,可惜實際中跑50MHz的時鐘還要在寫操作中插入空閑,以滿足ili9320時序的嚴格要求。這練殺雞用牛刀都算不上,應該是虐螞蟻用了把水果刀。。。
? ? 寫vhdl代碼中最讓人無奈的就是一大堆的初始化指令,c語言里一串函數(shù)調(diào)用可以解決的事情,在vhdl里就要設置一堆rom數(shù)據(jù)。初始化中的延時不能像以前一樣delay()一下了事,還要編一段計時器代碼。還好這些都解決了,tft已經(jīng)驅(qū)動成功,彩色條紋終于千呼萬喚始出來,成功的樂曲就要奏響,然后~~
? ? 然后,還有點小問題,ili9320的手冊中,信誓旦旦地向我們描述了一副美好的前景:在16位接口模式下,只要按照565的格式寫入并行數(shù)據(jù),就可以得到對應的RGB顏色效果,在我的小代碼里,也就能依次看到藍-綠-紅-淺藍四種顏色。遺憾的是,我試過之后發(fā)現(xiàn),顏色順序完全不是那么回事兒,我按照datasheet所說的藍-綠-紅-藍+綠的順序?qū)懭霐?shù)據(jù)后,出現(xiàn)的居然是紅-綠-藍-黃。這么說的話,16位并行端口應該是BGR的格式才對。然后當我向配置寄存器的BGR位寫入1(腦殘的人都知道,這樣該啟動BGR格式,但是。。),發(fā)現(xiàn)顏色順序居然坑爹地變成了RGB格式。
? ? 我猜想,這要么是數(shù)據(jù)手冊弄錯了,工作人員誰沒個粗心大意的時候呢,但是考慮到在網(wǎng)上沒有多少人反應這個問題,這個解釋似乎不太行得通。
另一個可能是tft液晶的驅(qū)動電路出現(xiàn)了岔子,ili9320通過720條驅(qū)動信號加320個門控信號來驅(qū)動彩色屏,其中320個門控信號對應于320列,而720個驅(qū)動信號則對應于240行,這樣每行就有三個驅(qū)動信號,這三個驅(qū)動信號分別控制著rgb三種顏色,如果在制板時弄反了三色信號,最后出來的液晶屏,顏色肯定是反相的。
? ? 當然這些都只是猜測,無從求證,也說不準,我的液晶屏根本就不是9320,是不負責任的商家弄錯了驅(qū)動型號呢。
轉載于:https://www.cnblogs.com/willx/archive/2012/06/01/2531346.html
總結
以上是生活随笔為你收集整理的fpga硬件驱动TFT液晶屏-小结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQl inner LOOP | HA
- 下一篇: cPanel下安装GodaddySSL教