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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

深度剖析關(guān)于SoPC的智能巡跡小車(chē)的設(shè)計(jì)

電子工程師 ? 來(lái)源:電子技術(shù)應(yīng)用 ? 作者:紀(jì)金水,劉彩虹 ? 2021-04-28 10:16 ? 次閱讀

摘要: 本設(shè)計(jì)以SoPC套件E-Play-1c12上配置的Cyclone系列FPGA芯片EP1C12Q240C8為控制單元,加以直流電機(jī)、光電傳感器、超聲波傳感器和電源電路以及其他電路構(gòu)成。控制小車(chē)在尋軌區(qū)能夠沿黑線行駛,并能在相應(yīng)的區(qū)域加/減速,進(jìn)入尋光區(qū)后開(kāi)始在光源的引導(dǎo)下到達(dá)終止線停止。同時(shí),在小車(chē)行駛過(guò)程中車(chē)首點(diǎn)陣式液晶滾動(dòng)顯示字幕,實(shí)時(shí)顯示小車(chē)行駛的時(shí)間及路程。

SoPC(System on a Programmable Chip)是一種特殊的嵌入式系統(tǒng)。首先它是片上系統(tǒng),即由單個(gè)芯片完成整個(gè)系統(tǒng)的主要邏輯功能;其次,它是可編程系統(tǒng),具有靈活的設(shè)計(jì)方式,可裁剪、可擴(kuò)充、可升級(jí),并具備軟硬件在系統(tǒng)可編程的功能[1]。SoPC技術(shù)是將盡可能大而完整的電子系統(tǒng)(包括嵌入式處理器系統(tǒng)、接口系統(tǒng)、硬件協(xié)處理器或加速系統(tǒng)、數(shù)字通信系統(tǒng)、存儲(chǔ)電路以及普通數(shù)字系統(tǒng)等)在單一FPGA中嵌入實(shí)現(xiàn)。因此,可以使得整個(gè)設(shè)計(jì)在規(guī)模、可靠性、體積、功耗、功能、上市周期、開(kāi)發(fā)成本、產(chǎn)品維護(hù)及其硬件升級(jí)等多方面實(shí)現(xiàn)最優(yōu)化[2]。從未來(lái)電子系統(tǒng)設(shè)計(jì)技術(shù)走勢(shì)上看,SoPC技術(shù)更具發(fā)展性和前瞻性,被稱(chēng)為“半導(dǎo)體產(chǎn)業(yè)的未來(lái)”[3-4]。

1 系統(tǒng)總體設(shè)計(jì)方案

系統(tǒng)設(shè)計(jì)要求小車(chē)由起始端出發(fā)沿黑線行駛,在測(cè)到第一條黑線后有明顯的加速,測(cè)到第二條黑線后有明顯的減速,測(cè)到第三條黑線后開(kāi)始尋光,測(cè)到第四條黑線后停止。在行駛過(guò)程中,車(chē)首液晶顯示屏實(shí)時(shí)顯示小車(chē)運(yùn)行的時(shí)間和路程。下面給出兩種方案:

(1)方案1:使用8051系列的單片機(jī)芯片。8051系列的單片機(jī)芯片使用多年,在市面上應(yīng)用廣泛。各種電路也比較成熟,但其速度相對(duì)較慢,指令都是串行執(zhí)行,在增加液晶顯示等模塊后使得CPU對(duì)檢測(cè)電路的掃描變慢。

(2)方案2:使用E-Play-SoPC開(kāi)發(fā)套件上的Cyclone系列FPGA芯片EP1C12Q240C8。FPGA運(yùn)算速度很快,且其進(jìn)程以并列的形式執(zhí)行,即使增加更多的功能模塊(在FPGA芯片的資源范圍內(nèi))也絲毫不影響對(duì)檢測(cè)信號(hào)的響應(yīng)速度[5]。

比較兩種方案,為使小車(chē)平穩(wěn)運(yùn)行且功能更加智能化,選擇了方案2。

系統(tǒng)整體框圖如圖1所示,主要由控制核心FPGA、尋軌電路、尋光電路、測(cè)障電路、液晶顯示模塊、電機(jī)驅(qū)動(dòng)電路、LED指示燈指示模塊、語(yǔ)音提示模塊和點(diǎn)陣顯示模塊組成[6]。

o4YBAGCIxOyARFxoAAGBTSwiZhg562.png

2 硬件設(shè)計(jì)

2.1 尋軌電路

尋軌電路采用兩對(duì)紅外線傳感器,當(dāng)傳感器未檢測(cè)到黑線時(shí),紅外線接收管相當(dāng)于短路,比較器負(fù)向端的電位在4 V左右;當(dāng)檢測(cè)到黑線時(shí),紅外線接收管相當(dāng)于開(kāi)路,比較器負(fù)向端的電位在2 V左右。因此,將比較器正向端電位器的比較電位調(diào)到3 V即可實(shí)現(xiàn)對(duì)黑線的檢測(cè)。未檢測(cè)到黑線時(shí)電路輸出低電平,檢測(cè)到黑線時(shí)輸出高電平。其實(shí)現(xiàn)電路如圖2所示。

5009725934327.gif

2.3 電機(jī)驅(qū)動(dòng)電路

小車(chē)采用雙輪驅(qū)動(dòng),使用驅(qū)動(dòng)芯片L293D,其工作電壓為9 V。電機(jī)驅(qū)動(dòng)電路如圖4所示,引腳1和引腳9分別是電機(jī)輸出的控制引腳,當(dāng)引腳1或引腳9為低電平時(shí),無(wú)論引腳2、引腳7、引腳10、引腳15的輸入為何值,引腳3、引腳6、引腳11、引腳14的輸出都為低電平;當(dāng)引腳1或引腳9為高電平時(shí),引腳3、引腳6、引腳11、引腳14輸出的電平與引腳2、引腳7、引腳10、引腳15輸入電平的高低相應(yīng)。

5010218909599.gif

3 軟件設(shè)計(jì)

本文設(shè)計(jì)的小車(chē)中,基本運(yùn)行程序可分為黑線計(jì)數(shù)模塊、尋軌模塊、尋光模塊以及計(jì)時(shí)模塊、路程測(cè)量模塊、液晶顯示模塊、LED指示燈指示模塊等輔助功能模塊。其行駛程序流程圖如圖6所示。

pIYBAGCIxSSAQdbTAAC_-pE8oW0871.png

(1)尋軌模塊:在黑線數(shù)為0、1、2時(shí)執(zhí)行此模塊。當(dāng)車(chē)底左端的傳感器檢測(cè)到黑線時(shí),小車(chē)的左輪停止轉(zhuǎn)動(dòng),右輪按原速轉(zhuǎn)動(dòng);若右端的傳感器檢測(cè)到黑線,則反之。當(dāng)黑線數(shù)為0、2時(shí)小車(chē)為減速狀態(tài),通過(guò)對(duì)電機(jī)驅(qū)動(dòng)芯片L293D的控制引腳輸出占空比為25%的方波信號(hào)實(shí)現(xiàn)。當(dāng)黑線數(shù)為1時(shí),小車(chē)運(yùn)行在加速狀態(tài),此時(shí)直接電機(jī)驅(qū)動(dòng)芯片L293D的控制引腳輸出高電平。

(2)尋光模塊:當(dāng)黑線數(shù)為3時(shí)運(yùn)行本模塊,當(dāng)光強(qiáng)檢測(cè)電路的檢測(cè)信號(hào)為高電平時(shí)認(rèn)為左端的光照較強(qiáng),小車(chē)左拐,反之右拐。

(3)路程測(cè)量模塊:在小車(chē)的車(chē)輪上有黑、白相間且間距相同的扇形花紋,當(dāng)車(chē)輪轉(zhuǎn)動(dòng)時(shí)車(chē)輪內(nèi)側(cè)的光電傳感器產(chǎn)生高低變化的電信號(hào),經(jīng)過(guò)比較器比較產(chǎn)生脈沖信號(hào),控制芯片通過(guò)對(duì)脈沖計(jì)數(shù)并與標(biāo)定的數(shù)值相乘得出小車(chē)行駛的路程。

(4)LED指示燈指示模塊,車(chē)首兩端分別有3個(gè)顏色分別為紅、黃、綠的LED指示燈指示小車(chē)的速度,綠燈亮?xí)r小車(chē)行駛在高速區(qū),黃燈亮?xí)r小車(chē)行駛在低速區(qū),紅燈亮?xí)r小車(chē)到達(dá)終點(diǎn)停止。車(chē)前部?jī)蓚?cè)各有一個(gè)LED指示燈指示小車(chē)拐動(dòng)方向,左拐時(shí)左燈亮,右拐時(shí)右燈亮。車(chē)尾有4個(gè)LED指示燈指示小車(chē)已測(cè)黑線的數(shù)量,每測(cè)一條黑線增加一個(gè)LED指示燈亮。

4 抗干擾措施

需要對(duì)黑線檢測(cè)和障礙物檢測(cè)的信號(hào)采取抗干擾措施。具體如下:當(dāng)檢測(cè)到黑線或障礙物時(shí),延時(shí)一段時(shí)間后再次檢測(cè),若還是黑線或障礙物,則確定其為黑線或障礙物,否則認(rèn)為其為干擾不予理睬[7]。具體實(shí)現(xiàn)程序如下:

PROCESS(a,clk)

VARIABLE m1,m2 : INTEGER RANGE 0 TO 8191;

BEGIN

IF clk=′1′ AND clk‘EVENT THEN

IF a=″00″ THEN

m2:=0;

IF m1=8190 THEN

m1:=0;

IF a=″00″ THEN

r1《=′1′;

END IF;

ELSE

m1:=m1+1;

END IF;

ELSE

m1:=0;

IF m2=8190 THEN

m2:=0;

r1《=′0′;

ELSE

m2:=m2+1;

END IF;

END IF;

END IF;

END PROCESS;

5 仿真測(cè)試

仿真測(cè)試時(shí)序如圖7所示。其中,A所指示的位置為車(chē)底的兩個(gè)光電傳感器同時(shí)檢測(cè)到黑線,經(jīng)過(guò)去抖處理后黑線數(shù)目加1;B所指示的區(qū)域?yàn)楦咚賲^(qū),小車(chē)高速行駛在此區(qū)域,當(dāng)車(chē)底一側(cè)的光電傳感器檢測(cè)到黑線時(shí),小車(chē)相應(yīng)地調(diào)整軌跡使其沿黑線行駛;C所指示的區(qū)域?yàn)闇p速區(qū),小車(chē)在此區(qū)域中行駛的速度較慢,約為高速區(qū)的1/4。

此區(qū)域中存在很多彎道,當(dāng)車(chē)底一側(cè)的光電傳感器檢測(cè)到黑線時(shí),小車(chē)也相應(yīng)地調(diào)整軌跡沿黑線行駛;D所指示的區(qū)域?yàn)閷す鈪^(qū),小車(chē)進(jìn)入此區(qū)域后立刻開(kāi)始尋光并朝光線較強(qiáng)的方向行駛,小車(chē)在此區(qū)域中的速度與低速區(qū)相同;E所指示的位置為終點(diǎn),當(dāng)小車(chē)檢測(cè)到終點(diǎn)線后停止運(yùn)行。由仿真圖可知,小車(chē)在理想情況下可順利地通過(guò)高速尋軌區(qū)、低速尋軌區(qū)、尋光區(qū),并在檢測(cè)到終點(diǎn)線后停止運(yùn)行。

5010739943480.gif

FPGA的運(yùn)算速度非???,保證了小車(chē)的平穩(wěn)運(yùn)行,且其并行執(zhí)行過(guò)程讓點(diǎn)陣式液晶顯示更加方便。FPGA在程序并行控制方面充分顯示了其優(yōu)越性,并且運(yùn)行準(zhǔn)確。今后將會(huì)對(duì)本設(shè)計(jì)進(jìn)行擴(kuò)展以及更進(jìn)一步的開(kāi)發(fā)。

參考文獻(xiàn)

[1] 何偉,秦江云,張玲,等。基于SoPC的多用途無(wú)線監(jiān)控報(bào) 警系統(tǒng)[J]。電子技術(shù)應(yīng)用,2011,37(2):33-35.

[2] 周渝斌?;贔PGA+DSP的智能車(chē)全景視覺(jué)系統(tǒng)[J]。電子技術(shù)應(yīng)用,2011,37(3):38-41.

[3] POUSSIER S,RABAH H,WEBER S.SoPC-based embedded smart strain gage sensor[C].12th International Conference, FPL 2002 Montpellier,F(xiàn)rance,2002:1131-1134.

[4] Cao Liting,Jiang Wei,Zhang Zhaoli.Automatic meter reading system based on wireless mesh networks and SoPC technology[C].Intelligent Networks and Intelligent Systems,ICINIS’09,Second International Conference,2009:142-145.

[5] 雷伏容.VHDL電路設(shè)計(jì)[M].北京:清華大學(xué)出版社,2007.

[6] 徐惠民,安德寧.?dāng)?shù)字邏輯設(shè)計(jì)與VHDL語(yǔ)言描述[M].北京:機(jī)械工業(yè)出版社,2010.

[7] 薛小剛,葛毅敏.Xilinx ISE9.x FPGA/CPLD設(shè)計(jì)指南[M]。北京:人民郵電出版社,2007.

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    18938

    瀏覽量

    227332
  • 電路
    +關(guān)注

    關(guān)注

    171

    文章

    5765

    瀏覽量

    171230
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6023

    文章

    44386

    瀏覽量

    628731
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    40

    文章

    3521

    瀏覽量

    128813
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    19.3-星曈科技 openmv Hopenmv發(fā)送五個(gè)uchar Openmv+STM32F103C8T6視覺(jué)小車(chē) STM32循跡小車(chē)系列教程

    19.3-【星曈科技】openmv Hopenmv發(fā)送五個(gè)uchar Openmv+STM32F103C8T6視覺(jué)小車(chē) STM32循跡小車(chē)系列教程 使用OpenMV循跡 openMV尋跡與
    的頭像 發(fā)表于 08-20 11:32 ?568次閱讀
    19.3-星曈科技 openmv Hopenmv發(fā)送五個(gè)uchar Openmv+STM32F103C8T6視覺(jué)<b class='flag-5'>巡</b>線<b class='flag-5'>小車(chē)</b> STM32循跡<b class='flag-5'>小車(chē)</b>系列教程

    第19.2章-星曈科技 openmv H7 plus openmv視覺(jué)循跡功能-完成視覺(jué)識(shí)別指定區(qū)域 OpenMV視覺(jué)模塊循跡 STM32F103C8T6視覺(jué)

    第19.2章-【星曈科技】openmv H7 plus openmv視覺(jué)循跡功能-完成視覺(jué)識(shí)別指定區(qū)域 OpenMV視覺(jué)模塊循跡_線功能 STM32F103C8T6視覺(jué)小車(chē)
    的頭像 發(fā)表于 08-20 11:28 ?277次閱讀

    19.4-STM32接收數(shù)據(jù)-狀態(tài)顯示在屏幕 openMV尋跡與小車(chē)控制 Openmv+STM32F103C8T6視覺(jué)小車(chē)

    19.4-STM32接收數(shù)據(jù)-狀態(tài)顯示在屏幕 openMV尋跡與小車(chē)控制 Openmv+STM32F103C8T6視覺(jué)小車(chē)
    的頭像 發(fā)表于 08-20 11:12 ?540次閱讀
    19.4-STM32接收數(shù)據(jù)-狀態(tài)顯示在屏幕 openMV尋跡與<b class='flag-5'>小車(chē)</b>控制 Openmv+STM32F103C8T6視覺(jué)<b class='flag-5'>巡</b>線<b class='flag-5'>小車(chē)</b>

    MEMS 可編程振蕩器的卓越代表:SiT9121 系列(1 to 220 MHZ)深度剖析

    MEMS 可編程振蕩器的卓越代表:SiT9121 系列(1 to 220 MHZ)深度剖析
    的頭像 發(fā)表于 08-13 10:56 ?230次閱讀
    MEMS 可編程振蕩器的卓越代表:SiT9121 系列(1 to 220 MHZ)<b class='flag-5'>深度</b><b class='flag-5'>剖析</b>

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

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

    表面貼裝低相位噪音晶體振蕩器 DSO531SHH 深度剖析

    表面貼裝低相位噪音晶體振蕩器 DSO531SHH 深度剖析
    的頭像 發(fā)表于 07-26 14:12 ?227次閱讀
    表面貼裝低相位噪音晶體振蕩器 DSO531SHH <b class='flag-5'>深度</b><b class='flag-5'>剖析</b>

    基于STM32的智能循跡小車(chē)

    初學(xué)者的智能小車(chē)
    的頭像 發(fā)表于 05-08 14:43 ?2353次閱讀
    基于STM32的<b class='flag-5'>智能</b>循跡<b class='flag-5'>小車(chē)</b>

    基于51單片機(jī)的智能小車(chē)驅(qū)動(dòng)MAX7219控制點(diǎn)陣屏顯示小車(chē)運(yùn)動(dòng)狀態(tài)?

    智能小車(chē)點(diǎn)陣屏顯示 個(gè)人是小白,想求各位大佬幫忙?。?!用51單片機(jī)控制小車(chē)運(yùn)動(dòng),并驅(qū)動(dòng)MAX7219控制點(diǎn)陣屏顯示小車(chē)運(yùn)動(dòng)狀態(tài),就是當(dāng)小車(chē)
    發(fā)表于 02-05 00:50

    深度剖析 IGBT 柵極驅(qū)動(dòng)注意事項(xiàng)

    深度剖析 IGBT 柵極驅(qū)動(dòng)注意事項(xiàng)
    的頭像 發(fā)表于 11-24 14:48 ?542次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>剖析</b> IGBT 柵極驅(qū)動(dòng)注意事項(xiàng)

    基于STM32的智能小車(chē)

    發(fā)表于 11-03 08:31 ?0次下載
    基于STM32的<b class='flag-5'>智能</b><b class='flag-5'>巡</b>線<b class='flag-5'>小車(chē)</b>

    高壓輸電線路線機(jī)器人智能控制系統(tǒng)

    電子發(fā)燒友網(wǎng)站提供《高壓輸電線路線機(jī)器人智能控制系統(tǒng).pdf》資料免費(fèi)下載
    發(fā)表于 10-30 09:37 ?4次下載
    高壓輸電線路<b class='flag-5'>巡</b>線機(jī)器人<b class='flag-5'>智能</b>控制系統(tǒng)

    請(qǐng)問(wèn)智能小車(chē)如何在一個(gè)空地上定位呢?

    請(qǐng)問(wèn)智能小車(chē)如何在一個(gè)空地上定位呢?現(xiàn)在在空地上畫(huà)上了黑線來(lái)尋跡,但是不夠靈活,如何讓小車(chē)隨意去一個(gè)坐標(biāo)呢?
    發(fā)表于 10-25 06:32

    基于可編程片上系統(tǒng)(SOPC)的智能電子血壓計(jì)的設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于可編程片上系統(tǒng)(SOPC)的智能電子血壓計(jì)的設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-20 11:07 ?5次下載
    基于可編程片上系統(tǒng)(<b class='flag-5'>SOPC</b>)的<b class='flag-5'>智能</b>電子血壓計(jì)的設(shè)計(jì)

    基于stm32的智能小車(chē)走直線

    求助各位大佬,智能小車(chē)走直線用pid 控制的時(shí)候,是否需要其他傳感器輔助,還是說(shuō)直接用軟件實(shí)現(xiàn)就好,有沒(méi)有源代碼,想?yún)⒖枷?,謝謝
    發(fā)表于 10-14 08:29

    飛機(jī)形成尾的原因是什么

    飛機(jī)形成尾的原因有幾種,不能一概而論。除了飛行表演的人為拉煙,還有被動(dòng)拉煙,一種是廢氣尾,一種是空氣動(dòng)力尾,還有一種是對(duì)流性尾。
    發(fā)表于 10-08 11:57 ?1115次閱讀