當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]摘要:介紹如何運(yùn)用Small RTOS51多任務(wù)操作系統(tǒng)進(jìn)行嵌入式控制器的軟件設(shè)計(jì)。首先介紹Small RTOS51多任務(wù)操作系統(tǒng),然后介紹基于該操作系統(tǒng)進(jìn)行數(shù)據(jù)采集器軟件系統(tǒng)的設(shè)計(jì)。

摘要:介紹如何運(yùn)用Small RTOS51多任務(wù)操作系統(tǒng)進(jìn)行嵌入式控制器的軟件設(shè)計(jì)。首先介紹Small RTOS51多任務(wù)操作系統(tǒng),然后介紹基于該操作系統(tǒng)進(jìn)行數(shù)據(jù)采集器軟件系統(tǒng)的設(shè)計(jì)。 關(guān)鍵詞:Small RTOS51 多任務(wù)操作系統(tǒng) 數(shù)據(jù)采集器 引 言   隨著嵌入式系統(tǒng)的發(fā)展,嵌入式軟件設(shè)計(jì)向軟件平臺(tái)靠近,單片機(jī)軟件設(shè)計(jì)不再是單一線程結(jié)構(gòu)方式,而是逐步采用多任務(wù)的設(shè)計(jì)思想。實(shí)時(shí)內(nèi)核也稱為實(shí)時(shí)操作系統(tǒng)或RTOS。它使得實(shí)時(shí)應(yīng)用程序的設(shè)計(jì)、擴(kuò)展和維護(hù)變得更容易,不需要大的改動(dòng)就可以增加新的功能。通過(guò)應(yīng)用程序分割成若干獨(dú)立的任務(wù),RTOS使得應(yīng)用程序的設(shè)計(jì)過(guò)程大為簡(jiǎn)化。使用可剝奪性內(nèi)核時(shí),所有時(shí)間要求苛刻的事件都得到了盡可能快捷、有效的處理。通過(guò)有效的服務(wù),如信號(hào)量、郵箱、隊(duì)列、延時(shí)、超時(shí)等,RTOS使得資源得到更好的利用。   目前8位單片機(jī)在嵌入式系統(tǒng)中,應(yīng)用還是最廣泛的。51多任務(wù)系統(tǒng)中,Keil C51 所帶的RTX51 Full 太大(6KB多),且需要外部RAM,又無(wú)源代碼,很多時(shí)候不實(shí)用。RTX51 Tiny雖然小(900多字節(jié)),但是任務(wù)沒(méi)有優(yōu)先級(jí)和中斷管理,也無(wú)源代碼,也不太實(shí)用。而uC/OSII雖有源代碼,但是它太大,又需要外部RAM,所有函數(shù)又必須是重入函數(shù),用在51這類小片內(nèi)RAM的單片機(jī)上有點(diǎn)勉強(qiáng)。Small RTOS為小RAM系統(tǒng)設(shè)計(jì),RAM需求小,比較適合51這種資源比較少的系統(tǒng)上。 1 數(shù)據(jù)采集器系統(tǒng)設(shè)計(jì) 1.1 數(shù)據(jù)采集器原理   數(shù)據(jù)采集器是將采集到的電表脈沖信號(hào)轉(zhuǎn)換為電能量數(shù)據(jù)整理保存,并與上行設(shè)備通信傳輸?shù)焦芾韱卧M(jìn)行電表數(shù)據(jù)的統(tǒng)一管理。

1.2 硬件設(shè)計(jì)   主控制器采用AT89C52芯片,利用7032將脈沖信號(hào)采樣,經(jīng)過(guò)CPU的處理將數(shù)據(jù)存儲(chǔ)到EEPROM芯片中,數(shù)據(jù)通過(guò)紅外信道上傳到掌上電腦中。系統(tǒng)框圖如圖1所示。 2 Small RTOS51多任務(wù)操作系統(tǒng)   Small RTOS是一個(gè)源代碼公開(kāi)的多任務(wù)實(shí)時(shí)操作系統(tǒng),Small RTOS 51是其在8051系列處理器上的移植(使用Keil C51)。Small RTOS可以簡(jiǎn)化那些復(fù)雜而且時(shí)間要求嚴(yán)格的工程的軟件設(shè)計(jì)工作。 Small RTOS有以下的特點(diǎn)。 ① 公開(kāi)源代碼。只要遵循許可協(xié)議,任何人可以免費(fèi)獲得源代碼。 ② 可移植。盡量把與CPU相關(guān)部分壓縮到最小,與CPU無(wú)關(guān)部分用ANSI C編寫(xiě)。 ③ 可固化。Small RTOS為嵌入式系統(tǒng)設(shè)計(jì),如果有固化手段,它可以嵌入到產(chǎn)品中成為產(chǎn)品的一部分。 ④ 占先式。Small RTOS可以管理17個(gè)任務(wù),用戶最多可以使用16個(gè)任務(wù),每個(gè)任務(wù)優(yōu)先級(jí)不同。 ⑤ 中斷管理。中斷可以使正在執(zhí)行的任務(wù)掛起。如果優(yōu)先級(jí)更高的任務(wù)被中斷喚醒,則高優(yōu)先級(jí)的任務(wù)在中斷嵌套全部退出后立即執(zhí)行。中斷嵌套層數(shù)可達(dá)255 層。如果需要,可以禁止中斷嵌套管理。 ⑥ RAM需求小。Small RTOS為小RAM系統(tǒng)設(shè)計(jì),因而RAM需求小,相應(yīng)的,系統(tǒng)服務(wù)也少。 目前,Small RTOS的最新版本為1.20.0??梢赃M(jìn)行任務(wù)的建立、刪除、動(dòng)態(tài)內(nèi)存分配等操作。 3 任務(wù)分解設(shè)計(jì)   數(shù)據(jù)采集器主要包括采集處理、顯示處理、按鍵處理、通信處理等模塊,由中斷處理相應(yīng)采集脈沖信號(hào)和串口通信。因此,將任務(wù)分解為按鍵顯示處理、接收數(shù)據(jù)、命令處理、發(fā)送數(shù)據(jù)、采樣濾波處理、系統(tǒng)檢測(cè)6個(gè)任務(wù)。   主程序進(jìn)行系統(tǒng)初始化以后,順序建立6個(gè)任務(wù),進(jìn)入CPU休眠狀態(tài)。各個(gè)任務(wù)運(yùn)行后,首先進(jìn)入任務(wù)休眠狀態(tài),等待相應(yīng)任務(wù)的喚醒。任務(wù)被喚醒以后,進(jìn)行相應(yīng)處理,再次進(jìn)入休眠狀態(tài)。這樣,可以減少任務(wù)切換,減輕系統(tǒng)負(fù)擔(dān)。

  任務(wù)框圖如圖2所示,主程序流程如圖3所示。   脈沖到來(lái)時(shí),引發(fā)相應(yīng)外部中斷,由中斷處理程序處理后,置相應(yīng)信號(hào)量,然后喚醒采樣濾波處理任務(wù)。采樣濾波處理任務(wù)將數(shù)據(jù)整理后,存儲(chǔ)到外部存儲(chǔ)器中。   串口數(shù)據(jù)到來(lái)時(shí),引發(fā)串口中斷,串口中斷處理程序喚醒數(shù)據(jù)接收任務(wù)。數(shù)據(jù)接收任務(wù)完成數(shù)據(jù)包的接收,并根據(jù)通信數(shù)據(jù)包的特點(diǎn)進(jìn)行錯(cuò)誤處理。數(shù)據(jù)包被正確接收后,喚醒命令處理任務(wù)。命令處理任務(wù)判斷數(shù)據(jù)包的校驗(yàn)和,若正確就處理相應(yīng)的命令。命令處理完成以后,將回應(yīng)數(shù)據(jù)打包,然后喚醒發(fā)送數(shù)據(jù)任務(wù),將數(shù)據(jù)通過(guò)串口發(fā)送出去。   每個(gè)任務(wù)均采用以下結(jié)構(gòu)。 while(1) { OSWait(K_SIG, 0); // 任務(wù)睡眠,等待任務(wù)喚醒處理過(guò)程 } 任務(wù)的喚醒用OSTaskResume(TASK_ID)完成。   串口接收和發(fā)送處理采用隊(duì)列模式,設(shè)立發(fā)送和接收兩個(gè)緩沖區(qū),獨(dú)立的進(jìn)出隊(duì)列處理。數(shù)據(jù)解包和數(shù)據(jù)打包采用單獨(dú)處理方式,這樣單獨(dú)處理通信協(xié)議,以利于今后協(xié)議的改動(dòng)。   串口緩沖I/O模塊的程序見(jiàn)本刊網(wǎng)站www.dpj.com.cn。   系統(tǒng)節(jié)拍設(shè)置:將OS_TICKS_PER_SEC設(shè)為20,即系統(tǒng)時(shí)鐘節(jié)拍為每秒20次。定義定時(shí)器0的中斷時(shí)間設(shè)為50ms。 #define m_Fosc 11059200L #define m_TIME 65536L - (m_Fosc / (OS_TICKS_PER_SEC * 12L))

void InitTimer0(void) { TMOD = (TMOD %26;amp; 0xF0) | 0x01; TH0 = m_TIME / 256; TL0 = m_TIME % 256; ET0 = 1; TF0 = 0; }   TestSys任務(wù)定時(shí)檢測(cè)各任務(wù)的回應(yīng),若長(zhǎng)時(shí)間沒(méi)有回應(yīng),則啟動(dòng)復(fù)位功能,熱啟動(dòng)整個(gè)系統(tǒng),以保證系統(tǒng)的可靠性。   由于單片機(jī)采用AT89C52,片內(nèi)RAM為256,使用DS12887中的一部分RAM作為擴(kuò)展。隊(duì)列長(zhǎng)度各為15個(gè)字節(jié)時(shí),程序經(jīng)過(guò)9級(jí)優(yōu)化后,RAM占用140字節(jié),XRAM占用106字節(jié)。由于系統(tǒng)RAM很小,因此,沒(méi)有使用信號(hào)量和消息進(jìn)行數(shù)據(jù)傳輸。在其它應(yīng)用時(shí),可以根據(jù)系統(tǒng)資源進(jìn)行信號(hào)量和消息的使用,這樣可以更有效地使任務(wù)運(yùn)行。 4 結(jié) 論   在嵌入式系統(tǒng)中,使用RTOS是大勢(shì)所趨,因?yàn)樵诖蠖鄶?shù)情況下編程效率比執(zhí)行效率重要。利用Small RTOS多任務(wù)系統(tǒng)設(shè)計(jì),可以使51單片機(jī)發(fā)揮的更有效,并且今后的軟件維護(hù)和改進(jìn)更方便,更可靠。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉