《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM和MATLAB GUI的太陽圖像數據采集系統設計
基于ARM和MATLAB GUI的太陽圖像數據采集系統設計
2017年微型機與應用第3期
俞強1,劉卿卿1,2,董龍3
1.南京信息工程大學 信息與控制學院,江蘇 南京 2100442. 南京信息工程大學 大氣環境與裝備技術 協同創新中心,江蘇 南京210044;3. 南京信息工程大學 數學與統計學院,江蘇 南京 210044
摘要: 對太陽圖像數據進行同步采集與分析,可以為輻射測量以及各種需要進行復雜圖像算法處理的嵌入式系統提供重要參考。設計了一種能夠對太陽圖像進行同步數據采集的系統,該系統主要包括圖像傳感器模塊、數據傳輸與存儲模塊、上位機軟件設計等。利用傳感器實現了對太陽圖像的采集,通過ARM串口控制數據的讀寫,并利用MATLAB設計了上位機軟件,完成了對采集數據的計算與管理。
Abstract:
Key words :

  俞強1,劉卿卿1,2,董龍3

  (1.南京信息工程大學 信息與控制學院,江蘇 南京 210044;2. 南京信息工程大學 大氣環境與裝備技術

協同創新中心,江蘇 南京210044;3. 南京信息工程大學 數學與統計學院,江蘇 南京 210044)

       摘要:對太陽圖像數據進行同步采集與分析,可以為輻射測量以及各種需要進行復雜圖像算法處理的嵌入式系統提供重要參考。設計了一種能夠對太陽圖像進行同步數據采集的系統,該系統主要包括圖像傳感器模塊、數據傳輸與存儲模塊、上位機軟件設計等。利用傳感器實現了對太陽圖像的采集,通過ARM串口控制數據的讀寫,并利用MATLAB設計了上位機軟件,完成了對采集數據的計算與管理。

  關鍵詞:ARM;太陽圖像;數據采集;MATLAB

  中圖分類號:TP391文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2017.03.021

  引用格式:俞強,劉卿卿,董龍.基于ARM和MATLAB GUI的太陽圖像數據采集系統設計[J].微型機與應用,2017,36(3):71-74.

0引言

  太陽輻射是自然界中各物理過程的重要能量來源,也是地球表面與大氣交換熱量的一種形式,可以作為反映氣候變化的重要信號。而太陽跟蹤裝置是散射輻射測量中的一個基本部件,其精確度直接影響散射輻射測量的精度與準確性。

  光電式太陽跟蹤方法因其結構簡單,易于實現,同時具有較高的跟蹤精度而被廣泛地應用于太陽輻射測量以及太陽能應用等領域。但傳統的光電式跟蹤方法雖然瞬時跟蹤精度較高,但多數采用直接基于嵌入式平臺的跟蹤方法[13],受限于單片機等主控芯片的計算速度與開發難度,往往不能實時精確地定位太陽質心,易出現累積誤差,影響太陽跟蹤的穩定性與連續性。因此,本文提出一種基于ARM和MATLAB GUI的太陽圖像數據采集系統,以基于ARM Cortex M3的STM32F103為硬件核心,利用CMOS傳感器對太陽圖像數據進行采集,并且提供可視化的上位機操作界面,對采集到的數據進行存儲、分析、計算。本系統不僅可以對太陽圖像數據進行實時采集和顯示,而且便于擴展和后續對太陽質心圖像提取算法的研究,為進一步消除太陽跟蹤系統累積誤差以及準確測定太陽輻射提供基礎。同時,該系統可以為其他需要實現較復雜圖像處理的嵌入式系統提供有利的技術參考。

1總體設計

001.jpg

  圖像數據采集系統總體結構如圖1所示。系統由兩部分組成:一部分是通過PC與STM32串口實現圖像數據的實時通信,另一部分是利用MATLAB GUI完成圖像存儲及圖像處理[4]。

  系統下位機負責圖像數據的采集,并通過串行接口實時地將圖像數據傳送回上位機準備進行下一步處理。其中,圖像傳感器選用OV7725,以實現圖像的采集與存儲等功能。攝像頭模塊外接FIFO芯片,存儲采集的圖像,并在控制信號到來時,由STM32讀取FIFO中存儲的圖像數據。STM32通過CP2102電平轉換芯片與PC的USB接圖1系統總體結構圖2攝像頭接口電路口相連,利用芯片將TTL電平與RS232電平轉換,完成數據傳輸功能。

002.jpg

  系統的上位機部分負責圖像數據的存儲與處理。通過調用MATLAB設備控制箱中的serial類,完成對串口的設置,接著根據自定義的傳輸協議在攝像頭與PC串口之間進行實時通信。上位機的串口參數、圖像像素等設置均可通過采集系統的GUI界面,根據下位機配置進行修改。對返回的圖像數據,可利用MATLAB的圖像處理工具箱與直接面向矩陣操作的編程特點,方便地進行分析與處理,獲取所需信息。

2硬件設計

  2.1攝像頭接口電路

  鑒于CMOS傳感器兼容CMOS技術,內部集成了A/D轉換等芯片,簡化了外圍模塊的設計,提高了采集的抗噪聲能力,故本系統采用美國Omni Vision公司的CMOS數字圖像傳感器OV7725。其接口電路原理圖如圖2所示。OV7725是一個能夠提供單片VGA攝像頭和影像處理器的所有功能的圖像傳感器,實際有效像素為640×480,支持整幀輸出、子采樣、取窗口等模式,支持8/10位圖像分辨率,支持包括RAW RGB、RGB(RGB 4:2:2、RGB565/555/444)以及YCbCr(4:2:2)等多種數據格式。其體積小,工作電壓低,可以對圖像進行伽馬曲線、白平衡、飽和度、色度等處理。

  在OV7725后端搭載了FIFO來降低對單片機的性能依賴(當前模塊對處理器的硬件要求僅僅為一個中斷,幾個GPIO管腳即可),節省片內資源,方便后續對于單片機功能的擴展。WEN與HREF作為與非門的輸入端,而與非門的輸出端口連接到FIFO的WE端口。當WEN管腳和HREF管腳都為高電平時,FIFO的WE端口的電平值才為低電平。因此,如果允許圖像數據傳入FIFO時,可以把WEN拉高,當攝像頭的HREF為低電平時,WE的電平值為高電平,因此,即使PCLK仍在運轉,也不會傳送數據進入FIFO,從而防止采集到無效數據[5]。

  2.2串行接口電路

  接口電路采用CP2102芯片設計而成。CP2102集成度高,內置USB2.0全速功能控制器、USB收發器、晶體振蕩器、EEPROM及異步串行數據總線(UART)。與其他電平轉接電路的工作原理類似,CP2102通過驅動程序將PC的USB口虛擬成COM口以達到擴展的目的。電路原理如圖3所示。

003.jpg

3軟件設計

  3.1STM32數據傳輸流程

  將攝像頭的場中斷信號送入單片機,當單片機捕捉到場中斷信號時,拉高WEN管腳電平,之后整幅圖像的數據就會存入FIFO。當單片機再次捕捉到場中斷時,表明一幅圖像已經送入FIFO,此時關閉場中斷,拉低WEN電平,防止攝像頭數據再次寫入FIFO。當上位機發送握手信號之后,開始讀取FIFO數據到內存緩沖區,根據采集到的圖像做應用處理,并通過串口發送至上位機,發送完成后,再次開啟場中斷,當再次捕捉到場中斷時,再次拉高WEN管腳電平,繼續讓攝像頭數據存入FIFO,完成后單片機等待上位機握手信號,如此循環。

  3.2串行通信實現

  MATLAB軟件的設備控制箱(Instrument Control Toolbox,ICT)提供了對RS232串口通信的正式支持。首先調用設備控制工具箱中的serial類函數,創建用戶自定義的串口設備對象。再通過自定義的文件句柄,以文件操作的方式,達到對PC串行口讀寫操作的目的。

  在進行通信之前,需對控制器進行配置,包括設置通信模式(全雙工、半雙工等)和串行口的通信參數(波特率、數據位、停止位等),使通信設備擁有相同的通信模式和串行通信參數。從通信的建立到結束通信主要包括如下5個基本步驟[6]:

  (1)為應用程序創建串口對象。

  (2)連接打開串口。

  (3)設置或者修改串口通信參數。在能夠有效地進行串口通信前,必須設置正確的串口通信參數。

  (4)從串口讀寫數據。在前面三個步驟正常完成后,既可以從串口讀數據也可以向串口寫數據,也就是接受或者發送數據。實現讀串口功能的函數有多個,根據到達串口數據的類型選擇合適的讀函數。

  (5)關閉串口以及釋放串口對象在工作空間中占用的存儲空間。

  基本步驟中參數的設置需要在回調函數中提前初始化,對于不同的STM32程序,需要找到回調函數相應位置進行修改,較為不便,本文中通過對用戶的選擇值進行讀取,從而初始化串口參數,同時添加了中斷函數以及數據轉換函數。數據傳輸流程如圖4所示。 

004.jpg

  首先對用戶設置的參數進行讀取,設置并初始化串口,接著打開串口,發送握手信號0xff。當單片機接收到相應的握手信號后,開始圖像傳輸。當MATLAB接收到終止符 ‘\\n’ 時,表明已成功接收一幀圖像,從而觸發中斷。由于MATLAB接收到的數據是ASCII碼字符形式,所以需要將從緩沖區讀取到的數據進行格式轉換:根據用戶設定的像素數M×N,將數據轉換成M×N的整形圖像矩陣。最后以JPEG圖像格式存儲于工作區空間中。具體代碼如下:

  a_temp = [0,0,0,0,0];%定義一個像素值臨時存儲矩陣

  b_count_flag = 1;

  c_count_flag = 0;

  data = zeros(M,N);%定義圖像存儲矩陣,M,N為像素數

  n = s.BytesAvailable;%讀取緩存區中當前圖像大小

  out = fread(s,n,char);%讀取圖像

  out = char(out);

  for a = 1:n

  if out(a) ~= 13%判斷是否是一幀圖像終止符

  if out(a) ~= 10%判斷是否是單個像素終止符

  a_temp(b_count_flag) = int16(out(a) - 48);

  b_count_flag = b_count_flag + 1;

  end

  if out(a) == 10

  c_count_flag = c_count_flag + 1;

  b_count_flag = b_count_flag - 1;

  i = b_count_flag;

  while b_count_flag~=0

  data(c_count_flag) = a_temp(b_count_flag) * (10^(i - b_count_flag)) + data(c_count_flag);

  b_count_flag = b_count_flag - 1;

  end

  b_count_flag = 1;

  end

  end

  end

  %將rgb565格式轉化成適合計算機處理的形式

  imgR = uint8((255/31)*bitshift(bitand(data,63488),-11));

  imgG = uint8((255/63)*bitshift(bitand(data,2016),-5));

  imgB = uint8((255/31)*bitand(data,31));

  imgRGB = cat(3,imgR,imgG,imgB);

  imwrite(imgRGB,Sun.jpg);%存儲當前幀

  3.3GUI界面布局

  利用MATLAB GUIDE開發工具,添加完成必要的控制框,包括靜態文本框、彈出式菜單、可編輯文本框、按鈕、坐標軸。

  完成后的界面如圖5所示。界面設計了一般串行通信參數設置按鈕,可對波特率、數據位、停止位等數值進行設置,這里根據STM32程序中的對應設置,選擇相應的參數。Pixel為像素數的大小,由圖像傳感器寄存器中的相應設置來選擇接收像素數。方形靜態文本框顯示當前執行狀態。坐標軸(axes1)顯示當前接收到的圖像。右邊打開串口(open serial)完成串口參數的讀取設置,并發送握手信號。發送控制信號(send control signal)通過串口發送控制信號給伺服電機,完成精確的太陽定位跟蹤。關閉(close)按鈕釋放串口對象在MATLAB工作區中占用的存儲空間,并退出應用。

 

005.jpg

4實驗

  設置波特率為115 200,數據位8 bit,停止位1 bit,無奇偶校驗位,像素數為240×240。圖片以45 s為周期進行刷新,滿足預期。太陽圖像顯示結果如圖6所示。

006.jpg

5結論

  針對目前太陽輻射測量中的跟蹤系統累積誤差較大、速度較慢等問題,提出了一種基于MATLAB與ARM的太陽圖像采集系統。該系統可以直觀、快速地顯示當前系統的運行狀態與太陽的實時變化,使控制過程可視化。同時,上位機采用MATLAB編程實現,可以利用軟件本身的圖像處理方法與工具箱,為下一步太陽質心提取算法的開發提供良好的平臺,可大大節省開發時間。GUI程序發布后,移植方便,無需安裝MATLAB軟件,可在任意一臺PC上以靜態或動態的圖像處理結果,驅動電機等執行器,實現高精度的太陽跟蹤自動控制。

參考文獻

  [1] 陳麗娟, 周鑫. 基于ARM嵌入式圖像處理平臺的太陽跟蹤系統[J]. 現代電子技術, 2012, 35(4): 71-74.

  [2] 劉麗微. 基于視覺的太陽光線自動跟蹤裝置[D]. 沈陽:沈陽工業大學, 2008.

  [3] 任松林. 主動式太陽跟蹤及驅動系統研究與設計[D]. 重慶:重慶大學, 2008.

  [4] 薛飛, 楊友良, 孟凡偉, 等. 基于Matlab GUI串口通信的實時溫度監控系統設計[J]. 計算機應用, 2014, 34(1): 292-296.

  [5] 劉火良,楊森. STM32庫開發實戰指南[M]. 北京:機械工業出版社,2013.

  [6] 王戰軍, 沈明. 基于MATLAB GUI的串口通信編程實現[J]. 現代電子技術, 2010, 39(9): 38-40.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美精品一区二区精品网| 激情国产一区二区| 久久久综合网站| 午夜精品久久久久久久99水蜜桃 | 欧美系列精品| 欧美日韩一区二区三区| 欧美日韩精品免费观看视频| 欧美91精品| 欧美大片在线观看| 欧美大片在线看免费观看| 欧美粗暴jizz性欧美20| 欧美大片免费观看在线观看网站推荐| 老司机67194精品线观看| 久久综合狠狠综合久久激情| 久久综合狠狠综合久久激情| 美女在线一区二区| 欧美电影美腿模特1979在线看| 欧美99久久| 欧美精品v日韩精品v韩国精品v | 欧美成人在线免费观看| 欧美第十八页| 欧美人交a欧美精品| 欧美剧在线免费观看网站| 欧美日本韩国一区二区三区| 欧美日韩国产片| 国产精品a级| 国产欧美一区在线| 狠狠久久亚洲欧美| 在线观看日韩一区| 亚洲精品日本| 亚洲午夜精品久久久久久浪潮| 亚洲专区一二三| 久久精品免费电影| 亚洲精品一区二区三区四区高清| 日韩午夜在线观看视频| 亚洲——在线| 久久久精品国产免大香伊| 男女av一区三区二区色多| 欧美日韩成人一区| 国产精品久久久一区麻豆最新章节| 国产亚洲精品自拍| 亚洲国产成人精品久久| 一区二区三区高清不卡| 亚洲欧美高清| 亚洲电影观看| 亚洲最新色图| 久久激情五月激情| 女人色偷偷aa久久天堂| 欧美视频在线观看免费网址| 国产麻豆精品theporn| 亚洲成色777777在线观看影院| 亚洲精品中文字幕有码专区| 亚洲男人的天堂在线| 亚洲激情视频| 欧美一级日韩一级| 欧美成人国产| 国产精品嫩草影院一区二区| 黄色成人在线免费| 一区二区三区免费网站| 久久精品2019中文字幕| 亚洲视屏一区| 免费欧美在线| 国产麻豆日韩欧美久久| 亚洲韩国青草视频| 亚洲欧美影院| 一区二区三区成人| 久久人91精品久久久久久不卡| 欧美日韩大片一区二区三区| 国产精品亚洲欧美| 亚洲啪啪91| 性色一区二区| 亚洲午夜激情网站| 免费观看成人鲁鲁鲁鲁鲁视频| 国产精品久久久免费| 尤物九九久久国产精品的特点| 一区二区三区欧美| 亚洲人人精品| 欧美在线黄色| 欧美丝袜第一区| 在线国产欧美| 欧美一级黄色网| 亚洲图片自拍偷拍| 久久综合中文字幕| 国产精品免费观看视频| 亚洲激情网站| 久久精品91| 欧美亚洲视频一区二区| 欧美三级午夜理伦三级中视频| 在线日韩av| 在线看一区二区| 欧美一二三区在线观看| 亚洲天堂激情| 欧美国产精品久久| 黄色在线一区| 欧美一区二区三区免费大片| 亚洲图片激情小说| 欧美人与禽性xxxxx杂性| 一区在线播放视频| 欧美中在线观看| 久久激情综合网| 国产精品日韩欧美一区二区三区| 亚洲美女精品一区| 一本大道久久a久久精二百| 免费永久网站黄欧美| 极品少妇一区二区三区精品视频| 欧美一级成年大片在线观看| 欧美一级在线亚洲天堂| 国产精品99免视看9| 亚洲最黄网站| 国产精品99久久久久久有的能看| 欧美剧在线观看| 亚洲精品一二三| 99视频国产精品免费观看| 欧美大片免费久久精品三p | 亚洲性图久久| 亚洲一级二级| 欧美视频一区在线观看| 99视频有精品| 亚洲伊人伊色伊影伊综合网| 国产精品jvid在线观看蜜臀 | 在线一区二区视频| 欧美日韩国产综合一区二区| 亚洲日韩中文字幕在线播放| 日韩亚洲欧美精品| 欧美激情视频在线免费观看 欧美视频免费一 | 亚洲永久精品国产| 午夜精品短视频| 国产目拍亚洲精品99久久精品| 亚洲女人小视频在线观看| 欧美一区二区三区在线| 国产欧美日韩精品在线| 欧美影院成人| 久久综合九色综合欧美就去吻 | 欧美不卡高清| 亚洲激情视频在线| 一区二区高清在线观看| 欧美性开放视频| 午夜欧美电影在线观看| 久久久久九九视频| 在线精品视频一区二区三四| 日韩午夜精品| 国产精品久久国产愉拍| 性欧美暴力猛交另类hd| 老鸭窝91久久精品色噜噜导演| 亚洲第一中文字幕| 99精品久久免费看蜜臀剧情介绍| 欧美日韩专区在线| 亚洲欧美激情一区| 久久中文欧美| 99亚洲一区二区| 欧美专区18| 亚洲国产精品va在线看黑人| 中日韩高清电影网| 国产麻豆成人精品| 亚洲国产网站| 欧美午夜精品久久久久久孕妇 | 艳妇臀荡乳欲伦亚洲一区| 欧美一区二区三区免费看| 激情文学综合丁香| 国产精品99久久久久久人| 国产日韩欧美黄色| 亚洲片国产一区一级在线观看| 欧美日韩三级| 欧美一区二区三区免费视| 欧美激情综合在线| 亚洲影院在线| 欧美大片网址| 亚洲综合清纯丝袜自拍| 免费在线看成人av| 亚洲一区二区三区久久| 欧美成人国产| 亚洲在线1234| 欧美国产视频在线| 午夜精品视频在线观看| 欧美xx69| 午夜视频一区二区| 欧美日韩情趣电影| 久久国产手机看片| 国产精品久久久久7777婷婷| 亚洲国产精品女人久久久| 国产精品国产三级国产a| 亚洲激情黄色| 国产精品一区免费在线观看| 亚洲理论在线| 国产亚洲人成a一在线v站| 亚洲香蕉成视频在线观看 | 亚洲电影免费| 欧美一二三区精品| 日韩视频在线观看国产| 久久夜色撩人精品| 亚洲欧美高清| 欧美日韩中文| 亚洲精选一区二区| 国产一区二区三区免费在线观看| 亚洲天堂免费观看| 亚洲第一天堂av| 久久精品日产第一区二区| 中国av一区| 欧美喷水视频| 亚洲人成网站色ww在线|