(信號(hào)與信息處理專業(yè)論文)食品微生物atp熒光快速檢測(cè)儀的軟件設(shè)計(jì).pdf_第1頁
(信號(hào)與信息處理專業(yè)論文)食品微生物atp熒光快速檢測(cè)儀的軟件設(shè)計(jì).pdf_第2頁
(信號(hào)與信息處理專業(yè)論文)食品微生物atp熒光快速檢測(cè)儀的軟件設(shè)計(jì).pdf_第3頁
(信號(hào)與信息處理專業(yè)論文)食品微生物atp熒光快速檢測(cè)儀的軟件設(shè)計(jì).pdf_第4頁
(信號(hào)與信息處理專業(yè)論文)食品微生物atp熒光快速檢測(cè)儀的軟件設(shè)計(jì).pdf_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

(信號(hào)與信息處理專業(yè)論文)食品微生物atp熒光快速檢測(cè)儀的軟件設(shè)計(jì).pdf.pdf 免費(fèi)下載

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

食品微生物a t p 熒光快速檢測(cè)儀的軟件設(shè)計(jì) 摘要 食品微生物a t p 熒光快速檢測(cè)儀是應(yīng)用于食品衛(wèi)生領(lǐng)域的高科技衛(wèi)生器 械,它利用a t p 生物化學(xué)發(fā)光技術(shù)來檢測(cè)食品中微生物含量。本系統(tǒng)包含嵌入 式系統(tǒng)應(yīng)用程序和上位機(jī)數(shù)據(jù)分析軟件兩部分。 嵌入式系統(tǒng)采用嵌入式實(shí)時(shí)操作系統(tǒng)i - t c o s i i 管理整個(gè)軟件系統(tǒng),其應(yīng)用 程序按照功能可分為:鍵盤管理、l c d 顯示、模擬信號(hào)采集、數(shù)據(jù)存取和串口 通信等任務(wù)。 上位機(jī)數(shù)據(jù)分析軟件可分為:系統(tǒng)登陸、用戶管理、數(shù)據(jù)管理、數(shù)據(jù)分析、 數(shù)據(jù)庫維護(hù)以及串口通信等模塊。該軟件可實(shí)現(xiàn)原始數(shù)據(jù)的讀取、查詢、統(tǒng)計(jì)、 圖表生成、參數(shù)設(shè)置等功能。 針對(duì)傳統(tǒng)a t p 熒光檢測(cè)數(shù)學(xué)模型只能在2 5 下對(duì)1 0 - 15 1 0 。1 m o l 量a t p 進(jìn)行線性檢測(cè)的問題,提出了基于徑向基函數(shù)( r b f ) 神經(jīng)網(wǎng)絡(luò)的a t p 熒光檢 測(cè)數(shù)學(xué)模型,采用改進(jìn)型k 一均值聚類算法動(dòng)態(tài)確定r b f 網(wǎng)絡(luò)中心,提高了 r b f 網(wǎng)絡(luò)的自適應(yīng)性及泛化能力,為復(fù)雜系統(tǒng)中a t p 量的檢測(cè)提供了一條有效 途徑,能在+ 10 。c - - + 4 0 范圍內(nèi)對(duì)10 - 15 10 - 8 m o l 量a t p 實(shí)時(shí)在線檢測(cè)。 實(shí)驗(yàn)結(jié)果表明:該儀器檢測(cè)迅速、精度高、重復(fù)性好、操作方便,能夠很 好的滿足食品衛(wèi)生檢測(cè)的需求。 關(guān)鍵:a t p ;檢測(cè)儀:軟件設(shè)計(jì);數(shù)學(xué)模型 s o f t w a r ed e s i g no ft h ef o o dm i c r o b ea t p d e t e c t i n gi ns t r um e n t f l u o r e s c e n c er a p i d a b s t r a c t f o o dm i c r o b ea t pf l u o r e s c e n c er a p i dd e t e c t i n gi n s t r u m e n ti sah i g h - t e c hh y g i e n e i n s t r u m e n ta p p l i e dt of o o dh y g i e n e w h i c hm a k e su s eo fa t pb i o l u m i n e s c e n c et e c h n i q u et o e x a m i n et h ec o n t e n to fm i c r o b eo nf o o d t h es y s t e mc o n t a i n sa p p l yp r o g r a mb a s i n go n e m b e d d e ds y s t e ma n dt h ed a t aa n a l y s i ss o f t w a r ee m b o d i e di nt h eu p p e rm a c h i n e s e m b e d d e ds y s t e mm a k e su s eo fe m b e d d e dr e a l - t i m eo p e r a t i n gs y s t e ml a c o s i it o m a n a g ea l lt h es o f t w a r es y s t e m t h es o f t w a r es y s t e mi n c l u d e ss e v e r a lf u n c t i o n ss u c ha s k e y b o a r dm a n a g e m e n t ,l c dd i s p l a y , a n a l o gs i g n a la c q u i s i t i o n ,d a t a a c c e s ss e r i a l c o m m u n i c a t i o na n ds oo n 1 1 1 ed a t aa n a l y s i ss o f t w a r ee m b o d i e di nt h eu p p e rm a c h i n e sh a ss e v e r a lm o d u l e s c o n t a i n i n gs y s t e ml a n d i n g ,u s e rm a n a g e m e n t ,d a t am a n a g e m e n t ,d a t aa n a l y s i s ,d a t a b a s e m a i n t e n a n c e t h es o f t w a r ec a ni m p l e m e n ts e v e r a lf u n c t i o n ss u c ha sr e a d i n go fo r i g i n a ld a t a , q u e r y , s t a t i s t i c ,c r e a t i n gg r a p h ,s e t u pp a r a m e t e r s am a t h e m a t i cm o d e lo fa t pf l u o r e s c e n c ed e t e c t i o nb a s e do nr b fn e u r a ln e t w o r kh a s b e e np r o p o s e dt oa g a i n s tt h el i n e a r - d e t e c t i o no f10 - 15 - - - 10 一llm o la t pb yt h et r a d i t i o n a l m a t h e m a t i cm o d e lo fa t pf l u o r e s c e n c ed e t e c t i o nb e l o w2 5 c t h ei m p r o v e dk - - m e a n s c l u s t e r i n ga l g o r i t h m ss e a r c h i n gf o rt h en e t w o r k c e n t e r sh a sb e e na p p l i e dt oi m p r o v et h es e l f a d a p ti o na n dg e n e r a l i z a t i o no fr b f n e t w o r k i tc a l ls o l v et h ep r o b l e mo fa t pd e t e c t i o n i nt h ec o m p l i c a t e ds y s t e m t h ee x p e r i m e n t a lr e s u l ts h o w st h a tt h em o d e lw h i c hh a sh i g h m e a s u r e m e n ta c c u r a c yc a nd or e a l t i m ed e t e c t i o no f1 0 1 5 - - , 1 0 8m o la t pb e t w e e n + 1 0 a n d + 4 0 t h ee x p e r i m e n t a lr e s u l ts h o w st h a tt h ei n s t r u m e n th a st h ea d v a n t a g e so fs h o r t m e a s u r e m e n tt i m e ,h i g hm e a s u r e m e n ta c c u r a c y , h i g he f f i c i e n c y , w h i c hm e e t sd e m a n do f f o o dh y g i e n ed e t e c t i n g k e y w o r d s :a t p ;d e t e c t i n gi n s t r u m e n t ;s o f t w a r ed e s i g n ;m a t h e m a t i c sm o d e l 插圖清單 圖1 1 國外比較先進(jìn)的a t p 熒光檢測(cè)儀2 圖2 1a t p 標(biāo)準(zhǔn)曲線6 圖2 2 系統(tǒng)體系結(jié)構(gòu)9 圖2 3 硬件電路結(jié)構(gòu)圖9 圖2 4 嵌入式系統(tǒng)體系結(jié)構(gòu)圖1 0 圖2 5 應(yīng)用程序總體結(jié)構(gòu)圖1 0 圖3 1 嵌入式應(yīng)用軟件的總體構(gòu)架1 1 圖3 2 初始化任務(wù)棧結(jié)構(gòu)1 3 圖3 3 系統(tǒng)守護(hù)任務(wù)的流程圖1 8 圖3 4 鍵盤讀取應(yīng)用圖1 9 圖3 5 數(shù)據(jù)讀取流程圖2 0 圖3 6 數(shù)據(jù)采集處理任務(wù)的流程圖2 l 圖3 7 程序號(hào)上下限設(shè)置圖2 2 圖4 1 上位機(jī)數(shù)據(jù)分析軟件結(jié)構(gòu)2 4 圖4 2 登陸窗體3 0 圖4 3 系統(tǒng)主界面3 0 圖4 4 系統(tǒng)管理模塊功能圖3 1 圖4 5 添加備注流程圖3 2 圖4 6 數(shù)據(jù)查詢對(duì)話框3 2 圖4 7 數(shù)據(jù)統(tǒng)計(jì)對(duì)話框3 5 圖4 8 數(shù)據(jù)分析模塊對(duì)話框3 5 圖4 9 四個(gè)典型的圖形風(fēng)格3 6 圖4 1 0 數(shù)據(jù)維護(hù)模塊結(jié)構(gòu)圖3 6 圖5 1 串口通信結(jié)構(gòu)圖4 0 圖5 2 時(shí)鐘初始化窗口4 l 圖5 3 上載設(shè)置程序窗口4 1 圖5 4 上載測(cè)試記錄的界面4 1 圖5 5 串口數(shù)據(jù)包發(fā)送流程圖4 2 圖5 6 串口數(shù)據(jù)接收流程圖4 2 圖5 7 串口發(fā)送任務(wù)流程圖4 3 列表清單 表2 1 系統(tǒng)需求分析4 表2 2 嵌入式系統(tǒng)規(guī)格說明4 表2 3 數(shù)據(jù)分析軟件的規(guī)格4 表3 1 按鍵功能表1 9 表3 2 存儲(chǔ)格式2 0 表3 3 測(cè)試結(jié)果判斷表2 3 表4 1 程序數(shù)據(jù)結(jié)構(gòu)表2 8 表4 2 測(cè)試案例結(jié)構(gòu)表2 9 表4 3 數(shù)據(jù)統(tǒng)計(jì)方法3 4 表5 1 上位機(jī)發(fā)送給檢測(cè)儀的每幀數(shù)據(jù)格式3 7 表5 2 檢測(cè)儀回送給通訊機(jī)的每幀數(shù)據(jù)格式3 8 表5 3 上載數(shù)據(jù)接收出錯(cuò)時(shí)“應(yīng)答幀 格式3 8 表5 4 下傳數(shù)據(jù)接收出錯(cuò)時(shí)“應(yīng)答幀 格式3 8 表5 5 上載測(cè)試記錄的數(shù)據(jù)塊格式3 9 表5 6 上載命令字列表3 9 表5 7 下傳命令字列表3 9 獨(dú)創(chuàng)性聲明 本人聲明所呈交的學(xué)位論文是本人在導(dǎo)師指導(dǎo)下進(jìn)行的研究工作及取得的研究成果。據(jù)我所 知,除了文中特,i i j ;b t l 以標(biāo)志和致謝的地方外,論文中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果, 也不包含為獲得盒膽至些太堂或其他教育機(jī)構(gòu)的學(xué)位或證書而使用過的材料。與我一同工作 的同志對(duì)本研究所做的任何貢獻(xiàn)均已在論文中作了明確的說明并表示謝意。 學(xué)位論文儲(chǔ)糠鬣凈字日期刪年 學(xué)位論文版權(quán)使用授權(quán)書 相加 l 本學(xué)位論文作者完全了解金膽王些態(tài)堂有關(guān)保留、使用學(xué)位論文的規(guī)定,有權(quán)保留并向 國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和磁盤,允許論文被查閱或借閱。本人授權(quán)金壁王些太 ! l 可以將學(xué)位論文的全部或部分論文內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、縮印或掃 描等復(fù)制手段保存、匯編學(xué)位論文。 ( 保密的學(xué)位論文在解密后適用本授權(quán)書) 學(xué)位論文者簽名:芑挈 礦or 簽字日期咖7 年午月,如日 學(xué)位論文作者畢業(yè)后去向: 工作單位: 通訊地址: 導(dǎo)師簽名:辦虹 柳飆中 謝辭 本學(xué)位論文是在吳永忠副教授的悉心指導(dǎo)和嚴(yán)格要求之下完成的。在攻讀 碩士學(xué)位期間,吳老師以其淵博的學(xué)識(shí)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和踏實(shí)的工作作風(fēng)在 學(xué)業(yè)上和生活上給予我很多關(guān)懷和幫助,使我受益終身。至此論文完成之際, 謹(jǐn)向恩師致以由衷的感謝和誠摯的祝福! 在課題的研究和設(shè)計(jì)過程中,郭太峰副教授和劉勤勤老師在我遇到困難時(shí) 給予我耐心指導(dǎo)和幫助,在此我也深表謝意! 同時(shí),我還要感謝實(shí)驗(yàn)室的同學(xué)們。他們是孟宏、王尚本、李宗偉等。他 們無私的幫助,積極的配合使我學(xué)業(yè)上得到了很大的進(jìn)步,課題得以順利完成。 最后感謝我的父母,是他們多年無私的奉獻(xiàn),默默的支持,才讓我走到今 天,最終完成學(xué)業(yè)。感謝我的朋友胡翊、郝世杰、潘登凱等一直以來對(duì)我的關(guān) 心和支持。 感謝計(jì)算機(jī)與信息學(xué)院所有關(guān)心幫助過我的老師同學(xué)們。 作者:范軍 2 0 0 9 年3 月1 9 日 第一章緒論 1 1 課題背景 食品安全是一個(gè)直接關(guān)系到人民群眾生命、健康和社會(huì)穩(wěn)定的重大公共安 全問題。2 0 0 0 年,世界衛(wèi)生大會(huì)通過了食品安全決議,將食品安全列為公 共衛(wèi)生的優(yōu)先領(lǐng)域,制定了全球食品安全戰(zhàn)略并要求成員國制定相應(yīng)的行動(dòng)計(jì) 劃,最大程度地減少食源性疾病對(duì)公共健康的威脅。我國確定的食品安全總目 標(biāo)為:控制食品污染,減少食源性疾病,保障消費(fèi)者健康,促進(jìn)經(jīng)濟(jì)發(fā)展。制 定的食品安全行動(dòng)計(jì)劃內(nèi)容之一涉及開展食品中生物污染監(jiān)測(cè)與評(píng)價(jià)。在我國 建立致病菌及真菌毒素的監(jiān)測(cè)網(wǎng)絡(luò),對(duì)重點(diǎn)食品實(shí)施主要食源性致病菌和真菌 毒素污染狀況的監(jiān)測(cè),及時(shí)發(fā)現(xiàn)潛在的和正在發(fā)生的食品中生物性污染問題, 進(jìn)行危險(xiǎn)性評(píng)價(jià),用于制定相關(guān)的政策法規(guī),指導(dǎo)食品安全監(jiān)管工作,引導(dǎo)食 品生產(chǎn)和消費(fèi)。 微生物污染問題是食品安全中極為重要的因素。我國從案例數(shù)或人數(shù)統(tǒng)計(jì) 角度對(duì)食物中毒案例的分析資料顯示,微生物性食品中毒所占的比例高達(dá)6 7 , 而且細(xì)菌性食物中毒也是最常見的微生物性食物中毒。2 0 0 2 年,我國正式啟動(dòng) 了“食品放心工程”。國家工商總局在制定流通領(lǐng)域商品質(zhì)量監(jiān)管的工作思路時(shí), 也將食品安全監(jiān)管列為重中之重。因此,如何有效監(jiān)控流通領(lǐng)域中的食品細(xì)菌 性污染,已成為“關(guān)口前移 所面臨的重要課題之一。 要想全面判斷食品的衛(wèi)生質(zhì)量狀況,就應(yīng)進(jìn)行食品衛(wèi)生質(zhì)量鑒定,即:查 明食品中是否存在威脅人體健康的有害因素及其來源、性質(zhì)、作用和含量的技 術(shù)程序規(guī)范,包括生物、化學(xué)、物理的檢驗(yàn)方法,以及食品污染、食品中毒等 衛(wèi)生學(xué)和流行病學(xué)調(diào)查處理的內(nèi)容和程序等。通過鑒定作為對(duì)食品做出食用或 條件食用或不作食用等處理決定的依據(jù)。 a t p 熒光法作為一種簡便、快速的微生物檢驗(yàn)方法和食品生產(chǎn)環(huán)境清潔度 的檢測(cè)方法,近年來在國外倍受注目,并得以廣泛應(yīng)用。a t p 熒光法利用細(xì)胞 的特征來測(cè)定細(xì)菌數(shù),是快速檢測(cè)菌落總數(shù)的一個(gè)發(fā)展方向i l l 。a t p 是一種高 能磷酸化合物,在生物系統(tǒng)中是能量交換中心,它普遍存在于一切活的微生物, 如細(xì)菌、真菌和酵母菌等細(xì)胞內(nèi),為細(xì)胞內(nèi)活動(dòng)提供能量。各種細(xì)菌中的a t p 含量大致一定,所以通過檢測(cè)物體表面的a t p 含量,可以估算出表面微生物污 染情況。 應(yīng)用a t p 熒光技術(shù)可以檢測(cè)出樣品中酵母、霉菌、真菌或細(xì)菌細(xì)胞等多種 微生物的數(shù)量,其應(yīng)用范圍深入到多種領(lǐng)域,包括:啤酒細(xì)菌總量檢測(cè)【2 j 、脫 水蔬菜和調(diào)味品的細(xì)菌總量檢測(cè)【3 】、乳與乳制品細(xì)菌總數(shù)檢測(cè)【4 】、食品器具衛(wèi) 生學(xué)檢測(cè)【5 1 、生產(chǎn)過程及設(shè)備檢測(cè)、廢液處理檢測(cè)【6 。1 、化妝品檢測(cè)【8 1 、醫(yī)學(xué)檢 驗(yàn)領(lǐng)域i o 。 國外對(duì)a t p 熒光技術(shù)研究較早,1 9 4 7 年,m e e l o r y 等人就首次進(jìn)行了f l 對(duì)a t p 的檢測(cè),到2 0 世紀(jì)8 0 年代,英國人首先研制出a t p 檢測(cè)儀( 檢測(cè)系統(tǒng)) , 隨后發(fā)展到歐洲、美國和日本。應(yīng)用范圍涉及食品加工、超市和飲食行業(yè),檢 測(cè)內(nèi)容包括微生物和食品殘?jiān)? 9 9 8 年,日本國會(huì)頒布了關(guān)于食品制造過程 管理高度化臨時(shí)措施法,其中叩包含了應(yīng)用a t p 檢測(cè)儀( 檢測(cè)系統(tǒng)) 的內(nèi)容。 1 9 9 9 年,日本還成立了a t p 涂抹檢查研究會(huì),專門研究該方法的使用效率和 應(yīng)用領(lǐng)域,其內(nèi)容之一就是在食品衛(wèi)生監(jiān)測(cè)領(lǐng)域中,解決現(xiàn)場(chǎng)微生物的檢測(cè)問 題。在過去的2 0 年中,熒光素酶a t p 分析的檢測(cè)極限從1 0 “4 m o l e 提高到了 1 0 1 8 m o l e 。 國內(nèi)對(duì)生物發(fā)光的研究起步于2 0 世紀(jì)6 0 年代,9 0 年代達(dá)到高峰,主要工 作是檢測(cè)無機(jī)物和無機(jī)離子。近年來,此項(xiàng)技術(shù)已開始應(yīng)用于醫(yī)學(xué)、農(nóng)業(yè)以及 生命科學(xué)等領(lǐng)域。 本課題“食品微生物a t p 熒光快速檢測(cè)儀的軟件設(shè)計(jì)”受到國家科技型中 小企業(yè)技術(shù)創(chuàng)新基金項(xiàng)目( 計(jì)劃編號(hào):0 6 c 2 6 2 13 3 1 1 2 0 8 ) 及安徽省高等學(xué)校自 然科學(xué)研究基金( 計(jì)劃編號(hào):k j 2 0 0 8 a 0 7 6 ) 的資助。 1 2 國內(nèi)外a t p 熒光檢測(cè)便的發(fā)展現(xiàn)狀 近年來,由于熒光素酶的價(jià)格太幅度的下降,a t p 熒光技術(shù)在國外倍受推 崇,在美、日等國已廣泛應(yīng)用,并有專用檢測(cè)儀器。世界上比較先進(jìn)的a t p 熒 光檢測(cè)儀如圖ll 所示:美國的a m s a l i t ei i ia t p 熒光分析儀和美國n e o g e n 的a e e u p o i n t a t p 熒光檢測(cè)儀、日本t o a 的a f 一7 0 5 0 型a t p 細(xì)菌快速分析儀、 日本k i k k o m a n 的c 1 0 0 和p d 一1 0 n a t p 檢測(cè)儀等。 美國a m s a l i t e1 1 1日本 o a a f - 7 0 ,5 0 美囝a c e u p o i n t 酗l1 國外比較先進(jìn)的a t p 熒光檢測(cè)投 2 0 0 2 年,我國衛(wèi)生部頒發(fā)了食品加工企業(yè)的h a c c p 實(shí)施指南,鼓勵(lì)食品 加工企業(yè)引入a t p 檢測(cè)系統(tǒng)。但是現(xiàn)有的a t p 熒光檢測(cè)儀大多用于實(shí)驗(yàn)室 的科研工作,設(shè)備笨重、造價(jià)昂貴、檢測(cè)過程復(fù)雜,雖然一些a t p 熒光檢測(cè)儀 ( 檢測(cè)系統(tǒng)) 及技術(shù)被引進(jìn)我國,但是到目前為止,除個(gè)別省級(jí)衛(wèi)生監(jiān)督檢測(cè) 單位裝備外,主要是在一些外資或合資企業(yè)中自行檢測(cè)使用。適用于民用和商 用衛(wèi)生程度的便攜式a t p 熒光檢測(cè)儀在國內(nèi)幾乎是空白。 嵌入式a t p 熒光檢測(cè)儀具有現(xiàn)場(chǎng)檢測(cè),快速,科學(xué),便捷,操作簡單,價(jià) 格低廉等特點(diǎn),對(duì)構(gòu)建國家食品衛(wèi)生放心工程具有重大的社會(huì)、經(jīng)濟(jì)價(jià)值。 1 3 論文主要工作 本文是在所參與的食品微生物a t p 熒光快速檢測(cè)儀開發(fā)項(xiàng)目的基礎(chǔ)上,總 結(jié)完善而整理出來。依據(jù)項(xiàng)目內(nèi)容,論文的主要研究工作如下: 1 ) 系統(tǒng)總體設(shè)計(jì)。通過系統(tǒng)需求分析、規(guī)格說明和關(guān)鍵技術(shù)分析確定系統(tǒng) 的總體設(shè)計(jì)。 2 ) 下位機(jī)嵌入式系統(tǒng)軟件設(shè)計(jì)。選擇“c o s i i 并將其移植到單片機(jī)上, 并在此基礎(chǔ)上完成下位機(jī)嵌入式系統(tǒng)的軟件設(shè)計(jì)。 3 ) 上位機(jī)數(shù)據(jù)分析軟件設(shè)計(jì)。包含基于v i s u a lc + + 6 0 和s q ls e r v e r 2 0 0 0 設(shè)計(jì)實(shí)現(xiàn)的配套食品微生物a t p 熒光檢測(cè)儀的數(shù)據(jù)分析軟件 4 ) 上下位機(jī)通信鏈路的設(shè)計(jì)。包含了以r s 2 3 2 為標(biāo)準(zhǔn)的通信鏈路設(shè)計(jì)。 第二章系統(tǒng)總體設(shè)計(jì) 2 1 系統(tǒng)需求分析 食品微生物a t p 熒光快速檢測(cè)儀軟件包括下位機(jī)嵌入式軟件和上位機(jī)數(shù)據(jù) 分析軟件。根據(jù)系統(tǒng)總體要求,需求分析說明如表2 1 所示。 表2 1 系統(tǒng)需求分析 項(xiàng)目食品微生物a t p 熒光快速檢測(cè)儀軟件設(shè)計(jì) 系統(tǒng)名稱食品微生物a t p 熒光快速檢測(cè)系統(tǒng) ( 1 ) 下位機(jī)嵌入式系統(tǒng)軟件設(shè)計(jì): 設(shè)計(jì)目標(biāo) ( 2 ) 上位機(jī)數(shù)據(jù)分析軟件設(shè)計(jì): 系統(tǒng)輸入 光電信號(hào)、鍵盤、串口 系統(tǒng)輸出測(cè)試數(shù)值r l u s 、串口、報(bào)表數(shù)據(jù)、圖形顯示 ( 1 ) 下位機(jī)嵌入式系統(tǒng)在系統(tǒng)上電運(yùn)行后,首先從存儲(chǔ)器中讀取歷史保存數(shù)據(jù), 并啟動(dòng)液晶顯示和鍵盤檢測(cè)功能。在用戶通過鍵盤和l c d 顯示調(diào)整檢測(cè)參數(shù)( 如 程序號(hào)、上下限等) 后,確定保存進(jìn)入檢測(cè)狀態(tài)。在進(jìn)入檢測(cè)狀態(tài)前,確保艙蓋 密閉,才能允許進(jìn)入檢測(cè)狀態(tài)。如果艙蓋未密閉則返回。 功能描述 ( 2 ) 上位機(jī)數(shù)據(jù)分析軟件對(duì)每一個(gè)測(cè)試值及其測(cè)試時(shí)間、所用的程序號(hào)和所用 的儀器編號(hào)等檢測(cè)因素能夠錄入保存,以及查詢統(tǒng)計(jì)等;對(duì)錄入數(shù)據(jù)的統(tǒng)計(jì)、圖 表分析和打印。 ( 3 ) 串口通信功能,方便檢測(cè)儀器與數(shù)據(jù)分析軟件之間的信息互通:檢測(cè)的參 數(shù)能及時(shí)傳遞到數(shù)據(jù)分析軟件。 2 2 系統(tǒng)規(guī)格說明 1 ) 下位機(jī)嵌入式系統(tǒng)的規(guī)格如表2 2 所示。 表2 2 嵌入式系統(tǒng)規(guī)格說明 可移植、可固化、可裁剪及可剝奪型的多任務(wù) 嵌入式操作系統(tǒng)g c o s - i i 微內(nèi)核的開源嵌入式實(shí)時(shí)操作系統(tǒng) 開發(fā)平臺(tái) k e i lm d kr e a l v i e w 支持c 語言和匯編語言編程 絕大部分代碼都是用a n s ic 語言編寫,只有 開發(fā)語言 a n s i c 、匯編語言 與微處理器一件相關(guān)的那部分是用匯編語言 寫的 2 ) 上位機(jī)數(shù)據(jù)分析軟件的規(guī)格如表2 3 所示。 表2 3 數(shù)據(jù)分析軟件的規(guī)格 奔騰系列p c 的r s 2 3 2 端口( 或 主機(jī)最低的p c 要求 適配器) 數(shù)據(jù)庫容量 無限 數(shù)據(jù)庫 評(píng)論( c o m m e n t ) 文本長度最大值1 0 0 個(gè)字符 程序數(shù)據(jù) 單元數(shù)目( u n i t - # ) 最大值 無限 程序號(hào)( p r o g ) 最大值 1 0 0 位置( l o c a t i o n ) 名稱的長度最大值 5 0 個(gè)字符 4 組( g r o u p ) 名稱的長度最大值 5 0 個(gè)字符 分析方案最大值 無限 分析方案 方案名稱長度最大值1 0 0 個(gè)字符 篩選條件最大值無限 2 3 系統(tǒng)關(guān)鍵技術(shù)分析 由于a t p 熒光反應(yīng)受各種因素( 如溫度、p h 值等) 的影響,a t p 濃度與發(fā) 光強(qiáng)度之間整體上為非線性關(guān)系,僅在較小范圍內(nèi)呈近似線性關(guān)系。但是,實(shí) 際中利用a t p 熒光檢測(cè)技術(shù)建立數(shù)學(xué)模型時(shí),都是基于a t p 濃度與發(fā)光強(qiáng)度之間 呈線性關(guān)系的方法,這樣做可能會(huì)引起較大的非線性誤差。為了消除或者補(bǔ)償 a t p 熒光檢測(cè)中的非線性誤差,文獻(xiàn)】采用實(shí)驗(yàn)手段,通過內(nèi)在的a t p 標(biāo)準(zhǔn)品 來進(jìn)行校準(zhǔn),對(duì)各種因素的影響進(jìn)行補(bǔ)償,但是這種傳統(tǒng)的a t p 熒光檢測(cè)模型 是在2 5 下建立的,未能考慮到檢測(cè)儀工作環(huán)境溫度的變化和光電探測(cè)器的工 作性能,只能適用于1 0 。1 5 10 - 1 1 m o l a t p 的近似線性檢測(cè),不適合在動(dòng)態(tài)溫度范 圍內(nèi)對(duì)更多a t p 量的檢測(cè)。 基于r b f 卒* 經(jīng)網(wǎng)絡(luò)進(jìn)行a t p 熒光檢測(cè)數(shù)學(xué)模型的研究,其目的就是試圖將 人工神經(jīng)網(wǎng)絡(luò)技術(shù)應(yīng)用于a t p 熒光檢測(cè)的數(shù)據(jù)處理,建立更為準(zhǔn)確和有效的a t p 熒光檢測(cè)數(shù)學(xué)模型,以提高a t p 熒光檢測(cè)儀動(dòng)態(tài)工作環(huán)境溫度下的測(cè)量精度和 測(cè)量范圍。 2 3 1 a t p 熒光檢測(cè)分析 a t p 是一種高能磷酸化合物,在生物系統(tǒng)中是能量交換中心,它普遍存在 于一切活的微生物,如細(xì)菌、真菌和酵母菌等細(xì)胞內(nèi),為細(xì)胞內(nèi)活動(dòng)提供能量。 各種細(xì)菌中的a t p 含量大致一定( 約1 0 j 8 m o l 個(gè)) 1 2 1 ,所以通過檢測(cè)物體表面 的a t p 含量,可以估算出表面微生物污染情況。 a t p 熒光檢測(cè)原理為:熒光素酶在a t p 、m g ”和0 2 存在時(shí),它首先與蟲熒 光素酰腺苷酸( 由m g 、a t p 與蟲熒光素復(fù)合而成) 生成復(fù)合物l u c l h 2 一a m p ,然 后該復(fù)合物釋放出質(zhì)子,酶變構(gòu)導(dǎo)致蟲熒光素氧化脫羧,熒光素分子中的電子 由不穩(wěn)定的激發(fā)態(tài)躍遷到低能級(jí)而發(fā)射出光子。a t p 是熒光素酶的底物之一, 在熒光素酶一a t p 熒光技術(shù)體系中,發(fā)光強(qiáng)度( ,) 與a t p 的濃度( c a 即) 符合 下列函數(shù)關(guān)系。 i = l 缸巴即如+ q 仰 ( 2 - 1 ) 式中l(wèi) 。,為發(fā)光強(qiáng)度,k 。= l x l 0 4 。 由上式可知,a t p 濃度c 。仰與發(fā)光強(qiáng)度,存在一定的關(guān)系,因此可以通過發(fā)光體 系,的測(cè)定來定量a t p 的濃度。 a t p 熒光反應(yīng)測(cè)定a t p 濃度是一個(gè)酶促反應(yīng),主要受兩個(gè)因素的影響:溫度 和p h 值。溫度對(duì)生物熒光反應(yīng)的影響比較大,一般來說發(fā)光反應(yīng)的發(fā)光強(qiáng)度隨 溫度下降而增加,但由于a t p 熒光反應(yīng)是酶促反應(yīng),溫度太低則影響酶的活性。 p h 值對(duì)a t p 熒光反應(yīng)的影響表現(xiàn)在:一方面p h 值直接影響酶的活性,且不同的 熒光素酶要求不同的最適p h 值;另一方面,p h 值直接影響反應(yīng)過程中激發(fā)態(tài)分 子的結(jié)構(gòu),從而影響光子發(fā)射效率。 文獻(xiàn) 1 1 】提出的傳統(tǒng)a t p 熒光檢測(cè)模型,采用實(shí)驗(yàn)手段在2 5 下通為過內(nèi)在 的a t p 標(biāo)準(zhǔn)品來進(jìn)行校準(zhǔn),對(duì)各種因素的影響進(jìn)行補(bǔ)償,其a t p 標(biāo)準(zhǔn)曲線如圖2 1 所示。 圖2 1a t p 標(biāo)準(zhǔn)曲線 由圖2 1 可以很清楚地區(qū)分三個(gè)區(qū)域。在區(qū)域a 水平部分時(shí)背景,一般是儀 器和試劑背景的產(chǎn)生的背景。需要提到的是“相對(duì)光單位( r l u ) 可能會(huì)對(duì)儀 器背景有誤導(dǎo)效果,因?yàn)檫@歸因于光電因子釋放發(fā)射出來的噪音的電子,而沒 有任何光子來源的。區(qū)域b 是近似的線性范圍,最適合定量工作。區(qū)域c 是因?yàn)?光子飽和而產(chǎn)生的平緩區(qū),濃度的增加沒有使得光子輸出有任何的提高。 由于未考慮到光電探測(cè)器的工作性能,傳統(tǒng)的a t p 檢測(cè)數(shù)學(xué)模型只能適用 于1 0 - 1 5 1 0 以1 m o l a t p 量的近似線性檢測(cè),不適合在動(dòng)態(tài)工作環(huán)境溫度下進(jìn)行更 寬范圍a t p 量的檢測(cè)。 如果不使用文獻(xiàn)【1 1 】給出的傳統(tǒng)數(shù)學(xué)模型,可以通過調(diào)節(jié)樣品的p h 值( 反 應(yīng)體系最佳p h 值為7 8 ) 來消除p h 值對(duì)a t p 熒光反應(yīng)的影響。對(duì)于溫度的影響, 由于a t p 熒光檢測(cè)儀的工作環(huán)境溫度變化較大,如果采用恒溫裝置就會(huì)增大儀 器的重量、體積、功耗和結(jié)構(gòu)的復(fù)雜程度。實(shí)際上,溫度不僅影響a t p 熒光反 應(yīng)還直接影響檢測(cè)儀的工作性能,造成檢測(cè)儀放大電路放大倍數(shù)的變化,因此 a t p 濃度與發(fā)光強(qiáng)度之間的線性關(guān)系并不是a t p 熒光檢測(cè)儀工作的實(shí)際數(shù)學(xué)模 型。 2 3 2r b f 神經(jīng)網(wǎng)絡(luò)的引入 人工神經(jīng)網(wǎng)絡(luò)具有自學(xué)習(xí)、泛化功能,并能以任意精度進(jìn)行非線性映射, 特別適用于解決復(fù)雜的、非線性函數(shù)關(guān)系問題。在a t p 熒光檢測(cè)的數(shù)學(xué)建模中 引入神經(jīng)網(wǎng)絡(luò),就如同引入了一個(gè)“黑匣子”,其作用是將發(fā)光強(qiáng)度和工作環(huán)境 溫度等參數(shù)( 輸入) 與a t p 濃度( 輸出) 一對(duì)應(yīng)起來。在線測(cè)量時(shí)處理軟件按照 6 所建立的神經(jīng)網(wǎng)絡(luò)模型就可以由發(fā)光強(qiáng)度和工作環(huán)境溫度等參數(shù)給出與其對(duì)應(yīng) 的待測(cè)a t p 濃度。 r b f 網(wǎng)絡(luò)是神經(jīng)網(wǎng)絡(luò)的一種網(wǎng)絡(luò)模型,在非線性系統(tǒng)建模和辨識(shí)方面具有 收斂速度快和逼近能力強(qiáng)的優(yōu)點(diǎn)【1 3 4 1 。r b f 神經(jīng)網(wǎng)絡(luò)是一種三層結(jié)構(gòu)的前饋網(wǎng) 絡(luò),輸入層節(jié)點(diǎn)只是傳遞輸入信號(hào)到隱層,隱層節(jié)點(diǎn)由核函數(shù)構(gòu)成,而輸出層 節(jié)點(diǎn)是簡單的線性函數(shù)。針對(duì)a t p 熒光檢測(cè)的數(shù)學(xué)建模,輸入層設(shè)置兩個(gè)節(jié)點(diǎn) ( 即發(fā)光強(qiáng)度、工作環(huán)境溫度) ,輸出層設(shè)置一個(gè)節(jié)點(diǎn)( 即a t p 濃度) 。 隱層節(jié)點(diǎn)的傳遞函數(shù)( 即徑向基函數(shù)) 對(duì)輸入信號(hào)在局部產(chǎn)生響應(yīng),即當(dāng) 輸入信號(hào)靠近核函數(shù)的中央范圍時(shí),隱層節(jié)點(diǎn)將產(chǎn)生較大的輸出。常用的徑向 基函數(shù)是高斯核函數(shù),如( 2 2 ) 式所示: i ( x c ,) 7 ( x c ) i 吩。沖l 一丁一j ( = 1 ,2 ,) ( 2 2 ) 其中:甜f 是第,個(gè)隱層節(jié)點(diǎn)的輸出,x = ( 而,x 2 ,x ,) 7 是輸入樣本,c ,是高 斯函數(shù)的中心值,仃,是標(biāo)準(zhǔn)偏差,是隱層節(jié)點(diǎn)數(shù)。由式( 2 - 2 ) 可知,隱層 節(jié)點(diǎn)的輸出范圍為( 0 ,1 ) ,且輸入愈靠近隱層節(jié)點(diǎn)的中心,輸出值愈大。 r b f 網(wǎng)絡(luò)的輸出為隱層節(jié)點(diǎn)輸出的線性組合,即: 只= 均一0 = 彬7 u 戶1 ( f = 1 ,2 ,m ) ( 2 3 ) 其中”是輸出層第f 個(gè)節(jié)點(diǎn)的輸出值,形為核函數(shù)連接到輸出層第f 個(gè)節(jié)點(diǎn) 的權(quán)值集合,u 為隱層節(jié)點(diǎn)的輸出集合。 r b f 神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)分為3 個(gè)部分:徑向基函數(shù)中心c ,的學(xué)習(xí)、徑向基函數(shù) 寬度仃,的學(xué)習(xí)、隱層與輸出層之間連接權(quán)值彬的學(xué)習(xí)。上述3 項(xiàng)學(xué)習(xí)一般是分 開進(jìn)行的,徑向基函數(shù)中心的選取至關(guān)重要,在此將動(dòng)態(tài)自適應(yīng)聚類算法f 1 5 j 6 】 應(yīng)用于徑向基函數(shù)中心的調(diào)整,它無需事先確定聚類數(shù),并且完成聚類所得到 的r b f 神經(jīng)網(wǎng)絡(luò)是最優(yōu)的。其具體算法如下: 第一步,初始化聚類中心,即根據(jù)經(jīng)驗(yàn)從訓(xùn)練樣本集中隨機(jī)選取個(gè)不同 的樣本作為初始化中心c ,。 第二步,將所有訓(xùn)練樣本x 按最近的聚類中心分類,即: 如果 0 乃一e e 0 = m i n lx , 一巳e 0 ( 2 - 4 ) 其中1 p p ,尸為樣本總數(shù),則將樣本x 。劃歸為類s 。 第三步,計(jì)算各類的樣本均值,修改聚類中心。 巳2 古善x 池5 , 其中,是樣本類s ,中的樣本個(gè)數(shù)。 7 第四步,重復(fù)二、三步直到所有聚類中心滿足以下公式: | | x 一x 川 旯,( 兄為某個(gè)預(yù)定的閾值,值越小,該算法最后得到的中心個(gè) 數(shù)越多) 則增加中心個(gè)數(shù)n = n + i ,并用樣本e 初始化這個(gè)新增加的中心,然后 轉(zhuǎn)到第二步,否則進(jìn)入第六步。 第六步,將各個(gè)聚類中心賦給各r b f 單元,作為r b f 網(wǎng)絡(luò)的中心。 聚類中心確定之后,其寬度的選取往往根據(jù)聚類的結(jié)果來確定。一般令它 等于聚類中心與訓(xùn)練樣本之間的平均距離,即: 1 一 仃,= ( x - c j e ) 。( x c f e ) ( 2 8 ) 。 v , 一 。 其中x s j 。 r b f :沖經(jīng)網(wǎng)絡(luò)權(quán)值的學(xué)習(xí)通常采用梯度下降算法f 】。 基于r b f 豐o 經(jīng)網(wǎng)絡(luò)建立了a t p 熒光檢測(cè)數(shù)學(xué)模型,有效解決了發(fā)光強(qiáng)度、 工作溫度以及與其對(duì)應(yīng)的a t p 濃度之間存在的非線性動(dòng)態(tài)不確定關(guān)系的建模問 題。該模型收斂速度快,泛化能力強(qiáng),測(cè)試精度高,檢測(cè)范圍廣,可以較好地 描述實(shí)際對(duì)象的特性。 2 。4 系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì) 在軟件開發(fā)項(xiàng)目的整個(gè)設(shè)計(jì)過程中,選擇一個(gè)良好的體系結(jié)構(gòu)和構(gòu)造規(guī)則 是至關(guān)重要的。軟件體系結(jié)構(gòu)在很大程度上決定了系統(tǒng)能否滿足功能、性能、 安全性、可靠性這些軟件運(yùn)行特性,以及各種可維護(hù)性、可適應(yīng)性、可移植性、 可重用性等那些不能直接通過觀察系統(tǒng)運(yùn)行來度量的特性【l8 1 ,良好的體系結(jié)構(gòu) 設(shè)計(jì)是決定軟件系統(tǒng)成功的最重要因素。 軟件體系結(jié)構(gòu)是整個(gè)軟件設(shè)計(jì)的開端,是整個(gè)軟件系統(tǒng)最早的設(shè)計(jì)決策成 果。如圖2 2 所示,在本系統(tǒng)的設(shè)計(jì)中我們引入了層次式軟件體系結(jié)構(gòu)的設(shè)計(jì) 思想,在硬件層的基礎(chǔ)上,整個(gè)嵌入式系統(tǒng)劃分為硬件抽象層、嵌入式操作系 統(tǒng)層和針對(duì)系統(tǒng)功能的應(yīng)用層。 8 應(yīng)用層 操作 系統(tǒng)層 中間層 硬件層 c 8 0 5 1 f 3 4 0 存儲(chǔ)器2 5 a a 6 4 0 模擬電路殛電源 接口控制器及插件 圖2 2 系統(tǒng)體系結(jié)構(gòu) 根據(jù)a t p 熒光檢測(cè)系統(tǒng)的功能和接口模塊的要求,嵌入式系統(tǒng)的硬件電路 結(jié)構(gòu)如圖2 3 所示,它包括主電路和外設(shè)電路部分。主電路部分由以s i l i c o n l a b s 公司的c 8 0 51f 3 4 0 為處理芯片,外設(shè)部分由相關(guān)外圍接口電路部分構(gòu)成。 圖2 3 硬件電路結(jié)構(gòu)圖 硬件抽象層的基本思想是把嵌入式系統(tǒng)的上層軟件與具體的硬件平臺(tái)隔離 開來,也就是說,在硬件抽象層中,把所有與硬件相關(guān)的代碼都封裝起來,并 向上提供一個(gè)虛擬的硬件平臺(tái),而平臺(tái)的上兩層和待開發(fā)的嵌入式應(yīng)用程序就 運(yùn)行在這個(gè)虛擬的硬件平臺(tái)上。硬件抽象層負(fù)責(zé)直接與硬件打交道,對(duì)硬件進(jìn) 行管理和控制,并為上層軟件及操作系統(tǒng)提供所需的驅(qū)動(dòng)支持。一般說來,硬 件抽象層包括以下幾方面的內(nèi)容:引導(dǎo)加載程序b o o t l o a d e r 、硬件相關(guān)的設(shè)備 驅(qū)動(dòng)及它硬件相關(guān)的代碼。 如圖2 4 所示,系統(tǒng)的硬件抽象層按照功能可分為以下幾個(gè)模塊:鍵盤顯 示模塊、微弱熒光檢測(cè)模塊、測(cè)試數(shù)據(jù)存儲(chǔ)模塊和上位機(jī)通信模塊等。 9 圖2 4 嵌入式系統(tǒng)體系結(jié)構(gòu)圖 2 5 應(yīng)用程序總體結(jié)構(gòu)設(shè)計(jì) 應(yīng)用程序總體結(jié)構(gòu)如圖2 5 所示。系統(tǒng)的應(yīng)用程序包括下位機(jī)嵌入式應(yīng)用 軟件和上位機(jī)數(shù)據(jù)分析軟件,以及在兩者之間實(shí)現(xiàn)的基于r s 2 3 2 標(biāo)準(zhǔn)的通信鏈 接。 嵌入式系統(tǒng)采用i a c o s i i 嵌入式操作系統(tǒng)管理整個(gè)軟件系統(tǒng)。針對(duì)實(shí)際的 應(yīng)用需求對(duì)g c o s i i 進(jìn)行功能擴(kuò)展,開發(fā)用戶自己的應(yīng)用程序接口。如圖2 5 所示,應(yīng)用層按照功能可分為:鍵盤命令處理、l c d 顯示、模擬信號(hào)采集、數(shù) 據(jù)存取和串口通信等任務(wù)。 上位機(jī)數(shù)據(jù)分析軟件是配套檢測(cè)儀開發(fā)的數(shù)據(jù)管理軟件。如圖2 5 所示, 上位機(jī)數(shù)據(jù)分析軟件可分為:系統(tǒng)登陸、用戶管理、數(shù)據(jù)管理、數(shù)據(jù)分析、數(shù) 據(jù)庫維護(hù)以及串口通信等模塊。該軟件可實(shí)現(xiàn)原始數(shù)據(jù)的讀取、查詢、統(tǒng)計(jì)、 圖表生成、參數(shù)設(shè)置等功能。 系 統(tǒng) 守 護(hù) 任 務(wù) 鍵盤管理任務(wù)lil c d 顯示任務(wù)ll 用戶管理 i t c o s - i i 內(nèi)核 信號(hào)采集任務(wù)ii 數(shù)據(jù)存取任務(wù) 富 口 通 信 任 務(wù) 串 口 通 信 模 圖2 5 應(yīng)用程序總體結(jié)構(gòu)圖 1 0 數(shù)據(jù)庫 據(jù) 庫 維 護(hù) 第三章下位機(jī)嵌入式系統(tǒng)的軟件設(shè)計(jì) 3 1 嵌入式應(yīng)用系統(tǒng)軟件總體設(shè)計(jì) 嵌入式軟件開發(fā)的基本思想是:以嵌入式開發(fā)平臺(tái)為基礎(chǔ),以任務(wù)為主要 脈絡(luò),以實(shí)時(shí)性為優(yōu)先級(jí)的主要依據(jù)。本文采用兩種方法開發(fā)嵌入式軟件,一 個(gè)是在a p i 的基礎(chǔ)上開發(fā)軟件;二是直接在內(nèi)核基礎(chǔ)上開發(fā)軟件。 開始 上 硬件系統(tǒng)初始化 上 操作系統(tǒng)初始化 上 建立任務(wù)消息郵箱和信號(hào)量 上 建立多任務(wù) 上 上上上0上上j 系 鍵上數(shù)數(shù)系串 統(tǒng) 盤下 據(jù) 據(jù)統(tǒng)口 守讀限采存自通 護(hù)取設(shè)集取檢信 任任 置 任 任任 任 務(wù) 務(wù)任務(wù)務(wù)務(wù)務(wù) 上 啟動(dòng)多任務(wù) 上 r 結(jié)束 、 圖3 1 嵌入式應(yīng)用軟件的總體構(gòu)架 u c o s i i 是源碼公開的實(shí)時(shí)操作系統(tǒng)內(nèi)核,這就意味著它不像其他實(shí)時(shí)操 作系統(tǒng)那樣提供給用戶的只是一些a p i 函數(shù)接口,有很多工作往往需要用戶自 己完成。把c o s i i 移植到目標(biāo)硬件平臺(tái)上也只是系統(tǒng)設(shè)計(jì)工作的開始,后面 還需要針對(duì)實(shí)際的應(yīng)用需求對(duì)g c o s n 進(jìn)行功能擴(kuò)展,開發(fā)用戶自己的應(yīng)用程 序接口。依據(jù)系統(tǒng)的功能及對(duì)硬件的依賴來劃分,系統(tǒng)主要完成以下7 個(gè)任務(wù): 1 ) 系統(tǒng)守護(hù)任務(wù) 2 ) 程序號(hào)上下限設(shè)置任務(wù) 3 ) 數(shù)據(jù)采集處理任務(wù) 4 ) 數(shù)據(jù)存取任務(wù) 5 ) 鍵盤讀取任務(wù) 6 ) 液晶顯示任務(wù) 7 ) 串行通信任務(wù) 嵌入式軟件的總體架構(gòu),如圖3 1 所示。在多任務(wù)調(diào)度開始前,需要對(duì)c o s i i 進(jìn)行初始化,然后建立系統(tǒng)需要的任務(wù)。任務(wù)可以在多任務(wù)調(diào)度開始前全部 建立,也可以在多任務(wù)調(diào)度開始后由其他任務(wù)建立,但是在多任務(wù)開始前必須 至少建立一個(gè)任務(wù),任務(wù)也可以由其他任務(wù)刪除。每個(gè)任務(wù)的詳細(xì)程序設(shè)計(jì)將 在3 2 節(jié)中介紹。 3 2p c i o s 在c 8 0 5 1 f 3 4 0 上的移植 移植工作就是修改o s c p u h 、o s c p u c c 、o s c p u a a s m 這幾個(gè)文 件f 1 9 彩】。在說明這幾個(gè)文件之前,先說明兩點(diǎn)注意事項(xiàng): ( 1 ) 可重入函數(shù)。單片機(jī)內(nèi)部堆棧空間有限,c 5 1 提供一種壓縮棧的方式, 當(dāng)遞歸調(diào)用這個(gè)函數(shù)時(shí),會(huì)導(dǎo)致變量被覆蓋,所以在實(shí)時(shí)應(yīng)用中,要用關(guān)鍵字 r e e n t r a n t 將函數(shù)聲明成可重入函數(shù),把每次函數(shù)調(diào)用時(shí)的局部變量單獨(dú)保存起 來。但函數(shù)中不可以使用b o o l 變量,因?yàn)樵趌 a r g e 編譯模式下,k e i l 默認(rèn)將 所有變量定位到外部r a m 的最高處,而m c s 5 1 系列的m c u 中只有內(nèi)部 2 0 h 2 f h 的地址可以位尋址。 ( 2 ) c 5l 的關(guān)鍵字和“c o s i i 定義變量的矛盾?!皃 d a t a ”、“d a t a ”在p c o s i i 中用做一些函數(shù)的形參,但它同時(shí)又是c 51 的關(guān)鍵字,在編譯時(shí)導(dǎo)致語法錯(cuò) 誤,通過把“p d a t a ”改成“p p d a t a ,“d a t a ”改成“d d a t a 解決了此問題。 3 1 o s c p u h 文件 o sc p u h 文件主要是與處理器相關(guān)的宏定義和數(shù)據(jù)類型聲明。如前面提 到的,不能使用b i t 型變量,把b o o l e a n 型定義成u n s i g n e dc h a r 型。另外8 , 6 7 m c u 數(shù)據(jù)寬度和堆棧寬度都是8 位,分別將o ss t k 和o sc p u s r 定義成u n s i g n e d c h a r 型。p c o s i i 提供了3 種處理臨界代碼的方法,這里使用第一種,即通過對(duì) 寄存器e a 開關(guān)中斷。m c s 一5 1 系列m c u 的堆棧是從下向上遞增的,定義 o s s t k g r o w t h = 0 。 3 1 2o s c p u c c 文件 o s c p u c c 文件主要是完成o s t a s k s t k l n i t 0 。在“c o s i i 中,任務(wù)是一個(gè) 1 2 無限循環(huán),任務(wù)之間也不會(huì)互相調(diào)用,但是r t c o s i i 總是執(zhí)行優(yōu)先級(jí)最高的任 務(wù),假定當(dāng)前有一個(gè)更高優(yōu)先級(jí)的任務(wù)進(jìn)入就緒狀態(tài),為了保證原來低優(yōu)先級(jí) 任務(wù)的完整性,i - t c o s i i 為每個(gè)任務(wù)建立了任務(wù)堆棧,就相當(dāng)于函數(shù)調(diào)用時(shí)保 存返回地址和參數(shù)一樣,用來保存當(dāng)前任務(wù)的狀態(tài),保證任務(wù)切換能和函數(shù)調(diào) 用一樣正確。只不過函數(shù)調(diào)用時(shí)函數(shù)堆棧的操作過程是編譯器自動(dòng)完成的,而 任務(wù)切換時(shí)需要模擬一個(gè)和編譯器類似的任務(wù)堆棧的操作過程。實(shí)際上, i t c o s i i 的移植工作主要就是解決這個(gè)問題,o s t a s k s t k l n i t 0 完成任務(wù)棧初始 化,后面介紹的o sc p ua a s m 文件完成3 種不同條件下的任務(wù)切換操作。 棧底 o s t c b c u r 棧頂 圖3 2 初始化任務(wù)棧結(jié)構(gòu) o s t a s k s t k l n i t 0 函數(shù)為o s t a s k c r e a t e 0 和o s t a s k c r e a t e e x t 0 函數(shù)所調(diào)用,用 于任務(wù)棧的初始化,初始化后的任務(wù)??雌饋硐駝倓偘l(fā)生過一次中斷并將所有 的寄存器都保存進(jìn)了堆棧的情形一樣。如圖1 0 2 所示,它主要完成四項(xiàng)任務(wù): ( 1 ) 仿真帶參數(shù)p d a t a 的函數(shù)調(diào)用;( 2 ) 接著保存任務(wù)代碼的首地址指針,當(dāng)調(diào)用 o s s t a r t ( ) 函數(shù)啟動(dòng)時(shí),為第一次運(yùn)行提供任務(wù)代碼的首地址指針,應(yīng)用任務(wù)的 代碼便從這里開始執(zhí)行;( 3 ) 初始化任務(wù)棧結(jié)構(gòu),保存c p u 寄存器內(nèi)容,盡管這 些寄存器內(nèi)容可能在第一次運(yùn)行時(shí)沒有起什么作用,但仍然要設(shè)計(jì)成完整的結(jié) 構(gòu),以便于計(jì)算代碼的指針;( 4 ) 返回棧頂指針給調(diào)用者,調(diào)用者又將這個(gè)指針 傳遞給任務(wù)控制塊,并且放在任務(wù)控制塊數(shù)據(jù)結(jié)構(gòu)的最前面,這樣就可以用匯 編語言來方便地進(jìn)行讀寫。o s t a s k s t k l n i t 0 的函數(shù)原型為:o s s t k * o s t a s k s t k n i t ( v o i d ( 堆t a s k ) ( v o i d + p d ) ,v o i d 幸p d a t a ,o s s t k 木p t o s ,i n t l 6 uo p t ) ; o s t a s k s t k l n i t ( ) 函數(shù)返回一個(gè)棧頂指針給調(diào)用者,它需要四個(gè)參數(shù): ( 1 ) t a s k 是任務(wù)代碼的指針; ( 2 ) p d a t a 是當(dāng)任務(wù)開始執(zhí)行時(shí)傳遞給任務(wù)的參數(shù)的指針,圖10 2 描述了c 編譯器堆棧用堆棧傳遞參數(shù)的情況,其它情況本文不討論; ( 3 ) p t o s 是分配給任務(wù)堆棧的棧頂指針: 丁雌il上 ( 4 ) o p t 用于設(shè)定o s t a s k c r e a t e e x t ( ) 的選項(xiàng),指定是否允許堆棧檢驗(yàn),是 否將堆棧清零,是否進(jìn)行浮點(diǎn)操作等等。當(dāng)用o s t a s k c r

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論