新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM和FPGA的智能小車監(jiān)控系統(tǒng)

基于ARM和FPGA的智能小車監(jiān)控系統(tǒng)

作者: 時(shí)間:2010-10-15 來(lái)源:網(wǎng)絡(luò) 收藏


2.2 網(wǎng)絡(luò)傳輸模塊電路設(shè)計(jì)
網(wǎng)絡(luò)傳輸模塊選用DAVICOM公司推出的一款高速以太網(wǎng)接口芯片DM9000A,內(nèi)部集成10/100M物理層接口,16 KB SRAM用作接收發(fā)送的F-IFO緩存,支持8/16 b內(nèi)存數(shù)據(jù)存取接口。
S3C2440A內(nèi)部沒(méi)有專用以太網(wǎng)控制器,需要外部總線外掛一個(gè)以太網(wǎng)控制器,才能實(shí)現(xiàn)S3C2440A連接以太網(wǎng)的需要,該系統(tǒng)選用DM9000A作為以太網(wǎng)的物理層接口。DM9000A與S3C2440A的連接比較簡(jiǎn)單,如圖4所示。S3C2440A數(shù)據(jù)總線DATA0~DATA15與芯片的SD0~SD15連接;地址線ADDR2與芯片的CMD連接;片選線nGCS3與芯片nCS的相連;9號(hào)外中斷與芯片的INT相連。DM9000A以太網(wǎng)控制器的工作基址為0x300,而S3C2440A的地址線ADDR2與芯片的命令/數(shù)據(jù)使能端CMD相連,所以對(duì)其進(jìn)行操作時(shí)的地址是0x300(地址端口)或0x304(數(shù)據(jù)端口)。
2.3 運(yùn)動(dòng)控制電路設(shè)計(jì)
速度采集模塊由紅外傳感器和脈沖整形電路組成,經(jīng)整形后的脈沖送往ARM中斷進(jìn)行脈沖捕獲。運(yùn)動(dòng)控制模塊選用型號(hào)為RS-380SH的直流電機(jī)控制車模的前進(jìn)或后退,選用型號(hào)為FUTABA-S3010的舵機(jī)控制車模的轉(zhuǎn)向,電機(jī)驅(qū)動(dòng)芯片選用L298N實(shí)現(xiàn)對(duì)電機(jī)調(diào)速、正反轉(zhuǎn)的控制。


該系統(tǒng)運(yùn)動(dòng)控制包括電機(jī)控制和舵機(jī)控制兩部分。電機(jī)控制如圖5所示,PWM1,PWM2用于控制電機(jī)的轉(zhuǎn)速,IN11,IN12,IN21,IN22用于控制電機(jī)正反轉(zhuǎn)。舵機(jī)控制電路簡(jiǎn)單,外接有3根線,紅色為電源線,黑色為地線,另外一個(gè)為PWM信號(hào)輸入線。兩者的主要控制信號(hào)是PWM信號(hào),S3C2440A發(fā)送命令控制FPGA輸出占空比可調(diào)的PWM信號(hào)。舵機(jī)PWM信號(hào)的周期固定為20 ms,脈寬分布在1~2 ms之間,因此選定PWM信號(hào)頻率為50 Hz,占空比固定在5%~10%之間。直流電機(jī)PWM信號(hào)頻率選定10 kHz,占空比可在0%~100%波動(dòng),當(dāng)IN11=1,IN12=0,電機(jī)正轉(zhuǎn)且轉(zhuǎn)速隨PWM1信號(hào)的占空比不同而變化,當(dāng)IN11=0,IN12=1,電機(jī)反轉(zhuǎn)且轉(zhuǎn)速也隨著PWM1信號(hào)占空比變化。

3 系統(tǒng)軟件設(shè)計(jì)
3.1 圖像采集驅(qū)動(dòng)開(kāi)發(fā)

該系統(tǒng)圖像采集模塊硬件電路由CMOS圖像傳感器芯片和S3C2440A的CAMIF單元組成。為此在編寫圖像采集驅(qū)動(dòng)程序時(shí),就需要對(duì)圖像傳感器芯片的寄存器和S3C2440A的CAMIF單元的寄存器同時(shí)配置,否則就得不到正常圖像。S3C2440A以I2C總線的方式對(duì)CMOS圖像傳感器芯片的寄存器進(jìn)行配置。
在WinCE下,圖像采集驅(qū)動(dòng)是基于流接口設(shè)計(jì)的。首先在CIS_Init函數(shù)下對(duì)相機(jī)接口的寄存器進(jìn)行配置,主要配置功能包括:設(shè)置相機(jī)接口輸出時(shí)鐘;設(shè)置圖像輸入輸出格式;設(shè)置裁剪圖像偏移量;設(shè)置幀緩沖區(qū)中圖像像素大小;設(shè)置編碼通道和預(yù)覽通道幀緩沖區(qū)起始地址。然后S3C2440A以I2C總線方式對(duì)OV9650的寄存器進(jìn)行配置,需要注意的是相機(jī)接口的配置功能要和OV9650的配置功能完全一致,否則采集不到圖像,兩者之間通信協(xié)議如圖6所示。最后利用API函數(shù)CreateThread()創(chuàng)建中斷服務(wù)線程。


中斷服務(wù)線程函數(shù)負(fù)責(zé)具體的中斷操作,在該線程函數(shù)內(nèi)利用CreateEent()函數(shù)創(chuàng)建CAMIF單元的中斷事件。然后調(diào)用InterruptInitia-lize()函數(shù)將該中斷事件與CAMIF單元的邏輯中斷相關(guān)聯(lián)。最后調(diào)用Wait For SingleObject()等待中斷事件的到來(lái),當(dāng)中斷到來(lái)時(shí),將讀取事件置位,在應(yīng)用程序中即可利用ReadFile()函數(shù)讀取YCbCr數(shù)據(jù),為圖像壓縮提供數(shù)據(jù)源。



關(guān)鍵詞: 收發(fā)器

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉