环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產(chǎn)品分類

當(dāng)前位置: 首頁 > 傳感測量產(chǎn)品 > 數(shù)據(jù)采集產(chǎn)品 > 工控機

類型分類:
科普知識
數(shù)據(jù)分類:
工控機

ucos-ii在嵌入式智能視覺監(jiān)控系統(tǒng)中的應(yīng)用

發(fā)布日期:2022-04-18 點擊率:86

                   摘 要:在嵌入式系統(tǒng)中常常需要處理大量的實時數(shù)據(jù),特別是在面向視頻應(yīng)用的系統(tǒng)中。如何使CPU高效運行的問題契待解決。常用解決方法有:用匯編語言優(yōu)化代碼、移植嵌入式實時操作系統(tǒng)等。本文首先介紹了基于BF533的視覺監(jiān)控系統(tǒng)的硬件平臺設(shè)計,然后闡述了實時操作系統(tǒng)ucos-ii針對此硬件平臺的移植過程。經(jīng)實際運行,證明該設(shè)計能良好完成對運動目標(biāo)跟蹤等功能并且運行效率得到有效提高。 
關(guān)鍵詞:ucos-ii,BF533,嵌入式操作系統(tǒng),優(yōu)先級搶占
引言
  嵌入式系統(tǒng)常用在一些特定專用設(shè)備上,通常這些設(shè)備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,實時響應(yīng)要求很高,特別是在面向視頻應(yīng)用的系統(tǒng)中。嵌入式操作系統(tǒng)具有體積小、實時性好等優(yōu)點。嵌入式操作系統(tǒng)ucos-ii就是基于任務(wù)優(yōu)先級搶占的嵌入式實時操作系統(tǒng)。
1 系統(tǒng)硬件平臺設(shè)計
  系統(tǒng)使用的主芯片是ADI公司Blackfin系列DSP中的BF533,這是一款專門面向視頻應(yīng)用的DSP,擁有豐富的外設(shè)接口和較好的系統(tǒng)擴(kuò)展性。本系統(tǒng)利用BF533的PPI接口采集數(shù)字圖像,利用芯片的EBIU總線,擴(kuò)展SDRAM和網(wǎng)絡(luò)芯片。BF533工作在600MHz頻率,單個芯片即可完成對運動目標(biāo)跟蹤和網(wǎng)絡(luò)傳輸?shù)裙δ堋;贐F533的嵌入式系統(tǒng)的外圍電路主要可分為三個部分:圖像采集部分,網(wǎng)絡(luò)傳輸部分,存儲器部分。系統(tǒng)硬件框圖如圖1:

圖1 系統(tǒng)硬件框圖
  圖像采集電路部分采用了TI公司的TVP5150A型視頻解碼芯片,它將NTSC/PAL/SECAM制式的視頻信號轉(zhuǎn)換成8bits的ITU-656格式,并按照YCbCr格式以4:2:2的比例轉(zhuǎn)化成數(shù)字信號,支持兩路模擬輸入,解碼芯片通過I2C串行接口編程。
  網(wǎng)絡(luò)傳輸部分采用LAN91C111芯片。這是SMSC公司為嵌入式應(yīng)用系統(tǒng)推出的第三代快速以太網(wǎng)控制器。本系統(tǒng)中,LAN91C111被當(dāng)作了是異步存儲空間,利用AMS3把它映射在BF533的0x20300000地址空間。這樣就可以通過DMA操作實現(xiàn)對LAN91C111內(nèi)部存儲空間讀寫操作,提高了傳輸效率并使復(fù)雜的網(wǎng)絡(luò)數(shù)據(jù)傳輸過程簡單化。
  存儲器部分BF533的存儲結(jié)構(gòu)是統(tǒng)一的4GB尋址空間。同步存儲器、異步存儲器、外設(shè)存儲空間和片內(nèi)存儲器全部統(tǒng)一映射在4GB的空間。BF533的EBIU接口中有專門的SDRAM控制單元SDC,可以和SDRAM無縫連接。BF533支持的SDRAM地址是從0x00000000到0x08000000的空間,最大128MB。本系統(tǒng)中使用MICRON公司的MT48LC系列SDRAM,存儲空間32MB,用于存儲圖像處理中的中間結(jié)果。另外,BF533支持四塊連續(xù)的異步存儲空間,每塊空間大小為1MB,地址從0x20000000到0x20400000,由相應(yīng)的AMS0-AMS3引腳選擇使能。本系統(tǒng)使用的是ST公司的M29W系列FLASH,大小1MB。由AMS0片選使能,映射在BF533的第一塊異步存儲空間。
2 ucos-ii的移植
  ucos-ii是一種具有可剝奪實時內(nèi)核的實時操作系統(tǒng),而且是免費公開源代碼、結(jié)構(gòu)小巧。其內(nèi)核提供任務(wù)調(diào)度與管理、時間管理、任務(wù)間同步與通信、內(nèi)存管理和中斷服務(wù)等功能,具有執(zhí)行效率高、占用空間小、實時性能優(yōu)良和可擴(kuò)展性強等特點。最小內(nèi)核可編譯至2KB,適合小型控制系統(tǒng)。與CPU 硬件相關(guān)的部分用匯編語言編寫,其他絕大部分代碼采用C語言編寫。ucos-ii在硬件平臺上的移植主要分為兩大步驟:ucos-ii中與處理器相關(guān)的程序的修改、應(yīng)用程序的添加。
  2.1 ucos-ii與嵌入式監(jiān)控系統(tǒng)的軟硬件架構(gòu)
  所有的嵌入式操作系統(tǒng)都是與CPU密切相關(guān)的,做移植前需要熟悉被移植CPU平臺的硬件架構(gòu)和ucos-ii的運行原理,圖2是ucos-ii與本嵌入式監(jiān)控系統(tǒng)的軟硬件架構(gòu)。

圖2 系統(tǒng)架構(gòu)圖
  2.2 基于BF533的ucos-ii的移植
  移植ucos-ii需要理解處理器及C編譯器的技術(shù)細(xì)節(jié)。處理器和編譯器滿足了ucos-ii的要求,并且已經(jīng)有了必要工具。移植工作通常包括以下幾個內(nèi)容:
  A 用#define設(shè)置一個常量的值(OS_CPU.H);
  B 聲明10個數(shù)據(jù)類型(OS_CPU.H);
  C 用#define聲明三個宏(OS_CPU.H);
  D 用C語言編寫六個簡單的函數(shù)(OS_CPU_C.C);
  E 編寫四個匯編語言函數(shù)(OS_CPU_A.ASM);
  針對不同的CPU平臺,移植ucos-ii的過程也會有稍許不同。在本系統(tǒng)中,移植過程大致分為兩大部分:1)修改部分文件使ucos-ii與DSP能夠?qū)崿F(xiàn)良好的接口(主要指ucos-ii對DSP硬件架構(gòu)的支持);2)添加針對嵌入式監(jiān)控系統(tǒng)硬件平臺的初始化及驅(qū)動代碼。
  2.2.1 針對BF533的ucos-ii的代碼修改
  由于BF533是基于MSA(微信號架構(gòu))的16位定點DSP,為了能與ucos-ii數(shù)據(jù)處理單位統(tǒng)一,需要在OS_CPU.H文件中設(shè)置BF533的數(shù)據(jù)單元長度。部分宏定義代碼如下:
  typedef bool BOOLEAN;
  typedef signed char INT8S;
  typedef signed short int INT16S;
  typedef signed int INT32S;
  另外在OS_CPU.H文件中還需設(shè)置幾個堆棧的參數(shù)如堆棧的增長方向、堆棧的操作單位等。BF533支持的是自頂向下的堆棧增長方式,即堆棧空間從高地址向低地址增長。單次堆棧操作單位是INT32U。最后在OS_CPU.H還要對三個函數(shù)進(jìn)行宏定義:屏蔽所有中斷,恢復(fù)所有中斷,進(jìn)行任務(wù)切換。這三個函數(shù)在ucos-ii中十分重要,前兩個是為了保證一些重要函數(shù)或任務(wù)運行中的數(shù)據(jù)不會被改變(即通常所說的代碼臨界段),第三個是用于ucos-ii的任務(wù)切換,在ucos-ii中要求任務(wù)的切換就好象是剛發(fā)生過一次中斷一樣。在本系統(tǒng)中首先假設(shè)申請切換的任務(wù)已經(jīng)把相關(guān)的寄存器變量等參數(shù)保存,并將堆棧指針指向了優(yōu)先級高的任務(wù)。這樣任務(wù)切換函數(shù)就只需要完成中斷返回操作。
  開發(fā)軟件采用VisualDSP++,它的編譯器支持在C語言中嵌入?yún)R編,因此我們把這個宏定義直接寫成了一條軟件中斷指令:raise 14。這樣一旦系統(tǒng)進(jìn)行任務(wù)切換,實際上引起了一個中斷操作,在OS_CPU_A.ASM文件中我們在此中斷操作中完成任務(wù)切換前的保存寄存器等工作,最后是一條中斷返回指令:RTS。這樣優(yōu)先級更高的任務(wù)運行時就會好像剛從中斷返回一樣。
  在文件OS_CPU_A.ASM中還需要編寫幾個匯編函數(shù)來實現(xiàn)ucos-ii的時鐘節(jié)拍、正常任務(wù)切換、中斷級任務(wù)切換、初始化任務(wù)堆棧等功能。
  在ucos-ii中,我們可以把時鐘節(jié)拍TICKS比做是它的心臟節(jié)拍。TICKS為系統(tǒng)提供了一個時間基準(zhǔn)并為各個任務(wù)提供了時間等待等服務(wù)。本系統(tǒng)使用BF533的核心定時器來完成系統(tǒng)時鐘節(jié)拍的功能。系統(tǒng)TICKS設(shè)定的是100mS。以下是部分初始化核心定時器的匯編代碼:
  _CoreTimerInit:
  p1.H = ( TCNTL >>16 ); //設(shè)置時間控制寄存器
  p1.L = ( TCNTL &0xFFFF );
  r3 = 1;
  [ p1 ] = r3;
  p1.H = ( TCOUNT >>16 ); //裝載計數(shù)值
  p1.L = ( TCOUNT &0xFFFF );
  [ p1 ] = r1;
  p1.H = ( TCNTL >>16 ); //開啟定時器
  p1.L = ( TCNTL &0xFFFF );
  r1 = 0x07;
  [ p1 ] = r1;
  _CoreTimerInit.end:
  除增加上述功能函數(shù)外,在ucos-ii啟動代碼的程序中加入BF533的一些必須的初始化程序如CPU頻率的設(shè)定等, ucos-ii就可以在本系統(tǒng)上運行起來。
  2.2.2 嵌入式監(jiān)控系統(tǒng)在ucos-ii中的系統(tǒng)驅(qū)動程序添加
  ucos-ii移植完成后,嵌入式系統(tǒng)要實現(xiàn)應(yīng)有的功能還需要添加一些外圍電路的驅(qū)動程序如:網(wǎng)卡芯片LAN91C111的初始化程序,視頻A/D芯片的初始化程序等。由于Blackfin系列DSP支持存儲空間的DMA操作,為了充分發(fā)揮BF533的硬件優(yōu)勢,本系統(tǒng)專門建立一個文件DMA_TRANS.C實現(xiàn)多個存儲空間的DMA操作的初始化配置,以方便各個任務(wù)實現(xiàn)其功能調(diào)用。以下就是實現(xiàn)網(wǎng)卡芯片DMA存儲操作的部分配置文件:
  void init_dma(LAN91C111_DATA *d)
  {dev =d; // 為LAN91C11設(shè)置一個全局靜態(tài)變量,實現(xiàn)對它的數(shù)據(jù)訪問
  SET_SHORT((dev->DstStreambaseAddr+OFFSET_CONFIG),(unsignedshort)0x0);
  // 對目標(biāo)地址的配置清零
  SET _SHORT((dev->SrcStreambaseAddr+OFFSET_CONFIG),(unsigned short)0x0);
  //對源地址的配置清零
  dma_mask_en(1); //將SIC控制寄存器的相應(yīng)DMA傳輸位置1。}
  2.3 基于ucos-ii和監(jiān)控系統(tǒng)的任務(wù)程序添加
  在ucos-ii中系統(tǒng)的各個應(yīng)用程序被當(dāng)成是任務(wù),每個任務(wù)被分配一個優(yōu)先級,ucos-ii支持的最大任務(wù)數(shù)可在OS_CFG .H文件中指定。ucos-ii可以管理多達(dá)64個任務(wù),并從中保留了四個最高優(yōu)先級和四個最低優(yōu)先級的任務(wù)供自己使用,所以用戶可以使用的只有56個任務(wù)。因為ucos-ii不支持相同優(yōu)先級的任務(wù),所以每建立一個任務(wù)就需要為任務(wù)分配一個優(yōu)先級并建立一個獨立的堆棧空間。
  本智能監(jiān)控系統(tǒng)主要實現(xiàn)對運動目標(biāo)的跟蹤監(jiān)控和將原始數(shù)字圖象轉(zhuǎn)化為BMP格式并向網(wǎng)絡(luò)發(fā)送現(xiàn)場圖片的功能。在ucos-ii中分配了兩個任務(wù)優(yōu)先級0和1給對運動目標(biāo)的跟蹤和網(wǎng)絡(luò)傳輸。之所以使網(wǎng)絡(luò)傳輸?shù)娜蝿?wù)優(yōu)先級低于對運動目標(biāo)跟蹤的任務(wù),是因為考慮到網(wǎng)絡(luò)延時等因素會造成對運動目標(biāo)跟蹤的實時性效果比較差,對圖像做二值化和差分等運算的時間不大于150mS以及攝像機云臺運動一次的時間大概是500mS。本系統(tǒng)在對運動目標(biāo)跟蹤任務(wù)中采取的策略是:每當(dāng)任務(wù)完成一次跟蹤,就使自己進(jìn)入掛起狀態(tài),直到每秒定時到后,在時鐘節(jié)拍中斷服務(wù)程序中喚醒該任務(wù)使之處于就緒狀態(tài)。任務(wù)的狀態(tài)圖如圖3:

圖3 任務(wù)狀態(tài)圖
3 結(jié)論
  在ucos-ii的移植和系統(tǒng)應(yīng)用程序的開發(fā)過程中,針對不同的CPU有不同的開發(fā)細(xì)節(jié),在嵌入式監(jiān)控系統(tǒng)中應(yīng)注意以下幾點:
  A 移植過程中,對ucos-ii的堆棧的理解很重要,它的任務(wù)切換的實質(zhì)就是利用堆棧的改變和軟件中斷來實現(xiàn)任務(wù)的跳轉(zhuǎn)。并且在系統(tǒng)的中斷服務(wù)程序中也要注意到這一點,采取適當(dāng)?shù)亩褩2僮饕允怪疂M足任務(wù)切換的條件。
  B 在ucos-ii上增加應(yīng)用任務(wù)之前,最好是編寫幾個如串口發(fā)送之類的簡單任務(wù)來測試移植ucos-ii后系統(tǒng)的可靠性,然后在此基礎(chǔ)上逐漸添加一些復(fù)雜的任務(wù)。
  C 要分析好ucos-ii各個任務(wù)的功能與時間要求,特別是在以時間為任務(wù)運行條件的情況下,可以在時鐘中斷服務(wù)中創(chuàng)建任務(wù)。如果系統(tǒng)是應(yīng)用在對時間不敏感的場合,可以使用ucos-ii自帶的郵箱功能,用一個運行中的任務(wù)在滿足一定條件下來喚醒另一個任務(wù)。
  將ucos-ii應(yīng)用在嵌入式智能視覺監(jiān)控系統(tǒng)中后,經(jīng)實際運行,該系統(tǒng)能良好完成預(yù)期的所有功能,對非高速的運動目標(biāo)跟蹤效果良好,局域網(wǎng)的PC主機能收到較清晰的Half D1分辨率、256灰度等級的現(xiàn)場BMP圖片。
  本文創(chuàng)新點:本文針對圖像處理系統(tǒng)中實時處理數(shù)據(jù)量大的問題,將實時操作系統(tǒng)ucos-ii應(yīng)用于系統(tǒng)中,使CPU運行速率得到了有效的提高。
參考文獻(xiàn)
  1 陳峰.Blackfin系列DSP原理與系統(tǒng)設(shè)計[M].北京:電子工業(yè)出版社,2004,1。
  2 Analog Devices, Inc. ADSP-BF533 Blackfin Processor Hardware Reference. USA: Analog Devices, Inc, March 2003.
  3 邵貝貝等譯.嵌入式實時操作系統(tǒng)UC/OS-II.北京:北京航空航天大學(xué)出版社 2003。
  4 徐偉,潭樹人,黃浩亮.基于AT91RM9200 的圖像采集系統(tǒng)設(shè)計[J].微計算機信息,2006,11-2:120-123。          

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

主站蜘蛛池模板: RO反渗透设备_厂家_价格_河南郑州江宇环保科技有限公司 | 连续油炸机,全自动油炸机,花生米油炸机-烟台茂源食品机械制造有限公司 | 定制/定做冲锋衣厂家/公司-订做/订制冲锋衣价格/费用-北京圣达信 | 浙江宝泉阀门有限公司 | 洛阳装修公司-洛阳整装一站式品牌-福尚云宅装饰 | 废气处理设备-工业除尘器-RTO-RCO-蓄热式焚烧炉厂家-江苏天达环保设备有限公司 | 混合反应量热仪-高温高压量热仪-微机差热分析仪DTA|凯璞百科 | 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 福州仿石漆加盟_福建仿石漆厂家-外墙仿石漆加盟推荐铁壁金钢(福建)新材料科技有限公司有保障 | 沈阳缠绕膜价格_沈阳拉伸膜厂家_沈阳缠绕膜厂家直销 | 重庆网站建设,重庆网站设计,重庆网站制作,重庆seo,重庆做网站,重庆seo,重庆公众号运营,重庆小程序开发 | 上海平衡机-单面卧式动平衡机-万向节动平衡机-圈带动平衡机厂家-上海申岢动平衡机制造有限公司 | 旋转/数显粘度计-运动粘度测定仪-上海平轩科学仪器 | 数控专用机床,专用机床,自动线,组合机床,动力头,自动化加工生产线,江苏海鑫机床有限公司 | 洗地机_全自动洗地机_手推式洗地机【上海滢皓环保】 | 钢板仓,大型钢板仓,钢板库,大型钢板库,粉煤灰钢板仓,螺旋钢板仓,螺旋卷板仓,骨料钢板仓 | 冷却塔改造厂家_不锈钢冷却塔_玻璃钢冷却塔改造维修-广东特菱节能空调设备有限公司 | 断桥铝破碎机_发动机破碎机_杂铝破碎机厂家价格-皓星机械 | 电动卫生级调节阀,电动防爆球阀,电动软密封蝶阀,气动高压球阀,气动对夹蝶阀,气动V型调节球阀-上海川沪阀门有限公司 | PCB接线端子_栅板式端子_线路板连接器_端子排生产厂家-置恒电气 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 农业仪器网 - 中国自动化农业仪器信息交流平台| 水质传感器_水质监测站_雨量监测站_水文监测站-山东水境传感科技有限公司 | 天津试验仪器-电液伺服万能材料试验机,恒温恒湿标准养护箱,水泥恒应力压力试验机-天津鑫高伟业科技有限公司 | 湖南档案密集架,智能,物证,移动,价格-湖南档案密集架厂家 | 皮带输送机-大倾角皮带输送机-皮带输送机厂家-河南坤威机械 | 定制异形重型钢格栅板/钢格板_定做踏步板/排水沟盖板_钢格栅板批发厂家-河北圣墨金属制品有限公司 | 上海诺狮景观规划设计有限公司 | 安徽华耐泵阀有限公司-官方网站| 刘秘书_你身边专业的工作范文写作小秘书 | 基业箱_环网柜_配电柜厂家_开关柜厂家_开关断路器-东莞基业电气设备有限公司 | 热回收盐水机组-反应釜冷水机组-高低温冷水机组-北京蓝海神骏科技有限公司 | 加气混凝土砌块设备,轻质砖设备,蒸养砖设备,新型墙体设备-河南省杜甫机械制造有限公司 | 旋转气浴恒温振荡器-往复式水浴恒温振荡器-金怡百科 | 房在线-免费房产管理系统软件-二手房中介房屋房源管理系统软件 | 水厂自动化|污水处理中控系统|水利信息化|智慧水务|智慧农业-山东德艾自动化科技有限公司 | 防火板_饰面耐火板价格、厂家_品牌认准格林雅| EPK超声波测厚仪,德国EPK测厚仪维修-上海树信仪器仪表有限公司 | 广州中央空调回收,二手中央空调回收,旧空调回收,制冷设备回收,冷气机组回收公司-广州益夫制冷设备回收公司 | 不锈钢轴流风机,不锈钢电机-许昌光维防爆电机有限公司(原许昌光维特种电机技术有限公司) | 517瓜水果特产网|一个专注特产好物的网站 |