當(dāng)前位置: 首頁 > 傳感測量產(chǎn)品 > 工業(yè)傳感器 > 壓力傳感器 > 應(yīng)變式壓力傳感器
發(fā)布日期:2022-08-21 點擊率:60
摘要:針對高性能CMOS圖像傳感器的工業(yè)數(shù)字?jǐn)z像機的設(shè)計與應(yīng)用,介紹利用高檔微控制器AT89LS8252,設(shè)計數(shù)字相機內(nèi)部FPGA邏輯配置與初始化的控制硬件電路和軟件編程。并應(yīng)用AT89LS8252的SPI(Serial Peripheral Interface)串行外設(shè)接口擴展了多通道數(shù)模轉(zhuǎn)換器、DataFlash存儲器、溫度傳感器和MCU的Flash串行模式編程,可以作為多SPI接口外設(shè)的典型應(yīng)用。
關(guān)鍵詞:CMOS數(shù)字?jǐn)z像機;SPI串行外設(shè)接口;FPGA并行邏輯配置;微控制器
引言
隨著CMOS圖像傳感器技術(shù)的不斷完善,其性能不斷提高,目前很多機器視覺和數(shù)字圖像處理應(yīng)用中開始使用CMOS圖像傳感器設(shè)計數(shù)字?jǐn)z像機,CMOS圖像傳感器具有集成度高,功耗低,數(shù)字圖像數(shù)據(jù)輸出,控制時序簡單等特點。因此本文提出一種利用MCU實現(xiàn)CMOS數(shù)字?jǐn)z像機控制系統(tǒng)硬件電路設(shè)計方案。設(shè)計中充分考慮到工業(yè)相機功能的擴展和相機自身圖像預(yù)處理功能的二次開發(fā),所以采用高性能的MCUAT89LS8252來實現(xiàn)攝像機內(nèi)部FPGA(Field Programmable Gate Array)邏輯配置、在線邏輯下載、攝像機參數(shù)下載初始化、溫度讀出等控制功能。
CMOS數(shù)字?jǐn)z像機總體系統(tǒng)描述
CMOS數(shù)字?jǐn)z像機機,一般由:圖像傳感器、時序邏輯產(chǎn)生單元、圖像預(yù)處理單元、配置初始化控制單元、圖像數(shù)據(jù)輸出接口單元五部分組成。下面對各部分簡要介紹:
CMOS圖像傳感器的時序邏輯一般由FPGA產(chǎn)生,由3.3V或5V單電源對系統(tǒng)供電,也有一些高級CMOS圖像傳感器需要外加一組電壓較低的參考模擬電壓,在系統(tǒng)提供的驅(qū)動時序下按像素時鐘速率將8bit或10bit的像素數(shù)據(jù)分單通道和多通道連續(xù)輸出。
設(shè)計中應(yīng)用Xilinx公司的高性能的FPGAXC2VP4來完成驅(qū)動時序發(fā)生和圖像預(yù)處理功能。攝像機內(nèi)部對圖像數(shù)據(jù)進行預(yù)處理,有利于上位機圖像處理算法的簡化,更能夠提高圖像處理的實時性。根據(jù)不同機器視覺應(yīng)用的需要,可以為攝像機提供多種不同圖像預(yù)處理方案,如灰度變換、動態(tài)范圍擴展、中值濾波等,用戶可以選擇相應(yīng)的配置文件下載到攝像機中,就能夠?qū)崿F(xiàn)需要的圖像預(yù)處理功能。高級用戶也可以根據(jù)自己應(yīng)用需求,自行開發(fā)攝像機內(nèi)部FPGA圖像預(yù)處理的算法,嵌入到FPGA配置邏輯文件中,按照設(shè)計中的配置方法下載到攝像機中,就可實現(xiàn)用戶自己開發(fā)的圖像預(yù)處理功能。數(shù)字?jǐn)z像機圖像數(shù)據(jù)輸出接口也有很多種方式,可以采用CameraLink接口、以太網(wǎng)接口、USB接口、1394接口等。
文中重點描述攝像機的邏輯配置和初始化控制單元的設(shè)計,以AT89LS8252為控制器完成對FPGA的并行配置功能,應(yīng)用MAX3232串口芯片和上位機通信,完成接收FPGA配置文件和初始化攝像機的參數(shù),并將攝像機內(nèi)部溫度數(shù)據(jù)發(fā)送給上位機。LT1665產(chǎn)生一組CMOS傳感器需要的8路模擬參考電壓。應(yīng)用DataFlashAT45DB041B保存FPGA上電配置文件。溫度傳感器MAX6630可獲得攝像機內(nèi)部的工作溫度數(shù)據(jù),對于攝像機工作環(huán)境溫度過高的情況,可以向上位機發(fā)出報警,并采用制冷措施。攝像機總體結(jié)構(gòu),見圖1。
圖1 CMOS數(shù)字?jǐn)z像機總體框圖
FPGA并行邏輯配置的MCU實現(xiàn)
設(shè)計中應(yīng)用XilinxFPGAXC2VP4為時序邏輯控制單元和圖像預(yù)處理核心,因此每次FPGA上電開始工作前必須將配置文件加載到FPGA內(nèi)部的SRAM中,這個過程就是FPGA的邏輯配置(FPGAConfiguration)。為實際應(yīng)用和攝像機圖像處理功能二次開發(fā)需要著想,采用并行邏輯配置的方法,可以減少攝像機的配置時間。設(shè)計中使用高檔MCUAT89LS8252作為攝像機的控制器,實現(xiàn)RS232串口下載配置文件在電路邏輯配置ICR(In-CircuitReconfigurability)功能。為攝像機的使用者開發(fā)攝像機FPGA圖像預(yù)處理功能提供了方便的配置方法,從而不用使用FPGA專門的配置芯片和配置電纜,減少了攝像機的端口,提高了攝像機的性能。
AT89LS8252是低功耗、高性能CMOS8位微控制器,內(nèi)含8KB的Flash程序存儲器可用SPI串行接口總線進行程序下載和2KB的EEPROM,256B的片內(nèi)RAM,32線可編程I/O,3個定時器,9個中斷源、6個中斷矢量,可編程UART串口,具有低功耗節(jié)電方式,可低電壓供電、工作電源范圍2.7~6V,最高工作頻率為12MHz,可編程看門狗定時器WDT,雙數(shù)據(jù)指針DPTR0和DPTR1,具有斷電標(biāo)志位POF,SPI外圍器件擴展串行口。設(shè)計中選用體積最小的44引腳TQFP貼片封裝AT89LS8252_12AI,工作電壓為3.3V,工作頻率為11.0592MHz。所有器件都使用3.3V單電源供電,采用3.3VCMOS數(shù)字電路邏輯電平。單片機的引腳定義和FPGA配置接口電路的實現(xiàn)見圖2。
圖2 MCU接口定義原理圖
XilinxFPGA有5種配置模式,本設(shè)計中使用的是被動并行配置模式(Slave SelectMAP Mode),這種模式的優(yōu)點是在相同的配置時鐘下比其它串行配置模式速度都要快。串行配置方式MCU需要8個機器周期配置一個字節(jié),而并行模式只需要一個機器周期配置一個字節(jié)。被動并行配置方式過程:首先系統(tǒng)檢測電源,HSWAP_EN信號把用戶定義I/O引腳上拉,INIT、DONE為低后配置存儲器清空。然后檢測PROG_B是否由低變高,若為高電平再一次清除存儲器。釋放INIT_B,采樣配置模式引腳設(shè)置,接下來進行數(shù)據(jù)并行邏輯配置。AT89LS8252可以把存儲在DataFlashAT45DB041B中的配置文件讀出按照上述配置時序來進行配置。
表1 FPGA配置引腳功能說明
注:信號CS_B、RDWR_B、BUSY、INIT_B、D0-D7在配置結(jié)束后復(fù)用為A4-A7。
系統(tǒng)初始化和擴展SPI外設(shè)器件設(shè)計
攝像機啟動邏輯配置成功后,需要對系統(tǒng)進行初始化,也就是對攝像機的一些功能參數(shù)寄存器進行設(shè)置。根據(jù)攝像機工作過程和功能一般有如下一些需要初始化的功能參數(shù):
*攝像機工作模式參數(shù):有FreeRun模式、測試圖像輸出模式,外部觸發(fā)模式等。
*傳感器輸出幀頻參數(shù):控制傳感器每秒鐘輸出圖像的幀數(shù)。
*傳感器積分時間參數(shù):控制傳感器一幀圖像的曝光時間。
*輸出圖像AOI參數(shù):對傳感器靶面中感興趣區(qū)域圖像的輸出,需要設(shè)定行和列兩個參數(shù)。
*圖像數(shù)據(jù)輸出位數(shù)參數(shù):對于高精度的圖像傳感器,可以選擇8bit,10bit,12bit圖像輸出。
*DigitalShift功能參數(shù):對傳感器像素Nbit的數(shù)值進行左移或右移操作后輸出。
*Binning模式輸出參數(shù):有水平Binning,垂直Binning,全幅Binning。Binning就是一種像素合并技術(shù),把相鄰的兩或多個像素值合并成一個像素值,降低了圖像分辨率,但是能夠提高攝像機的感光靈敏度。參考電壓參數(shù):包括增益電壓參數(shù)、偏置電壓參數(shù)、自校準(zhǔn)電壓參數(shù)。雖然CMOS圖像傳感器已經(jīng)把ADC器件集成到傳感器內(nèi)部,但是在攝像機不同的工作情況下,還需要改變這些參考電壓,使攝像機輸出用戶滿意的圖像。設(shè)計中使用的LT1665可以輸出8路0~3.3V模擬參考電壓。
圖3 SPI串口外設(shè)擴展電路原理圖
這些初始化參數(shù)的寄存器,一部分是設(shè)置在FPGA中,另一部分是外設(shè)器件的工作寄存器。但是這些寄存器中的參數(shù),在每次掉電后會自動清空,因此設(shè)計中使用AT89LS8252的EEPROM來保存這些參數(shù)。參數(shù)由RS232串口接收按參數(shù)地址存入EEPROM,使用MCU的雙DPTR,DPTR1寫入,DPTR0讀出,使得對EEPROM的讀寫更加便捷。每次參數(shù)下載成功或上電后,由初始化程序把EEPROM的參數(shù)通過MCU和FPGA之間的數(shù)據(jù)總線和地址總線寫入?yún)?shù)寄存器,其它外設(shè)器件的參數(shù)寄存器由SPI總線寫入。
因為FPGA信號CS_B、RDWR_B、BUSY、INIT_B、D0-D7在邏輯配置結(jié)束后可作為普通用戶定義I/O,所以在配置結(jié)束后這些引腳被定義為MCU和FPGA初始化的數(shù)據(jù)總線(P0口)和地址總線(P2口)。
SPI(SerialPeripheralInterface)是MOTOROLA公司推出的一種同步串行外設(shè)接口,允許MCU與各個廠家生產(chǎn)的標(biāo)準(zhǔn)外圍設(shè)備直接接口,以串口方式交換信息。SPI使用4條線:串行時鐘SCK,主機輸入從機輸出數(shù)據(jù)線MISO(簡稱SO),主機輸出從機輸入數(shù)據(jù)線MOSI(簡稱SI)和低電平有效的從機選擇線CS。MCU與外設(shè)器件的SCK、MOSI、MISO、都是同各端相連。擴展多個外設(shè)器件時,SPI無法通過數(shù)據(jù)線譯碼選擇,故SPI接口的外設(shè)器件都有片選端CS,MCU通過不同的I/O口線來分時選通相應(yīng)外設(shè)器件。設(shè)計中SS為DataFlash器件的片選信號,TCS為溫度傳感器的片選信號,VCS為多路DA器件的片選信號。圖3為SPI外設(shè)器件擴展電路原理圖。
SPI串行擴展系統(tǒng)中MCU作為主器件,啟動一次傳送時產(chǎn)生8個時鐘由SCK送出,作為同步時鐘控制數(shù)據(jù)的輸入與輸出,對于不同的外設(shè)器件,SCK的上升沿還是下降沿進行輸入輸出操作是不同的,有四種操作模式。4種SPI操作模式和LSB在先輸出或MSB在先輸出、主從模式、SPI時鐘速度選擇都可以在MCU的SPI控制寄存器(SPCR)中設(shè)置,其中CPHA、CPOL是設(shè)置時鐘SCK相位和極性,決定SPI的操作模式。設(shè)計中使用了三種操作模式,DataFlash器件工作在模式3、溫度傳感器工作在模式1、多路DA器件工作在模式0。
軟件設(shè)計
完成系統(tǒng)邏輯配置和初始化的軟件設(shè)計包括兩部分:MCU的匯編語言編程和PC上位機的VC編程。
MCU程序設(shè)計
AT89LS8252按照圖4的主程序流程圖來完成邏輯配置和攝像機的參數(shù)初始化。下面詳細(xì)闡述一下FPGA配置文件下載到DataFlash的程序設(shè)計。因為AT45DB041B的存儲空間為4,325,376bit,完全能夠存儲3,006,496bit的配置文件。
圖4 MCU主程序流程圖
AT45DB041B內(nèi)部存儲結(jié)構(gòu)是將整個存儲空間分為2048個page,每個page為264Byte,經(jīng)由兩個264Byte的buffer來實現(xiàn)連續(xù)的數(shù)據(jù)寫入。過程是先進行寫buffer1操作,然后發(fā)由buffer1寫page命令,在buffer1寫page的同時進行buffer2操作,當(dāng)buffer2寫完后再發(fā)由buffer2寫page命令,再一次進行buffer1的寫操作,如此反復(fù)操作實現(xiàn)了AT45DB041B的連續(xù)快速寫入。讀出時可以用連續(xù)陣列讀命令就可以完成配置文件數(shù)據(jù)連續(xù)讀出。
上位機編程
上位機客戶端程序通過VisualC++軟件編寫,完成配置文件按page容量264字節(jié)的分割串口傳送,初始化參數(shù)串口傳送,按串口通信協(xié)議發(fā)送接收控制命令字,配置文件初始化參數(shù)的回讀校驗,用戶窗口界面等功能。
結(jié)束語
設(shè)計中充分利用AT89LS8252的SPI接口、EEPROM、雙DPTR、可編程UART串口等資源,是該高檔MCU的設(shè)計的典型應(yīng)用。創(chuàng)新應(yīng)用高檔MCU AT89LS8252 對FPGA并行配置的方法,CMOS攝像機參數(shù)初始化的方法,多SPI外設(shè)器件擴展的設(shè)計,為高性能CMOS數(shù)字?jǐn)z像機的研究和FPGA圖像處理核心的二次開發(fā)建立了功能全面的控制系統(tǒng),并且為其它數(shù)字?jǐn)z像機系統(tǒng)設(shè)計應(yīng)用系統(tǒng)提供了成功范例。
下一篇: PLC、DCS、FCS三大控
上一篇: 基于SOC/IP的智能傳感