加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

【RT-Thread作品秀】EE-Lab

2020/12/20
429
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗、收獲成長和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
方塊圖(2)
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

【RT-Thread作品秀】EE-Lab

作者:卿俊成

 

 

概述

隨著集成電路的不斷發(fā)展,電子測量儀器分別向著高性能和微型化不斷發(fā)展。本作品基于微型化便攜式需求,設(shè)計一個集成數(shù)字電源、信號發(fā)生器、示波器的便攜式電子測量儀器。

開發(fā)環(huán)境

硬件:ART-Pi開發(fā)板、2.8‘SPI TFT屏幕(ILI9341)、AD9833模塊、自制擴展板(由于設(shè)計失誤,無法使用)

 

RT-Thread版本: RT-Thread Nano(V3.1.3)

 

開發(fā)工具及版本:STM32CubeMX(V6.1.0)、HAL庫(H7_V1.8.0)、Keil/MDK(V5.33.0.0)

RT-Thread使用情況概述

本應(yīng)用使用Nano版RT-Thread,因此只使用了內(nèi)核部分。

本應(yīng)用使用信號量作為DMA分批通過SPI刷屏的屏幕數(shù)據(jù),在中斷中釋放信號量,用于分批刷屏的同步。

本應(yīng)用使用Finsh組件作為無GUI情況下的數(shù)據(jù)查看方式,及命令行方式對AD9833模塊及定時器的操作方式。

硬件框架

電腦端通過Putty軟件與ART-Pi開發(fā)板的Finsh組件通信,實現(xiàn)控制功能。

SPI TFT屏幕模塊由開發(fā)板的SPI4總線控制,作為波形顯示界面。

AD9833信號發(fā)生模塊由開發(fā)板通過模擬SPI控制,作為信號發(fā)生器。

信號測試夾用于外部電壓輸入,作為示波器的源信號。

 

由于自制擴展板存在問題,不在此介紹,但附上立創(chuàng)eda工程的在線鏈接: https://oshwhub.com/OneToken/art-pi-ee-tools

軟件框架說明

Finsh組件通過與電腦端交互,控制TIM15的預(yù)裝載值,達(dá)到通過控制TIM15觸發(fā)DMA_ADC轉(zhuǎn)換的采樣頻率,并在顯存對應(yīng)位置打點,實現(xiàn)示波器功能。同時還可以控制AD9833產(chǎn)生頻率不同的三角波、正弦、方波。

屏幕的刷新,由DMA1通道0將內(nèi)部預(yù)先分配好的顯存數(shù)據(jù)搬運至SPI移位寄存器,從而發(fā)送至ILI9341,實測頻率60Mbit的情況下可以完美刷新,實現(xiàn)了高速刷屏的功能。

軟件模塊說明

DMA傳輸ADC數(shù)據(jù)框圖

通過定時器15觸發(fā)DMA1通道1將ADC數(shù)據(jù)循環(huán)采集至指定內(nèi)存處,實現(xiàn)示波器數(shù)據(jù)采集功能。

SPI通過DMA方式刷屏功能框圖

理想情況下的刷屏方式

受到DMA一次傳輸數(shù)據(jù)數(shù)目uint16_t也就是65535的限制,無法一次性完成顯存刷新至屏幕,因此分成三個數(shù)據(jù)包,依次順序傳輸,使用信號量作為同步信號。

最終實現(xiàn)的刷屏方式

演示效果

演示視頻: 

比賽感悟

通過本次比賽,極大程度上熟悉了H7系列開發(fā)板,特別是大量參考了安富萊提供的教程,了解了H7的多域設(shè)計,RAM的分布式設(shè)計以及指定存儲位置,DMA通信只能用于特定的RAM區(qū)和特定的外設(shè)之間,若RAM區(qū)域使用最高性能的DTM區(qū),則大部分DMA通信都無法使用。在決定使用RT-Thread Nano之前,嘗試使用RT-Thread完整版,按照完整版的流程注冊SPI設(shè)備并且使用時,發(fā)現(xiàn)無法驅(qū)動SPI液晶屏,使用邏輯分析儀抓取信號也沒啥問題,因此才換成RT-Thread Nano。

通過本次的小作品,比較深入的理解了RTOS的作用,特別是用于線程同步時,阻塞下來,等待中斷釋放信號量的方式,使得分段DMA SPI刷屏也能毫無感知延時的連續(xù)刷新。

  • 代碼地址.txt
  • RT-Thread作品.pdf
    描述:ART-Pi

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

TA的熱門作品