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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 14685|回復(fù): 20
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)驅(qū)動TFT彩屏+攝像頭+有實用意義的高幀率!原創(chuàng)發(fā)布!

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


  板子回來焊接器件沒啥好說的,參照賣家的例程做個驅(qū)動初始化,自己寫了畫點和字庫顯示文字的程序,文字顯示很快是預(yù)料中,因為前景、背景色是相對固定兩色刷就完了,有些賣家例程以單色刷屏速度吹噓就更是糊弄人民群眾了,這個總線數(shù)據(jù)都不用變拼命刷WR線就行了。





評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏15 分享淘帖 頂2 踩
回復(fù)

使用道具 舉報

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

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

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



回復(fù)

使用道具 舉報

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


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


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


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


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


回復(fù)

使用道具 舉報

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


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

回復(fù)

使用道具 舉報

5#
ID:972853 發(fā)表于 2021-10-23 22:19 | 只看該作者
為什么看不見自己的帖子?暈了
回復(fù)

使用道具 舉報

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



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

回復(fù)

使用道具 舉報

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

使用道具 舉報

8#
ID:884042 發(fā)表于 2021-10-31 11:54 | 只看該作者
TFT驅(qū)動都用匯編,牛啊!為你點贊!
回復(fù)

使用道具 舉報

9#
ID:88256 發(fā)表于 2021-10-31 13:20 | 只看該作者
看到此帖我只能膜拜,真的是牛啊!
回復(fù)

使用道具 舉報

10#
ID:942056 發(fā)表于 2022-3-4 06:45 來自手機(jī) | 只看該作者
找到組織了,我想利用緩存來全屏顯示,可以指教一下不
回復(fù)

使用道具 舉報

11#
ID:1011477 發(fā)表于 2022-3-19 11:01 | 只看該作者
我用51也是匯編編程,四十年了,輕車熟路。
回復(fù)

使用道具 舉報

12#
ID:1006444 發(fā)表于 2022-3-24 16:28 | 只看該作者
還以為是我也能學(xué)的事,,往后一看,,這調(diào)試我都搞不定
回復(fù)

使用道具 舉報

13#
ID:1025635 發(fā)表于 2022-6-25 10:50 | 只看該作者
工程有點大,一般愛好者難于實施
回復(fù)

使用道具 舉報

14#
ID:1026512 發(fā)表于 2022-6-26 11:44 | 只看該作者
正想搞個便宜的視頻采集方案,感謝樓主分享
回復(fù)

使用道具 舉報

15#
ID:983641 發(fā)表于 2022-7-7 11:37 | 只看該作者
資料開源嗎?
回復(fù)

使用道具 舉報

16#
ID:886773 發(fā)表于 2022-12-29 18:15 | 只看該作者
我用STC16位驅(qū)動LCD,感覺比SPI快不了多少,感覺瓶頸還是在W25Q讀取速度,,,樓主能分享下思路不?
回復(fù)

使用道具 舉報

17#
ID:93626 發(fā)表于 2023-2-6 08:26 | 只看該作者
求資料開源
回復(fù)

使用道具 舉報

18#
ID:93341 發(fā)表于 2023-2-7 10:09 | 只看該作者
老江湖不錯,值得學(xué)習(xí)。
回復(fù)

使用道具 舉報

19#
ID:697751 發(fā)表于 2023-3-15 13:01 來自手機(jī) | 只看該作者
樓主好,能不能分享一下你這個原理圖哈,我想學(xué)習(xí)一下。感激不盡!
回復(fù)

使用道具 舉報

20#
ID:1064915 發(fā)表于 2023-8-30 09:25 | 只看該作者
原來是大師級別的
回復(fù)

使用道具 舉報

21#
ID:108361 發(fā)表于 2023-10-25 17:17 | 只看該作者
51刷屏,不用匯編做基本難做到流暢,我曾經(jīng)在C8051F340上跑100M主頻刷攝像頭+屏,容易出現(xiàn)畫面出錯,穩(wěn)定性還是不行,但是幀率還可以,要我用匯編寫一遍,那是萬萬干不來了
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品一区久久 | 亚洲网站在线观看 | 欧美一级毛片免费观看 | 欧美成人自拍视频 | 天天摸天天看 | 国产精品久久久久久一级毛片 | av中文字幕网 | 精品一区二区av | 四虎最新视频 | 欧美中文字幕一区二区三区亚洲 | 国产成人免费视频网站高清观看视频 | 国产一区www | 国产999精品久久久 精品三级在线观看 | 午夜精品视频在线观看 | 99精品欧美一区二区蜜桃免费 | 国产精品久久久久无码av | 日韩一区二区三区视频 | 91视频一区二区 | 久久成人免费视频 | 精品一区二区三区四区 | 激情视频网站 | 精品一区二区三区不卡 | 国产精品视频播放 | 国产精品久久久亚洲 | 欧美精品1区2区3区 精品国产欧美一区二区 | 欧美精品在线看 | 久久综合久久久 | 日韩在线播放网址 | 日本中文字幕一区 | 91在线看 | 久草视频在线播放 | 亚洲最大av网站 | 久精品久久 | 无码国模国产在线观看 | 综合一区 | 99精品电影| 日韩三级电影一区二区 | 久久国产免费 | 亚洲一区二区三区四区五区午夜 | 国产精品伦理一区二区三区 | 99爱视频|