《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于SoPC的智能巡跡小車的設(shè)計(jì)
基于SoPC的智能巡跡小車的設(shè)計(jì)
來(lái)源:電子技術(shù)應(yīng)用2013年第7期
紀(jì)金水,劉彩虹
西北民族大學(xué),甘肅 蘭州730000
摘要: 本設(shè)計(jì)以SoPC套件E-Play-1c12上配置的Cyclone系列FPGA芯片EP1C12Q240C8為控制單元,加以直流電機(jī)、光電傳感器、超聲波傳感器和電源電路以及其他電路構(gòu)成。控制小車在尋軌區(qū)能夠沿黑線行駛,并能在相應(yīng)的區(qū)域加/減速,進(jìn)入尋光區(qū)后開(kāi)始在光源的引導(dǎo)下到達(dá)終止線停止。同時(shí),在小車行駛過(guò)程中車首點(diǎn)陣式液晶滾動(dòng)顯示字幕,實(shí)時(shí)顯示小車行駛的時(shí)間及路程。
中圖分類號(hào): TP29
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)07-0047-03
Design of intelligent track-seeking dolly based on SoPC
Ji Jinshui,Liu Caihong
Northwest Minorities University,Lanzhou 730000,China
Abstract: This design takes the Cyclone series FPGA CMOS chip—EP1C12Q240C8 as control unit. The Cyclone belongs to SoPC Series—E-Play1c12. Besides, the system also includes DC electric machineries, photo electricity sensors, ultrasonic sensors, power supply circuits and other circuits. The dolly is controlled to locomote along the black line in track-seeking zone and to accelerate or decelerate in special zone. In the light-seeking zone, the dolly is guided by lamp-house to locomote and stops at the end line. Meanwhile, the lattice LCD located in the head of the dolly shows the time and distance of the locomotion.
Key words : FPGA;SoPC;photo electricity sensor;test signal

     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ā)展性和前瞻性,被稱為“半導(dǎo)體產(chǎn)業(yè)的未來(lái)”[3-4]。

1 系統(tǒng)總體設(shè)計(jì)方案
    系統(tǒng)設(shè)計(jì)要求小車由起始端出發(fā)沿黑線行駛,在測(cè)到第一條黑線后有明顯的加速,測(cè)到第二條黑線后有明顯的減速,測(cè)到第三條黑線后開(kāi)始尋光,測(cè)到第四條黑線后停止。在行駛過(guò)程中,車首液晶顯示屏實(shí)時(shí)顯示小車運(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]。
    比較兩種方案,為使小車平穩(wěn)運(yùn)行且功能更加智能化,選擇了方案2。
    系統(tǒng)整體框圖如圖1所示,主要由控制核心FPGA、尋軌電路、尋光電路、測(cè)障電路、液晶顯示模塊、電機(jī)驅(qū)動(dòng)電路、LED指示燈指示模塊、語(yǔ)音提示模塊和點(diǎn)陣顯示模塊組成[6]。

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所示。

2.3 電機(jī)驅(qū)動(dòng)電路
    小車采用雙輪驅(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)。

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

 

 

    (1)尋軌模塊:在黑線數(shù)為0、1、2時(shí)執(zhí)行此模塊。當(dāng)車底左端的傳感器檢測(cè)到黑線時(shí),小車的左輪停止轉(zhuǎn)動(dòng),右輪按原速轉(zhuǎn)動(dòng);若右端的傳感器檢測(cè)到黑線,則反之。當(dāng)黑線數(shù)為0、2時(shí)小車為減速狀態(tài),通過(guò)對(duì)電機(jī)驅(qū)動(dòng)芯片L293D的控制引腳輸出占空比為25%的方波信號(hào)實(shí)現(xiàn)。當(dāng)黑線數(shù)為1時(shí),小車運(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),小車左拐,反之右拐。
    (3)路程測(cè)量模塊:在小車的車輪上有黑、白相間且間距相同的扇形花紋,當(dāng)車輪轉(zhuǎn)動(dòng)時(shí)車輪內(nèi)側(cè)的光電傳感器產(chǎn)生高低變化的電信號(hào),經(jīng)過(guò)比較器比較產(chǎn)生脈沖信號(hào),控制芯片通過(guò)對(duì)脈沖計(jì)數(shù)并與標(biāo)定的數(shù)值相乘得出小車行駛的路程。
    (4)LED指示燈指示模塊,車首兩端分別有3個(gè)顏色分別為紅、黃、綠的LED指示燈指示小車的速度,綠燈亮?xí)r小車行駛在高速區(qū),黃燈亮?xí)r小車行駛在低速區(qū),紅燈亮?xí)r小車到達(dá)終點(diǎn)停止。車前部?jī)蓚?cè)各有一個(gè)LED指示燈指示小車拐動(dòng)方向,左拐時(shí)左燈亮,右拐時(shí)右燈亮。車尾有4個(gè)LED指示燈指示小車已測(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<=&prime;1&prime;;
                    END IF;
                ELSE
                    m1:=m1+1;
                END IF;
            ELSE
                m1:=0;
                IF m2=8190 THEN
                    m2:=0;
                    r1<=&prime;0&prime;;
                ELSE
                    m2:=m2+1;
                END IF;
            END IF;
            END IF;
        END PROCESS;
5 仿真測(cè)試
    仿真測(cè)試時(shí)序如圖7所示。其中,A所指示的位置為車底的兩個(gè)光電傳感器同時(shí)檢測(cè)到黑線,經(jīng)過(guò)去抖處理后黑線數(shù)目加1;B所指示的區(qū)域?yàn)楦咚賲^(qū),小車高速行駛在此區(qū)域,當(dāng)車底一側(cè)的光電傳感器檢測(cè)到黑線時(shí),小車相應(yīng)地調(diào)整軌跡使其沿黑線行駛;C所指示的區(qū)域?yàn)闇p速區(qū),小車在此區(qū)域中行駛的速度較慢,約為高速區(qū)的1/4,此區(qū)域中存在很多彎道,當(dāng)車底一側(cè)的光電傳感器檢測(cè)到黑線時(shí),小車也相應(yīng)地調(diào)整軌跡沿黑線行駛;D所指示的區(qū)域?yàn)閷す鈪^(qū),小車進(jìn)入此區(qū)域后立刻開(kāi)始尋光并朝光線較強(qiáng)的方向行駛,小車在此區(qū)域中的速度與低速區(qū)相同;E所指示的位置為終點(diǎn),當(dāng)小車檢測(cè)到終點(diǎn)線后停止運(yùn)行。由仿真圖可知,小車在理想情況下可順利地通過(guò)高速尋軌區(qū)、低速尋軌區(qū)、尋光區(qū),并在檢測(cè)到終點(diǎn)線后停止運(yùn)行。

    FPGA的運(yùn)算速度非常快,保證了小車的平穩(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] 周渝斌.基于FPGA+DSP的智能車全景視覺(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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。