今日跟大家分享下瑞薩RA創(chuàng)意氛圍賽選手的項目——基于瑞薩單片機的環(huán)境溫濕度監(jiān)測裝置。
本項目由啟明6M5作為主控,搭載DHT11溫濕度傳感器和SPI屏幕而成,實現(xiàn)的功能如下:
①通過DHT11溫濕度模塊采集環(huán)境溫濕度數(shù)據(jù)
②通過軟件SPI實現(xiàn)SPI屏幕顯示溫濕度數(shù)據(jù)
③通過上位機顯示溫濕度數(shù)據(jù)并將數(shù)據(jù)換算成圖像顯示
1設(shè)計簡介
最開始的設(shè)計是準備使用DHT11溫濕度模塊、MQ-2煙霧模塊、人體紅外做數(shù)據(jù)采集,使用板載ESP8266做WiFi數(shù)據(jù)傳輸,通過HTTP或者MQTT協(xié)議連接OneNET平臺,實現(xiàn)云平臺數(shù)據(jù)收發(fā),同時運行RTOS操作系統(tǒng)。但由于本人忙于工作,無法按時制作,于是制作了簡易版本,本次設(shè)計選擇使用野火啟明6M5單片機,采集模塊使用的是DHT11溫濕度模塊,顯示模塊使用的是SPI屏幕,同時還做了串口通訊。
2硬件設(shè)計
2.1 主控板
本次使用的是瑞薩的R7FA6M5BH3CFC單片機。RA 產(chǎn)品家族單片機 (MCU) 于2019年10月推出,豐富了瑞薩的32位MCU 系列產(chǎn)品。除了RA系列之外的32位MCU產(chǎn)品還有RX系列(CPU使用瑞薩自家RX 內(nèi)核)和Renesas Synergy平臺MCU。Renesas Advanced (RA) 32位MCU是采用Arm Cortex-M33、-M23和-M4處理器內(nèi)核,并經(jīng)過PSA Certified 1級認證的、行業(yè)領(lǐng)先的32位MCU。是Arm公司于2017年推出的行業(yè)通用框架,旨在打造各種安全的互聯(lián)設(shè)備。許多業(yè)界領(lǐng)先企業(yè)已宣布支持該架構(gòu)的基礎(chǔ)原則,為物聯(lián)網(wǎng)設(shè)備和解決方案加入令人信任的安全級別。RA系列的所有MCU在功能上和大部分引腳上都是兼容的。小型器件上的外設(shè)大體上是大型器件上外設(shè)的子集。這便于實現(xiàn)可擴展性和不同器件之間的代碼重用。對于不同系列的類似封裝,其引腳排列幾乎相同。
瑞薩RA系列產(chǎn)品家族包括:
? RA2系列,適用于低功耗應(yīng)用;
? RA4系列,適用于需要低功耗、高性能和高安全性的設(shè)備;
? RA6系列,具有卓越的連接性能和安全性能;
? RA8系列,可以為采用人機界面、連接、安全和模擬功能的應(yīng)用提供出色性能。
2.2 DHT11溫濕度采集模塊
DHT11數(shù)字溫濕度傳感器是一款含有已校準數(shù)字信號輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強、性價比極高等優(yōu)點。
每個DHT11傳感器都在極為精確的濕度校驗室中進行校準。校準系數(shù)以程序的形式儲存在OTP內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。
超小的體積、極低的功耗,信號傳輸距離可達20米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場合的最佳選則。產(chǎn)品為3針單排引腳封裝。連接方便,特殊封裝形式可根據(jù)用戶需求而提供。
模塊使用單總線連接,DATA用于微處理器與DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時間4ms左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分,具體格式在下面說明,當前小數(shù)部分用于以后擴展,現(xiàn)讀出為零。操作流程如下:
一次完整的數(shù)據(jù)傳輸為40bit,高位先出。數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8bit校驗和數(shù)據(jù)傳送正確時校驗和數(shù)據(jù)等于“8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8位。
用戶MCU發(fā)送一次開始信號后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機開始信號結(jié)束后,DHT11發(fā)送響應(yīng)信號,送出40bit的數(shù)據(jù),并觸發(fā)一次信號采集,用戶可選擇讀取部分數(shù)據(jù)。從模式下,DHT11接收到開始信號觸發(fā)一次溫濕度采集,如果沒有接收到主機發(fā)送開始信號,DHT11不會主動進行溫濕度采集。采集數(shù)據(jù)后轉(zhuǎn)換到低速模式。通訊過程如圖所示:
? 引腳連接為:
P0.10——DATA
Mode選擇Output mode (Initial Low)
2.3 SPI屏幕
屏幕使用了軟件SPI,SPI協(xié)議是由摩托羅拉公司提出的通訊協(xié)議(SerialPeripheralInterface),即串行外圍設(shè)備接口,是一種高速全雙工的通信總線。它被廣泛地使用在ADC、LCD等設(shè)備與MCU間,要求通訊速率較高的場合。
SPI通訊使用3條總線及片選線,3條總線分別為SCK、MOSI、MISO,片選線為SS,它們的作用介紹如下:
(1) SS (SlaveSelect):從設(shè)備選擇信號線,常稱為片選信號線,也稱為NSS、CS,以下用NSS表示。
當有多個SPI從設(shè)備與SPI主機相連時,設(shè)備的其它信號線SCK、MOSI及MISO同時并聯(lián)到相同的SPI總線上,即無論有多少個從設(shè)備,都共同只使用這3條總線;而每個從設(shè)備都有獨立的這一條NSS信號線,本信號線獨占主機的一個引腳,即有多少個從設(shè)備,就有多少條片選信號線。I2C協(xié)議中通過設(shè)備地址來尋址、選中總線上的某個設(shè)備并與其進行通訊;而SPI協(xié)議中沒有設(shè)備地址,它使用NSS信號線來尋址,當主機要選擇從設(shè)備時,把該從設(shè)備的NSS信號線設(shè)置為低電平,該從設(shè)備即被選中,即片選有效,接著主機開始與被選中的從設(shè)備進行SPI通訊。所以SPI通訊以NSS線置低電平為開始信號,以NSS線被拉高作為結(jié)束信號。 (2) SCK (SerialClock):時鐘信號線,用于通訊數(shù)據(jù)同步。它由通訊主機產(chǎn)生,決定了通訊的速率,不同的設(shè)備支持的最高時鐘頻率不一樣,如RA6M5的SPI時鐘頻率最大為fpclkA/2,兩個設(shè)備之間通訊時,通訊速率受限于低速設(shè)備。 (3) MOSI (MasterOutput,SlaveInput):主設(shè)備輸出/從設(shè)備輸入引腳。主機的數(shù)據(jù)從這條信號線輸出,從機由這條信號線讀入主機發(fā)送的數(shù)據(jù),即這條線上數(shù)據(jù)的方向為主機到從機。
(4) MISO (MasterInput,,SlaveOutput):主設(shè)備輸入/從設(shè)備輸出引腳。主機從這條信線讀入數(shù)據(jù),從機的數(shù)據(jù)由這條信號線輸出到主機,即在這條線上數(shù)據(jù)的方向為從機到主機。
引腳連接為:
P0.2——MOSI
P0.1——CLK
P0.7——CS
P0.6——DC
P0.3——RST
P0.8——BL
使用的是軟件SPI,所以引腳配置Mode選擇Output mode(Initial High)
3
軟件設(shè)計
需要注意一下串口的配置,串口通訊 (Serial Communication) 是一種設(shè)備間非常常用的串行通訊方式,因為它簡單便捷,因此大部分電子設(shè)備都支持該通訊方式,電子工程師在調(diào)試設(shè)備時也經(jīng)常使用該通訊方式輸出調(diào)試信息。在計算機科學(xué)里,大部分復(fù)雜的問題都可以通過分層來簡化。如芯片被分為內(nèi)核層和片上外設(shè)。對于通訊協(xié)議,我們也以分層的方式來理解,最基本的是把它分為物理層和協(xié)議層。物理層規(guī)定通訊系統(tǒng)中具有機械、電子功能部分的特性,確保原始數(shù)據(jù)在物理媒體的傳輸。協(xié)議層主要規(guī)定通訊邏輯,統(tǒng)一收發(fā)雙方的數(shù)據(jù)打包、解包標準。
串口配置如下圖所示,需要注意,引腳一定是P511/ P512,引腳選錯是無法監(jiān)測到輸出的。
在“屬性”窗口中配置名字(name)、通道(Channel)、回調(diào)函數(shù)(Callback)名字即可,引腳(Pins)、波特率(Baud Rate)等其他的屬性按照默認的配置即可。
Name:名字,根據(jù)讀者需求設(shè)置即可。
Channel :通道,根據(jù) SCI 號設(shè)置即可,例如實驗使用 SCI4,則這里配置為通道 4。
Data Bits:每個字(word)的比特(bit)數(shù),默認為 8bits
Parity :校驗?zāi)J?,可選擇“Odd”奇校驗,“Even”偶校驗或“None”無校驗。
Stop Bits:停止位,可選 1 或 2bit。
Baud Rate :波特率
Baud Rate Modulation :波特率調(diào)制,通過調(diào)整時鐘周期,以減少申請波特率與實際波特率之間的誤差。
Max Error(%) :計算波特率時允許的最大百分比誤差。
Callback:回調(diào)函數(shù)的名字,根據(jù)讀者需求設(shè)置即可。
Receive Interrupt Priority :接收中斷優(yōu)先級
Transmit Data Empty InterruptPriority:發(fā)送數(shù)據(jù)空中斷優(yōu)先級
Transmit End Interrupt Priority:發(fā)送完成中斷優(yōu)先級
Error Interrupt Priority:錯誤中斷優(yōu)先級
使用 printf 函數(shù)時,需要使用到堆,默認情況下堆的大小為 0,因此我們需要修改堆的大小。可以在 FSP 配置界面中的“BSP”屬性欄的“RA Common”中通過修改“Heap size”來設(shè)置堆區(qū)大小。這里需要設(shè)置為 8 的整數(shù)倍,推薦至少為 4K(0x1000)
4
效果展示
上位機效果:
實物效果:
審核編輯:湯梓紅
-
傳感器
+關(guān)注
關(guān)注
2550文章
51035瀏覽量
753063 -
單片機
+關(guān)注
關(guān)注
6035文章
44554瀏覽量
634621 -
瑞薩
+關(guān)注
關(guān)注
35文章
22308瀏覽量
86238 -
監(jiān)測裝置
+關(guān)注
關(guān)注
0文章
219瀏覽量
8635
原文標題:【瑞薩RA MCU創(chuàng)意氛圍賽作品賞析】項目9——環(huán)境溫濕度監(jiān)測裝置
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論