亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于RISC-V的嵌入式智能小車行進(jìn)控制系統(tǒng)①

        2022-01-06 08:04:48楊金宇張浩天張玲玲梁惺彥
        關(guān)鍵詞:寄存器中斷障礙物

        楊金宇, 張浩天, 張玲玲, 顧 暉, 梁惺彥

        1(南通大學(xué) 信息科學(xué)技術(shù)學(xué)院, 南通 226019)

        2(鄭州大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院, 鄭州 450002)

        1 引言

        由于RISC-V指令集架構(gòu)具有免費(fèi)、開(kāi)源、簡(jiǎn)潔與模塊化等特點(diǎn), 近年來(lái)基于RISC-V的處理器在國(guó)內(nèi)外得到快速應(yīng)用.本文利用FPGA硬件可編程[1]的特性, 在Xilinx XC7A100T上移植了基于RISC-V指令集架構(gòu)的蜂鳥E203開(kāi)源軟核微處理器[2,3], 構(gòu)成完整的片上系統(tǒng).該系統(tǒng)包含多種外設(shè)接口模塊, 如GPIO和PWM等, 并通過(guò)外設(shè)接口模塊搭載多種傳感器, 可將采集的數(shù)據(jù)進(jìn)行快速處理, 實(shí)現(xiàn)面向各種場(chǎng)景的控制方案.

        2 智能小車系統(tǒng)簡(jiǎn)介

        圖1是本文搭建的智能小車[4]系統(tǒng)實(shí)物圖, 包括以下5個(gè)部分: 控制智能小車行進(jìn)的運(yùn)行RISC-V的FPGA主控板、采集外界信號(hào)的各種傳感器、驅(qū)動(dòng)小車的電機(jī)、控制超聲波傳感器轉(zhuǎn)向的舵機(jī)和智能小車的電源.為實(shí)現(xiàn)自主避障、碰撞檢測(cè)等功能, 本文利用RISC-V的GPIO處理各傳感器信號(hào)(具體方案見(jiàn)第5.1節(jié)), 并設(shè)計(jì)相應(yīng)算法實(shí)現(xiàn)智能小車行進(jìn)控制: 障礙物檢測(cè)的超聲波避障算法[5]、不同場(chǎng)景下的小車行進(jìn)策略及相應(yīng)電機(jī)控制算法和利用RISC-V軟核的GPIO中斷實(shí)現(xiàn)碰撞-行進(jìn)姿態(tài)檢測(cè)算法.

        圖1 智能小車系統(tǒng)實(shí)物圖

        3 智能小車控制系統(tǒng)

        3.1 邏輯結(jié)構(gòu)

        小車主控采用Xilinx公司的XC7A100T芯片, 移植構(gòu)造了基于蜂鳥E203的開(kāi)源RISC-V軟核微處理器, 支持RV32C指令集, 表1是實(shí)驗(yàn)條件下利用vivado綜合生成的FPGA內(nèi)部資源占用情況, 表中同時(shí)給出了本設(shè)計(jì)采用的外接內(nèi)存資源: 軟核利用AXI4總線外接256 MB的系統(tǒng)內(nèi)存RAM, 并采用2塊FlashROM支持固件ROM和用戶程序ROM的獨(dú)立更新下載.在此基礎(chǔ)上, 將FPGA的IO引腳映射為軟核GPIO與PWM輸出, 分別連接傾斜角傳感器、紅外傳感器、超聲波傳感器、碰撞傳感器和電機(jī)驅(qū)動(dòng)模塊等, 構(gòu)成智能小車的狀態(tài)檢測(cè)模塊和電機(jī)控制系統(tǒng), 圖2給出本方案的硬件邏輯結(jié)構(gòu)示意圖.檢測(cè)信號(hào)利用FPGA的IO引腳實(shí)現(xiàn)RISC-V的GPIO數(shù)據(jù)采集, 舵機(jī)和電機(jī)由RISCV軟核的PWM模塊產(chǎn)生的輸出信號(hào)驅(qū)動(dòng), 進(jìn)而可結(jié)合具體算法實(shí)現(xiàn)不同場(chǎng)景下的小車控制方案.

        表1 主控板硬件核心資源

        圖2 智能小車硬件系統(tǒng)邏輯結(jié)構(gòu)

        3.2 控制信號(hào)處理方案與RISC-V參數(shù)設(shè)定

        在實(shí)現(xiàn)智能小車行進(jìn)控制中, 主要利用了RISC-V中可復(fù)用的GPIO模塊實(shí)現(xiàn)信號(hào)的輸入輸出, 利用外部IO中斷實(shí)現(xiàn)系統(tǒng)響應(yīng)的強(qiáng)實(shí)時(shí)性.在蜂鳥E203為藍(lán)本的RISC-V軟核中, 共有32個(gè)GPIO引腳, 每個(gè)GPIO引腳由32位配置寄存器的1位控制, 各寄存器的基地址為0x1001_2000.表2說(shuō)明了本文用到的GPIO配置寄存器的情況.

        表2 GPIO配置寄存器說(shuō)明

        在RISC-V中, 引腳默認(rèn)功能是GPIO, 并可通過(guò)配置寄存器GPIO_IOF_EN和GPIO_IOF_SEL實(shí)現(xiàn)諸如PWM等其他復(fù)用功能.因此本設(shè)計(jì)按以下3個(gè)步驟實(shí)現(xiàn)具體GPIO的引腳操作: 引腳功能復(fù)用配置、輸入/輸出配置和引腳值讀/寫.圖3是引腳功能配置過(guò)程示意圖.

        圖3 引腳(pin)配置流程

        下面介紹本系統(tǒng)所用輸入輸出引腳pin的具體連接和功能, 如表3所示.

        表3 GPIO pin功能及配置說(shuō)明

        (1) 紅外傳感器用來(lái)實(shí)現(xiàn)倒車時(shí)障礙物的檢測(cè).本系統(tǒng)采用查詢機(jī)制, 僅判定固定距離的障礙有無(wú), 通過(guò)使能0號(hào)pin引腳輸入并捕捉GPIO_PORT相應(yīng)位電平變化來(lái)實(shí)現(xiàn).

        (2) 超聲波模塊是實(shí)現(xiàn)智能小車自主避障功能的基礎(chǔ), 物理原理可用式(1)表示[6]:

        其中,d表示智能小車與障礙物的距離,t表示從發(fā)射超聲信號(hào)到返回的時(shí)間差,v是聲速.

        本設(shè)計(jì)利用RISC-V的GPIO模塊的1-2兩個(gè)引腳分別控制超聲模塊的發(fā)射(TRIG)、接收(ECHO)兩組信號(hào)實(shí)現(xiàn)障礙物的測(cè)距, 具體步驟包括: 1)通過(guò)使能GPIO_OUTPUT_EN寄存器的第1位, 寫入GPIO_VALUE相應(yīng)位觸發(fā)超聲波傳感器TRIG信號(hào).使能TRIG 10 μs以上的高電平信號(hào)來(lái)觸發(fā)測(cè)距, 超聲波模塊開(kāi)始自動(dòng)發(fā)送8個(gè)40 kHz的方波, 記錄此時(shí)計(jì)數(shù)寄存器(MTIME)的值X1; 2)使能GPIO_INPUT_EN寄存器的第2位, 讀取GPIO_PORT相應(yīng)位, 檢測(cè)是否有信號(hào)返回, 當(dāng)有信號(hào)返回時(shí), GPIO接收ECHO輸出的高電平信號(hào), 再次記錄此時(shí)計(jì)數(shù)寄存器(MTIME)的值X2; 3)通過(guò)計(jì)算計(jì)數(shù)寄存器兩次理論差值, 再乘以時(shí)鐘頻率, 可得超聲波信號(hào)往返時(shí)長(zhǎng)t; 4) 根據(jù)式(1), 計(jì)算小車與障礙物間的距離.

        (3) PWM模塊實(shí)現(xiàn)智能小車系統(tǒng)的電機(jī)與舵機(jī)控制.通過(guò)使能GPIO_IOF_EN和GPIO_IOF_SEL寄存器的相應(yīng)位, 將19-21位pin復(fù)用為PWM1模塊, 生成3組PWM信號(hào)中有2組用來(lái)分別控制左右電機(jī),1組用來(lái)控制舵機(jī).小車行進(jìn)時(shí), 可通過(guò)調(diào)節(jié)19和20位輸出的PWM脈寬比值, 控制小車左右電機(jī)轉(zhuǎn)速比, 實(shí)現(xiàn)行進(jìn)狀態(tài)控制; 通過(guò)調(diào)節(jié)第21位的PWM占空比,控制舵機(jī)轉(zhuǎn)向, 進(jìn)而控制超聲信號(hào)探測(cè)方向.

        4 智能小車的工作狀態(tài)與電機(jī)控制方案

        將傳感器數(shù)據(jù)作為輸入?yún)?shù), PWM作為輸出信號(hào), 本文設(shè)定智能小車有以下5種工作狀態(tài).圖4是智能小車工作狀態(tài)轉(zhuǎn)換示意圖.

        圖4 智能小車工作狀態(tài)轉(zhuǎn)換示意圖

        1) 初始態(tài): 電源上電后, FPGA加載RISC-V軟核并完成初始化后, 小車進(jìn)入初始態(tài).此時(shí), 指示燈點(diǎn)亮,小車等待啟動(dòng).

        2) 前進(jìn): 這是小車啟動(dòng)后的默認(rèn)狀態(tài), 當(dāng)未檢測(cè)到障礙物, 保持此狀態(tài).

        3) 轉(zhuǎn)向: 在小車前進(jìn)過(guò)程中, 當(dāng)超聲波傳感器探測(cè)到左前方或右前方一定范圍內(nèi)有障礙物時(shí)(障1), 小車切換到此狀態(tài).

        4) 倒車: 當(dāng)小車倒車時(shí), 紅外傳感器[7,8]探測(cè)到左前方和右前方較短距離內(nèi)有障礙物時(shí), 表明小車前方周圍均有障礙物, 使小車進(jìn)入倒車狀態(tài), 當(dāng)后方遇到障礙物(障3)時(shí)停止倒車, 小車切換到前進(jìn)狀態(tài).

        5) 停機(jī): 此狀態(tài)為異常狀態(tài).若小車在正常行進(jìn)過(guò)程中, 遇到碰撞、側(cè)傾或被中止等異常事件時(shí), 小車從當(dāng)前狀態(tài)切換到停機(jī)狀態(tài).

        本文針對(duì)智能小車行進(jìn)過(guò)程中的不同場(chǎng)景, 為該系統(tǒng)設(shè)計(jì)了5種電機(jī)控制方案.

        1) 正常行駛: 小車啟動(dòng)后, 以正常速度前進(jìn)直至遇到障礙物減速或者轉(zhuǎn)向.正常行駛時(shí), 主控板輸出左右電機(jī)的PWM控制信號(hào)占空比為50%.

        2) 快速行駛: 若探測(cè)到前方D1距離內(nèi)未發(fā)現(xiàn)障礙物時(shí), 嘗試加速行進(jìn).加速行進(jìn)時(shí), 主控板連續(xù)緩慢的調(diào)節(jié)左右電機(jī)的PWM占空比, 占空比從50%增至80%,每200 ms增長(zhǎng)1%.直到前方探測(cè)到障礙物切換狀態(tài).

        3) 慢速行駛: 若探測(cè)到前方D1距離內(nèi)有障礙物時(shí), 則減速至慢速行駛.此時(shí)主控板輸出的控制左右電機(jī)的PWM占空比為25%.

        4) 轉(zhuǎn)向行駛: 利用超聲波傳感器分別探測(cè)距左前方和右前方障礙物的距離, 經(jīng)比較后選擇轉(zhuǎn)向.轉(zhuǎn)向采用左右兩路電機(jī)的差速控制, 本系統(tǒng)采用對(duì)左右電機(jī)輸出相差30%的PWM信號(hào)實(shí)現(xiàn)定弧度轉(zhuǎn)彎.

        5) 倒退行駛: 當(dāng)小車左前方和右前方D2距離內(nèi)都有障礙物, 選擇倒車控制, 兩路電機(jī)由占空比25%的PWM信號(hào)進(jìn)行反轉(zhuǎn), 當(dāng)后方遇到障礙物時(shí)停止倒車.同時(shí)為避免一直倒車, 設(shè)定后方無(wú)障礙物時(shí)的最長(zhǎng)倒車時(shí)間Ts, 超時(shí)停止倒車.

        5 主要場(chǎng)景的控制算法

        5.1 智能小車的行進(jìn)避障

        智能小車行進(jìn)過(guò)程中前方障礙物的探測(cè)通過(guò)安裝在舵機(jī)上的超聲波傳感器實(shí)現(xiàn), 后方障礙物的探測(cè)通過(guò)紅外傳感器實(shí)現(xiàn).智能小車行進(jìn)過(guò)程中通過(guò)調(diào)用超聲波探測(cè)算法, 判斷與障礙物的距離, 使智能小車自動(dòng)調(diào)節(jié)行進(jìn)方向, 實(shí)現(xiàn)智能小車的自主避障.圖5是超聲波探測(cè)算法流程.圖6是智能小車行進(jìn)避障流程.

        圖5 超聲波探測(cè)算法流程圖

        圖6 智能小車行進(jìn)避障控制流程

        5.2 基于中斷的碰撞檢測(cè)和姿態(tài)檢測(cè)

        為保證智能小車行進(jìn)過(guò)程中的平穩(wěn), 本系統(tǒng)利用RISC-V的GPIO中斷設(shè)計(jì)了車輛姿態(tài)檢測(cè)和碰撞檢測(cè)以處理異常情況.在蜂鳥E203型RISC-V中, GPIO的中斷源號(hào)8-39, 可通過(guò)RISC-V的中斷控制器PLIC配置中斷.本系統(tǒng)使用8號(hào)中斷源作為側(cè)傾事件, 9號(hào)中斷源作為碰撞事件.

        圖7是碰撞檢測(cè)和行進(jìn)姿態(tài)檢測(cè)中斷控制流程示意圖, 系統(tǒng)利用GPIO中斷響應(yīng)車輛側(cè)傾和碰撞事件.行進(jìn)姿態(tài)檢測(cè)依靠?jī)A斜角傳感器, 當(dāng)小車側(cè)身失衡超過(guò)固定的角度α?xí)r, 傾斜角傳感器觸發(fā)跳變信號(hào)引發(fā)中斷, 中斷服務(wù)程序內(nèi)試圖調(diào)整行進(jìn)策略保持小車車身平衡, 避免發(fā)生側(cè)翻.若小車行進(jìn)過(guò)程中發(fā)生碰撞事件, 則會(huì)觸發(fā)中斷, 轉(zhuǎn)入中斷服務(wù)例程觸發(fā)車輛保護(hù)機(jī)制——駐停且指示燈警報(bào).

        圖7 碰撞檢測(cè)和行進(jìn)姿態(tài)檢測(cè)中斷控制流程示意圖

        6 實(shí)驗(yàn)測(cè)試

        本系統(tǒng)所使用的硬件控制器是Xilinx Artix-7 XC7A100T FPGA, 其上運(yùn)行蜂鳥E203 RISC-V軟核.實(shí)驗(yàn)所用的超聲波傳感器型號(hào)為HC-SR04, 紅外傳感器型號(hào)為JXWHW-005, 碰撞傳感器型號(hào)為ZD01, 傾側(cè)傳感器型號(hào)為SW-520D.

        6.1 測(cè)試方法及結(jié)果

        為獲得該系統(tǒng)傳感器的響應(yīng)時(shí)延數(shù)據(jù), 測(cè)試過(guò)程中將智能小車置于支架之上懸空, 將障礙物靠近智能小車, 模擬智能小車的主動(dòng)避障和被動(dòng)避障過(guò)程.用于測(cè)定傳感器觸發(fā)到輸出控制信號(hào)間的時(shí)差的臨時(shí)數(shù)據(jù),如小車狀態(tài)記錄和計(jì)數(shù)器數(shù)值變化等, 均在響應(yīng)結(jié)束后通過(guò)串口送至聯(lián)調(diào)上位機(jī), 進(jìn)行統(tǒng)一的數(shù)據(jù)整理與分析, 計(jì)算響應(yīng)時(shí)延.實(shí)驗(yàn)中, 取超聲波避障過(guò)程中的參數(shù)D1的值為30 cm,D2的值為18 cm, 表4和表5給出了整車工作的部分實(shí)測(cè)數(shù)據(jù)及小車的狀態(tài).其中表4中各個(gè)距離的響應(yīng)時(shí)延為5次測(cè)試的平均值.

        表4 基于超聲波傳感器的主動(dòng)性避障時(shí)的響應(yīng)延時(shí)

        表5 被動(dòng)性避障時(shí)的響應(yīng)延時(shí)(ms)

        6.2 測(cè)試結(jié)論與分析

        因本系統(tǒng)采用FPGA實(shí)現(xiàn)32位RISC-V軟核, 在與內(nèi)存進(jìn)行數(shù)據(jù)交互上利用AXI4總線實(shí)現(xiàn)32位數(shù)據(jù)傳輸, 實(shí)驗(yàn)發(fā)現(xiàn), 由于FPGA的RAM顆粒采用的是16位數(shù)據(jù)總線, AXI控制器的兩次16位傳輸才可完成一次32位數(shù)據(jù)讀寫, 數(shù)據(jù)吞吐能力稍弱, 在一定程度上影響了系統(tǒng)性能.通過(guò)實(shí)驗(yàn)結(jié)果可以看出, 在核頻50 MHz的條件下, 處理器和RAM可以良好的支持本控制方案的實(shí)現(xiàn).

        7 總結(jié)展望

        RISC-V指令集因其免費(fèi)開(kāi)源的特點(diǎn), 為發(fā)展國(guó)產(chǎn)自主可控的芯片提供了契機(jī).芯片產(chǎn)業(yè)的發(fā)展不僅需要提升芯片的制造工藝, 更要推進(jìn)芯片軟件生態(tài)的建設(shè).本文在自主移植RISC-V軟核的基礎(chǔ)上, 構(gòu)建集成多種傳感器和控制方案的智能小車行進(jìn)控制系統(tǒng), 實(shí)現(xiàn)了一個(gè)基于RISC-V的綜合應(yīng)用樣例, 為RISC-V的應(yīng)用生態(tài)建設(shè)做出一次有益的嘗試.

        猜你喜歡
        寄存器中斷障礙物
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        高低翻越
        SelTrac?CBTC系統(tǒng)中非通信障礙物的設(shè)計(jì)和處理
        跟蹤導(dǎo)練(二)(5)
        千里移防,衛(wèi)勤保障不中斷
        解放軍健康(2017年5期)2017-08-01 06:27:44
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        土釘墻在近障礙物的地下車行通道工程中的應(yīng)用
        AT89C51與中斷有關(guān)的寄存器功能表解
        FPGA內(nèi)嵌PowerPC的中斷響應(yīng)分析
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
        亚洲av不卡免费在线| 性欧美牲交xxxxx视频欧美| 无码aⅴ在线观看| 欧洲综合色| 中文字幕亚洲综合久久| 日韩精品极品在线观看视频| 久久亚洲中文字幕精品二区 | 欧美日一本| 中文日本强暴人妻另类视频| 青青草小视频在线播放| 18国产精品白浆在线观看免费 | 法国啄木乌av片在线播放| 欧美性福利| 最新日韩人妻中文字幕一区| 青青草免费在线爽视频| 中文字幕av伊人av无码av| 在线天堂www中文| 成年视频国产免费观看| 日韩成人无码v清免费| 免费黄网站永久地址进入| 国产一区二区av免费观看| 国产在线无码一区二区三区视频| 真实国产精品vr专区| 亚洲中文字幕国产综合| 欧美亚洲高清日韩成人| 天堂av无码大芭蕉伊人av孕妇黑人| 亚洲一区二区三区在线视频| 18禁黄网站禁片免费观看女女| 人妻丝袜无码国产一区| 国产又黄又爽又无遮挡的视频| 男男互吃大丁视频网站| 国产精品一区久久综合| av无码精品一区二区三区| 午夜精品久久久久久毛片| 久久久精品2019免费观看| 2021年国产精品每日更新| 久久偷拍国内亚洲青青草| 欧美性高清另类videosex| 亚洲av中文无码字幕色三| 中文字幕亚洲精品人妻| 一级内射免费观看视频|