久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 51單片機(jī)驅(qū)動(dòng)TFT彩屏+攝像頭+有實(shí)用意義的高幀率!原創(chuàng)發(fā)布! [打印本頁(yè)]

作者: njzr    時(shí)間: 2021-10-23 20:58
標(biāo)題: 51單片機(jī)驅(qū)動(dòng)TFT彩屏+攝像頭+有實(shí)用意義的高幀率!原創(chuàng)發(fā)布!
      閑來(lái)無(wú)事逛某一個(gè)寶,赫然發(fā)現(xiàn)同尺寸的TFT小屏竟然比單色點(diǎn)陣屏還便宜,頓時(shí)萌發(fā)了嘗試一下的念頭,以前需要用到彩屏的時(shí)候通常都是選用現(xiàn)成的串口屏,使用串口收發(fā)下數(shù)據(jù)就搞定用戶界面了,但近年來(lái)芯片張價(jià)潮波及到了幾乎所有電子行業(yè),原來(lái)選型時(shí)一百多的屏現(xiàn)在要近四百了,當(dāng)然材料成本沒(méi)漲那么多,奸商跟風(fēng)漲價(jià)罷了。根據(jù)現(xiàn)有手頭項(xiàng)目產(chǎn)品要求選定了一款2.4''彩屏,驅(qū)動(dòng)ILI9341分辨率320*240,典型的爛大街規(guī)格不愁斷貨,立刻下單!不過(guò)考慮到通常TFT驅(qū)動(dòng)對(duì)MCU的需求還是比較高的,如果套用現(xiàn)成方案例程搞個(gè)STM32(現(xiàn)在是奢侈品了)做驅(qū)動(dòng)到也四平八穩(wěn),但是成本就不忍直視了,補(bǔ)充一下F1系列只有100腳以上的帶FSMC接口,所以價(jià)格肯定會(huì)很感人!再說(shuō)本來(lái)就是為了省錢才干的這事,咱必須不忘初心對(duì)吧。    用高射炮打蚊子不算本事,用彈弓打飛機(jī)才是水平,立刻著手查資料算時(shí)序,我就不信51搞不定TFT(是指基本流暢播放全屏動(dòng)畫(huà),而不是慢吞吞刷出幾個(gè)字來(lái)),一算才發(fā)現(xiàn)這玩意要求還挺高,平時(shí)常用的中穎系列主頻最多20冒頭,這速度來(lái)刷屏怕是要看著圖片一條線往下跑了,雖然有些STM32開(kāi)發(fā)板例程也是這個(gè)水平但咱自己對(duì)覺(jué)悟還是有要求的!^_^
      搞到這里有點(diǎn)頭痛,想著不行就換MCU吧,無(wú)意間忽然想到電機(jī)控制MCU不是對(duì)速度要求挺高的嘛,于是就發(fā)現(xiàn)了這頭怪獸— SH79F3213。32KB的FLASH、1.5KB的RAM、關(guān)鍵是有16KB的程序RAM,只要把前16K的CODE拷貝到里面就能以84M的主頻的跑程序,芯片其它外圍也挺豐富但我暫時(shí)用不到就不去管它了,沒(méi)有硬件支持下刷屏幕MIPS才是王道!
      芯片選定開(kāi)始電路方案設(shè)計(jì),彩色圖片的數(shù)據(jù)量對(duì)51來(lái)說(shuō)非常可觀的,一幅全屏的RGB565數(shù)據(jù)就是153KB,與用單色屏習(xí)慣把字庫(kù)和小圖片防在CODE區(qū)不同,這種應(yīng)用必須外擴(kuò)存儲(chǔ)器了。你沒(méi)猜錯(cuò),我又選了爛大街的W25Q系列,便宜才是王道嘛,手頭有現(xiàn)成的W25Q16先頂上用吧。這里要吐槽一下MCU硬件SPI口,最快只能8分頻,都什么年代了還這么慢,現(xiàn)在SPI口的FLASH都支持100M以上了。好在內(nèi)核跑得快,我用軟件模擬還不行嘛,最終軟件模擬的SPI口做到20個(gè)指令周期取一字節(jié)并放到總線,同樣時(shí)間你硬件SPI三位還沒(méi)有傳完,在此替中穎汗顏一下。
      言歸正傳,  選P0、P4口做16位數(shù)據(jù)總線,因?yàn)檫@倆口排列規(guī)整方便布線,P2口給W25Q用(實(shí)際只用了6個(gè)PIN,為啥這樣用可以想想),留了一個(gè)串口做圖象文件下載和顯示控制,其他控制IO就隨便就近分配了。正好某配有免費(fèi)打樣券,PCB圖畫(huà)好就去做了。


  板子回來(lái)焊接器件沒(méi)啥好說(shuō)的,參照賣家的例程做個(gè)驅(qū)動(dòng)初始化,自己寫(xiě)了畫(huà)點(diǎn)和字庫(kù)顯示文字的程序,文字顯示很快是預(yù)料中,因?yàn)榍熬啊⒈尘吧窍鄬?duì)固定兩色刷就完了,有些賣家例程以單色刷屏速度吹噓就更是糊弄人民群眾了,這個(gè)總線數(shù)據(jù)都不用變拼命刷WR線就行了。






作者: njzr    時(shí)間: 2021-10-23 21:32
  重點(diǎn)到了!其實(shí)搞過(guò)TFT的(用開(kāi)發(fā)板移植一下例程在我看來(lái)不能算搞過(guò))都知道,刷圖象速度的瓶頸是在取數(shù)據(jù)而不在刷總線,即使你用STM32,用上了DMA、FSMC限制你速度的依然是SPI總線上的存儲(chǔ)器,前面提到了我用20個(gè)指令周期取到一字節(jié)數(shù)據(jù)并把它放到總線上,這樣16位總線就需要40周期,再加上8080口的控制和循環(huán)指令,整屏刷下來(lái)平均51-52周期/像素,換算成刷新率大約21FPS,這個(gè)速度基本可以滿足一般的工業(yè)產(chǎn)品顯示需要了。當(dāng)然最終產(chǎn)品還會(huì)有些中斷程序的干擾,但做到18FPS以上應(yīng)該沒(méi)有任何難度。https://v.youku.com/v_show/id_XNTgxMDkwNzE3Mg==.html?spm=a2hbt.13141534.1_2.d_4&scm=20140719.manual.114462.video_XNTgxMDkwNzE3Mg==

附上刷圖片的視頻,雖然有20FPS左右但畫(huà)面切換時(shí)撕裂感還是明顯的,一是屏硬件沒(méi)有接出TE腳不能同步,二是幀率還是低了些,理論上如果有ILI9341幀率的一半配合同步刷頻就可以完全無(wú)感地切換了。
下面是動(dòng)態(tài)圖象的效果
https://v.youku.com/v_show/id_XNTgxMzQ5MDE2OA==.html?spm=a2hbt.13141534.1_2.d_3&scm=20140719.manual.114461.video_XNTgxMzQ5MDE2OA==

    因?yàn)榇鎯?chǔ)容量有限,所以只有十二幅畫(huà)面,不過(guò)基本還算是播放流暢了。為了能進(jìn)一步提高幀率,此時(shí)腦子里已經(jīng)在構(gòu)思第二版了......




作者: njzr    時(shí)間: 2021-10-23 21:39
    第二版的做好了,這幾天焊接調(diào)試忙得不亦樂(lè)乎,今晚終于基本成型了,雖然最終完全按上篇預(yù)告的內(nèi)容完成目標(biāo)甚至刷新率還遠(yuǎn)超預(yù)計(jì),但期間也遇見(jiàn)了各種奇怪問(wèn)題,現(xiàn)將過(guò)程和心得與大家共享。
    老規(guī)矩,先上裸.................板!第一版因?yàn)橐?yàn)證用595同時(shí)驅(qū)動(dòng)128顆LED,所以板子做得略大,這次版本純粹奔著驗(yàn)證圖形性能去的,所以又緊湊了些。


    焊接完畢,用第一版的程序想稍做修改把屏先搞亮起來(lái),結(jié)果就卡在這了,任你怎么折騰屏幕都是沒(méi)有反應(yīng),因?yàn)檫@次使用了8080II的8位總線方式驅(qū)動(dòng)(第一版是16位方式),設(shè)計(jì)硬件時(shí)還特意跟某一個(gè)寶屏幕賣家溝通確認(rèn)過(guò)想必應(yīng)該沒(méi)啥問(wèn)題了,但屏幕就是沒(méi)動(dòng)靜讀ID也沒(méi)反應(yīng),一度我都懷疑新買的這個(gè)屏是不是壞的。


下面是賣家提供的原理圖局部,圖中的11腳雖然標(biāo)著NC但每一個(gè)毛孔都散發(fā)著IM0的氣息,畫(huà)板前與賣家溝通也驗(yàn)證了這個(gè)想法。


這一卡就是近一天的時(shí)間,不得以我把粘好的屏又從PCB上翹下來(lái),干了快30年的老電工開(kāi)始懷疑自己的焊接是不是有問(wèn)題,這也太打擊人了! ^_^
既然把屏翹下來(lái)了,順便仔細(xì)檢查一下FPC是不是有折彎損傷吧,這一檢查就發(fā)現(xiàn)問(wèn)題了,下面是FPC的照片,看看哪個(gè)小機(jī)靈鬼能發(fā)現(xiàn)問(wèn)題。


電阻R1、R2字符旁邊多了8和16兩個(gè)數(shù)字,莫非.....難道.....?插上烙鐵立刻開(kāi)動(dòng)把零歐電阻換到8那邊去,再上電瞬間圖象它出來(lái)了,這時(shí)內(nèi)心激動(dòng)程度絲毫不亞于第一版屏幕出圖象的時(shí)候,并且有種想把賣家ko的沖動(dòng)!實(shí)踐證明這款屏的IM0端口根本沒(méi)有引出,而是直接在FPC上完成不同通訊接口的設(shè)置。



作者: njzr    時(shí)間: 2021-10-23 22:10
屏幕亮了就好辦,字符顯示一切正常,但顯示圖片又出問(wèn)題了,屏幕是花的!首先就懷疑自己寫(xiě)的PC端圖片處理程序和BIN文件合并、拆分程序的問(wèn)題,可檢查了半天沒(méi)問(wèn)題啊,用示波器一看FLASH芯片只有一個(gè)腳在出數(shù)據(jù)可我用的是4I/O模式,難道芯片QE=0?(JV版本的應(yīng)該出廠QE=1),找來(lái)幾片同次買的芯片上編程器讀狀態(tài)字節(jié),果然有部分QE=0的,甚至還有幾片被燒了加密位,看來(lái)是又遇見(jiàn)奸商了,說(shuō)是全新原裝但就算是用拆機(jī)貨也要正規(guī)點(diǎn)吧,好歹恢復(fù)到出廠狀態(tài)算是拆機(jī)貨的良心和底線了吧!也怪自己貪便宜,省錢辦大事才是硬道理!
修改過(guò)QE狀態(tài)后4I/O數(shù)據(jù)可以源源不斷地輸出了,按即定思路修改程序,一切順利達(dá)到了42FPS刷新率,接下來(lái)繼續(xù)優(yōu)化刷屏循環(huán),一條條指令一個(gè)個(gè)周期的摳,最終達(dá)到了71FPS的水平,連我自己也有些意外,當(dāng)然此時(shí)MCU除了刷屏基本干不了其它大事了,下面是實(shí)測(cè)FLASH的片選引腳波形


上圖中一個(gè)低電平周期刷一幀圖象時(shí)間大約是14mS,每秒10幀圖象,也就是每幅圖象后有八十多毫秒可以做其它任何事,當(dāng)然快速的即時(shí)性中斷任務(wù)也可以隨時(shí)執(zhí)行,包括在刷屏期間對(duì)刷屏也基本沒(méi)影響。這也驗(yàn)證了速度就是王道,什么同步也不用,刷屏期間中斷也沒(méi)事,只要你夠快對(duì)顯示就沒(méi)有肉眼可見(jiàn)的影響。這次的動(dòng)態(tài)圖視頻就不發(fā)了,大家也不想看廣告對(duì)吧^_^


作者: njzr    時(shí)間: 2021-10-23 22:19
為什么看不見(jiàn)自己的帖子?暈了
作者: njzr    時(shí)間: 2021-10-23 23:11
竟然被吃掉了一貼,碼字實(shí)在是辛苦啊!那就過(guò)程不表直接來(lái)結(jié)果吧
第二版準(zhǔn)備動(dòng)手的時(shí)候已經(jīng)計(jì)劃要接攝像頭了,網(wǎng)上的主流說(shuō)法是51接攝像頭必須要用FIFO存下以后慢慢去讀,就算STM32F1系列也推薦用帶FIFO的,直接驅(qū)動(dòng)速度不夠,刷新率只有幾fps甚至不到1fps。但咱就是明知山有虎偏向虎山行的主,經(jīng)過(guò)充分計(jì)算和評(píng)估后認(rèn)定可以做到10幀以上!百密一疏的是我簡(jiǎn)單認(rèn)為攝像頭的水平方向是排針?lè)较颍Y(jié)果就是攝像頭與顯示圖象差了90度,作為技術(shù)驗(yàn)證的東西應(yīng)該屬于可接受缺陷吧。
你在看自己的波型,看波形的人在背后看你
選用了6.6包郵(符合我的風(fēng)格)的OV7670攝像頭,使用直接驅(qū)動(dòng)的方式進(jìn)行圖象采集,攝像頭的時(shí)鐘由MCU提供,平均大約在10M多一點(diǎn)滿足攝像頭標(biāo)稱工作最低頻率要求。直接驅(qū)動(dòng)攝像頭的關(guān)鍵點(diǎn)在時(shí)鐘的穩(wěn)定和時(shí)序,而時(shí)序的正確又很大程度上取決于時(shí)鐘的穩(wěn)定,為了綜合考慮各項(xiàng)要求在能夠正確出圖后我又花了兩天時(shí)間細(xì)調(diào)時(shí)序和時(shí)鐘占空比,最終性能確定在14.6fps,其實(shí)可以做到接近18fps但穩(wěn)定性會(huì)有明顯下降,時(shí)序容易出錯(cuò)。



這是幀同步信號(hào),最終性能定格在14.6Hz
拍攝一段小豬佩奇看看效果
https://v.youku.com/v_show/id_XNTgxNTAwMDIzMg==.html


作者: njzr    時(shí)間: 2021-10-23 23:51
總結(jié)篇
    這次的兩版技術(shù)驗(yàn)證性制作充分證明了現(xiàn)在高性能的51內(nèi)核可以有效驅(qū)動(dòng)小型TFT和直接驅(qū)動(dòng)低分辨率攝像頭,如果用STC的新款產(chǎn)品性能應(yīng)該會(huì)更好一些,因?yàn)橹蟹f這款MCU雖然主頻高的變態(tài)但受制于中穎內(nèi)核比較老,多周期指令還是很多的,所以最終執(zhí)行效率反而不如其它新廠主頻四十M以上的產(chǎn)品。其實(shí)我本來(lái)是打算用STC做的,但STC的端口規(guī)劃太凌亂了而且仿真方面是弱項(xiàng)所以還是選了中穎的MCU,畢竟用了十幾年輕車熟路。
    雖然最終性能指標(biāo)相當(dāng)突出但也還是為了驅(qū)動(dòng)而驅(qū)動(dòng)(主要是指攝像頭方面),51內(nèi)核的主流配置對(duì)于圖象數(shù)據(jù)量來(lái)說(shuō)太可憐了,只能做個(gè)數(shù)據(jù)的搬運(yùn)工,基本不用想做什么處理了,從內(nèi)核運(yùn)算來(lái)看還是能夠擠出點(diǎn)時(shí)間做簡(jiǎn)單處理的無(wú)奈RAM太小,即使做完二值化后再存儲(chǔ)也要十幾K容量了,對(duì)于51內(nèi)核的MCU基本找不到符合要求的。
    對(duì)于中低分辨率TFT屏幕現(xiàn)在的高性能51是可以輕松驅(qū)動(dòng)的,這完全可以進(jìn)一步應(yīng)用在產(chǎn)品中。
所有程序都是匯編語(yǔ)言寫(xiě)的,這里就不公開(kāi)了,有興趣探討的朋友可以就技術(shù)細(xì)節(jié)展開(kāi)討論。

作者: xjx51    時(shí)間: 2021-10-31 11:54
TFT驅(qū)動(dòng)都用匯編,牛啊!為你點(diǎn)贊!
作者: hhdsdy    時(shí)間: 2021-10-31 13:20
看到此帖我只能膜拜,真的是牛啊!
作者: Dxiaofeng    時(shí)間: 2022-3-4 06:45
找到組織了,我想利用緩存來(lái)全屏顯示,可以指教一下不
作者: xa3952163    時(shí)間: 2022-3-19 11:01
我用51也是匯編編程,四十年了,輕車熟路。
作者: Chenzy123    時(shí)間: 2022-3-24 16:28
還以為是我也能學(xué)的事,,往后一看,,這調(diào)試我都搞不定
作者: zpxm01    時(shí)間: 2022-6-25 10:50
工程有點(diǎn)大,一般愛(ài)好者難于實(shí)施
作者: wwgk    時(shí)間: 2022-6-26 11:44
正想搞個(gè)便宜的視頻采集方案,感謝樓主分享
作者: youlinys    時(shí)間: 2022-7-7 11:37
資料開(kāi)源嗎?
作者: llionwang    時(shí)間: 2022-12-29 18:15
我用STC16位驅(qū)動(dòng)LCD,感覺(jué)比SPI快不了多少,感覺(jué)瓶頸還是在W25Q讀取速度,,,樓主能分享下思路不?
作者: Su_xin    時(shí)間: 2023-2-6 08:26
求資料開(kāi)源
作者: wangwenhai8    時(shí)間: 2023-2-7 10:09
老江湖不錯(cuò),值得學(xué)習(xí)。
作者: 你個(gè)豬頭g    時(shí)間: 2023-3-15 13:01
樓主好,能不能分享一下你這個(gè)原理圖哈,我想學(xué)習(xí)一下。感激不盡!
作者: joyb    時(shí)間: 2023-8-30 09:25
原來(lái)是大師級(jí)別的
作者: powerdruy    時(shí)間: 2023-10-25 17:17
51刷屏,不用匯編做基本難做到流暢,我曾經(jīng)在C8051F340上跑100M主頻刷攝像頭+屏,容易出現(xiàn)畫(huà)面出錯(cuò),穩(wěn)定性還是不行,但是幀率還可以,要我用匯編寫(xiě)一遍,那是萬(wàn)萬(wàn)干不來(lái)了




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 粉嫩一区二区三区四区公司1 | 日本精品一区二区三区在线观看视频 | 亚洲视频欧美视频 | 国外成人在线视频网站 | 日本三级全黄三级三级三级口周 | 国产日韩欧美二区 | 日韩午夜网站 | 国产精品一区视频 | 亚洲精品影院 | 性一交一乱一透一a级 | 国产精品久久久久久久久图文区 | 成人区精品一区二区婷婷 | 亚洲国产成人久久综合一区,久久久国产99 | 欧美日日 | 国产在线观看av | 在线观看国产视频 | 久久大| 成人精品鲁一区一区二区 | 超碰av在线 | 久久美女视频 | 国产一区二区中文字幕 | 激情婷婷 | 日韩欧美精品一区 | 精品毛片| 国产三级 | 中文字幕av网 | 精品久久香蕉国产线看观看亚洲 | 亚洲一区二区三区在线 | 九九热在线视频观看这里只有精品 | 亚洲国产精选 | 国产一级毛片精品完整视频版 | 成年人黄色一级片 | 中文字幕第一页在线 | 成人网av | 欧美八区 | 久久久一二三区 | 成人在线精品视频 | 久久精品国产一区二区电影 | 福利视频网站 | 精品一二三区 | 黄色片在线免费看 |