国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于Small RTOS51的數據采集器設計

發布時間:2010-11-16 16:07    發布者:eetech
關鍵詞: RTOS51 , Small , 采集器 , 設計 , 數據
介紹如何運用Small RTOS51多任務操作系統進行嵌入式控制器的軟件設計。首先介紹Small RTOS51多任務操作系統,然后介紹基于該操作系統進行數據采集器軟件系統的設計。
  
隨著嵌入式系統的發展,嵌入式軟件設計向軟件平臺靠近,單片機軟件設計不再是單一線程結構方式,而是逐步采用多任務的設計思想。實時內核也稱為實時操作系統或RTOS。它使得實時應用程序的設計、擴展和維護變得更容易,不需要大的改動就可以增加新的功能。通過應用程序分割成若干獨立的任務,RTOS使得應用程序的設計過程大為簡化。使用可剝奪性內核時,所有時間要求苛刻的事件都得到了盡可能快捷、有效的處理。通過有效的服務,如信號量、郵箱、隊列、延時、超時等,RTOS使得資源得到更好的利用。  

目前8位單片機在嵌入式系統中,應用還是最廣泛的。51多任務系統中,Keil C51 所帶的RTX51 Full 太大(6KB多),且需要外部RAM,又無源代碼,很多時候不實用。RTX51 Tiny雖然。900多字節),但是任務沒有優先級和中斷管理,也無源代碼,也不太實用。而uC/OSII雖有源代碼,但是它太大,又需要外部RAM,所有函數又必須是重入函數,用在51這類小片內RAM的單片機上有點勉強。Small RTOS為小RAM系統設計,RAM需求小,比較適合51這種資源比較少的系統上。  

1 數據采集器系統設計  

1.1 數據采集器原理  

數據采集器是將采集到的電表脈沖信號轉換為電能量數據整理保存,并與上行設備通信傳輸到管理單元進行電表數據的統一管理。


  
1.2 硬件設計  

主控制器采用AT89C52芯片,利用7032將脈沖信號采樣,經過CPU的處理將數據存儲到EEPROM芯片中,數據通過紅外信道上傳到掌上電腦中。系統框圖如圖1所示。  

2 Small RTOS51多任務操作系統  

Small RTOS是一個源代碼公開的多任務實時操作系統,Small RTOS 51是其在8051系列處理器上的移植(使用Keil C51)。Small RTOS可以簡化那些復雜而且時間要求嚴格的工程的軟件設計工作。  

Small RTOS有以下的特點。  

① 公開源代碼。只要遵循許可協議,任何人可以免費獲得源代碼。  
② 可移植。盡量把與CPU相關部分壓縮到最小,與CPU無關部分用ANSI C編寫。  
③ 可固化。Small RTOS為嵌入式系統設計,如果有固化手段,它可以嵌入到產品中成為產品的一部分。  
④ 占先式。Small RTOS可以管理17個任務,用戶最多可以使用16個任務,每個任務優先級不同。  
⑤ 中斷管理。中斷可以使正在執行的任務掛起。如果優先級更高的任務被中斷喚醒,則高優先級的任務在中斷嵌套全部退出后立即執行。中斷嵌套層數可達255 層。如果需要,可以禁止中斷嵌套管理。  
⑥ RAM需求小。Small RTOS為小RAM系統設計,因而RAM需求小,相應的,系統服務也少。  

目前,Small RTOS的最新版本為1.20.0。可以進行任務的建立、刪除、動態內存分配等操作。  

3 任務分解設計  

數據采集器主要包括采集處理、顯示處理、按鍵處理、通信處理等模塊,由中斷處理相應采集脈沖信號和串口通信。因此,將任務分解為按鍵顯示處理、接收數據、命令處理、發送數據、采樣濾波處理、系統檢測6個任務。  

主程序進行系統初始化以后,順序建立6個任務,進入CPU休眠狀態。各個任務運行后,首先進入任務休眠狀態,等待相應任務的喚醒。任務被喚醒以后,進行相應處理,再次進入休眠狀態。這樣,可以減少任務切換,減輕系統負擔。





任務框圖如圖2所示,主程序流程如圖3所示。

脈沖到來時,引發相應外部中斷,由中斷處理程序處理后,置相應信號量,然后喚醒采樣濾波處理任務。采樣濾波處理任務將數據整理后,存儲到外部存儲器中。  

串口數據到來時,引發串口中斷,串口中斷處理程序喚醒數據接收任務。數據接收任務完成數據包的接收,并根據通信數據包的特點進行錯誤處理。數據包被正確接收后,喚醒命令處理任務。命令處理任務判斷數據包的校驗和,若正確就處理相應的命令。命令處理完成以后,將回應數據打包,然后喚醒發送數據任務,將數據通過串口發送出去。  

每個任務均采用以下結構。  

while(1)  
{  
OSWait(K_SIG, 0); // 任務睡眠,等待任務喚醒處理過程  
}  

任務的喚醒用OSTaskResume(TASK_ID)完成。  

串口接收和發送處理采用隊列模式,設立發送和接收兩個緩沖區,獨立的進出隊列處理。數據解包和數據打包采用單獨處理方式,這樣單獨處理通信協議,以利于今后協議的改動。  

系統節拍設置:將OS_TICKS_PER_SEC設為20,即系統時鐘節拍為每秒20次。定義定時器0的中斷時間設為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任務定時檢測各任務的回應,若長時間沒有回應,則啟動復位功能,熱啟動整個系統,以保證系統的可靠性。  

由于單片機采用AT89C52,片內RAM為256,使用DS12887中的一部分RAM作為擴展。隊列長度各為15個字節時,程序經過9級優化后,RAM占用140字節,XRAM占用106字節。由于系統RAM很小,因此,沒有使用信號量和消息進行數據傳輸。在其它應用時,可以根據系統資源進行信號量和消息的使用,這樣可以更有效地使任務運行。  

4 結 論  

在嵌入式系統中,使用RTOS是大勢所趨,因為在大多數情況下編程效率比執行效率重要。利用Small RTOS多任務系統設計,可以使51單片機發揮的更有效,并且今后的軟件維護和改進更方便,更可靠。
本文地址:http://www.qingdxww.cn/thread-39829-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 基于CEC1712實現的處理器SPI FLASH固件安全彈性方案培訓教程
  • 想要避免發生災難,就用MPLAB® SiC電源仿真器!
  • 無線充電基礎知識及應用培訓教程3
  • PIC18-Q71系列MCU概述
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产一区二区不卡 | 韩国福利一区二区三区高清视频 | 日本a在线| 国产又黄又刺激又爽视频黄 | 欧美xxxx黑人又粗又长 | 欧美日韩成人午夜免费 | 精品伊人久久久久网站 | 国产三级视频在线 | 四虎在线最新地址4hu | 手机看片国产精品 | 中文字幕欧美日韩高清 | 中文字幕在线观看91 | 国产精品操 | 国产成人免费a在线资源 | 色噜噜狠狠先锋影音久久 | 美国免费黄色片 | 家庭教师免费观看 | 失乐园在线播放 | 天天夜日日日日碰日日摸 | 国产精品一二区 | 欧美一区二区放荡人妇 | 男人的天堂啪啪 | 欧美精品九九99久久在观看 | 亚洲欧美中文日韩二区一区 | 天堂网在线新版www 天堂网在线视频 | 手机看片日韩国产 | 黄色在线网页 | 成年大片免费视频播放二级 | 国产精品视频一区二区三区w | 一级毛片免费观看久 | 国产麻豆精品 | 香蕉视频国产精品人 | 免费看动漫强人物动漫的 | 国内永久第一免费福利视频 | 欧美h片在线观看 | 狠狠狠狠操 | 韩国免费网站成人 | 99精品国产兔费观看久久99 | 成都4片p高清完整版hd免费 | 亚洲日本一区二区三区高清在线 | 精品国内自产拍在线视频 |