0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

小凌派-RK2206開發(fā)板:智慧車載

福州市凌睿智捷電子有限公司 ? 2022-08-03 10:24 ? 次閱讀

一、簡介

智慧車載模塊是一款集超聲波測距以及報警電路的模塊。模塊可提供2cm-300cm的非接觸式距離感測功能,測距精度可達2cm,能將測量距離轉化為具有一定寬度的脈沖輸出;聲光報警電路由外部控制,當外部處理器判斷距離達到預警設定值時,控制報警電路工作。

智慧車載模塊目前只是一個簡單的車距測試模塊,隨著它的功能逐步完善,其發(fā)展的方向將更加寬廣。比如:智慧車載模塊可完善成為智能車載資通訊電子系統,車輛自動/輔助駕駛系統、駕駛人瞌睡警示、防撞預警、車載自我診斷系統(On Board Diagnostics,OBD)、胎壓檢測裝置(TPMS)、車道偏離警示系統(LWDS)、前方碰撞預警系統(FCWS)及后方碰撞預警系統等智慧車(Smart Car)相關應用。

本文基于瑞芯微RK2206芯片 + LiteOS操作系統,通過gpio控制智慧車載E53模塊,實現智慧車載模塊和開發(fā)板的互相通信功能。

二、硬件電路設計

1.整體硬件電路設計

智慧車載模塊硬件電路如圖1所示,電路中包含了E53接口連接器,EEPROM存儲器、超聲波處理電路和聲光報警電路。

ff4bcf64-1059-11ed-9ade-dac502259ad0.png

圖1 硬件電路圖

超聲波測距芯片,選用CS-100A,其是一款工業(yè)級超聲波測距芯片,內部集成超聲波發(fā)射電路,超聲波接收電路,數字處理電路等,單片即可完成超聲波測距,測距結果通過脈寬的方式進行輸出。

CS100A配合使用40KHz的開放式超聲波探頭,在超聲波發(fā)射端并聯一個電阻R2到地和8MHz的晶振,即可實現高性能的測距功能,電阻R2的大小決定了超聲波測量的距離。

三極管Q1為NPN管,基極為高電平時,三極管才能夠導通,蜂鳴器需PWM波驅動,人耳可識別的頻率范圍為20Hz-20KHz,故PWM頻率需在該范圍內,我們默認使用3KHz的PWM波驅動。

小凌派-RK2206開發(fā)板與智慧車載模塊均帶有防呆設計,故很容易區(qū)分安裝方向,直接將模塊插入到開發(fā)板的E53母座接口上即可,安裝如圖2所示。

ff7e9ed0-1059-11ed-9ade-dac502259ad0.png

圖2 硬件連接圖

2.智慧車載電路設計

硬件資源圖如下所示:

ffcdbfec-1059-11ed-9ade-dac502259ad0.png

引腳名稱開發(fā)者可在硬件資源圖中查看,也可在智慧車載模塊背面查看。

引腳名稱功能描述
ECHO測距脈寬輸出,高電平的寬度表示超聲波往返時間差
TRIG測距出發(fā),輸入10us的高電平脈沖,E53模塊開始測距
BUZZER蜂鳴器控制
LED_WarningLED控制線,低電平有效
I2C_SCLI2C時鐘信號
I2C_SDAI2C數據信號線
GND電源接地引腳
3V33.3V電源輸入引腳
GND電源接地引腳


三、程序設計

本實驗使用智慧車載模塊模擬智慧車載測距應用。超聲波模塊發(fā)送并接收信號,通過發(fā)射和接收信號的時間差來計算實際測量的距離;當測量的距離小于預先設置的閾值時,驅動蜂鳴器報警,點亮告警LED燈。

1. 主程序設計

如圖6.3.3所示,為智慧車載主程序流程圖,開機LiteOS系統初始化后,進入主程序先初始化智慧車載模塊。程序進入主循環(huán),采用輪詢的方式,2秒測量一次距離,當測量到的距離小于等于20厘米時,控制蜂鳴器響,告警燈亮起;當測量到的距離大于20厘米時,蜂鳴器不響應,告警燈熄滅。


002b8816-105a-11ed-9ade-dac502259ad0.png

圖6.3.3 主程序流程圖

{
unsigned int ret = 0;
/* 每個周期為200usec,占空比為100usec */
unsigned int duty_ns = 500000;
unsigned int cycle_ns = 1000000;
float distance_cm = 0.0;
/*智慧車載模塊初始化*/
e53_iv01_init();

while (1)
{
/*獲取智慧車載模塊測量的距離*/
ret = e53_iv01_get_distance(&distance_cm);
if (ret == 1)
{
printf("distance cm: %f\n", distance_cm);
/*距離小于等于20cm,開啟蜂鳴器告警,點亮LED告警燈;
否則,關閉蜂鳴器,熄滅LED告警燈*/
if (distance_cm <= 20.0)
{
e53_iv01_buzzer_set(1, duty_ns, cycle_ns);
e53_iv01_led_warning_set(1);
}
else
{
e53_iv01_buzzer_set(0, duty_ns, cycle_ns);
e53_iv01_led_warning_set(0);
}
}
LOS_Msleep(2000);
}
}

2. 初始化程序設計

智慧車載初始化程序主要分為IO初始化和PWM設備初始化兩部分。

IO初始化程序主要設置GPIO0_PC4為輸出模式,作為超聲波測距Trig控制管腳;設置GPIO0_PA5為輸出模式,作為LED_WARNING告警燈控制管腳;設置GPIO_PA2為輸入模式,作為超聲波測距Echo控制管腳。

{ /* Trig引腳設置為GPIO輸出模式 */ PinctrlSet(E53_IV01_TRIG_GPIO, MUX_FUNC0, PULL_KEEP, DRIVE_KEEP); LzGpioInit(E53_IV01_TRIG_GPIO); LzGpioSetDir(E53_IV01_TRIG_GPIO, LZGPIO_DIR_OUT); E53_IV01_TRIG_Clr(); /* LED告警燈引腳設置為GPIO輸出模式 */ PinctrlSet(E53_IV01_LED_WARNING_GPIO, MUX_FUNC0, PULL_KEEP, DRIVE_KEEP); LzGpioInit(E53_IV01_LED_WARNING_GPIO); LzGpioSetDir(E53_IV01_LED_WARNING_GPIO, LZGPIO_DIR_OUT);e53_iv01_led_warning_set(0);

/* Echo引腳設置為GPIO輸入模式 */ PinctrlSet(E53_IV01_ECHO0_GPIO, MUX_FUNC0, PULL_KEEP, DRIVE_KEEP); LzGpioInit(E53_IV01_ECHO0_GPIO); LzGpioSetDir(E53_IV01_ECHO0_GPIO, LZGPIO_DIR_IN);

}

初始化PWM7設備,使用PWM7作為蜂鳴器的控制源。

{ /* 初始化pwm */ PinctrlSet(E53_IV01_BUZZER_GPIO, MUX_FUNC2, PULL_DOWN, DRIVE_KEEP); PwmIoInit(m_buzzer_config); LzPwmInit(E53_IV01_PWM_IO); return 0;}

3. 距離測量程序設計

發(fā)送至少10us的高電平給智慧車載,觸發(fā)其開始工作;等待200ms,整個測距最長為66ms,獲取Echo管腳的電平,當高電平時獲取一個時間戳,當低電平時再獲取一個時間戳,兩個時間戳的差值即為超聲波測距所產生的時間。

{ uint8_t value = 0; m_echo_info.flag = EECHO_FLAG_CAPTURE_RISE;

while (1) { LzGpioGetVal(E53_IV01_ECHO0_GPIO, &value); if (value == LZGPIO_LEVEL_HIGH) { m_echo_info.time_rise = *m_ptimer5_current_value_low; m_echo_info.flag = EECHO_FLAG_CAPTURE_FALL; break; } }

while (1) { LzGpioGetVal(E53_IV01_ECHO0_GPIO, &value); if (value == LZGPIO_LEVEL_LOW) { m_echo_info.time_fall = *m_ptimer5_current_value_low; m_echo_info.flag = EECHO_FLAG_CAPTURE_SUCCESS; break; } }

/* 釋放信號量 */ LOS_SemPost(m_task_sem);}

獲得超聲波測距的時間后,通過公式計算距離,計算公式:距離 = 時間差 * 340米/秒 / 2 * 100厘米/米

{ float f_time = (float)time; float f_freq = (float)freq; /* 距離 = 時間差 * 340米/秒 / 2(超時波來回2次) * 100厘米/米 */ *cmeter = f_time / f_freq * 170.0 * 100.0;}



四、編譯過程

1、搭建和下載源代碼

我已將OpenHarmony源代碼上傳到Gitee社區(qū)中,大家可以根據以下網址下載。

https://gitee.com/Lockzhiner-Electronics/lockzhiner-rk2206-openharmony3.0lts

注意:編譯環(huán)境可根據以下網址來操作:https://gitee.com/Lockzhiner-Electronics/lockzhiner-rk2206-openharmony3.0lts/blob/master/vendor/lockzhiner/rk2206/README_zh.md

2、打開sdk下面路徑的文件

/vendor/lockzhiner/rk2206/samples/c4_e53_intelligent_vehicle_01 /e53_intelligent_vehicle_01_example.c

3、修改編譯腳本

修改 vendor/lockzhiner/rk2206/sample 路徑下 BUILD.gn 文件,指定 e53_iv01_example 參與編譯。

"./c4_e53_intelligent_vehicle_01:e53_iv01_example",

修改 device/lockzhiner/rk2206/sdk_liteos 路徑下 Makefile 文件,添加 -le53_iv01_example 參與編譯。

hardware_LIBS = -lhal_iothardware -lhardware -le53_iv01_example

3、編譯固件

hb set -root .hb sethb build -f

4、燒寫固件

請參考Gitee網址的說明手冊(“燒錄打印”章節(jié)):https://gitee.com/Lockzhiner-Electronics/lockzhiner-rk2206-openharmony3.0lts/blob/master/device/rockchip/README_zh.md

五、實驗結果

程序編譯燒寫到開發(fā)板后,按下開發(fā)板的RESET按鍵,通過串口軟件查看日志如下;智慧車載模塊超聲波探頭正對著墻壁進行測距,移動模塊到不同的距離,當測量的距離小于等于20厘米時,蜂鳴器響起,告警燈亮起;當測量的距離大于20厘米時,蜂鳴器不響應,告警燈熄滅。

========== E53 IV Example ==========distance cm: 23.89========== E53 IV Example ==========distance cm: 23.90

好了,今天的課程就到這里,我們下次再見!


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 開發(fā)板
    +關注

    關注

    25

    文章

    4771

    瀏覽量

    96174
收藏 人收藏

    評論

    相關推薦

    【「OpenHarmony開發(fā)與實踐 | 基于紅莓RK2206開發(fā)板」閱讀體驗】+初體驗1

    愛好者沒有bug,「OpenHarmony開發(fā)與實踐 | 基于紅莓RK2206開發(fā)板」大賣吧!哦對了 你們的開發(fā)板是怎么準備的呢?【小
    發(fā)表于 09-18 18:30

    【「OpenHarmony開發(fā)與實踐 | 基于紅莓RK2206開發(fā)板」閱讀體驗】+初體驗2連發(fā)發(fā)

    啥也不說先上圖 對于《OpenHarmony開發(fā)與實踐 | 基于紅莓RK2206開發(fā)板》這本書的熱愛,簡直就像夏日里的一股清泉,讓人忍不住想要一探究竟! 這本書的排布,簡直就是一場視覺盛宴,章節(jié)
    發(fā)表于 09-18 18:01

    樹莓和arm開發(fā)板的區(qū)別

    樹莓(Raspberry Pi)和ARM開發(fā)板都是基于ARM架構的微型計算機,但它們之間存在一些關鍵區(qū)別。 一、歷史背景 樹莓(Raspberry Pi) 樹莓是由英國樹莓
    的頭像 發(fā)表于 08-30 15:36 ?279次閱讀

    linux開發(fā)板與樹莓的區(qū)別

    定義和用途 Linux開發(fā)板:Linux開發(fā)板是一種基于Linux操作系統的嵌入式開發(fā)板,通常用于工業(yè)自動化、物聯網、智能家居等領域。 樹莓:樹莓
    的頭像 發(fā)表于 08-30 15:34 ?204次閱讀

    RK3588!黑神話悟空,啟動?-迅為電子RK3588開發(fā)板

    RK3588!黑神話悟空,啟動?-迅為電子RK3588開發(fā)板
    的頭像 發(fā)表于 08-30 14:13 ?260次閱讀
    <b class='flag-5'>RK</b>3588!黑神話悟空,啟動?-迅為電子<b class='flag-5'>RK</b>3588<b class='flag-5'>開發(fā)板</b>

    HZ-CORE-RK3576開發(fā)板

    HZ-CORE-RK3576開發(fā)板
    的頭像 發(fā)表于 08-29 13:58 ?191次閱讀
    HZ-CORE-<b class='flag-5'>RK</b>3576<b class='flag-5'>開發(fā)板</b>

    新一代低價開發(fā)板芯片RK3562來啦! — 觸覺智能RK3562開發(fā)板

    最近我收到了個一套開發(fā)板,有核心,開發(fā)板,還有個7英寸觸摸屏幕。這些東西,都是一家叫做觸覺智能的公司做的基于瑞芯微RK3562的產品。RK
    的頭像 發(fā)表于 08-15 17:42 ?673次閱讀
    新一代低價<b class='flag-5'>開發(fā)板</b>芯片<b class='flag-5'>RK</b>3562來啦! — 觸覺智能<b class='flag-5'>RK</b>3562<b class='flag-5'>開發(fā)板</b>

    探索巔峰性能 | 迅為RK3588開發(fā)板深度剖析

    探索巔峰性能 | 迅為RK3588開發(fā)板深度剖析
    的頭像 發(fā)表于 08-12 14:07 ?563次閱讀
    探索巔峰性能 | 迅為<b class='flag-5'>RK</b>3588<b class='flag-5'>開發(fā)板</b>深度剖析

    基于OpenHarmony輕量級操作系統實現RK2206 WiFi-AP模式通信開發(fā)案例

    實驗內容本示例將演示如何在小-RK2206開發(fā)板上使用WiFi-AP模式(即將RK2206作為WiFi路由器),實現與PC端進行TCP通
    的頭像 發(fā)表于 08-08 08:23 ?174次閱讀
    基于OpenHarmony輕量級操作系統實現<b class='flag-5'>RK2206</b> WiFi-AP模式通信<b class='flag-5'>開發(fā)</b>案例

    基于OpenHarmony輕量級操作系統實現RK2206 WiFi-AP模式通信開發(fā)案例

    實驗內容 本示例將演示如何在小-RK2206開發(fā)板上使用WiFi-AP模式(即將RK2206作為WiFi路由器),實現與PC端進行TCP
    發(fā)表于 08-07 15:50

    基于Openharmony輕量級操作系統的分布式數據管理開發(fā)案例

    實驗內容本例程演示如何在小-RK2206開發(fā)板上使用OpenHarmony輕量級操作系統進行KvStore(即分布式數據管理)數據讀寫。例程:(1)創(chuàng)建兩個線程,一個負責寫入KvS
    的頭像 發(fā)表于 08-07 08:23 ?626次閱讀
    基于Openharmony輕量級操作系統的分布式數據管理<b class='flag-5'>開發(fā)</b>案例

    RK3568開發(fā)板支持AMP雙系統

    RK3568開發(fā)板支持AMP雙系統
    的頭像 發(fā)表于 06-04 15:33 ?427次閱讀
    <b class='flag-5'>RK</b>3568<b class='flag-5'>開發(fā)板</b>支持AMP雙系統

    迅為RK3568開發(fā)板驅動開發(fā)指南-輸入子系統

    迅為RK3568開發(fā)板驅動開發(fā)指南-輸入子系統
    的頭像 發(fā)表于 02-23 15:11 ?590次閱讀
    迅為<b class='flag-5'>RK</b>3568<b class='flag-5'>開發(fā)板</b>驅動<b class='flag-5'>開發(fā)</b>指南-輸入子系統

    迅為RK3588開發(fā)板-智慧能源行業(yè)的解決方案

    迅為RK3588開發(fā)板-智慧能源行業(yè)的解決方案
    的頭像 發(fā)表于 01-24 15:26 ?444次閱讀
    迅為<b class='flag-5'>RK</b>3588<b class='flag-5'>開發(fā)板</b>-<b class='flag-5'>智慧</b>能源行業(yè)的解決方案

    迅為RK3568開發(fā)板助力智能車載產業(yè)快速發(fā)展

    迅為RK3568開發(fā)板助力智能車載產業(yè)快速發(fā)展
    的頭像 發(fā)表于 01-23 13:59 ?391次閱讀
    迅為<b class='flag-5'>RK</b>3568<b class='flag-5'>開發(fā)板</b>助力智能<b class='flag-5'>車載</b>產業(yè)快速發(fā)展