日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]傳統(tǒng)智能小車,特別是嵌入式系統(tǒng),一般都是基于單片機(jī)或者ARM的嵌入式系統(tǒng),基本上都由軟件系統(tǒng)和硬件系統(tǒng)組成的,硬件系統(tǒng)方面,跟傳統(tǒng)的搭建硬件環(huán)境一樣,只能做相對裁剪和功能拓展,但是,本項目的課題是通過xilinx的FPGA開發(fā)板搭建嵌入式的硬件環(huán)境,從最小系統(tǒng)到IP核的添加,都是根據(jù)需要進(jìn)行拓展的,實現(xiàn)一對一的拓展,不浪費(fèi)資源,而且基于F

前言

傳統(tǒng)智能小車,特別是嵌入式系統(tǒng),一般都是基于單片機(jī)或者ARM的嵌入式系統(tǒng),基本上都由軟件系統(tǒng)和硬件系統(tǒng)組成的,硬件系統(tǒng)方面,跟傳統(tǒng)的搭建硬件環(huán)境一樣,只能做相對裁剪和功能拓展,但是,本項目的課題是通過xilinx的FPGA開發(fā)板搭建嵌入式的硬件環(huán)境,從最小系統(tǒng)到IP核的添加,都是根據(jù)需要進(jìn)行拓展的,實現(xiàn)一對一的拓展,不浪費(fèi)資源,而且基于FPGA的嵌入式系統(tǒng)的最大有優(yōu)點(diǎn)是,既有PFGA的并行執(zhí)行效率,又有嵌入式軟件的邏輯過程分析控制。

總體方案設(shè)計

圖1 系統(tǒng)硬件結(jié)構(gòu)框圖

使用Spartan-6的XC6SLX16 CSQ234 作為主控制器,傳感器使用攝像頭ov6620圖像采集模塊(兼測路徑),使用超聲波模塊(HCSR04)測距,由于兩者具有互補(bǔ)特性,所以能夠很好的控制小車的運(yùn)行狀態(tài),采用模糊算法計算出電機(jī)所需要的轉(zhuǎn)速,和舵機(jī)的轉(zhuǎn)角,從而實現(xiàn)穩(wěn)步漸進(jìn)。

1主控制器的選擇

解決方案:采用可編程邏輯器件FPGA作為控制器。FPGA可以實現(xiàn)復(fù)雜的邏輯功能,規(guī)模大,密度高,體積小,穩(wěn)定性高,IO資源豐富,易于外圍功能擴(kuò)展,隨著FPGA的成本逐步降低,而且基于FPGA的嵌入式系統(tǒng)的搭建也成為可行,既有傳統(tǒng)嵌入式的軟件靈活性,也有FPGA的并行快速執(zhí)行效率。

綜上所述,我們選用的Nexys3 Spartan-6作為系統(tǒng)的主控制器。

2電源穩(wěn)壓芯片的選擇

本系統(tǒng)中,Spartan-6主控制器。

解決方案:由于直流電機(jī)的功耗大,決定采用7.2V,2000mAh的電池為供電源,采用LM25xx系列單片集成開關(guān)電源作為降壓芯片,可以提供大功率的輸出,轉(zhuǎn)換效率高,性能穩(wěn)定。

3電機(jī)驅(qū)動選擇

解決方案:采用BTS7960B搭建全橋驅(qū)動,可以滿足大功率的輸出,分別驅(qū)動兩個電機(jī)。

驅(qū)動模塊電路

攝像頭模塊的選擇

方案:采用數(shù)字?jǐn)z像頭ov6620,控制簡單,價格合適,信號穩(wěn)定。

系統(tǒng)硬件設(shè)計1車體模型

實物如下圖所示。


圖2 車體實際模型

攝像頭尋找黑線,指引小車循跡,超聲波測距,指引小車自控速度。

2電源

其原理圖如圖三所示:

7.2V的輸入,穩(wěn)定輸出5V

3Ov6620攝像頭傳感器模塊

OV6620 時序分析

OV6620的同步信號時序如下:場同步信號VSYN 為兩個正脈沖之間掃描一幀的定時,即

完整的一幀圖像在兩個正脈沖之間;行同步信號HREF 掃描該幀圖像中各行像素的定時,

即高電平時為掃描一行像素的有效時間;像素同步信號 PCLK為讀取有效像素值提供同步信

號,高電平時輸出有效圖像數(shù)據(jù)。下圖為OV6620 VSYN、HREF、PCLK三個同步信號之

間的時序關(guān)系:

VYNSC是判斷是否一幅圖像開始,周期是 20ms, 其中高電平持續(xù)時間很短;HREF 是判

斷是否一行圖像的開始,周期是 63us 左右,其中高電平持續(xù)時間為 40US,低電平持續(xù)

時間 23US,那么我們對照時序圖可以計算一下 OV6620 的分辨率:20ms/63us=317,

當(dāng)然實際上沒有這么多,消隱和無效信號去掉之后只有 292行;有效的灰度數(shù)據(jù)是在行中

斷之后的上升沿內(nèi),所以不要在行中斷后的 23US 后采集。計算一下一行 OV6620 有多

少個點(diǎn): 40us/110ns=363, 消隱和無效信號去掉之后只有 356 個點(diǎn)。足以證明

OV6620的分辨率為 356*292。通過示波器觀察,PCLK 的周期只有 150ns,依照單片

機(jī)的總線,根本無法捕捉到這個信號,此時PCLK 的波形已經(jīng)變?yōu)榧獠?,完全沒有意義捕捉

這個信號,采集圖像時盡快地一個點(diǎn)一個點(diǎn)的取就行了。

4直流電機(jī)驅(qū)動

系統(tǒng)中采用了BTS7960B搭建全橋驅(qū)動,可以滿足大功率的輸出,分別驅(qū)動兩個電機(jī)。

BTS7960B 的芯片內(nèi)部為一個半橋。INH引腳為高電平,使能BTS7960。IN引腳用于確定哪個MOSFET 導(dǎo)通。IN=1 且INH=1 時,高邊MOSFET 導(dǎo)通,OUT 引腳輸出高電平;IN=0 且INH=1 時,低邊MOSFET 導(dǎo)通,OUT 引腳輸出低電平。SR 引腳外接電阻的大小,可以調(diào)節(jié)MOS管導(dǎo)通和關(guān)斷的時間,具有防電磁干擾的功能。

3.5下圖是由FPGA構(gòu)建的最小嵌入式系統(tǒng),是根據(jù)xilinx官方的EDK要求搭建的。

最小系統(tǒng)

4系統(tǒng)軟件設(shè)計

軟件設(shè)計主要分為三部分,第一部分是最小系統(tǒng)的搭建(軟件初始化),第二部分是外部硬件的驅(qū)動,第三部分是核心算法。

1最小系統(tǒng)的搭建(軟件初始化):

利用EDK工具,搭建最小的嵌入式系統(tǒng)。

2外部硬件驅(qū)動:

外部硬件驅(qū)動,選擇以IP核的形式添加到最小系統(tǒng)歷來,用硬件描述語言編寫驅(qū)動核心代碼,然后軟件通過寄存器驅(qū)動外部硬件。

3核心算法:

這部分是整個系統(tǒng)的核心,它的結(jié)構(gòu)框圖如下圖所示:

圖10 軟件結(jié)構(gòu)框圖

5系統(tǒng)調(diào)試和測試

調(diào)試過程:

5.1硬件平臺的方案測試

在EDK設(shè)計中,可以新建測試代碼,自動生成測試代碼,通過串口打印驗證結(jié)果。

5.2 超聲波模塊的使用

在增加IP核過程中,需要根據(jù)超聲波的時序要求,用硬件描述語言描述驅(qū)動的過程。

process(Bus2IP_Clk,slv_reg1,the_end)

begin

if slv_reg1=x"00000000" then

counter<=x"00000000";

chao_out <= '0';

div_clk<='0';

elsif rising_edge(Bus2IP_Clk) then

if the_end <= '1' then

chao_out <= '1';

counter<=counter+1;

if(counter=x"1F4") then

counter<=x"00000000";

chao_out <= '0';

div_clk<='1';

end if;

end if;

end if;

end process;

-- implement slave model software accessible register(s) read mux

SLAVE_REG_READ_PROC : process( Bus2IP_Resetn,slv_reg_read_sel, slv_reg0, slv_reg1,Bus2IP_Clk,div_clk ) is

begin

case slv_reg_read_sel is

when "10" =>

if Bus2IP_Resetn = '0' then

timer_count <= x"00000000";

the_end <= '0';

elsif div_clk='1' then

if slv_chao_in='1' then

the_end <= '0';

timer_count <= timer_count + 1;

else

slv_ip2bus_data <= timer_count; --slv_reg0;

the_end <= '1';

timer_count <= x"00000000";

end if;

else

slv_ip2bus_data <= slv_reg0;

end if;

when "01" => slv_ip2bus_data <= slv_reg1;

when others => slv_ip2bus_data <= (others => '0');

end case;

end process SLAVE_REG_READ_PROC;

5.3 PWM模塊的調(diào)試

由于需要兩路的PWM來分別操作舵機(jī)和直流電機(jī),所有PWM的調(diào)試時至關(guān)重要的。

代碼如下:

int main()

{

unsigned long i,j;

//close PWM

PWM_IP_mWriteSlaveReg1(XPAR_PWM_IP_0_BASEADDR,0,0x00); //PWM0

PWM_IP_mWriteSlaveReg1(XPAR_PWM_IP_1_BASEADDR,0,0x00); //PWM1

for(i=0;i<=99999;i++);

PWM_deal(0x2E);

while(1)

{

PWM_deal(0x2E);

delay(60);

PWM_deal(0x38);

delay(60);

PWM_deal(0x2E);

delay(60);

PWM_deal(0x24);

delay(60);

}

return 0;

}

void PWM_deal(unsigned char reg0)

{

//PWM0 舵機(jī)

//PWM 頻率

PWM_IP_mWriteSlaveReg1(XPAR_PWM_IP_0_BASEADDR,0,0x1F4);

//PWM 占空比

PWM_IP_mWriteSlaveReg0(XPAR_PWM_IP_0_BASEADDR,0,reg0);

//PWM1 直流電機(jī)

PWM_IP_mWriteSlaveReg1(XPAR_PWM_IP_1_BASEADDR,0,0x1F4); //

PWM_IP_mWriteSlaveReg0(XPAR_PWM_IP_1_BASEADDR,0,reg0); //slv_reg0

}

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉