《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于uC/OS-II的遠程多點溫度監測系統
基于uC/OS-II的遠程多點溫度監測系統
摘要: 本文介紹了在C8051F020單片機上實現基于uC/OS-II的遠程多點溫度監測系統的軟硬件設計。系統設計為簡單的web服務器,用戶可以通過網絡中任一PC機的瀏覽器界面實現對溫度的實時遠程監測。
Abstract:
Key words :

  引言

  隨著Internet的發展和應用,越來越多的嵌入式系統接入網絡。然而,大部分嵌入式系統都是作為B/S模式中的應用服務器,必須隨時對客戶機的請求做出回應,要求具有較強的實時性。mC/OS-II是近年來發展迅速的一個開放源碼實時操作系統,具有移植性好、可裁剪、可固化的優點。將mC/OS-II引入網絡嵌入式系統,既可以實現系統的實時性要求,同時可以提高系統的可靠性,易于調試程序。

 

  

  圖1 系統硬件結構框圖(點擊圖片放大)

 

  

  圖2 系統TCP/IP協議部分程序流程圖(點擊圖片放大)

 

 系統硬件設計

  本系統設計中采用美國Cygnal公司生產的集成混合信號SoC芯片C8051F020,其內核與8051兼容。當它工作在最大系統時鐘頻率 25MHz 時,峰值速度可以達到 25MIPS。C8051F020除了256B的內部 RAM,還另有位于外部數據存儲器地址空間的 4KB的 XRAM,以及64KB可在系統編程的 FLASH 存儲器。因此,它有足夠的RAM空間用于存放1500B的以太幀,以及μC/OS-II中再入函數的模擬棧。C8051F020除了有標準8051的端口( P0、P1、P2和P3)外,還附加4個端口(P4、P5、P6和P7),內部還有很多的功能器件。

  系統的硬件結構框圖如圖1所示。網卡芯片使用臺灣 Realtek 公司生產的RTL8019AS。在系統中用到的網卡地址為十六進制的0300H~0310H,因此,C8051F020的P7口采用復用方式與RTL8019AS的數據/地址線相接,網卡的SA8腳則直接與高電平相接。C8051F020的 P5.2與RTL8019AS的復位端相連,用來復位網卡。RTL8019AS則外接一個隔離LPF濾波器,通過RJ45接口接入以太網。多個單總線溫度傳感器DS18B20共享一條總線,由 P3.0口進行控制。

  系統軟件實現

  TCP/IP協議實現

  介質訪問層主要由以太網控制器 RTL8019AS來實現,其數據通信協議采用IEEE802.3 標準,只處理接收地址與本機物理地址相符或為廣播地址的以太幀,并只對ARP、IP數據報進行處理。

  網絡層實現IP、ARP和ICMP 協議:IP 數據報的首部保留 20 字節的基本控制信息,每個IP數據報包含一個分片;實現完整的ARP 協議;對于ICMP協議, 只實現 ICMP 中類型號為 0 ,代碼為 0 的 Ping 應答協議。

  傳輸層實現TCP協議。在系統中,TCP 協議只用于支持 HTTP 協議,由于在連接時一直處于被動服務的狀態,因此在設計中省去了SYN - SENT 狀態和CLOSED狀態,讓它一開始就處于 LISTEN 狀態,來監聽客戶端的連接請求,避免了主動打開的操作,可更高效地服務于客戶機。而當服務器發出數據報時,系統并不存儲,只是記錄下該數據報的狀態信息。由于系統中數據傳輸量少,滑動窗口可設置為一個固定值(1 500 字節 )。

  應用層實現HTTP 協議。現場監測設備與用戶的交互式數據交換通過 HTTP 協議來實現,HTTP在端口80上使用TCP的服務。系統TCP/IP協議部分程序的流程圖如圖2所示。

  uC/OS-II對TCP/IP協議及溫度監測的實時管理

  uC/OS-II在C8051F020單片機上的移植

  uC/OS-II的移植,要求所用的C編譯器支持混合編程,在這里選用 KEIL C51集成開發環境。由于uC/OS-II是可剝奪的實時操作系統,任務隨時會被另一任務中斷,一段時間后再可以運行。為了防止在任務切換過程中相應數據被破壞,mC/OS-II中使用了大量的可重入函數。在KEIL C51中,Cx51編譯器為再入函數生成模擬棧,通過這個模擬棧完成參數傳遞和存放局部變量。根據再入函數所采用的編譯模式(SMALL、COMPACT、LARGE),模擬??梢晕挥谄瑑然蚱獯鎯臻g。對于本系統,模擬棧對RAM空間的要求較大,故選用LARGE模式??芍苯永眯酒霞傻腦RAM(4K),無須另外擴展外部數據存儲器。通過配置STARTUP.A51文件進行設置:

  XBPSTACK EQU 1 ; //選用LARGE模式

  XBPSTACKTOP EQU 1000H ; //設置再入棧棧頂指針

  在移植過程中主要完成對以下五個文件的修改:與CPU相關的文件OS_CPU_A.ASM、OS_CPU_C.C、OS_CPU.H和與應用相關的文件OS_CFG.H、INCLUDES.H。

  其移植過程在這里不是重點,下面簡要介紹與應用相關較緊密的部分設置。

  0S-CPU.H:

  #define OS_CRITICAL_ METHOD 1 //中斷方式1

  #if OS_CRITICAL_METHOD == 1

  #define OS_ENTER_ CRITICAL() EA=0

  //關中斷

  #define OS_EXIT_CRITICAL() EA=1 //開中斷

  #endif

  OS_CFG.H:

  OSTimeDlyHMSM()函數使應用程序無需知道延時時間對應的時鐘節拍數,直接按小時、分、秒、毫秒來定義時間,方便對任務運行時間進行管理。

  #define OS_TIME_DLY_ HMSM_EN 1

  //允許使用函數OSTimeDly HMSM()。

  由于每個嵌入式監測系統可以同時與多個PC機連接,向不同用戶提供信息,因此可在OS_CFG.H頭文件中定義一個包含各種連接信息的結構變量。當TCP報文到時,使用連接狀態信息檢查是否與已存在的連接相符,如果不存在則建立新的連接。這種處理可以使嵌入式監測系統同時處理來自同一或不同PC機的連接。

  typedef struct

  {

  INT32U ipaddr;

  INT16U port;

  INT8U timer;

  INT8U inactivity;

  INT8U state;

  char query[20];

  } CONNECTION;

  在ARP協議部分,嵌入式系統將收到的IP數據報的物理地址存放在一結構變量中。如果是向同一PC機發送數據報,不需要再次發送ARP請求就可得到目的主機的物理地址,減少了建立連接的時間。

  typedef struct

  {

  INT32U ipaddr;

  INT8U hwaddr[6];

  } ARP_CACHE;

  在其中設置每個嵌入式系統的MAC地址、IP地址、子網掩碼和網關地址。

  uC/OS-II中任務創建及優先級設置

  C8051F020的XRAM做輸入/輸出數據的內部緩沖區,RTL8019AS內部的16K SRAM做單片機的外部數據緩沖區,存儲輸入/輸出以太幀隊列。這樣C8051020就可以采用查詢方式讀取以太幀,并有充足的時間處理數據。由于輸入幀的大小不定,同時在ARP數據報發送或接收時,輸出幀必須存在輸出緩沖區中,因此,輸入/輸出數據緩沖區在C8051F020的XRAM中使用動態分配,由KEIL C51 提供的malloc()和free()函數完成。網頁存儲于單片機的FLASH存儲器中。當嵌入式系統向PC機發送網頁時,先將網頁從FLASH存儲器中取出放入XRAM,再根據用戶請求進行整理后放入RTL8019AS的SRAM,并發送到以太網上。

  作為網絡服務器,C8051F020需要注意以下幾點:

  1) 服務器向一客戶機發送ARP查詢分組后,如果在0.5秒內未收到ARP響應分組,則重發。

  2) 如果TCP連接在0.5秒內未被激活,則調用初始化斷開連接程序,防止兩個TCP之間的連接處理長時期空閑。

  3) 為了控制丟失數據報,TCP在規定時間(0.5秒)內如果沒有收到確認包 ,就重組這個包并發送 ,這樣不需要占用存儲區來存儲包。當收到客戶機接收到信息包的確認報后 ,就斷開連接。

  uC/OS-II對系統的管理是通過對任務的管理來實現的。它把整個程序分成許多任務,每個任務相對獨立。然后在每個任務中設置超時函數,一旦任務的延時時間到,任務必須交出 CPU 的使用權。根據需要,系統中創建了5個任務,設置如下:

  任務1:OSTaskCreate(eth_ arive,0,&mystack1[0],4);// 查詢RTL8019AS,是否有以太幀到達。

  OSTimeDlyHMSM(0,0,0,500);// 延時0.5秒

  任務2:OSTaskCreate(arp_ retran,0,&mystack2[0],5);//重發ARP分組

  OSTimeDlyHMSM(0,0,1,0); // 延時1秒

  任務3:OSTaskCreate(tcp_ inact,0,&mystack3[0],6);// 初始化斷開連接

  OSTimeDlyHMSM(0,0,1,500);// 延時1.5秒

  任務4:OSTaskCreate(read _temp,0,&mystack3[0],7);// 讀溫度值

  OSTimeDlyHMSM(0,0,2,0); // 延時7秒

  任務5:OSTaskCreate(tcp_ retran,0,&mystack3[0],8);//TCP數據報重發

  OSTimeDlyHMSM(0,0,2,500);// 延時2.5秒

 

  結語

  將網絡功能嵌入到溫度監測系統中,可在網絡中接入多個節點,每個節點連接多個單總線傳感器,以此實現真正的多點溫度監測,以滿足用戶的需要。由于DS18B20是單總線溫度傳感器,本身的溫度測量有些延時,因此在傳輸溫度數據時需要幾秒鐘的等待時間,但對整個系統的影響不大。采用嵌入式實時操作系統mC/OS-II,提高了系統的實時性和可靠性,有利于用戶的管理和對溫度的實時監測。

  用戶可以利用廣泛存在的以太網資源,通過瀏覽器直接訪問節點,提高系統的開放性和互操作性,降低監控運行維護成本、提高監控運行維護效率。因此,基于嵌入式實時操作系統的嵌入式網絡有著廣闊的發展前景。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产老肥熟一区二区三区| 亚洲免费观看在线视频| 国产精品盗摄久久久| 亚洲免费精彩视频| 久久久www成人免费无遮挡大片| 亚洲欧洲精品一区二区三区波多野1战4| 欧美成人乱码一区二区三区| 欧美aaaaaaaa牛牛影院| 欧美日韩免费| 亚洲一区尤物| 欧美gay视频激情| 老牛国产精品一区的观看方式| 国产精品久久久久久影院8一贰佰| 欧美极品在线观看| 欧美亚洲在线| 欧美精品18| 国产精品久久久久久亚洲调教| 亚洲精品一区二区三区在线观看| 在线一区免费观看| 一区二区三区国产精品| 在线激情影院一区| 国产精品入口福利| 美女成人午夜| 国产精品视频xxxx| 欧美91精品| 欧美激情成人在线视频| 久久精品视频99| 久久精品天堂| 国产一区二区高清视频| 一本色道久久88综合日韩精品| 一色屋精品视频在线观看网站| 亚洲精品日日夜夜| 久久免费视频这里只有精品| 亚洲网站在线观看| 久久久精品久久久久| 欧美亚洲尤物久久| 久久裸体视频| 一区二区三区日韩欧美| 一区二区三区四区蜜桃| 午夜精品网站| 亚洲制服少妇| 国产欧美日韩在线观看| 亚洲视频1区2区| 夜夜精品视频| 欧美成人伊人久久综合网| 亚洲美女黄色| 国产精品麻豆成人av电影艾秋| 欧美日韩国产欧| 宅男精品视频| 国产欧美日韩一区二区三区| 亚洲午夜精品视频| 在线欧美小视频| 欧美日韩国产探花| 久久一二三国产| 欧美调教vk| 久色成人在线| 在线一区二区日韩| 久久成人在线| 久久国产黑丝| 欧美三级中文字幕在线观看| 免费国产一区二区| 久久五月婷婷丁香社区| 欧美成人一区二区三区| 亚洲免费电影在线| 欧美伊久线香蕉线新在线| 国产亚洲免费的视频看| 亚洲网站在线| 国产精品美女久久久久aⅴ国产馆| 亚洲综合色婷婷| 欧美色视频日本高清在线观看| 国产欧美日本一区视频| 午夜精品视频| 亚洲国产美国国产综合一区二区| 久久久人成影片一区二区三区| 国内成+人亚洲+欧美+综合在线| 欧美国产日韩免费| 久久精品亚洲一区| 欧美成人精品一区| 激情久久久久久久久久久久久久久久| 性色av香蕉一区二区| 在线观看日韩av| 亚洲美女中文字幕| 国产麻豆精品视频| 欧美电影免费观看高清完整版| 国产日韩精品一区观看| 欧美日韩综合视频网址| 亚洲狼人综合| 国产欧美日韩一区二区三区在线| 欧美午夜不卡视频| 久久www免费人成看片高清| 亚洲视频欧洲视频| 国产精品xxxav免费视频| 亚洲激情成人| 欧美福利一区二区三区| 日韩一级精品| 国内成人精品视频| 国产欧美日韩在线播放| 亚洲欧美视频一区| 久久免费视频在线| 亚洲欧美在线磁力| 国产亚洲欧美另类一区二区三区| 欧美午夜宅男影院在线观看| 亚洲系列中文字幕| 亚洲理伦电影| 国产性做久久久久久| 麻豆精品在线播放| 一区视频在线播放| 亚洲一区二区三区免费视频| 亚洲美女在线国产| 亚洲欧美在线免费| 欧美精品亚洲精品| 日韩一级精品| 亚洲欧美国产日韩中文字幕| 久久美女艺术照精彩视频福利播放| 韩国一区电影| 久热精品在线| 欧美另类视频在线| 136国产福利精品导航网址| 久久电影一区| 伊人久久婷婷| 美国十次了思思久久精品导航| 亚洲欧洲日韩女同| 一区二区三区精品国产| 狠狠干狠狠久久| 在线亚洲欧美| 国产一区二区黄| 国产精品美腿一区在线看| 激情视频一区二区| 国产综合色产在线精品| 亚洲国产1区| 国产亚洲女人久久久久毛片| 国产乱码精品一区二区三区不卡| 久久精品一区二区国产| 欧美一区二区黄色| 亚洲人成在线观看| 国产精品视频免费一区| 蜜臀久久久99精品久久久久久| 欧美日韩三级| 亚洲日本成人| 亚洲国产精品第一区二区| 亚洲欧洲视频在线| 欧美承认网站| 伊人久久大香线蕉综合热线| 亚洲在线成人| 亚洲一区二区影院| 欧美午夜影院| 欧美99在线视频观看| 欧美亚洲免费电影| 国产精品美女久久久免费| 在线观看国产精品网站| 中文久久精品| 亚洲精品一区二区三| 亚洲精品国产拍免费91在线| 国产精品久久久久永久免费观看| 亚洲第一天堂无码专区| 狠狠色狠色综合曰曰| 亚洲欧美美女| 久久久久这里只有精品| 亚洲性视频网址| 亚洲免费视频观看| 国产美女精品在线| 亚洲成在线观看| 亚洲欧美日韩网| 亚洲美女少妇无套啪啪呻吟| 欧美国产国产综合| 亚洲在线一区| 亚洲第一页在线| 中文无字幕一区二区三区| 久久久精品国产免大香伊| 欧美图区在线视频| 亚洲午夜影视影院在线观看| 99re6热在线精品视频播放速度| 亚洲欧美国产另类| 日韩午夜在线| 国产精品白丝av嫩草影院| 一区二区高清视频在线观看| 久久久福利视频| 欧美成人精品福利| 午夜精品999| 欧美午夜在线一二页| 国产精品成人aaaaa网站| 欧美在线综合视频| 欧美在线免费观看| 亚洲欧美日韩国产成人精品影院| 国产夜色精品一区二区av| 一区二区三区视频在线观看| 欧美午夜精品久久久久久浪潮| 亚洲国产福利在线| 欧美日韩精品一区| 欧美日韩美女在线| 欧美永久精品| 欧美色图天堂网| 国产欧美亚洲日本| 欧美日韩国语| 日韩午夜高潮| 欧美福利影院| 亚洲色在线视频| 久久激情综合网| 欧美在线国产精品| 日韩亚洲欧美成人一区| 欧美日韩精品欧美日韩精品一| 国产精品爽爽爽| 猛男gaygay欧美视频| 亚洲欧美精品在线| 欧美日韩国产精品自在自线| 久久手机精品视频| 国产女主播在线一区二区| 99在线视频精品| 欧美亚洲一级片| 99精品视频免费观看| 亚洲永久在线观看| 国产精品久久久久久久久久尿| 狠狠色狠狠色综合人人| 久久中文字幕一区| 国产一区二区三区高清播放| 国产精品日韩欧美一区| 久久久91精品国产一区二区精品| 亚洲欧美日韩在线| 亚洲一区二区三区午夜| 国内不卡一区二区三区| 中文日韩在线视频| 久久精品二区亚洲w码| 欧美视频中文字幕| 国产欧美一区视频| 激情成人av| 欧美日韩精品福利| 在线视频你懂得一区二区三区| 日韩亚洲不卡在线| 国产精品日韩一区| 欧美一级片一区| 欧美日韩午夜剧场| 在线天堂一区av电影| 久久久久久尹人网香蕉| 欧美高清视频一区二区三区在线观看| 老司机精品视频一区二区三区| 国产精品另类一区| 欧美亚洲系列| 伊人久久婷婷| 能在线观看的日韩av| 久热精品视频在线观看| 国内久久婷婷综合| 在线观看日韩av先锋影音电影院| 国产精品福利在线观看网址| 国产一区二区精品久久99| 一区二区亚洲精品| 久久综合影视| 黑人一区二区三区四区五区| 亚洲在线1234| 激情六月综合| 久久福利精品| av72成人在线| 91久久精品一区二区三区| 亚洲男女自偷自拍图片另类| 欧美性jizz18性欧美| 在线欧美小视频| 这里只有精品在线播放| 欧美日韩国产麻豆| 国产无遮挡一区二区三区毛片日本| 一区二区亚洲欧洲国产日韩| 99精品视频免费在线观看| 亚洲国产精品尤物yw在线观看| 亚洲国产成人精品女人久久久| 伊人一区二区三区久久精品| 国产精品成av人在线视午夜片| 亚洲视频综合| 六十路精品视频| 欧美中文字幕视频| 久久精品国产亚洲a| 亚洲高清免费| 黄色成人av在线| 国产欧美精品一区aⅴ影院| 欧美成人三级在线| 欧美国产专区| 欧美三级电影一区| 韩国三级电影久久久久久| **欧美日韩vr在线| 欧美亚洲免费高清在线观看| 国产尤物精品| 久久在线免费视频| 在线观看一区| 日韩写真在线| 香蕉视频成人在线观看| 亚洲美女精品成人在线视频| 亚洲免费av网站| 欧美视频一二三区| 国产欧美一区二区三区国产幕精品| 99国产精品久久| 中日韩男男gay无套| 欧美日韩国产限制| 在线电影院国产精品| 国产亚洲激情在线| 禁久久精品乱码| 伊人久久婷婷色综合98网| 欧美视频1区| 欧美成人一区二免费视频软件| 欧美激情欧美激情在线五月| 亚洲国产成人一区| 欧美日韩国产色站一区二区三区| 欧美性猛交99久久久久99按摩| 国产精品影片在线观看| 国产综合色产在线精品| 亚洲免费中文| 国产一区二区三区在线观看网站| 免费在线视频一区| 午夜精品一区二区三区电影天堂| 久久精品卡一| 国产乱子伦一区二区三区国色天香| 国产情侣久久| 久久精品一区| 亚洲精品一区中文| 欧美一区二区国产| 国产精品v欧美精品v日韩精品| 欧美久久精品午夜青青大伊人| 欧美成人中文字幕在线| 亚洲免费观看在线观看| 国产精品a久久久久| 精品va天堂亚洲国产| 久久精品国产亚洲一区二区| 久久综合九色综合欧美就去吻| 欧美日韩亚洲系列| 欧美阿v一级看视频| 国产一区二区三区日韩| 国产精品欧美日韩久久| 久久网站免费| 国产精品久久久久久久久免费桃花| 欧美暴力喷水在线| 欧美激情女人20p| 国产视频一区在线|