日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]基于IEEE802.11b的EPA溫度變送器設計

摘要:介紹一種基于IEEE802?11b的EPA溫度變送器的設計方案,闡述系統(tǒng)硬件和軟件結構,說明嵌入式Linux系統(tǒng)中驅動程序的開發(fā)過程。系統(tǒng)以S3C2410為核心器件,可以很好地完成溫度數(shù)據(jù)的采集處理,并可以通過IEEE802?11b接入點與相關設備進行通信,且在基于EPA標準的無線局域網(wǎng)系統(tǒng)中進行了測試。
關鍵詞:EPA IEEE802.11b 嵌入式Linux 溫度變送器

引言
   
IEEE802.11是IEEE無線局域網(wǎng)標準,主要用于用戶終端的無線接入。IEEE802.11只規(guī)定了開放式系統(tǒng)互聯(lián)參考模型的物理層和介質訪問子層,其MAC層利用載波監(jiān)聽多路訪問/沖突避免(CSMA/CA)協(xié)議;定義了單一的MAC層和多樣的物理層,其物理層標準主要有IEEE802.11b、IEEE802?11a和IEEE802?11g。IEEE802.11b標準是IEEE802.11協(xié)議標準的擴展,最高可以支持11 Mbps的數(shù)據(jù)速率,運行在2.4 GHz的ISM頻段上,采用的調制技術是CCK,支持數(shù)據(jù)業(yè)務。

  本文詳細分析了采用S3C2410處理器平臺具體實現(xiàn)運用于EPA網(wǎng)絡的IEEE802.11b無線實時溫度采集器的開發(fā)流程,并對串口通信的調試手段及常見問題進行了探討。

1 溫度變送器的硬件設計

  溫度變送器系統(tǒng)平臺硬件系統(tǒng)功能如圖1所示。該平臺的核心器件是Samsung公司的處理器S3C2410,外部擴展了16 MB、16位的Flash內存和64 MB、32位的SDRAM。處理器S3C2410通過UART接口和溫度變送器相連,通過USB接口和一個IEEE802.11b網(wǎng)絡接口卡相連,通過RS232串口和外部PC相連。溫度變送器采集到的溫度數(shù)據(jù)輸入系統(tǒng)緩沖區(qū)中,處理器S3C2410可對緩沖數(shù)據(jù)直接進行相關處理;處理后的數(shù)據(jù)可以通過RS232串口傳送給外部宿主機PC,也可通過IEEE802.11b網(wǎng)絡接口卡發(fā)送到無線局域網(wǎng)上。

  S3C2410處理器功能十分強大,資源豐富。它內部集成了ARM公司的32位微處理器ARM920T,主頻最高可達203 MHz,具有獨立的16 KB指令Cache和16 KB數(shù)據(jù)Cache,還有LCD控制器、RAM控制器、NAND閃存控制器、3路UART、4路DMA、4路帶PWM的Timer、并行I/O口、8路10位ADC、觸摸屏接口、2個USB接口控制器和2路SPI。

  從外部溫度傳感器采集到的數(shù)據(jù)經(jīng)S3C2410 CPU數(shù)據(jù)處理模塊傳回到IEEE802.11b USB接口卡;IEEE802.11b的無線通信模塊經(jīng)IEEE802.11b的接入點傳到外部以太網(wǎng)絡中。


圖1硬件系統(tǒng)功能

2 溫度變送器的軟件系統(tǒng)設計

  溫度變送器軟件系統(tǒng)設計流程如圖2所示。系統(tǒng)分3步實現(xiàn):① 為溫度變送器編寫內核驅動程序;② 編寫溫度數(shù)據(jù)采集應用程序,通過串口獲取溫度數(shù)據(jù)并進行相應的EPA報文打包處理;③ 利用無線網(wǎng)絡將處理數(shù)據(jù)發(fā)送給上位機。前面提到系統(tǒng)平臺上運行的是ARM Linux。在啟動后啟用了MMU,系統(tǒng)進入保護模式,所以應用程序不能直接讀/寫外設的I/O區(qū)域(包括I/O端口和I/O內存)。這時一般要借助于該外設的驅動來進入內核態(tài)完成這項工作。


圖2軟件系統(tǒng)設計流程

2.1 串口的驅動實現(xiàn)

  在Linux下,設備驅動程序可以看成Linux內核與外部設備之間的接口。設備驅動程序向應用程序屏蔽了硬件實現(xiàn)上的細節(jié),使得應用程序可以像操作普通文件一樣來操作外部設備,可以使用和操作文件中相同的、標準的系統(tǒng)調用接口函數(shù)來完成對硬件設備的打開、關閉、讀/寫以及I/O控制操作; 而驅動程序的主要任務也就是要實現(xiàn)這些系統(tǒng)調用函數(shù)。本系統(tǒng)平臺使用的嵌入式ARM Linux系統(tǒng)在內核主要功能上與Linux操作系統(tǒng)沒有本質區(qū)別,所以驅動程序要完成的任務也一樣;只是編譯時使用的編譯器、部分頭文件和庫文件等要涉及具體處理器體系結構, 這些都可在Makefile文件中具體指定。當應用程序對設備文件進行諸如open、close、read、write等系統(tǒng)調用操作時,Linux內核將通過file_operations結構訪問驅動程序提供的函數(shù)。例如,當應用程序對設備文件執(zhí)行讀操作時, 內核將調用file_operations結構中的read函數(shù)。在系統(tǒng)平臺上對串口數(shù)碼攝像頭驅動,首先把串口驅動模塊靜態(tài)編譯進內核,使平臺支持串口;再在須使用溫度采集時,使用insmode動態(tài)加載其驅動模塊。這樣溫度傳感器就可正常工作了,接著進行下一步——對溫度的采集編程。

2.2 溫度數(shù)據(jù)采集模塊

  在溫度變送器串口被驅動后,需要再編寫一個采集溫度的應用程序。根據(jù)嵌入式系統(tǒng)開發(fā)特征,先在宿主機上流程編寫應用程序;再使用交叉編譯器進行編譯、鏈接,生成目標平臺的可執(zhí)行文件。宿主機與目標板通信采用打印終端的方式進行交叉調試, 成功后移植到目標平臺。編寫采集程序是在安裝Linux操作系統(tǒng)的宿主PC機上進行的,其程序流程如圖3所示。


圖3溫度數(shù)據(jù)采集程序

  程序運行流程如下:

  ① 初始化設備功能,發(fā)送03H給溫度變送器。如果初始化失敗,則重復發(fā)送初始化功能碼2次,若都失敗則返回;若成功則進入下一步。
 ?、?進行數(shù)據(jù)查詢,查詢消息中的功能代碼告之被選中的從設備要實現(xiàn)何種功能。數(shù)據(jù)段包含了從設備要實現(xiàn)功能的任何附加信息,即讀取或修改的起始地址以及數(shù)據(jù)數(shù)量。CRC校驗為從設備提供了一種驗證消息內容是否正確的方法。
 ?、?如果從設備產(chǎn)生一個正常的響應,則響應消息中的功能代碼是查詢消息中的功能代碼的回應。數(shù)據(jù)段包括了從設備收集的數(shù)據(jù)。如果有錯誤發(fā)生,則從設備將修改功能代碼以表明此回應是一個異常的回應;同時數(shù)據(jù)段中包含相應的錯誤代碼,CRC校驗用于主設備判斷響應幀內容的正確性。
 ?、?將從設備得到的數(shù)據(jù)運用EPA協(xié)議棧進行數(shù)據(jù)的封裝,然后通過IEEE802.11b無線網(wǎng)卡發(fā)送到數(shù)據(jù)分析設備。
 ?、?根據(jù)對數(shù)據(jù)的處理,將得到返回的數(shù)據(jù),程序再將返回數(shù)據(jù)寫入從設備。如果寫入失敗,則連續(xù)寫兩次,若仍失敗則跳出。

  系統(tǒng)采用主從通信技術, S3C2410處理器模塊作為主設備,溫度傳感器作為從設備。主設備可以對溫度傳感器進行初始化,并發(fā)出查詢指令;溫度傳感器根據(jù)主設備查詢指令實現(xiàn)相應的功能。S3C2410處理器模塊查詢的格式包括功能代碼、所有要發(fā)送的數(shù)據(jù)和CRC校驗域;從設備回應消息也包括相應的功能代碼、任何要返回的數(shù)據(jù)和CRC校驗域。如果在消息接收過程中發(fā)生錯誤,從設備將構造一錯誤幀并將其作為應答回應。程序中構造的幀格式如下:

  主設備查詢幀


  從設備響應幀

  當主設備查詢從設備時,它希望得到從設備的正常響應,但可能有3種處理情形:

  ① 從設備收到了主設備的查詢,且全部校驗正確,從設備就產(chǎn)生正確的響應。
 ?、?從設備由于通信錯誤等沒有收到主設備的查詢,因此也就無法產(chǎn)生響應。這時主設備將通過超時判斷查詢的錯誤。
  ③ 從設備收到了主設備的查詢,但檢測出通信幀內容出錯(如CRC校驗出錯或非法的起始地址等),這時從設備將產(chǎn)生異常響應通知主設備相關的錯誤信息。

  最后將采集數(shù)據(jù)用EPA協(xié)議棧打包,并利用無線網(wǎng)絡進行傳輸。

2.3 無線網(wǎng)絡模塊

  無線溫度變換器的實時數(shù)據(jù)無線網(wǎng)絡模塊是將無線網(wǎng)卡注入內核,“插槽”驅動層通過API為PC卡服務層提供服務,編寫“插槽”層驅動就是實現(xiàn)這些API函數(shù)。PC卡服務層維護著一張函數(shù)表,記錄已登記的“插槽”驅動層的API函數(shù),相應地提供了兩個接口函數(shù)用來登記和取消登記一個“插槽”驅動層的API函數(shù)。定義如下:

  int register_ss_entry(int nsock, ss_entry_t ss_entry);
  int unregister_ss_entry(int nsock, ss_entry_t ss_entry);
  typedef int (*ss_entry_t)(u_int sock, u_int cmd, void *arg);

  ◆ 函數(shù)register_ss_entry: 用來登記一個“插槽”驅動層服務函數(shù)。
  ◆ 函數(shù)unregister_ss_entry: 用來取消指定函數(shù)的登記,表明“插槽”層不再提供該服務。
  ◆ 具體服務函數(shù)ss_sentry: 該函數(shù)的編寫是核心。它包括3個參數(shù): 第1個參數(shù)sock是插槽編號;第2個參數(shù)cmd是命令,即服務函數(shù)的編碼;第3個參數(shù)是一個void類型的指針,用來傳遞任意的參數(shù)。

  PCMCIA“卡和插槽服務”(Card and Socket Services)軟件規(guī)范要求插槽層提供的服務共有12項,Linux操作系統(tǒng)定義在includepcmciass.h文件里。

  enum ss_service {
    SS_RegisterCallback, SS_InquireSocket,
    SS_GetStatus, SS_GetSocket, SS_SetSocket,
    SS_GetIOMap, SS_SetIOMap, SS_GetMemMap, SS_SetMemMap,
    SS_GetBridge, SS_SetBridge, SS_ProcSetup
  };

3 測試

  首先在宿主機PC上使用交叉編譯器編譯、鏈接溫度數(shù)據(jù)采集程序,使之生成可執(zhí)行代碼,然后移植到目標平臺上。為了進一步觀察采集的溫度數(shù)據(jù)效果,可在目標平臺帶網(wǎng)絡支持的基礎上編寫一個網(wǎng)絡通信程序,把采集到并處理成浮點型的溫度數(shù)據(jù)通過網(wǎng)絡傳輸?shù)絇C機上進行顯示。搭建無線溫度變送器的測試系統(tǒng)如圖4所示。


圖4IEEE802.11b

  無線溫度變送器的測試系統(tǒng)無線監(jiān)控系統(tǒng)采集的基于S3C2410的IEEE802.11b無線溫度變送器的實時數(shù)據(jù)如圖5所示。


圖5IEEE802.11b

4 結論

  實際的溫度測量數(shù)據(jù)表明,基于IEEE802.11b的EPA溫度數(shù)據(jù)采集器可以很好地完成溫度數(shù)據(jù)的采集處理,并通過無線接入點與相關設備進行通信。另外,在基于EPA標準的無線局域網(wǎng)系統(tǒng)應用中,驗證了此設計的可行性。

參考文獻
[1] Tanenbaum Andrew S. Modern Operating System. 北京:機械工業(yè)出版社,2002.
[2] 鄒思軼. 嵌入式Linux設計與應用. 北京:清華大學出版社,2002.
[3] Karim Yagbmour. 構建嵌入式Linux系統(tǒng). 北京:中國電力出版社, 2004.
[4] Sloss Anddrew N. Dominic Symes. ARM嵌入式系統(tǒng)開發(fā)——軟件設計與優(yōu)化. 北京:北京航空航天大學出版社,2005.
[5] 毛德操,胡希明. Linux內核源代碼情景分析. 杭州:浙江大學出版社,2001.
[6] Mark Ciampa. 無線局域網(wǎng)設計與實現(xiàn). 北京:科學出版社,2003.
[7] 國家質量技術監(jiān)督局. 中華人民共和國國家標準“用于工業(yè)測量與控制系統(tǒng)的EPA系統(tǒng)結構與通信規(guī)范”(報批稿). 2005.

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

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉