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