田華,宗曉萍,劉鑫
摘要:實(shí)踐環(huán)節(jié)在嵌入式學(xué)習(xí)中占有非常重要的地位,針對(duì)目前我院嵌入式實(shí)踐教學(xué)中存在的問題,制定了相應(yīng)的改革措施,提出項(xiàng)目驅(qū)動(dòng)的嵌入式實(shí)驗(yàn)室開放模式,并對(duì)運(yùn)行結(jié)果進(jìn)行了評(píng)價(jià)。
關(guān)鍵詞:嵌入式;實(shí)驗(yàn)室開放;項(xiàng)目驅(qū)動(dòng)
中圖分類號(hào):G420 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2014)06-0277-03
近年來隨著嵌入式產(chǎn)品在軍事、醫(yī)療、工業(yè)等領(lǐng)域的迅猛發(fā)展,具備嵌入式開發(fā)技術(shù)在學(xué)生就業(yè)過程中顯示出較強(qiáng)的競(jìng)爭(zhēng)力。嵌入式技術(shù)是一種軟、硬件高度結(jié)合的新興技術(shù),既涉及到芯片體系結(jié)構(gòu)問題,又涉及到操作系統(tǒng)相關(guān)知識(shí),所以學(xué)生在學(xué)習(xí)過程中普遍反映學(xué)習(xí)內(nèi)容多、難度大、不易掌握。實(shí)踐環(huán)節(jié)在嵌入式學(xué)習(xí)中占有非常重要的地位,在培養(yǎng)學(xué)生創(chuàng)新意識(shí)、創(chuàng)新精神、創(chuàng)新能力和工程實(shí)踐能力等方面,具有理論教學(xué)不可替代的作用。隨著我?!敖虒W(xué)質(zhì)量工程”建設(shè)和實(shí)踐教學(xué)改革的不斷深入,如何深化實(shí)踐教學(xué)內(nèi)容、提高學(xué)生的創(chuàng)新實(shí)踐能力,成為嵌入式實(shí)踐教學(xué)中值得思考和探索的問題。
一、嵌入式實(shí)踐教學(xué)中存在的問題
1.實(shí)驗(yàn)學(xué)時(shí)不足,綜合性實(shí)驗(yàn)少。我院嵌入式實(shí)驗(yàn)課程安排18學(xué)時(shí),包括3個(gè)體系結(jié)構(gòu)的實(shí)驗(yàn)項(xiàng)目和3個(gè)操作系統(tǒng)的實(shí)驗(yàn)項(xiàng)目,學(xué)生通過這6個(gè)實(shí)驗(yàn)可以初步掌握ARM體系結(jié)構(gòu)芯片的基本部件的功能以及Linux操作系統(tǒng)下驅(qū)動(dòng)程序和應(yīng)用程序的開發(fā)流程。實(shí)驗(yàn)課程深化了學(xué)生課堂所學(xué)的理論知識(shí),但實(shí)驗(yàn)學(xué)時(shí)相對(duì)不足導(dǎo)致一些綜合性實(shí)驗(yàn)項(xiàng)目無法在實(shí)驗(yàn)課上完成。
2.開放內(nèi)容單一,能力提升受限。開放嵌入式實(shí)驗(yàn)室可以部分緩解想深入研究嵌入式技術(shù)的學(xué)生的需求。學(xué)生根據(jù)自己的時(shí)間預(yù)約進(jìn)入嵌入式實(shí)驗(yàn)室,登記相關(guān)信息及實(shí)驗(yàn)內(nèi)容,保證自身及設(shè)備安全的情況下,進(jìn)行實(shí)驗(yàn)操作。這種開放模式對(duì)豐富和深化實(shí)驗(yàn)內(nèi)容,提高學(xué)生的嵌入式開發(fā)能力起到了一定的推動(dòng)作用。但也會(huì)普遍出現(xiàn)實(shí)踐內(nèi)容只是簡(jiǎn)單復(fù)現(xiàn)實(shí)驗(yàn)手冊(cè)提供的獨(dú)立項(xiàng)目,仍然缺乏綜合項(xiàng)目的訓(xùn)練和提升。
二、項(xiàng)目驅(qū)動(dòng)的嵌入式實(shí)驗(yàn)室開放
1.開放模式的基本思路。為了明確學(xué)生的實(shí)踐任務(wù)目標(biāo),提高嵌入式開發(fā)能力,培養(yǎng)團(tuán)隊(duì)合作的科學(xué)素質(zhì),在嵌入式實(shí)驗(yàn)室開放過程中逐漸建立起一種以項(xiàng)目為依托的實(shí)驗(yàn)室開放模式。其基本思路是把教師的科技課題或大學(xué)生創(chuàng)新實(shí)踐項(xiàng)目適當(dāng)調(diào)整后作為實(shí)驗(yàn)室開放課題。感興趣的學(xué)生通過報(bào)名分組結(jié)隊(duì),在明確項(xiàng)目全局任務(wù)的情況下,各隊(duì)負(fù)責(zé)不同模塊的具體任務(wù)。為避免各隊(duì)受固定任務(wù)局限,不了解環(huán)節(jié)銜接及項(xiàng)目整體進(jìn)度,采取定期集中匯報(bào),加強(qiáng)隊(duì)間溝通的項(xiàng)目管理方法。在實(shí)驗(yàn)室管理方面,為了充分發(fā)揮嵌入式實(shí)驗(yàn)室作用,并保障其安全運(yùn)行,根據(jù)目前實(shí)驗(yàn)中心的實(shí)際運(yùn)行情況,對(duì)嵌入式實(shí)驗(yàn)室確定了“師生共管,學(xué)生為主”的管理模式,教師負(fù)責(zé)研究方向的把握,篩選愛好嵌入式開發(fā)、責(zé)任心強(qiáng)的學(xué)生負(fù)責(zé)開放實(shí)驗(yàn)室的日常管理,并制定切實(shí)可行的實(shí)驗(yàn)室運(yùn)行管理監(jiān)督制度。
2.項(xiàng)目實(shí)施案例。明確實(shí)驗(yàn)室開放基本思路后,嵌入式實(shí)驗(yàn)室兩年來共引入教師承擔(dān)的各級(jí)項(xiàng)目及學(xué)生承擔(dān)的校院級(jí)項(xiàng)目5項(xiàng)。下面以學(xué)生完成的校級(jí)實(shí)驗(yàn)室開放項(xiàng)目“基于S3C6410的嵌入式圖像處理系統(tǒng)”,說明所提項(xiàng)目驅(qū)動(dòng)方案的實(shí)施效果。
項(xiàng)目主要研究?jī)?nèi)容:該項(xiàng)目以S3C6410嵌入式開發(fā)板為硬件平臺(tái),以嵌入式Linux操作系統(tǒng)為軟件開發(fā)環(huán)境,通過設(shè)計(jì)驅(qū)動(dòng)程序及圖像采集、顯示和網(wǎng)絡(luò)傳輸?shù)葢?yīng)用程序,實(shí)現(xiàn)了下位機(jī)(開發(fā)板)和上位機(jī)(PC機(jī))同步實(shí)時(shí)顯示采集圖像的功能。
(1)系統(tǒng)硬件平臺(tái),本設(shè)計(jì)基于嵌入式系統(tǒng)進(jìn)行視頻采集,對(duì)硬件平臺(tái)有一定的要求,即除了要具備較高的工作主頻和豐富的外圍電路擴(kuò)展接口外,還要具備編解碼多媒體的能力,要有足夠的內(nèi)存資源用于圖像處理,同時(shí)還必須要具備網(wǎng)絡(luò)接口。所以選擇了基于ARM920T內(nèi)核的S3C6410芯片作為處理器,此外系統(tǒng)還包括兩片三星K4X1G163PQ組成256M的Mobile DDR內(nèi)存、一片三星K9GAG08U0E的2G固態(tài)硬盤、NEC的4.3寸LCD、ZC301P的640*480像素的攝像頭、三個(gè)Uart和10/100M自適應(yīng)DM9000以太網(wǎng)卡以及電源模塊等部件構(gòu)成嵌入式硬件環(huán)境。系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
(2)嵌入式Linux下視頻采集、顯示及網(wǎng)絡(luò)傳輸程序,本設(shè)計(jì)構(gòu)建嵌入式操作系統(tǒng)過程中,使用U-Boot作為Boot loader,使用標(biāo)準(zhǔn)內(nèi)核Linux 2.6.38經(jīng)過內(nèi)核的配置裁剪作為嵌入式操作系統(tǒng)的內(nèi)核,使用工具Busybox制作的根文件系統(tǒng)。嵌入式Linux系統(tǒng)為視頻圖像采集、網(wǎng)絡(luò)遠(yuǎn)程數(shù)據(jù)傳輸和本地視頻顯示提供了方便的編程接口,其中包括針對(duì)硬件編解碼的操作接口、軟件編解碼庫、Qt圖形庫支持等等。在嵌入式設(shè)備上運(yùn)行的應(yīng)用程序模塊要完成不同的功能,但是各模塊間又存在共享資源,所以程序設(shè)計(jì)為多線程的工作方式,使用互斥量和條件變量消除線程間對(duì)共享資源的競(jìng)爭(zhēng)問題。多線程方式提高了程序運(yùn)行速率,實(shí)現(xiàn)了并發(fā)操作。程序中分為三個(gè)線程:圖像采集線程、LCD圖像顯示線程和網(wǎng)絡(luò)數(shù)據(jù)傳輸線程,主進(jìn)程作為線程管理。遠(yuǎn)程接收端工作于x86體系PC機(jī)上,使用Qt編程實(shí)現(xiàn)圖像化界面應(yīng)用程序,顯示嵌入式設(shè)備采集的視頻。在Linux2.6.38內(nèi)核里,攝像頭驅(qū)動(dòng)接口為Video4Linux2,這種接口定義了多種攝像頭工作方式,包括camera capture、camera tune、camera encoder等。Frame buffer是內(nèi)核驅(qū)動(dòng)提供的顯示驅(qū)動(dòng)技術(shù),利用它提供給用戶的接口很容易實(shí)現(xiàn)圖像在LCD上的顯示。網(wǎng)絡(luò)數(shù)據(jù)傳輸使用UNIX網(wǎng)絡(luò)套接字,使用兩條TCP連接實(shí)現(xiàn)視頻數(shù)據(jù)傳輸與數(shù)據(jù)同步。系統(tǒng)軟件流程如圖2所示。
(3)按系統(tǒng)功能模塊進(jìn)行學(xué)生任務(wù)劃分,程序設(shè)計(jì)按照系統(tǒng)的基本功能模塊劃分為4部分,由四組學(xué)生分別承擔(dān):①攝像頭圖像捕獲。攝像頭操作主要在用戶態(tài)實(shí)現(xiàn),其中包括:攝像頭參數(shù)設(shè)置啟動(dòng)硬件JPEG壓縮,圖像緩存隊(duì)列建立,圖像幀的出隊(duì)和再入隊(duì)以及對(duì)攝像頭隊(duì)列狀態(tài)的select操作。②嵌入式設(shè)備上LCD圖像顯示。本設(shè)計(jì)圖像格式為JPEG,而嵌入式設(shè)備上只能直接顯示RGB或者YVU格式圖像。在獲取到圖像幀后,通過Linux內(nèi)置多媒體庫對(duì)圖像解碼為RGB后再和SMDK6410顯示控制器格式匹配,最終實(shí)現(xiàn)LCD上的圖像顯示。③以太網(wǎng)數(shù)據(jù)傳輸。本設(shè)計(jì)主要目的是用嵌入式設(shè)備采集圖像,在遠(yuǎn)端PC上進(jìn)行獲取,傳輸方式選擇為以太網(wǎng)。本模塊主要實(shí)現(xiàn)了針對(duì)本設(shè)計(jì)圖像傳輸?shù)幕赥CP應(yīng)用層協(xié)議。其中也包括了socket連接請(qǐng)求、數(shù)據(jù)發(fā)送、出錯(cuò)處理等。④PC端在Qt creator環(huán)境下使用C++編寫圖像顯示程序。該程序分為網(wǎng)絡(luò)數(shù)據(jù)接收和圖像解碼顯示兩部分。網(wǎng)絡(luò)數(shù)據(jù)接收部分主要是對(duì)從兩條Socket連接中收到的網(wǎng)絡(luò)數(shù)據(jù)做協(xié)議解析,從TCP流內(nèi)提取完整單幀圖像;圖像顯示部分使用了QPixmap類,內(nèi)存里完整的圖像幀直接由該類成員函數(shù)處理,降低了圖像解碼中的復(fù)雜程度。④系統(tǒng)運(yùn)行測(cè)試結(jié)果
本文通過具體案例,對(duì)項(xiàng)目驅(qū)動(dòng)的嵌入式實(shí)驗(yàn)室實(shí)踐運(yùn)行模式進(jìn)行了的可行性分析。課題組同學(xué)以實(shí)驗(yàn)室開放項(xiàng)目為依托,通過全程參與、協(xié)同合作,增強(qiáng)了開拓創(chuàng)新能力,培養(yǎng)了科研意識(shí)和團(tuán)隊(duì)合作精神,為今后從事科學(xué)研究工作奠定了基礎(chǔ)。實(shí)驗(yàn)室開放是實(shí)驗(yàn)教學(xué)的一種有效的補(bǔ)充和提升,隨著高校實(shí)驗(yàn)教學(xué)改革的深入以及高校創(chuàng)新人才實(shí)踐技能要求的逐漸提升,探討有效的實(shí)踐教學(xué)方式將成為持續(xù)的研究熱點(diǎn)。
參考文獻(xiàn):
[1]周勤,張微,溫光浩.高校實(shí)驗(yàn)室工作的探究與實(shí)踐[J].實(shí)驗(yàn)室研究與探索,2011,30(11):371-374.
[2]陳淑潔.實(shí)驗(yàn)室開放模式的探索與實(shí)踐[J].中國(guó)現(xiàn)代教育裝備,2011(21):31-34.
基金項(xiàng)目:河北大學(xué)實(shí)驗(yàn)室開放項(xiàng)目基金資助(2012029)。河北大學(xué)電子信息工程學(xué)院教改項(xiàng)目資助。
作者簡(jiǎn)介:田華(1973-),女,工學(xué)碩士,河北大學(xué)電子信息工程學(xué)院實(shí)驗(yàn)中心高級(jí)實(shí)驗(yàn)師。endprint
摘要:實(shí)踐環(huán)節(jié)在嵌入式學(xué)習(xí)中占有非常重要的地位,針對(duì)目前我院嵌入式實(shí)踐教學(xué)中存在的問題,制定了相應(yīng)的改革措施,提出項(xiàng)目驅(qū)動(dòng)的嵌入式實(shí)驗(yàn)室開放模式,并對(duì)運(yùn)行結(jié)果進(jìn)行了評(píng)價(jià)。
關(guān)鍵詞:嵌入式;實(shí)驗(yàn)室開放;項(xiàng)目驅(qū)動(dòng)
中圖分類號(hào):G420 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2014)06-0277-03
近年來隨著嵌入式產(chǎn)品在軍事、醫(yī)療、工業(yè)等領(lǐng)域的迅猛發(fā)展,具備嵌入式開發(fā)技術(shù)在學(xué)生就業(yè)過程中顯示出較強(qiáng)的競(jìng)爭(zhēng)力。嵌入式技術(shù)是一種軟、硬件高度結(jié)合的新興技術(shù),既涉及到芯片體系結(jié)構(gòu)問題,又涉及到操作系統(tǒng)相關(guān)知識(shí),所以學(xué)生在學(xué)習(xí)過程中普遍反映學(xué)習(xí)內(nèi)容多、難度大、不易掌握。實(shí)踐環(huán)節(jié)在嵌入式學(xué)習(xí)中占有非常重要的地位,在培養(yǎng)學(xué)生創(chuàng)新意識(shí)、創(chuàng)新精神、創(chuàng)新能力和工程實(shí)踐能力等方面,具有理論教學(xué)不可替代的作用。隨著我校“教學(xué)質(zhì)量工程”建設(shè)和實(shí)踐教學(xué)改革的不斷深入,如何深化實(shí)踐教學(xué)內(nèi)容、提高學(xué)生的創(chuàng)新實(shí)踐能力,成為嵌入式實(shí)踐教學(xué)中值得思考和探索的問題。
一、嵌入式實(shí)踐教學(xué)中存在的問題
1.實(shí)驗(yàn)學(xué)時(shí)不足,綜合性實(shí)驗(yàn)少。我院嵌入式實(shí)驗(yàn)課程安排18學(xué)時(shí),包括3個(gè)體系結(jié)構(gòu)的實(shí)驗(yàn)項(xiàng)目和3個(gè)操作系統(tǒng)的實(shí)驗(yàn)項(xiàng)目,學(xué)生通過這6個(gè)實(shí)驗(yàn)可以初步掌握ARM體系結(jié)構(gòu)芯片的基本部件的功能以及Linux操作系統(tǒng)下驅(qū)動(dòng)程序和應(yīng)用程序的開發(fā)流程。實(shí)驗(yàn)課程深化了學(xué)生課堂所學(xué)的理論知識(shí),但實(shí)驗(yàn)學(xué)時(shí)相對(duì)不足導(dǎo)致一些綜合性實(shí)驗(yàn)項(xiàng)目無法在實(shí)驗(yàn)課上完成。
2.開放內(nèi)容單一,能力提升受限。開放嵌入式實(shí)驗(yàn)室可以部分緩解想深入研究嵌入式技術(shù)的學(xué)生的需求。學(xué)生根據(jù)自己的時(shí)間預(yù)約進(jìn)入嵌入式實(shí)驗(yàn)室,登記相關(guān)信息及實(shí)驗(yàn)內(nèi)容,保證自身及設(shè)備安全的情況下,進(jìn)行實(shí)驗(yàn)操作。這種開放模式對(duì)豐富和深化實(shí)驗(yàn)內(nèi)容,提高學(xué)生的嵌入式開發(fā)能力起到了一定的推動(dòng)作用。但也會(huì)普遍出現(xiàn)實(shí)踐內(nèi)容只是簡(jiǎn)單復(fù)現(xiàn)實(shí)驗(yàn)手冊(cè)提供的獨(dú)立項(xiàng)目,仍然缺乏綜合項(xiàng)目的訓(xùn)練和提升。
二、項(xiàng)目驅(qū)動(dòng)的嵌入式實(shí)驗(yàn)室開放
1.開放模式的基本思路。為了明確學(xué)生的實(shí)踐任務(wù)目標(biāo),提高嵌入式開發(fā)能力,培養(yǎng)團(tuán)隊(duì)合作的科學(xué)素質(zhì),在嵌入式實(shí)驗(yàn)室開放過程中逐漸建立起一種以項(xiàng)目為依托的實(shí)驗(yàn)室開放模式。其基本思路是把教師的科技課題或大學(xué)生創(chuàng)新實(shí)踐項(xiàng)目適當(dāng)調(diào)整后作為實(shí)驗(yàn)室開放課題。感興趣的學(xué)生通過報(bào)名分組結(jié)隊(duì),在明確項(xiàng)目全局任務(wù)的情況下,各隊(duì)負(fù)責(zé)不同模塊的具體任務(wù)。為避免各隊(duì)受固定任務(wù)局限,不了解環(huán)節(jié)銜接及項(xiàng)目整體進(jìn)度,采取定期集中匯報(bào),加強(qiáng)隊(duì)間溝通的項(xiàng)目管理方法。在實(shí)驗(yàn)室管理方面,為了充分發(fā)揮嵌入式實(shí)驗(yàn)室作用,并保障其安全運(yùn)行,根據(jù)目前實(shí)驗(yàn)中心的實(shí)際運(yùn)行情況,對(duì)嵌入式實(shí)驗(yàn)室確定了“師生共管,學(xué)生為主”的管理模式,教師負(fù)責(zé)研究方向的把握,篩選愛好嵌入式開發(fā)、責(zé)任心強(qiáng)的學(xué)生負(fù)責(zé)開放實(shí)驗(yàn)室的日常管理,并制定切實(shí)可行的實(shí)驗(yàn)室運(yùn)行管理監(jiān)督制度。
2.項(xiàng)目實(shí)施案例。明確實(shí)驗(yàn)室開放基本思路后,嵌入式實(shí)驗(yàn)室兩年來共引入教師承擔(dān)的各級(jí)項(xiàng)目及學(xué)生承擔(dān)的校院級(jí)項(xiàng)目5項(xiàng)。下面以學(xué)生完成的校級(jí)實(shí)驗(yàn)室開放項(xiàng)目“基于S3C6410的嵌入式圖像處理系統(tǒng)”,說明所提項(xiàng)目驅(qū)動(dòng)方案的實(shí)施效果。
項(xiàng)目主要研究?jī)?nèi)容:該項(xiàng)目以S3C6410嵌入式開發(fā)板為硬件平臺(tái),以嵌入式Linux操作系統(tǒng)為軟件開發(fā)環(huán)境,通過設(shè)計(jì)驅(qū)動(dòng)程序及圖像采集、顯示和網(wǎng)絡(luò)傳輸?shù)葢?yīng)用程序,實(shí)現(xiàn)了下位機(jī)(開發(fā)板)和上位機(jī)(PC機(jī))同步實(shí)時(shí)顯示采集圖像的功能。
(1)系統(tǒng)硬件平臺(tái),本設(shè)計(jì)基于嵌入式系統(tǒng)進(jìn)行視頻采集,對(duì)硬件平臺(tái)有一定的要求,即除了要具備較高的工作主頻和豐富的外圍電路擴(kuò)展接口外,還要具備編解碼多媒體的能力,要有足夠的內(nèi)存資源用于圖像處理,同時(shí)還必須要具備網(wǎng)絡(luò)接口。所以選擇了基于ARM920T內(nèi)核的S3C6410芯片作為處理器,此外系統(tǒng)還包括兩片三星K4X1G163PQ組成256M的Mobile DDR內(nèi)存、一片三星K9GAG08U0E的2G固態(tài)硬盤、NEC的4.3寸LCD、ZC301P的640*480像素的攝像頭、三個(gè)Uart和10/100M自適應(yīng)DM9000以太網(wǎng)卡以及電源模塊等部件構(gòu)成嵌入式硬件環(huán)境。系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
(2)嵌入式Linux下視頻采集、顯示及網(wǎng)絡(luò)傳輸程序,本設(shè)計(jì)構(gòu)建嵌入式操作系統(tǒng)過程中,使用U-Boot作為Boot loader,使用標(biāo)準(zhǔn)內(nèi)核Linux 2.6.38經(jīng)過內(nèi)核的配置裁剪作為嵌入式操作系統(tǒng)的內(nèi)核,使用工具Busybox制作的根文件系統(tǒng)。嵌入式Linux系統(tǒng)為視頻圖像采集、網(wǎng)絡(luò)遠(yuǎn)程數(shù)據(jù)傳輸和本地視頻顯示提供了方便的編程接口,其中包括針對(duì)硬件編解碼的操作接口、軟件編解碼庫、Qt圖形庫支持等等。在嵌入式設(shè)備上運(yùn)行的應(yīng)用程序模塊要完成不同的功能,但是各模塊間又存在共享資源,所以程序設(shè)計(jì)為多線程的工作方式,使用互斥量和條件變量消除線程間對(duì)共享資源的競(jìng)爭(zhēng)問題。多線程方式提高了程序運(yùn)行速率,實(shí)現(xiàn)了并發(fā)操作。程序中分為三個(gè)線程:圖像采集線程、LCD圖像顯示線程和網(wǎng)絡(luò)數(shù)據(jù)傳輸線程,主進(jìn)程作為線程管理。遠(yuǎn)程接收端工作于x86體系PC機(jī)上,使用Qt編程實(shí)現(xiàn)圖像化界面應(yīng)用程序,顯示嵌入式設(shè)備采集的視頻。在Linux2.6.38內(nèi)核里,攝像頭驅(qū)動(dòng)接口為Video4Linux2,這種接口定義了多種攝像頭工作方式,包括camera capture、camera tune、camera encoder等。Frame buffer是內(nèi)核驅(qū)動(dòng)提供的顯示驅(qū)動(dòng)技術(shù),利用它提供給用戶的接口很容易實(shí)現(xiàn)圖像在LCD上的顯示。網(wǎng)絡(luò)數(shù)據(jù)傳輸使用UNIX網(wǎng)絡(luò)套接字,使用兩條TCP連接實(shí)現(xiàn)視頻數(shù)據(jù)傳輸與數(shù)據(jù)同步。系統(tǒng)軟件流程如圖2所示。
(3)按系統(tǒng)功能模塊進(jìn)行學(xué)生任務(wù)劃分,程序設(shè)計(jì)按照系統(tǒng)的基本功能模塊劃分為4部分,由四組學(xué)生分別承擔(dān):①攝像頭圖像捕獲。攝像頭操作主要在用戶態(tài)實(shí)現(xiàn),其中包括:攝像頭參數(shù)設(shè)置啟動(dòng)硬件JPEG壓縮,圖像緩存隊(duì)列建立,圖像幀的出隊(duì)和再入隊(duì)以及對(duì)攝像頭隊(duì)列狀態(tài)的select操作。②嵌入式設(shè)備上LCD圖像顯示。本設(shè)計(jì)圖像格式為JPEG,而嵌入式設(shè)備上只能直接顯示RGB或者YVU格式圖像。在獲取到圖像幀后,通過Linux內(nèi)置多媒體庫對(duì)圖像解碼為RGB后再和SMDK6410顯示控制器格式匹配,最終實(shí)現(xiàn)LCD上的圖像顯示。③以太網(wǎng)數(shù)據(jù)傳輸。本設(shè)計(jì)主要目的是用嵌入式設(shè)備采集圖像,在遠(yuǎn)端PC上進(jìn)行獲取,傳輸方式選擇為以太網(wǎng)。本模塊主要實(shí)現(xiàn)了針對(duì)本設(shè)計(jì)圖像傳輸?shù)幕赥CP應(yīng)用層協(xié)議。其中也包括了socket連接請(qǐng)求、數(shù)據(jù)發(fā)送、出錯(cuò)處理等。④PC端在Qt creator環(huán)境下使用C++編寫圖像顯示程序。該程序分為網(wǎng)絡(luò)數(shù)據(jù)接收和圖像解碼顯示兩部分。網(wǎng)絡(luò)數(shù)據(jù)接收部分主要是對(duì)從兩條Socket連接中收到的網(wǎng)絡(luò)數(shù)據(jù)做協(xié)議解析,從TCP流內(nèi)提取完整單幀圖像;圖像顯示部分使用了QPixmap類,內(nèi)存里完整的圖像幀直接由該類成員函數(shù)處理,降低了圖像解碼中的復(fù)雜程度。④系統(tǒng)運(yùn)行測(cè)試結(jié)果
本文通過具體案例,對(duì)項(xiàng)目驅(qū)動(dòng)的嵌入式實(shí)驗(yàn)室實(shí)踐運(yùn)行模式進(jìn)行了的可行性分析。課題組同學(xué)以實(shí)驗(yàn)室開放項(xiàng)目為依托,通過全程參與、協(xié)同合作,增強(qiáng)了開拓創(chuàng)新能力,培養(yǎng)了科研意識(shí)和團(tuán)隊(duì)合作精神,為今后從事科學(xué)研究工作奠定了基礎(chǔ)。實(shí)驗(yàn)室開放是實(shí)驗(yàn)教學(xué)的一種有效的補(bǔ)充和提升,隨著高校實(shí)驗(yàn)教學(xué)改革的深入以及高校創(chuàng)新人才實(shí)踐技能要求的逐漸提升,探討有效的實(shí)踐教學(xué)方式將成為持續(xù)的研究熱點(diǎn)。
參考文獻(xiàn):
[1]周勤,張微,溫光浩.高校實(shí)驗(yàn)室工作的探究與實(shí)踐[J].實(shí)驗(yàn)室研究與探索,2011,30(11):371-374.
[2]陳淑潔.實(shí)驗(yàn)室開放模式的探索與實(shí)踐[J].中國(guó)現(xiàn)代教育裝備,2011(21):31-34.
基金項(xiàng)目:河北大學(xué)實(shí)驗(yàn)室開放項(xiàng)目基金資助(2012029)。河北大學(xué)電子信息工程學(xué)院教改項(xiàng)目資助。
作者簡(jiǎn)介:田華(1973-),女,工學(xué)碩士,河北大學(xué)電子信息工程學(xué)院實(shí)驗(yàn)中心高級(jí)實(shí)驗(yàn)師。endprint
摘要:實(shí)踐環(huán)節(jié)在嵌入式學(xué)習(xí)中占有非常重要的地位,針對(duì)目前我院嵌入式實(shí)踐教學(xué)中存在的問題,制定了相應(yīng)的改革措施,提出項(xiàng)目驅(qū)動(dòng)的嵌入式實(shí)驗(yàn)室開放模式,并對(duì)運(yùn)行結(jié)果進(jìn)行了評(píng)價(jià)。
關(guān)鍵詞:嵌入式;實(shí)驗(yàn)室開放;項(xiàng)目驅(qū)動(dòng)
中圖分類號(hào):G420 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2014)06-0277-03
近年來隨著嵌入式產(chǎn)品在軍事、醫(yī)療、工業(yè)等領(lǐng)域的迅猛發(fā)展,具備嵌入式開發(fā)技術(shù)在學(xué)生就業(yè)過程中顯示出較強(qiáng)的競(jìng)爭(zhēng)力。嵌入式技術(shù)是一種軟、硬件高度結(jié)合的新興技術(shù),既涉及到芯片體系結(jié)構(gòu)問題,又涉及到操作系統(tǒng)相關(guān)知識(shí),所以學(xué)生在學(xué)習(xí)過程中普遍反映學(xué)習(xí)內(nèi)容多、難度大、不易掌握。實(shí)踐環(huán)節(jié)在嵌入式學(xué)習(xí)中占有非常重要的地位,在培養(yǎng)學(xué)生創(chuàng)新意識(shí)、創(chuàng)新精神、創(chuàng)新能力和工程實(shí)踐能力等方面,具有理論教學(xué)不可替代的作用。隨著我校“教學(xué)質(zhì)量工程”建設(shè)和實(shí)踐教學(xué)改革的不斷深入,如何深化實(shí)踐教學(xué)內(nèi)容、提高學(xué)生的創(chuàng)新實(shí)踐能力,成為嵌入式實(shí)踐教學(xué)中值得思考和探索的問題。
一、嵌入式實(shí)踐教學(xué)中存在的問題
1.實(shí)驗(yàn)學(xué)時(shí)不足,綜合性實(shí)驗(yàn)少。我院嵌入式實(shí)驗(yàn)課程安排18學(xué)時(shí),包括3個(gè)體系結(jié)構(gòu)的實(shí)驗(yàn)項(xiàng)目和3個(gè)操作系統(tǒng)的實(shí)驗(yàn)項(xiàng)目,學(xué)生通過這6個(gè)實(shí)驗(yàn)可以初步掌握ARM體系結(jié)構(gòu)芯片的基本部件的功能以及Linux操作系統(tǒng)下驅(qū)動(dòng)程序和應(yīng)用程序的開發(fā)流程。實(shí)驗(yàn)課程深化了學(xué)生課堂所學(xué)的理論知識(shí),但實(shí)驗(yàn)學(xué)時(shí)相對(duì)不足導(dǎo)致一些綜合性實(shí)驗(yàn)項(xiàng)目無法在實(shí)驗(yàn)課上完成。
2.開放內(nèi)容單一,能力提升受限。開放嵌入式實(shí)驗(yàn)室可以部分緩解想深入研究嵌入式技術(shù)的學(xué)生的需求。學(xué)生根據(jù)自己的時(shí)間預(yù)約進(jìn)入嵌入式實(shí)驗(yàn)室,登記相關(guān)信息及實(shí)驗(yàn)內(nèi)容,保證自身及設(shè)備安全的情況下,進(jìn)行實(shí)驗(yàn)操作。這種開放模式對(duì)豐富和深化實(shí)驗(yàn)內(nèi)容,提高學(xué)生的嵌入式開發(fā)能力起到了一定的推動(dòng)作用。但也會(huì)普遍出現(xiàn)實(shí)踐內(nèi)容只是簡(jiǎn)單復(fù)現(xiàn)實(shí)驗(yàn)手冊(cè)提供的獨(dú)立項(xiàng)目,仍然缺乏綜合項(xiàng)目的訓(xùn)練和提升。
二、項(xiàng)目驅(qū)動(dòng)的嵌入式實(shí)驗(yàn)室開放
1.開放模式的基本思路。為了明確學(xué)生的實(shí)踐任務(wù)目標(biāo),提高嵌入式開發(fā)能力,培養(yǎng)團(tuán)隊(duì)合作的科學(xué)素質(zhì),在嵌入式實(shí)驗(yàn)室開放過程中逐漸建立起一種以項(xiàng)目為依托的實(shí)驗(yàn)室開放模式。其基本思路是把教師的科技課題或大學(xué)生創(chuàng)新實(shí)踐項(xiàng)目適當(dāng)調(diào)整后作為實(shí)驗(yàn)室開放課題。感興趣的學(xué)生通過報(bào)名分組結(jié)隊(duì),在明確項(xiàng)目全局任務(wù)的情況下,各隊(duì)負(fù)責(zé)不同模塊的具體任務(wù)。為避免各隊(duì)受固定任務(wù)局限,不了解環(huán)節(jié)銜接及項(xiàng)目整體進(jìn)度,采取定期集中匯報(bào),加強(qiáng)隊(duì)間溝通的項(xiàng)目管理方法。在實(shí)驗(yàn)室管理方面,為了充分發(fā)揮嵌入式實(shí)驗(yàn)室作用,并保障其安全運(yùn)行,根據(jù)目前實(shí)驗(yàn)中心的實(shí)際運(yùn)行情況,對(duì)嵌入式實(shí)驗(yàn)室確定了“師生共管,學(xué)生為主”的管理模式,教師負(fù)責(zé)研究方向的把握,篩選愛好嵌入式開發(fā)、責(zé)任心強(qiáng)的學(xué)生負(fù)責(zé)開放實(shí)驗(yàn)室的日常管理,并制定切實(shí)可行的實(shí)驗(yàn)室運(yùn)行管理監(jiān)督制度。
2.項(xiàng)目實(shí)施案例。明確實(shí)驗(yàn)室開放基本思路后,嵌入式實(shí)驗(yàn)室兩年來共引入教師承擔(dān)的各級(jí)項(xiàng)目及學(xué)生承擔(dān)的校院級(jí)項(xiàng)目5項(xiàng)。下面以學(xué)生完成的校級(jí)實(shí)驗(yàn)室開放項(xiàng)目“基于S3C6410的嵌入式圖像處理系統(tǒng)”,說明所提項(xiàng)目驅(qū)動(dòng)方案的實(shí)施效果。
項(xiàng)目主要研究?jī)?nèi)容:該項(xiàng)目以S3C6410嵌入式開發(fā)板為硬件平臺(tái),以嵌入式Linux操作系統(tǒng)為軟件開發(fā)環(huán)境,通過設(shè)計(jì)驅(qū)動(dòng)程序及圖像采集、顯示和網(wǎng)絡(luò)傳輸?shù)葢?yīng)用程序,實(shí)現(xiàn)了下位機(jī)(開發(fā)板)和上位機(jī)(PC機(jī))同步實(shí)時(shí)顯示采集圖像的功能。
(1)系統(tǒng)硬件平臺(tái),本設(shè)計(jì)基于嵌入式系統(tǒng)進(jìn)行視頻采集,對(duì)硬件平臺(tái)有一定的要求,即除了要具備較高的工作主頻和豐富的外圍電路擴(kuò)展接口外,還要具備編解碼多媒體的能力,要有足夠的內(nèi)存資源用于圖像處理,同時(shí)還必須要具備網(wǎng)絡(luò)接口。所以選擇了基于ARM920T內(nèi)核的S3C6410芯片作為處理器,此外系統(tǒng)還包括兩片三星K4X1G163PQ組成256M的Mobile DDR內(nèi)存、一片三星K9GAG08U0E的2G固態(tài)硬盤、NEC的4.3寸LCD、ZC301P的640*480像素的攝像頭、三個(gè)Uart和10/100M自適應(yīng)DM9000以太網(wǎng)卡以及電源模塊等部件構(gòu)成嵌入式硬件環(huán)境。系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
(2)嵌入式Linux下視頻采集、顯示及網(wǎng)絡(luò)傳輸程序,本設(shè)計(jì)構(gòu)建嵌入式操作系統(tǒng)過程中,使用U-Boot作為Boot loader,使用標(biāo)準(zhǔn)內(nèi)核Linux 2.6.38經(jīng)過內(nèi)核的配置裁剪作為嵌入式操作系統(tǒng)的內(nèi)核,使用工具Busybox制作的根文件系統(tǒng)。嵌入式Linux系統(tǒng)為視頻圖像采集、網(wǎng)絡(luò)遠(yuǎn)程數(shù)據(jù)傳輸和本地視頻顯示提供了方便的編程接口,其中包括針對(duì)硬件編解碼的操作接口、軟件編解碼庫、Qt圖形庫支持等等。在嵌入式設(shè)備上運(yùn)行的應(yīng)用程序模塊要完成不同的功能,但是各模塊間又存在共享資源,所以程序設(shè)計(jì)為多線程的工作方式,使用互斥量和條件變量消除線程間對(duì)共享資源的競(jìng)爭(zhēng)問題。多線程方式提高了程序運(yùn)行速率,實(shí)現(xiàn)了并發(fā)操作。程序中分為三個(gè)線程:圖像采集線程、LCD圖像顯示線程和網(wǎng)絡(luò)數(shù)據(jù)傳輸線程,主進(jìn)程作為線程管理。遠(yuǎn)程接收端工作于x86體系PC機(jī)上,使用Qt編程實(shí)現(xiàn)圖像化界面應(yīng)用程序,顯示嵌入式設(shè)備采集的視頻。在Linux2.6.38內(nèi)核里,攝像頭驅(qū)動(dòng)接口為Video4Linux2,這種接口定義了多種攝像頭工作方式,包括camera capture、camera tune、camera encoder等。Frame buffer是內(nèi)核驅(qū)動(dòng)提供的顯示驅(qū)動(dòng)技術(shù),利用它提供給用戶的接口很容易實(shí)現(xiàn)圖像在LCD上的顯示。網(wǎng)絡(luò)數(shù)據(jù)傳輸使用UNIX網(wǎng)絡(luò)套接字,使用兩條TCP連接實(shí)現(xiàn)視頻數(shù)據(jù)傳輸與數(shù)據(jù)同步。系統(tǒng)軟件流程如圖2所示。
(3)按系統(tǒng)功能模塊進(jìn)行學(xué)生任務(wù)劃分,程序設(shè)計(jì)按照系統(tǒng)的基本功能模塊劃分為4部分,由四組學(xué)生分別承擔(dān):①攝像頭圖像捕獲。攝像頭操作主要在用戶態(tài)實(shí)現(xiàn),其中包括:攝像頭參數(shù)設(shè)置啟動(dòng)硬件JPEG壓縮,圖像緩存隊(duì)列建立,圖像幀的出隊(duì)和再入隊(duì)以及對(duì)攝像頭隊(duì)列狀態(tài)的select操作。②嵌入式設(shè)備上LCD圖像顯示。本設(shè)計(jì)圖像格式為JPEG,而嵌入式設(shè)備上只能直接顯示RGB或者YVU格式圖像。在獲取到圖像幀后,通過Linux內(nèi)置多媒體庫對(duì)圖像解碼為RGB后再和SMDK6410顯示控制器格式匹配,最終實(shí)現(xiàn)LCD上的圖像顯示。③以太網(wǎng)數(shù)據(jù)傳輸。本設(shè)計(jì)主要目的是用嵌入式設(shè)備采集圖像,在遠(yuǎn)端PC上進(jìn)行獲取,傳輸方式選擇為以太網(wǎng)。本模塊主要實(shí)現(xiàn)了針對(duì)本設(shè)計(jì)圖像傳輸?shù)幕赥CP應(yīng)用層協(xié)議。其中也包括了socket連接請(qǐng)求、數(shù)據(jù)發(fā)送、出錯(cuò)處理等。④PC端在Qt creator環(huán)境下使用C++編寫圖像顯示程序。該程序分為網(wǎng)絡(luò)數(shù)據(jù)接收和圖像解碼顯示兩部分。網(wǎng)絡(luò)數(shù)據(jù)接收部分主要是對(duì)從兩條Socket連接中收到的網(wǎng)絡(luò)數(shù)據(jù)做協(xié)議解析,從TCP流內(nèi)提取完整單幀圖像;圖像顯示部分使用了QPixmap類,內(nèi)存里完整的圖像幀直接由該類成員函數(shù)處理,降低了圖像解碼中的復(fù)雜程度。④系統(tǒng)運(yùn)行測(cè)試結(jié)果
本文通過具體案例,對(duì)項(xiàng)目驅(qū)動(dòng)的嵌入式實(shí)驗(yàn)室實(shí)踐運(yùn)行模式進(jìn)行了的可行性分析。課題組同學(xué)以實(shí)驗(yàn)室開放項(xiàng)目為依托,通過全程參與、協(xié)同合作,增強(qiáng)了開拓創(chuàng)新能力,培養(yǎng)了科研意識(shí)和團(tuán)隊(duì)合作精神,為今后從事科學(xué)研究工作奠定了基礎(chǔ)。實(shí)驗(yàn)室開放是實(shí)驗(yàn)教學(xué)的一種有效的補(bǔ)充和提升,隨著高校實(shí)驗(yàn)教學(xué)改革的深入以及高校創(chuàng)新人才實(shí)踐技能要求的逐漸提升,探討有效的實(shí)踐教學(xué)方式將成為持續(xù)的研究熱點(diǎn)。
參考文獻(xiàn):
[1]周勤,張微,溫光浩.高校實(shí)驗(yàn)室工作的探究與實(shí)踐[J].實(shí)驗(yàn)室研究與探索,2011,30(11):371-374.
[2]陳淑潔.實(shí)驗(yàn)室開放模式的探索與實(shí)踐[J].中國(guó)現(xiàn)代教育裝備,2011(21):31-34.
基金項(xiàng)目:河北大學(xué)實(shí)驗(yàn)室開放項(xiàng)目基金資助(2012029)。河北大學(xué)電子信息工程學(xué)院教改項(xiàng)目資助。
作者簡(jiǎn)介:田華(1973-),女,工學(xué)碩士,河北大學(xué)電子信息工程學(xué)院實(shí)驗(yàn)中心高級(jí)實(shí)驗(yàn)師。endprint