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

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

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

標(biāo)簽 > OV7620

OV7620

+關(guān)注 0人關(guān)注

ov7620是一款CMOS攝像頭器件,是彩色CMOS型圖像采集集成芯片,提供高性能的單一小體積封裝,該器件分辨率可以達(dá)到640X480,傳輸速率可以達(dá)到30幀。

文章: 4 個(gè)
瀏覽: 30242
帖子: 8 個(gè)

OV7620簡(jiǎn)介

  ov7620是一款CMOS攝像頭器件,是彩色CMOS型圖像采集集成芯片,提供高性能的單一小體積封裝,該器件分辨率可以達(dá)到640X480,傳輸速率可以達(dá)到30幀。

  OV7620

  HQ7620攝像頭模塊是基于Omnivision公司的CMOS圖像傳感器--- OV7620的方案設(shè)計(jì);1/3英寸數(shù)字式CMOS圖像傳感器OV7620,總有效像素單元為664(水平方向)×492(垂直方向)像素;內(nèi)置10位雙通道A/D轉(zhuǎn)換器,輸出8位圖像數(shù)據(jù);具有自動(dòng)增益和自動(dòng)白平衡控制,能進(jìn)行亮度、對(duì)比度、飽和度、γ校正等多種調(diào)節(jié)功能;其視頻時(shí)序產(chǎn)生電路可產(chǎn)生行同步、場(chǎng)同步、混合視頻同步等多種同步信號(hào)和像素時(shí)鐘等多種時(shí)序信號(hào);5V電源供電,工作時(shí)功耗《120mW,待機(jī)時(shí)功耗《10μW??蓱?yīng)用于數(shù)碼相機(jī)、電腦攝像頭、可視電話、第三代網(wǎng)絡(luò)攝像機(jī)、手機(jī)、智能型安全系統(tǒng)、汽車倒車?yán)走_(dá)、玩具,以及工業(yè)、醫(yī)療等多種用途。OV7620是1/3”CMOS彩色/黑白圖像傳感器。它支持連續(xù)和隔行兩種掃描方式,VGA與QVGA兩種圖像格式;最高像素為664×492,幀速率為30fps;數(shù)據(jù)格式包括YUV、YCrCb、RGB三種,能夠滿足一般圖像采集系統(tǒng)的要求。

OV7620百科

  ov7620是一款CMOS攝像頭器件,是彩色CMOS型圖像采集集成芯片,提供高性能的單一小體積封裝,該器件分辨率可以達(dá)到640X480,傳輸速率可以達(dá)到30幀。

  OV7620

  HQ7620攝像頭模塊是基于Omnivision公司的CMOS圖像傳感器--- OV7620的方案設(shè)計(jì);1/3英寸數(shù)字式CMOS圖像傳感器OV7620,總有效像素單元為664(水平方向)×492(垂直方向)像素;內(nèi)置10位雙通道A/D轉(zhuǎn)換器,輸出8位圖像數(shù)據(jù);具有自動(dòng)增益和自動(dòng)白平衡控制,能進(jìn)行亮度、對(duì)比度、飽和度、γ校正等多種調(diào)節(jié)功能;其視頻時(shí)序產(chǎn)生電路可產(chǎn)生行同步、場(chǎng)同步、混合視頻同步等多種同步信號(hào)和像素時(shí)鐘等多種時(shí)序信號(hào);5V電源供電,工作時(shí)功耗《120mW,待機(jī)時(shí)功耗《10μW??蓱?yīng)用于數(shù)碼相機(jī)、電腦攝像頭、可視電話、第三代網(wǎng)絡(luò)攝像機(jī)、手機(jī)、智能型安全系統(tǒng)、汽車倒車?yán)走_(dá)、玩具,以及工業(yè)、醫(yī)療等多種用途。

  OV7620是1/3”CMOS彩色/黑白圖像傳感器。它支持連續(xù)和隔行兩種掃描方式,VGA與QVGA兩種圖像格式;最高像素為664×492,幀速率為30fps;數(shù)據(jù)格式包括YUV、YCrCb、RGB三種,能夠滿足一般圖像采集系統(tǒng)的要求。

  基本參數(shù):

  大 ?。?3x27x24(mm)電 源:DC+5V ±5%掃描方式:逐行/隔行掃描最低照度:2.5 lux at f1.4 (3000k)信 噪 比:》 48 dB最大像素:(H)664 x (V)492; 缺省有效像素:(H)640 x (V)480數(shù)據(jù)輸出格式:YCrCb 16bit/8bit selectable60Hz 16 Bit YCrCb 4:2:2 - 640x48060Hz 8 Bit YCrCb 4:2:2 - 640x480RGB Raw Data Digital Output 16Bit/8Bit selectableCCIR601, CCIR656, ZV 端口:支持8/16 位視頻數(shù)據(jù)SCCB接口:最大速率支持400 kBit/sYCrCB或YUV輸出格式:支持TV或監(jiān)視器顯示

  OV7620掃描方式

  OV7620是CMOS彩色/黑白圖像傳感器。它支持連續(xù)和隔行兩種掃描方式,VGA與QVGA兩種圖像格式;最高像素為664492,幀速率為30fp8;數(shù)據(jù)格式包括YUV、YCrCb、RGB三種,能夠滿足一般圖像采集系統(tǒng)的要求。OV7620內(nèi)部可編程功能寄存器的設(shè)置有上電模式和SCCB編程模式。OV7620的控制采用SCCB(SeriaI Camera ControlBus)協(xié)議。SCCB是簡(jiǎn)化的I2C協(xié)議,SIO-l是串行時(shí)鐘輸入線,SIO-O是串行雙向數(shù)據(jù)線,分別相當(dāng)于I2C協(xié)議的SCL和SDA。SCCB的總線時(shí)序與I2C基本相同,它的響應(yīng)信號(hào)ACK被稱為一個(gè)傳輸單元的第9位,分為Don’t care和NA。Don’t care位由從機(jī)產(chǎn)生;NA位由主機(jī)產(chǎn)生,由于SCCB不支持多字節(jié)的讀寫(xiě),NA位必須為高電平。另外,SCCB沒(méi)有重復(fù)起始的概念,因此在SCCB的讀周期中,當(dāng)主機(jī)發(fā)送完片內(nèi)寄存器地址后,必須發(fā)送總線停止條件。不然在發(fā)送讀命令時(shí),從機(jī)將不能產(chǎn)生Don’t care響應(yīng)信號(hào)。由于I2C和SCCB的一些細(xì)微差別,所以采用GPIO模擬SCCB總線的方式。SCL所連接的引腳始終設(shè)為輸出方式,而SDA所連接的引腳在數(shù)據(jù)傳輸過(guò)程中,通過(guò)設(shè)置IODIR的值,動(dòng)態(tài)改變引腳的輸入/輸出方式。SCCB的寫(xiě)周期直接使用I2C總線協(xié)議的寫(xiě)周期時(shí)序;而SC-CB的讀周期,則增加一個(gè)總線停止條件。OV7620功能寄存器的地址為0x00~0x7C(其中,不少是保留寄存器)。通過(guò)設(shè)置相應(yīng)的寄存器,可以使OV7620工作于不同的模式。例如,設(shè)置OV7620為連續(xù)掃描、RGB原始數(shù)據(jù)16位輸出方式,需要進(jìn)行如下設(shè)置:I2CSendByte()為寫(xiě)寄存器函數(shù),它的第1個(gè)參數(shù)OV7620為宏定義的芯片地址0x42,第2個(gè)參數(shù)為片內(nèi)寄存器地址,第3個(gè)參數(shù)為相應(yīng)的寄存器設(shè)定值。OV7620有4個(gè)同步信號(hào):VSYNC(垂直同步信號(hào))、FODD(奇數(shù)場(chǎng)同步信號(hào))、HSYNC(水平同步信號(hào))和PCLK(像素同步信號(hào))。當(dāng)采用連續(xù)掃描方式時(shí),只使用VSYNC和HSYNC、PCLK三個(gè)同步信號(hào),還引入了HREF水平參考信號(hào)。LPC2210的3個(gè)外部中斷引腳分別作為3個(gè)同步信號(hào)的輸入,相應(yīng)的中斷服務(wù)程序分別為Vsync_IRQ()、Hsync_IRQ()和Pclk_IRQ()。在內(nèi)存中定義一個(gè)二維數(shù)組存儲(chǔ)圖像數(shù)據(jù),一維用變量y表示,用于水平同步信號(hào)計(jì)數(shù);二維用變量x表示,用于像素同步信號(hào)計(jì)數(shù)。圖像采集的基本流程當(dāng)用SCCB初始化好OV7620后,使能VSYNC對(duì)應(yīng)的中斷,在Vsync_IRQ()中斷服務(wù)程序中判斷是否已取得一幀數(shù)據(jù)。若是,則在主程序的循環(huán)體中進(jìn)行數(shù)據(jù)處理;若不是,則使能HSYNC對(duì)應(yīng)的中斷,并將y置為O。在Hsync_IRQ()中斷服務(wù)程序中,判斷HREF的有效電平,若有效,則y加1,x置為O,并使能PCLK對(duì)應(yīng)的中斷。在Pclk_IRQ()中斷服務(wù)程序中,判斷HREF的有效電平,若有效,則z增加,同時(shí)采集一個(gè)像素點(diǎn)的圖像數(shù)據(jù)。在OV7620的3個(gè)同步信號(hào)中,PCLK的周期最短。當(dāng)OV7620使用27 MHz的系統(tǒng)時(shí)鐘時(shí),默認(rèn)的PCLK的周期為74 ns。而LPC2210的中斷響應(yīng)時(shí)間遠(yuǎn)遠(yuǎn)大于這個(gè)值。LPC2210的最大中斷延遲時(shí)問(wèn)為27個(gè)處理器指令周期,最小延遲時(shí)問(wèn)為4個(gè)指令周期,再加上中斷服務(wù)時(shí)間、現(xiàn)場(chǎng)恢復(fù)時(shí)間等,完成一次中斷響應(yīng)的時(shí)問(wèn)要大于7~30個(gè)指令周期。當(dāng)LPC2210使用最高系統(tǒng)頻率60 MHz時(shí),它的中斷響應(yīng)時(shí)間遠(yuǎn)大于O.2~0,6 μs,所以只能將OV7620的PCLK降頻。通過(guò)設(shè)置時(shí)鐘頻率控制寄存器,可將PCLK的周期設(shè)為4μs左右。

  OV7620作為主設(shè)備的工作方式

  當(dāng)OV7620工作于主設(shè)備方式時(shí),它的YUV通道將連續(xù)不斷地向總線上輸出數(shù)據(jù)。如果將OV7620的YUV通道直接接在LPC2210的DO~D15數(shù)據(jù)總線上,則會(huì)干擾數(shù)據(jù)總線,使LPC2210不能正常運(yùn)行;如果使用74HC244等隔離,分時(shí)使用數(shù)據(jù)總線的方法,則會(huì)大大降低系統(tǒng)的運(yùn)行速度,使得LPC2210不能及時(shí)取走總線上的數(shù)據(jù),造成圖像數(shù)據(jù)不完整。由于LPC2210的數(shù)據(jù)總線寬度為32位,而Flash和SRAM僅占用了低16位數(shù)據(jù)線D0~D15,因此可以采用圖l中的方法,將空閑的高16位數(shù)據(jù)線D16~D31設(shè)為GPIO,用于采集OV7620輸出的16位圖像數(shù)據(jù)。OV7620采用16位輸出方式時(shí),Y通道和UV通道的數(shù)據(jù)輸出格式如表l所列。從表l中可以看出,每一行Y通道和UV通道交替輸出上一行的重復(fù)數(shù)據(jù)和本行的新數(shù)據(jù)。而在一行之內(nèi),B數(shù)據(jù)只在奇數(shù)列出現(xiàn),R數(shù)據(jù)只在偶數(shù)列出現(xiàn)。

  OV7620應(yīng)用舉例

  下面以一個(gè)55的像素點(diǎn)陣為例,詳細(xì)介紹圖像數(shù)據(jù)的恢復(fù)。首先定義一個(gè)515的字節(jié)型數(shù)組,在Pclk_IRQ()中斷服務(wù)程序中讀取55個(gè)像素點(diǎn)的圖像數(shù)據(jù);然后對(duì)圖像數(shù)據(jù)進(jìn)行插值,奇數(shù)點(diǎn)則在數(shù)組的連續(xù)3個(gè)字節(jié)中存入B、G、0,偶數(shù)點(diǎn)則存入O、G、R;最后對(duì)當(dāng)前行的每一個(gè)字節(jié)與下一行對(duì)應(yīng)列的每一個(gè)字節(jié)求平均值,即可算出當(dāng)前行的RGB值。而在每一行內(nèi),奇數(shù)點(diǎn)的R數(shù)據(jù)和偶數(shù)點(diǎn)的B數(shù)據(jù)可通過(guò)分別對(duì)其兩側(cè)的2個(gè)點(diǎn)的R和B數(shù)據(jù)求平均值得到。這樣,一幅圖像就恢復(fù)好了??梢灾苯哟娉啥M(jìn)制文件(本系統(tǒng)采用串口輸出到PC進(jìn)行顯示),或者增加BMP位圖文件頭信息,存成biBitCouNt=24的DIB位圖文件;也可用LPC2210對(duì)此圖像數(shù)據(jù)進(jìn)行進(jìn)一步的處理,如指紋識(shí)別等。如果采用帶有DMA控制器,并且具有更高處理速度的ARM芯片,可大大提高整個(gè)圖像采集系統(tǒng)的速度。例如,采用具有ARM9內(nèi)核的S3C2410,其最高系統(tǒng)頻率達(dá)203 MHz,完成一次DMA傳送的時(shí)間約為30 ns。小于默認(rèn)的PCLK的周期74 ns,可以實(shí)現(xiàn)30 fps的圖像采集速度。 與搭配OV511+或CPLD/FPGA的圖像采集系統(tǒng)相比,此圖像采集系統(tǒng)極大地簡(jiǎn)化了系統(tǒng)結(jié)構(gòu),降低了系統(tǒng)設(shè)計(jì)成本,縮短了開(kāi)發(fā)周期;圖像數(shù)據(jù)的采集與處理均由ARM芯片完成,因而降低了數(shù)據(jù)中轉(zhuǎn)過(guò)程中傳輸錯(cuò)誤的幾率,提高了系統(tǒng)的可靠性。

  OV7620的使用

  有人會(huì)奇怪為什么使用OV系列的攝像頭每次都要進(jìn)行SCCB的操作呢?難道它自己不會(huì)保存上次的操作結(jié)果嗎?

  原因是:OV系列的攝像頭的寄存器是EEPROM,不穩(wěn)定,數(shù)據(jù)很容易丟失,因此程序每次初始化時(shí)我們都要重新寫(xiě)入寄存器設(shè)置。

  PS:常見(jiàn)需要修改的寄存器有,PCLK速率,幀率、圖像亮度、對(duì)比度、色飽和度、鏡像等功能。

  智能車攝像頭組的初期學(xué)習(xí)中,雖然有不少攝像頭優(yōu)于OV7620,但是相信大部分的車友第一個(gè)接觸的都是OV7620。下面從其特性和性能等角度,剖析攝像頭的特點(diǎn)。

  攝像頭的輸出格式有RGB565,YUY422等格式,我所接觸的第一個(gè)攝像頭OV7620的輸出格式是YUV422。下面給大家介紹一下YUV422。

  什么是YUV422?

  人的眼睛對(duì)低頻信號(hào)比對(duì)高頻信號(hào)具有更高的敏感度,事實(shí)上,人的眼睛對(duì)明視度的改變比對(duì)色彩的改變要敏感的多。因此,人們將RGB三色信號(hào)改為YUV來(lái)表示,其中Y為灰度,UV為色差。如果是表示一副彩色圖像,同樣的道理,YUV444是無(wú)損的存儲(chǔ)方式,但是需要3個(gè)字節(jié),存儲(chǔ)空間開(kāi)銷很大。由于Y分量比UV分量重要的多,因此人們用YUV422來(lái)表示。這樣一來(lái)圖像被壓縮了很多,一個(gè)字節(jié)就可以表示其彩色的信息。

  對(duì)于OV7620,它有2 組并行的數(shù)據(jù)口Y[7..0]和UV[7..0],其中對(duì)于數(shù)據(jù)口Y[7..0],輸出的是灰度值Y,對(duì)于UV[7..0]輸出的色度信號(hào)UV。下圖給出了k 個(gè)像素(K 個(gè)字節(jié))輸出的格式。

  

  OV762的控制采用SCCB(Serial Camera ControlBus)協(xié)議。SCCB的簡(jiǎn)化的I2C協(xié)議,SIO-I是串行時(shí)鐘輸入線,SIO-O是串行雙向數(shù)據(jù)線,分別相當(dāng)于I2C協(xié)議的SCL和SDA。SCCB的總線時(shí)序與I2C基本相同,他的響應(yīng)信號(hào)ACK被陳偉一個(gè)傳輸單元的第9位,分別Do not care和NA.Do not care位由從機(jī)產(chǎn)生;NA位由主機(jī)產(chǎn)生,由于SCCB不支持多字節(jié)的讀寫(xiě),NA位必須為高電平。另外SCCB沒(méi)有重復(fù)起始的概念,因此在SCCB的讀周期中,當(dāng)主機(jī)發(fā)送讀命令時(shí),從機(jī)將不能產(chǎn)生Do not care響應(yīng)信號(hào)。

  由于I2C和SCCB的一些細(xì)微差別,所以采用GPIO模擬SCCB總線的方式,SCL所連接的引腳始終設(shè)為輸出方式,而SDA所連接的引腳在數(shù)據(jù)傳輸過(guò)程中,通過(guò)設(shè)置IODIR的值,動(dòng)態(tài)改變引腳的輸入/輸出方式。SCCB的寫(xiě)周期直接使用I2C總線協(xié)議的寫(xiě)周期時(shí)序;而SC-CB的讀周期,則增加一個(gè)總線停止條件。

  OV7620的幾個(gè)優(yōu)點(diǎn):

  第一,OV7620的電平兼容3.3V和5V。目前智能車用戶用到的處理器基本上可以分為XS128和K60和KL25三種控制器,而這三種控制器的工作電平分別是5V和3.3V和3.3V。OV7620可以完全適應(yīng)這兩種電平,XS128和K60和KL25可以隨性切換,無(wú)需做電平匹配。(要注意的是當(dāng)OV7620接5v和3.3v的時(shí)候,輸出的效果是不同的,建議在5v的電壓下使用,因?yàn)樵?.3v的電壓下使用比較難調(diào),輸出的16進(jìn)制數(shù)據(jù)清一色偏小。)

  同樣的情況下:

  3.3V下: 5v下:

  

  第二,OV7620的幀率是60幀/s。新手學(xué)習(xí)攝像頭的時(shí)候,誤以為攝像頭幀率越快越好,其實(shí)不然。就拿OV7620來(lái)說(shuō),其PCLK(像素中斷)的周期是73ns,該頻率下的PCLK很容易被K60的IO捕捉,如果幀率更快的攝像頭,其PCLK的周期就會(huì)更小,該頻率下PCLK不易被K60的IO捕捉到。(但是鷹眼攝像頭不然,火哥的鷹眼攝像頭理論上宣傳的是150幀每秒,但是他并不是通過(guò)PCLK的周期減小從而獲得效果的,鷹眼攝像頭的高明之處在于它在硬件二值化之后,每一次PCLK中斷對(duì)外輸出了8個(gè)像素,而不是1個(gè)像素。鷹眼攝像頭已經(jīng)買來(lái)了,以后有機(jī)會(huì)會(huì)試試效果。)

  第三:OV7620的分辨率也是非常合適的,在第三篇也提到OV7620是隔行掃描,采集VSYN的話,其輸出分辨率是640*240。如果改為QVGA格式,默認(rèn)輸出分辨率是320*120,該分辨率下非常適合采集賽道,數(shù)據(jù)容量有限又不會(huì)失真圖像。(OV7620的分辨率可以通過(guò)SCCB修改,有興趣修改的可以去查看OV7620的寄存器配置,然后通過(guò)SCCB修改。)

  只有掌握了OV7620的時(shí)序,才能靈活得使用OV7620。下面開(kāi)始本篇的重點(diǎn):OV7620時(shí)序分析。

  對(duì)于OV7620,我們只關(guān)心場(chǎng)中斷信號(hào)VSYN、行中斷信號(hào)HREF、像素中斷信號(hào)PCLK的波形。用示波器去監(jiān)控這三個(gè)波形,可以看到一下關(guān)系。

  

  VSYN 的周期是16.64ms,高電平時(shí)間為換場(chǎng)時(shí)間,約80us;低電平時(shí)間內(nèi)像素輸出。我們?cè)诓杉疺SYN脈沖時(shí),既可以采集上升沿,也可以采集下降沿,采集下降沿更準(zhǔn)確些,這也是一場(chǎng)的開(kāi)始。從VSYN的周期可以算出,1s/16.64ms=60幀,OV7620的幀率是60幀/s。

  HREF的周期63.6us,高電平時(shí)間為像素輸出時(shí)間,約47us;低電平時(shí)間為換行時(shí)間,因此采集HREF一定要采集其上升沿,下降沿后的數(shù)據(jù)是無(wú)效的。從HREF的周期可以算出,16.64ms/63.6us≈261,除去期間的間隙時(shí)間,可以算出每場(chǎng)圖像有240行。

  PCLK的周期是73ns,高電平輸出像素,低電平像素?zé)o效。PCLK是一直輸出的,因此一定要在觸發(fā)VSYN并且觸發(fā)HREF以后,再去捕捉PCLK才能捕捉到像素?cái)?shù)據(jù)。從PCLK的周期可以算出,47us/73ns≈640,可以算出每行圖像中有640個(gè)像素點(diǎn)。

  介紹完基本知識(shí)之后,下面開(kāi)始寫(xiě)程序了(Keil--K60--C語(yǔ)言):

  在這我分成兩部分著重介紹7620的時(shí)序程序和貼上SCCB的協(xié)議程序(其實(shí)原理和處理情況和I2C差不多):

  First :

  首先要對(duì)使用到的一些IO口進(jìn)行初始化處理,四個(gè)部分的初始化,

  A.像素中斷PCLK

  B.行中斷HREF

  C.場(chǎng)中斷VSYNC

  D.DMA

  程序如下:

 ?。踥bjc] view plain copy//初始化OV7620模塊

  void OV7620_Init()

  {

  //像素中斷 PCLK

  GPIO_InitStruct1.GPIO_Pin = OV7620_PCLK_PIN;

  GPIO_InitStruct1.GPIO_InitState = Bit_SET;

  GPIO_InitStruct1.GPIO_IRQMode = GPIO_IT_DMA_RISING;

  GPIO_InitStruct1.GPIO_Mode = GPIO_Mode_IPD;

  GPIO_InitStruct1.GPIOx = OV7620_PCLK_PORT;

  GPIO_Init(&GPIO_InitStruct1);

  //行中斷 HREF

  GPIO_InitStruct1.GPIO_Pin = OV7620_HREF_PIN;

  GPIO_InitStruct1.GPIO_InitState = Bit_SET;

  GPIO_InitStruct1.GPIO_IRQMode = GPIO_IT_RISING;

  GPIO_InitStruct1.GPIO_Mode = GPIO_Mode_IPD;

  GPIO_InitStruct1.GPIOx = OV7620_HREF_PORT;

  GPIO_Init(&GPIO_InitStruct1);

  // 場(chǎng)中斷 VSYNC

  GPIO_InitStruct1.GPIO_Pin = OV7620_VSYNC_PIN;

  GPIO_InitStruct1.GPIO_InitState = Bit_SET;

  GPIO_InitStruct1.GPIO_IRQMode = GPIO_IT_RISING; //GPIO_IT_RISING

  GPIO_InitStruct1.GPIO_Mode = GPIO_Mode_IPD; //GPIO_Mode_IPD

  GPIO_InitStruct1.GPIOx = OV7620_VSYNC_PORT;

  GPIO_Init(&GPIO_InitStruct1);

  //配置DMA

  DMA_InitStruct1.Channelx = DMA_CH1; //DMA 1通道

  DMA_InitStruct1.PeripheralDMAReq =PORTC_DMAREQ; //C端口(PCLK) 上升呀觸發(fā)

  DMA_InitStruct1.MinorLoopLength = 170; //傳輸次數(shù) 超過(guò)攝像頭每行像素?cái)?shù)即可

  DMA_InitStruct1.TransferBytes = 1; //每次傳輸1個(gè)字節(jié)

  DMA_InitStruct1.DMAAutoClose = ENABLE; //連續(xù)采集

  DMA_InitStruct1.EnableState = ENABLE; //初始化后立即采集

  DMA_InitStruct1.SourceBaseAddr =(uint32_t)&PTD-》PDIR;//攝像頭端口接D0-D7

  DMA_InitStruct1.SourceMajorInc = 0; //地址不增加

  DMA_InitStruct1.SourceDataSize = DMA_SRC_8BIT; //8BIT數(shù)據(jù)

  DMA_InitStruct1.SourceMinorInc = 0;

  DMA_InitStruct1.DestBaseAddr =(uint32_t)DMABuffer; //DMA 內(nèi)存 //uint8_t DMABuffer[400];

  DMA_InitStruct1.DestMajorInc = 0;

  DMA_InitStruct1.DestDataSize = DMA_DST_8BIT;

  DMA_InitStruct1.DestMinorInc = 1; //每次傳輸 +1個(gè)字節(jié)

  DMA_Init(&DMA_InitStruct1);

  }

  然后開(kāi)始編寫(xiě)場(chǎng)中斷函數(shù),編寫(xiě)之前我們需要在心里理一下思緒,在場(chǎng)中斷函數(shù)里我們要按照順序,做以下幾件事情:

  A.確認(rèn)是否是場(chǎng)中斷,確認(rèn)之后進(jìn)入處理。

  B.清除標(biāo)志位Flag。(Flag是用來(lái)觀察是否處理完一場(chǎng)圖像的標(biāo)志)

  C.清除中斷標(biāo)志。

  D.計(jì)數(shù)全部清零。(因?yàn)樾碌囊粓?chǎng)已經(jīng)開(kāi)始)

  E.打開(kāi)行中斷,關(guān)閉場(chǎng)中斷。

 ?。踥bjc] view plain copyvoid PORTB_IRQHandler(void)//功 能:PORTB 外部中斷服務(wù) //V

  {

  u8 i=9;

  if((PORTB-》ISFR》》i)==1)

  {

  Flag = 0;

  PORTB-》ISFR|=(1《《9);

  Row = 0;

  Row_Num = 0;

  NVIC_EnableIRQ(PORTA_IRQn);//行

  NVIC_DisableIRQ(PORTB_IRQn);//場(chǎng)

  }

  接著編寫(xiě)行中斷函數(shù),在行中斷中,我們要做以下幾件事情:

  A.確認(rèn)是否是行中斷。

  B.關(guān)閉DMA中斷,防止提前進(jìn)入PCLK的采集。

  C.跳過(guò)消隱區(qū)。(消隱區(qū):消隱區(qū)的出現(xiàn),在電視機(jī)原理上,是因?yàn)殡娮邮Y(jié)束一行掃描,從一行尾換到另一行頭,期間的空閑期,這叫做行消隱信號(hào);同理,從一場(chǎng)尾換到另一場(chǎng)尾,期間也會(huì)有空閑期,這叫做場(chǎng)消隱信號(hào)。)

  D.進(jìn)入行采集處理。

  E.配置DMA,并且打開(kāi)DMA中斷。

  F.行計(jì)數(shù)加1,表示已經(jīng)采集完了一行。(因?yàn)镻CLK的中斷周期遠(yuǎn)遠(yuǎn)小于HREF的中斷周期,所以不需要杞人憂天,擔(dān)心中斷搞得混亂。)

  G.當(dāng)采集完了自己的目標(biāo)行數(shù)之后,標(biāo)志位Flag修改。并關(guān)閉行中斷,打開(kāi)場(chǎng)中斷,等待下一次的場(chǎng)中斷。

 ?。踥bjc] view plain copyvoid PORTA_IRQHandler(void)//功 能:PORTA 外部中斷服務(wù)//Herf

  {

  u8 i=14;

  DMA_SetEnableReq(DMA_CH1,DISABLE); //close DMA ISr

  if((PORTA-》ISFR》》i)==1);

  {

  PORTA-》ISFR|=(1《《14);

  if(Row_Num++ 》 15) //消隱區(qū)啦

  {

  if(Row_Num%5) //進(jìn)入行采集

  {

  //配置DMA

  DMA_InitStruct1.Channelx = DMA_CH1; //DMA 1通道

  DMA_InitStruct1.PeripheralDMAReq =PORTC_DMAREQ; //C端口(PCLK) 上升呀觸發(fā)

  DMA_InitStruct1.MinorLoopLength = 170; //傳輸次數(shù) 超過(guò)攝像頭每行像素?cái)?shù)即可

  DMA_InitStruct1.TransferBytes = 1; //每次傳輸1個(gè)字節(jié)

  DMA_InitStruct1.DMAAutoClose = ENABLE; //連續(xù)采集

  DMA_InitStruct1.EnableState = ENABLE; //初始化后立即采集

  DMA_InitStruct1.SourceBaseAddr =(uint32_t)&PTD-》PDIR;//攝像頭端口接D0-D7

  DMA_InitStruct1.SourceMajorInc = 0; //地址不增加

  DMA_InitStruct1.SourceDataSize = DMA_SRC_8BIT; //8BIT數(shù)據(jù)

  DMA_InitStruct1.SourceMinorInc = 0;

  DMA_InitStruct1.DestBaseAddr =(uint32_t)Image[Row]; //DMA 內(nèi)存 //uint8_t DMABuffer[400];

  DMA_InitStruct1.DestMajorInc = 0;

  DMA_InitStruct1.DestDataSize = DMA_DST_8BIT;

  DMA_InitStruct1.DestMinorInc = 1; //每次傳輸 +1個(gè)字節(jié)

  DMA_Init(&DMA_InitStruct1);

  ///////////////////////////////////////////////////////

  Row ++;

  if(Row==MAX_ROW)

  {

  Flag = 1;

  NVIC_DisableIRQ(PORTA_IRQn);//行

  NVIC_EnableIRQ(PORTB_IRQn);//場(chǎng)

  }

  }

  }

  }

  }

  最后給大家看一下,DMA的初始化函數(shù),這個(gè)函數(shù)是超核的庫(kù)里面的,不是我寫(xiě)的,但是上面的解釋很詳細(xì)了,相信都能看懂。

 ?。踥bjc] view plain copyvoid DMA_Init(DMA_InitTypeDef *DMA_InitStruct)

  {

  //參數(shù)檢查

  assert_param(IS_DMA_REQ(DMA_InitStruct-》PeripheralDMAReq));

  assert_param(IS_DMA_ATTR_SSIZE(DMA_InitStruct-》SourceDataSize));

  assert_param(IS_DMA_ATTR_DSIZE(DMA_InitStruct-》DestDataSize));

  assert_param(IS_DMA_CH(DMA_InitStruct-》Channelx));

  assert_param(IS_DMA_MINOR_LOOP(DMA_InitStruct-》MinorLoopLength));

  //打開(kāi)DMA0和DMAMUX時(shí)鐘源

  SIM-》SCGC6 |= SIM_SCGC6_DMAMUX_MASK;

  SIM-》SCGC7 |= SIM_SCGC7_DMA_MASK;

  //配置DMA觸發(fā)源

  DMAMUX-》CHCFG[DMA_InitStruct-》Channelx] = DMAMUX_CHCFG_SOURCE(DMA_InitStruct-》PeripheralDMAReq);

  //設(shè)置源地址信息

  DMA0-》TCD[DMA_InitStruct-》Channelx].SADDR = DMA_InitStruct-》SourceBaseAddr;

  //執(zhí)行完源地址操作后,是否在源地址基礎(chǔ)上累加

  DMA0-》TCD[DMA_InitStruct-》Channelx].SOFF = DMA_SOFF_SOFF(DMA_InitStruct-》SourceMinorInc);

  //設(shè)置源地址傳輸寬度

  DMA0-》TCD[DMA_InitStruct-》Channelx].ATTR = 0;

  DMA0-》TCD[DMA_InitStruct-》Channelx].ATTR |= DMA_ATTR_SSIZE(DMA_InitStruct-》SourceDataSize);

  //主循環(huán)進(jìn)行完后 是否更改源地址

  DMA0-》TCD[DMA_InitStruct-》Channelx].SLAST = DMA_InitStruct-》SourceMajorInc;

  //設(shè)置目的地址信息

  DMA0-》TCD[DMA_InitStruct-》Channelx].DADDR = DMA_InitStruct-》DestBaseAddr;

  //執(zhí)行完源地址操作后,是否在源地址基礎(chǔ)上累加

  DMA0-》TCD[DMA_InitStruct-》Channelx].DOFF = DMA_DOFF_DOFF(DMA_InitStruct-》DestMinorInc);

  //設(shè)置目的地址傳輸寬度

  DMA0-》TCD[DMA_InitStruct-》Channelx].ATTR |= DMA_ATTR_DSIZE(DMA_InitStruct-》DestDataSize);

  //主循環(huán)進(jìn)行完后 是否更改源地址

  DMA0-》TCD[DMA_InitStruct-》Channelx].DLAST_SGA = DMA_InitStruct-》DestMajorInc;

  //設(shè)置計(jì)數(shù)器長(zhǎng)度 循環(huán)次數(shù)

  //設(shè)置數(shù)據(jù)長(zhǎng)度 長(zhǎng)度每次遞減 也被稱作當(dāng)前主循環(huán)計(jì)數(shù) current major loop count

  DMA0-》TCD[DMA_InitStruct-》Channelx].CITER_ELINKNO = DMA_CITER_ELINKNO_CITER(DMA_InitStruct-》MinorLoopLength );

  //起始循環(huán)計(jì)數(shù)器 當(dāng)主循環(huán)計(jì)數(shù)器為0 時(shí)候 將裝載起始循環(huán)計(jì)數(shù)器的值

  DMA0-》TCD[DMA_InitStruct-》Channelx].BITER_ELINKNO = DMA_BITER_ELINKNO_BITER(DMA_InitStruct-》MinorLoopLength);

  //設(shè)置每一次傳輸字節(jié)的個(gè)數(shù) 個(gè)數(shù)到達(dá)上限時(shí) DMA便將數(shù)據(jù)存入RAM

  DMA0-》TCD[DMA_InitStruct-》Channelx].NBYTES_MLNO = DMA_NBYTES_MLNO_NBYTES(DMA_InitStruct-》TransferBytes);

  //設(shè)置DMA TCD控制寄存器

  DMA0-》TCD[DMA_InitStruct-》Channelx].CSR = 0;

  if(DMA_InitStruct-》DMAAutoClose == ENABLE)

  {

  DMA0-》TCD[DMA_InitStruct-》Channelx].CSR |=DMA_CSR_DREQ_MASK;

  }

  else

  {

  DMA0-》TCD[DMA_InitStruct-》Channelx].CSR &=(~DMA_CSR_DREQ_MASK);

  }

  //使能此寄存器DMA開(kāi)始工作

  DMA_SetEnableReq(DMA_InitStruct-》Channelx,DMA_InitStruct-》EnableState);

  //DMA 通道使能

  DMAMUX-》CHCFG[DMA_InitStruct-》Channelx] |= DMAMUX_CHCFG_ENBL_MASK;

  }

  Second:

  講完OV7620的一些中斷處理函數(shù)之后,我們來(lái)看看SCCB的庫(kù)程序,這個(gè)庫(kù)可以通用,需要的車友可以直接添加,只需要對(duì)照自己使用的庫(kù),在IO口初始化里面做出相應(yīng)的修改即可。

 ?。踥bjc] view plain copy#ifndef __SCCB_H

  #define __SCCB_H

  #define SCL_HIGH PEout(1) = 1 //設(shè)置為輸出后輸出1

  #define SCL_LOW PEout(1) = 0 //設(shè)置為輸出后輸出0

  #define SCL_OUT PTE-》PDDR|=(1《《1) //設(shè)置為輸出

  //#define SCL_DDR_IN() PTE-》PDDR&=~(1《《1)//輸入

  #define SDA_HIGH PEout(0)= 1 //設(shè)置為輸出后輸出1

  #define SDA_LOW PEout(0)= 0 //設(shè)置為輸出后輸出0

  #define SDA_DATA PEin(0)

  #define SDA_OUT PTE-》PDDR|=(1《《0) //設(shè)置為輸出

  #define SDA_IN PTE-》PDDR&=~(1《《0) //設(shè)置為輸入

  #define u8 unsigned char

  #define u16 unsigned short

  //#define ADDR_OV7725 0x42

  void sccb_init(void); //初始化SCCB端口為GPIO

  void sccb_wait(void); //SCCB時(shí)序延時(shí)

  void sccb_start(void); //起始標(biāo)志

  void sccb_stop(void); //停止標(biāo)志

  u8 sccb_sendByte(u8 data);

  void sccb_regWrite(u8 device,u8 address,u8 data);

  #endif

  #include “sys.h”

  #include “gpio.h”

  #include “sccb.h”

  #include “delay.h”

  #include “stdio.h”

  /*************************************************************************

  * 函數(shù)名稱:sccb_init

  * 功能說(shuō)明:初始化SCCB 其中SCL接PE1 SDA接PTE0

  *************************************************************************/

  void sccb_init(void)

  {

  int i ;

  GPIO_InitTypeDef GPIO_InitStruct1;

  for(i=0;i《8;i++)

  {

  GPIO_InitStruct1.GPIO_Pin = i;

  GPIO_InitStruct1.GPIO_InitState = Bit_RESET; //change as Bit_Set , it will shut.

  GPIO_InitStruct1.GPIO_IRQMode = GPIO_IT_DISABLE;

  GPIO_InitStruct1.GPIO_Mode = GPIO_Mode_IN_FLOATING;

  GPIO_InitStruct1.GPIOx = PTD;

  GPIO_Init(&GPIO_InitStruct1);

  }

  GPIO_InitStruct1.GPIO_Pin = 0;

  GPIO_InitStruct1.GPIO_InitState = Bit_RESET;

  GPIO_InitStruct1.GPIO_IRQMode = GPIO_IT_DISABLE;

  GPIO_InitStruct1.GPIO_Mode = GPIO_Mode_OPP;

  GPIO_InitStruct1.GPIOx = PTE;

  GPIO_Init(&GPIO_InitStruct1);

  GPIO_InitStruct1.GPIO_Pin = 1;

  GPIO_InitStruct1.GPIO_InitState = Bit_RESET;

  GPIO_InitStruct1.GPIO_IRQMode = GPIO_IT_DISABLE;

  GPIO_InitStruct1.GPIO_Mode = GPIO_Mode_OPP;

  GPIO_InitStruct1.GPIOx = PTE;

  GPIO_Init(&GPIO_InitStruct1);

  }

  /************************************************************************

  * 函數(shù)名稱:sccb_wait

  * 功能說(shuō)明:SCCB延時(shí),不應(yīng)太小

  *************************************************************************/

  void sccb_wait(void)

  {

  u8 i;

  u16 j;

  for( i=0; i《100; i++)

  {

  j++;

  }

  }

  /************************************************************************

  * 函數(shù)名稱:sccb_start

  * 功能說(shuō)明:SCCB啟動(dòng)位

  *************************************************************************/

  void sccb_start(void)

  {

  SCL_OUT;

  SDA_OUT;

  SDA_HIGH;

  //sccb_wait();

  SCL_HIGH;

  sccb_wait();

  SDA_LOW;

  sccb_wait();

  SCL_LOW;

  }

  /************************************************************************

  * 函數(shù)名稱:sccb_stop

  * 功能說(shuō)明:SCCB停止位

  *************************************************************************/

  void sccb_stop(void)

  {

  SCL_OUT;

  SDA_OUT;

  SDA_LOW;

  sccb_wait();

  SCL_HIGH;

  sccb_wait();

  SDA_HIGH;

  sccb_wait();

  }

  /************************************************************************

  * 函數(shù)名稱:sccb_sendByte

  * 功能說(shuō)明:在SCCB總線上發(fā)送一個(gè)字節(jié)

  * 參數(shù)說(shuō)明:data 要發(fā)送的字節(jié)內(nèi)容

  *************************************************************************/

  u8 sccb_sendByte(u8 data)

  {

  u8 i;

  u8 ack;

  SDA_OUT;

  for( i=0; i《8; i++)

  {

  if(data & 0x80)

  SDA_HIGH;

  else

  SDA_LOW;

  data 《《= 1;

  sccb_wait();

  SCL_HIGH;

  sccb_wait();

  SCL_LOW;

  sccb_wait();

  }

  SDA_HIGH;

  SDA_IN;

  sccb_wait();

  SCL_HIGH;

  sccb_wait();

  ack = SDA_DATA;

  SCL_LOW;

  sccb_wait();

  return ack;

  }

  /************************************************************************

  * 函數(shù)名稱:sccb_regWrite

  * 功能說(shuō)明:通過(guò)SCCB總線向指定設(shè)備的指定地址發(fā)送指定內(nèi)容

  * 參數(shù)說(shuō)明:device---設(shè)備號(hào) 讀寫(xiě)有區(qū)別 42是寫(xiě),43是寫(xiě)

  * address---寫(xiě)數(shù)據(jù)的寄存器

  * data---寫(xiě)的內(nèi)容

  * 函數(shù)返回:ack=1未收到應(yīng)答(失?。?ack=0收到應(yīng)答(成功)

  *************************************************************************/

  void sccb_regWrite(u8 device,u8 address,u8 data)

  {

  // u8 i;

  u8 ack;

  // for( i=0; i《20; i++)

  // {

  sccb_start();

  ack = sccb_sendByte(device);

  while( ack )

  {

  ack = sccb_sendByte(device);

  // printf(“device\n\r”);

  }

  ack = sccb_sendByte(address);

  while( ack )

  {

  ack = sccb_sendByte(address);;

  // printf(“address\n\r”);

  }

  ack = sccb_sendByte(data);

  while( ack )

  {

  ack = sccb_sendByte(data);

  // printf(“data\n\r”);

  }

  sccb_stop();

  // if( ack == 0 ) break;

  // }

  }

  貼上使用的SCCB的庫(kù)之后,給大家看一下對(duì)SCCB的一段實(shí)例操作程序。程序上有詳細(xì)的解釋,我就不贅述了。

 ?。踥bjc] view plain copysccb_init();

  sccb_regWrite(0x42,0x11,0x01); //地址0X11-中斷四分頻(1280*480) PCLK:166ns HREF:254.6us VSYN:133.6ms

  sccb_regWrite(0x42,0x14,0x24); //地址0X14-QVGA(320*240) PCLK:332ns HREF:509.6us VSYN:133.6ms

  sccb_regWrite(0x42,0x28,0x40); //地址0X28-黑白模式(320*240 PCLK:332ns HREF:127us VSYN:33.6ms

  sccb_wait();

  以上就是關(guān)于OV7620的使用了,看完之后大家是不是會(huì)使用了呢。關(guān)于后期圖像的處理和調(diào)試,我目前正在使用一款智能車調(diào)試助手,感覺(jué)非常好用,完全免費(fèi),并且可以配合Visual Studio,在Visual Studio里面用C#編寫(xiě)一些圖像處理的算法,生成dll文件,然后在調(diào)試助手的界面里面直接觀察。非常好非常好。給大家看看圖。

  

查看詳情

ov7620技術(shù)

一文看懂ov7620與ov7670的區(qū)別

本文開(kāi)始對(duì)OV7620進(jìn)行了介紹,其中包括了OV7620基本參數(shù)和OV7620應(yīng)用實(shí)例,其次介紹了OV7670的參數(shù)與功能,最后分析了ov7620與ov...

2018-03-01 標(biāo)簽:攝像頭ov7620ov7670 5.1萬(wàn) 1

OV7620 cmos攝像頭的使用

ov7620作為一款CMOS攝像頭器件目前已經(jīng)得到廣泛運(yùn)用。本文開(kāi)始介紹了OV7620基本參數(shù),其次介紹了攝像頭工作原理,最后介紹了OV7620的使用。

2018-03-01 標(biāo)簽:攝像頭OV7620 1.2萬(wàn) 1

ov7620怎么接線_ov7620硬件連接

本文開(kāi)始介紹了OV7620的基本參數(shù),其次介紹了ov7620硬件結(jié)構(gòu),最后闡述了ov7620的具體實(shí)現(xiàn)以及Ov7620的硬件連接。

2018-03-01 標(biāo)簽:攝像頭ov7620 8897 0

基于FPGA的視覺(jué)導(dǎo)航小車設(shè)計(jì)與實(shí)現(xiàn)

基于FPGA的視覺(jué)導(dǎo)航小車設(shè)計(jì)與實(shí)現(xiàn)

視覺(jué)導(dǎo)航作為新興起的技術(shù),受眾多研究者的青睞.設(shè)計(jì)了以現(xiàn)場(chǎng)可編程門列陣(FPGA)為控制核心的自主導(dǎo)航小車,采用一種新穎的自適應(yīng)路徑識(shí)別算法實(shí)現(xiàn)路徑的識(shí)...

2017-11-18 標(biāo)簽:fpgaov7620 4265 0

查看更多>>

ov7620資訊

查看更多>>

ov7620數(shù)據(jù)手冊(cè)

相關(guān)標(biāo)簽

相關(guān)話題

換一批
  • 加速度傳感器
    加速度傳感器
    +關(guān)注
    加速度傳感器是一種能夠測(cè)量加速度的傳感器。通常由質(zhì)量塊、阻尼器、彈性元件、敏感元件和適調(diào)電路等部分組成。
  • OBD
    OBD
    +關(guān)注
    OBD是英文On-Board Diagnostic的縮寫(xiě),中文翻譯為“車載診斷系統(tǒng)”。這個(gè)系統(tǒng)隨時(shí)監(jiān)控發(fā)動(dòng)機(jī)的運(yùn)行狀況和尾氣后處理系統(tǒng)的工作狀態(tài),一旦發(fā)現(xiàn)有可能引起排放超標(biāo)的情況,會(huì)馬上發(fā)出警示。
  • 傅里葉變換
    傅里葉變換
    +關(guān)注
    盡管最初傅里葉分析是作為熱過(guò)程的解析分析的工具,但是其思想方法仍然具有典型的還原論和分析主義的特征?!叭我狻钡暮瘮?shù)通過(guò)一定的分解,都能夠表示為正弦函數(shù)的線性組合的形式,而正弦函數(shù)在物理上是被充分研究而相對(duì)簡(jiǎn)單的函數(shù)類,這一想法跟化學(xué)上的原子論想法何其相似!
  • 角度傳感器
    角度傳感器
    +關(guān)注
    角度傳感器,顧名思義,是用來(lái)檢測(cè)角度的。它的身體中有一個(gè)孔,可以配合樂(lè)高的軸。當(dāng)連結(jié)到RCX上時(shí),軸每轉(zhuǎn)過(guò)1/16圈,角度傳感器就會(huì)計(jì)數(shù)一次。
  • TOF
    TOF
    +關(guān)注
  • L298
    L298
    +關(guān)注
  • DMD
    DMD
    +關(guān)注
    DMD是一種整合的微機(jī)電上層結(jié)構(gòu)電路單元,利用COMS SRAM記憶晶胞所制成。DMD上層結(jié)構(gòu)的制造是從完整CMOS內(nèi)存電路開(kāi)始,再透過(guò)光罩層的使用,制造出鋁金屬層和硬化光阻層交替的上層結(jié)構(gòu)
  • MC9S12XS128
    MC9S12XS128
    +關(guān)注
    HCS12X系列單片機(jī)簡(jiǎn)介 Freescale 公司的16位單片機(jī)主要分為HC12 、HCS12、HCS12X三個(gè)系列。HC12核心是16位高速CPU12核,總線速度8MHZ;HCS12系列單片機(jī)以速度更快的CPU12內(nèi)核為核心,簡(jiǎn)稱S12系列,典型的S12總線速度可以達(dá)到25MHZ。
  • TDC-GP2
    TDC-GP2
    +關(guān)注
  • 干擾器
    干擾器
    +關(guān)注
    干擾器有多種類型,如GPS干擾器是適用于長(zhǎng)途客車司機(jī)以及一些不想被GPS信號(hào)追蹤到的人群的一個(gè)機(jī)器,手機(jī)信號(hào)干擾器主要針對(duì)各類考場(chǎng)、學(xué)校、加油站、教堂、法庭、圖書(shū)館、會(huì)議中心(室)、影劇院、醫(yī)院、政府、金融、監(jiān)獄、公安、軍事重地等禁止使用手機(jī)的場(chǎng)所。
  • 重力傳感器
    重力傳感器
    +關(guān)注
    采用彈性敏感元件制成懸臂式位移器,與采用彈性敏感元件制成的儲(chǔ)能彈簧來(lái)驅(qū)動(dòng)電觸點(diǎn),完成從重力變化到電信號(hào)的轉(zhuǎn)換,廣泛應(yīng)用在中高端智能手機(jī)和平板電腦內(nèi)。
  • 線束
    線束
    +關(guān)注
  • 半導(dǎo)體工藝
    半導(dǎo)體工藝
    +關(guān)注
  • 機(jī)械臂
    機(jī)械臂
    +關(guān)注
  • MPSoC
    MPSoC
    +關(guān)注
  • Genesys
    Genesys
    +關(guān)注
  • 直流無(wú)刷電機(jī)
    直流無(wú)刷電機(jī)
    +關(guān)注
    無(wú)刷直流電機(jī)由電動(dòng)機(jī)主體和驅(qū)動(dòng)器組成,是一種典型的機(jī)電一體化產(chǎn)品。 無(wú)刷電機(jī)是指無(wú)電刷和換向器(或集電環(huán))的電機(jī),又稱無(wú)換向器電機(jī)。早在十九紀(jì)誕生電機(jī)的時(shí)候,產(chǎn)生的實(shí)用性電機(jī)就是無(wú)刷形式,即交流鼠籠式異步電動(dòng)機(jī),這種電動(dòng)機(jī)得到了廣泛的應(yīng)用。
  • 半導(dǎo)體制冷片
    半導(dǎo)體制冷片
    +關(guān)注
  • 聲紋識(shí)別
    聲紋識(shí)別
    +關(guān)注
    聲紋識(shí)別,生物識(shí)別技術(shù)的一種,也稱為說(shuō)話人識(shí)別,包括說(shuō)話人辨認(rèn)和說(shuō)話人確認(rèn)。聲紋識(shí)別就是把聲信號(hào)轉(zhuǎn)換成電信號(hào),再用計(jì)算機(jī)進(jìn)行識(shí)別。不同的任務(wù)和應(yīng)用會(huì)使用不同的聲紋識(shí)別技術(shù),如縮小刑偵范圍時(shí)可能需要辨認(rèn)技術(shù),而銀行交易時(shí)則需要確認(rèn)技術(shù)。
  • 零序
    零序
    +關(guān)注
  • ATmega16單片機(jī)
    ATmega16單片機(jī)
    +關(guān)注
  • 直流電壓
    直流電壓
    +關(guān)注
    凡是電流方向不隨時(shí)間變化的電流稱為直流電壓。電流值可以全為正值,也可以全為負(fù)值。在直流電流中又可分為兩種:穩(wěn)恒直流和脈動(dòng)直流。直流輸電技術(shù)已經(jīng)由簡(jiǎn)單的端對(duì)端工程朝著大規(guī)模多端輸電的方向發(fā)展,這些工程將是未來(lái)直流電網(wǎng)的組成部分,將相同電壓等級(jí)的直流工程連接成網(wǎng)遠(yuǎn)比不同電壓等級(jí)下的獨(dú)立工程更經(jīng)濟(jì)、便捷。
  • LPC2368
    LPC2368
    +關(guān)注
  • 緩沖電路
    緩沖電路
    +關(guān)注
  • Buck-Boost
    Buck-Boost
    +關(guān)注
    buck是降壓型電路,boost是升壓型電路,可以分開(kāi)單獨(dú)使用,buck-boost電路就是把2種電路合在一起,可升可降。buck-boost拓?fù)潆娐房梢詫?shí)現(xiàn)升降壓功能,常見(jiàn)的buck-boost電路有兩種,第一種是輸入與輸出電壓極性相反,只需采用一個(gè)開(kāi)關(guān)管和二極管。另外一種是采用兩個(gè)開(kāi)關(guān)管和兩個(gè)二極管,可實(shí)現(xiàn)同極性電壓升降壓功能。
  • 識(shí)別技術(shù)
    識(shí)別技術(shù)
    +關(guān)注
    所謂識(shí)別技術(shù),也稱為自動(dòng)識(shí)別技術(shù),通過(guò)被識(shí)別物體與識(shí)別裝置之間的交互自動(dòng)獲取被識(shí)別物體的相關(guān)信息,并提供給計(jì)算機(jī)系統(tǒng)供進(jìn)一步處理。
  • 制冷片
    制冷片
    +關(guān)注
  • 電磁繼電器
    電磁繼電器
    +關(guān)注
    電磁繼電器是一種電子控制器件,它具有控制系統(tǒng)(又稱輸入回路)和被控制系統(tǒng)(又稱輸出回路),通常應(yīng)用于自動(dòng)控制電路中,它實(shí)際上是用較小的電流、較低的電壓去控制較大電流、較高的電壓的一種“自動(dòng)開(kāi)關(guān)”。故在電路中起著自動(dòng)調(diào)節(jié)、安全保護(hù)、轉(zhuǎn)換電路等作用。
  • VCM
    VCM
    +關(guān)注
  • 射頻功放
    射頻功放
    +關(guān)注
換一批

關(guān)注此標(biāo)簽的用戶(3人)

陶驊騏 qq1094671095 縱使相逢不應(yīng)識(shí)

編輯推薦廠商產(chǎn)品技術(shù)軟件/工具OS/語(yǔ)言教程專題