新四季網

一種單片機的遠程通訊裝置及其方法

2023-10-22 21:24:37 1

專利名稱:一種單片機的遠程通訊裝置及其方法
技術領域:
本發明涉及一種單片機的遠程通訊裝置及其方法。
背景技術:
目前,單片機微處理器已經廣泛用於控制系統當中,單片機本身具備一些SPI串行通 訊等近距離的通訊功能,但是通常通訊距離都有限。常用的RS232,485等通訊方式的數據 傳輸距離都不會超過幾百米。當有數據需要遠程通訊的時候,單片機往往就顯得無能為力 了。有的控制系統為了實現遠程通訊功能,採用帶網線接口的PLC等帶遠程通訊功能 的控制器,也會令控制器的成本大幅度增加,並且對於簡單的控制系統來說更是一種資源 的浪費。目前,有些單片機的應用場合,為了實現控制系統的遠程數據傳輸,採用專門的一 套乙太網傳輸裝置。這些裝置也採用乙太網控制器,RJ45接口等來連接網絡,不足之處是 往往採用嵌入式系統等來實現複雜的協議,而且在傳輸的過程中需要比較大的存儲空間, 往往需要擴展FLASH,RAM存儲器等。這就增加了遠程通訊的成本,而且增加了系統的複雜 度。這些傳輸方式往往採用套接字接口,會涉及到多線程,環境代價重大,不但線程管理等 會增加代碼的複雜度,而且往往需要額外的存儲器,還有執行任務切換的時間開銷等。這種 傳輸方式對於存儲器和代碼量有限的單片機來說是不能接受的。為了實現通訊功能,只能 另外增加相應的控制模塊,成本高,實現起來很複雜,本來不是很複雜的控制系統,往往通 訊部分比控制部分還要花費精力,得不償失。目前還很少見能用單片機來實現遠程通訊的 方法,也就無法把控制與遠程通訊放在一個單片機裡面來一次性實現。

發明內容
本發明的目的就是解決上述問題,提供一種單片機的遠程通訊裝置及其方法,它在控 制器的成本不高的前提下,實現控制器的遠程通訊功能,甚至可以將單片機數據連接到因 特網上,利用現有的網絡資源進行數據傳輸,在傳輸數據量不是很大的控制系統中,完全可 以滿足實時控制的要求,大大的降低了控制系統的成本;通訊協議實現方法簡單,可以大大 減輕設計人員的工作量;用一個單片機微處理器就可以實現控制和遠程通訊,從而使得系 統結構變得簡單。為實現上述目的,本發明採用如下技術方案
一種單片機的遠程通訊裝置,它包括帶SPI接口的獨立乙太網控制器ENC28J60,單片 機與太網控制器連接,乙太網控制器與網絡系統連接;在乙太網控制器的差分接收引腳上, 設有一個脈衝變壓器I ;在差分發送引腳上,外接一個脈衝變壓器II。所述脈衝變壓器I為10BASE-T操作的1 :1脈衝變壓器。所述脈衝變壓器II為一個帶有中心抽頭的1 :1脈衝變壓器。所述乙太網控制器的主控制器運行在非3. 3V的電壓下時,當SPI和中斷輸入由 ENC28J60上的3. 3VCM0S輸出驅動時,主控制器需要與單向電平轉換晶片連接。
所述單向電平轉換晶片採用74ACT125型電平轉換晶片。一種單片機遠程通訊裝置的通訊方法,它的方法為單片機將要傳輸的數據進行打包,然後通過乙太網控制器ENC28J60將數據傳輸給乙太網,通過UlP協議棧進行數據 傳輸;其中,乙太網控制器ENC28J60工作頻率為25MHz,它內部有一個振蕩器啟動時鐘,上 電7500個時鐘周期300us後,仍可通過SPI總線對所有的乙太網寄存器和緩衝器進行讀 寫操作,然而在這期間不應試圖使用軟體發送任何數據包;啟動時鐘超時後應用軟體查詢 CLKRDY位來確定器件的正常工作。所述乙太網控制器ENC28J60與單片機的通訊是通過SPI實現的,乙太網控制器 ENC28J60所執行的操作完全依據外部控制器通過SPI接口發出的命令,命令為一個或多個 字節的指令,用於訪問控制存儲器和乙太網緩衝區,所述指令至少包含一個3位操作碼和 一個用於制定寄存器地址或數據常量的5位參數,寫和位域指令後還會有一個或多個字節 的數據。所述UlP協議棧的內存管理方式是使用了一個全局的數組uip_buf □,所述數組 的長度包含一個最大的數據包,當在接到數據包時,系統通過底層的驅動將數據寫到Uip_ buf[]中,數據包的長度為uip_len,也是全局變量,它們共同管理一個數據包;為了節省 RAM,發送數據和接收數據使用同一個uip_buf[];只有在UipJen等於0的時候才可以接 收和發送數據;數據的重發與發送新的數據沒有區別,都是應用程式根據uIP協議棧的接 口數據包狀態UIP_REXMIT和UIP_ACKDATA來發送的;如果狀態是UIP_REXMIT,則應用程式 發送剛才的數據;如果狀態是是UIP_ACKDATA,則應用程式根據實際情況發送新的數據。所述數據收發過程為
首先判斷乙太網控制器ENC28J60的接收緩衝器內是否有數據包,如果沒有則重新掃 描;如果有則判斷數據包的類型是IP數據報還是ARP數據報,①如果是IP數據報,則首先 更新ARP的高速緩存表,然後調UlP協議棧函數uipjnputO處理數據包;如果有數據包輸 出,首先調用函數uip_arp_0Ut ,來查詢發送目的地的物理地址,如果沒有則利用乙太網 驅動函數MACWriteO函數發送ARP數據報,如果有則發送IP數據報;②如果數據包是ARP 數據報,則調用函數uip_arp_arpin ,如果ARP數據報是回答,則更新ARP高速緩存表,然 後利用MACWriteO函數發送數據報確認;如果數據報是請求,則利用MACWrite 函數發送 ARP回答數據報;UlP協議棧通過事件函數去調用應用程式,應用程式根據不同的事件函數 做出相應的響應。本發明將單片機中要傳輸的數據進行打包,由乙太網控制器將數據傳輸給以太 網,通過UlP協議棧進行數據傳輸。本發明採用帶SPI接口的獨立乙太網控制器ENC28J60。與其他乙太網控制器相比 較,它只有28引腳這就大大簡化了硬體設計。ENC28J60與微控制器MCU的通訊是通過SPI 實現的。ENC28J60所執行的操作完全依據外部控制器通過SPI接口發出的命令。命令為一 個或多個字節的指令,用於訪問控制存儲器和乙太網緩衝區。指令至少包含一個3位操作 碼和一個用於制定寄存器地址或數據常量的5位參數。寫和位域指令後還會有一個或多個 字節的數據。本發明採用的進行數據傳輸的UlP協議棧是一種免費的可實現極小的TCP/IP 協議棧。它去掉了全功能TCP/IP協議中不常使用的功能,保留了網絡通訊所必要的協議機制,減少了協議代碼量,降低了協議對系統的要求。本發明應用的版本為1.0,只需要9KFLASH和不到IK的RAM,就可以移植到單片機上,通過TCP/IP進行通訊。套節字接口適 用於大部分的作業系統,卻不適合微系統,因為在應用設計裡,它使用一個線程基於編程模 塊。一個多線程環境代價重大,因為不但在線程管理裡涉及增加代碼的複雜性,而且保存每 線程堆棧需要額外的儲存器,還有執行任務切換的時間開銷也攤派在這裡。微型系統不會 有足夠的資源去實現一個多線程環境,因此需要這個環境的應用接口不適合uIP。uIP使用 一個基於編程模塊的事件,模塊是實現應用程式作為一個C函數被uIP調用的地方,uIP響 應一定的事件。uIP調用應用在,當接收數據時,當數據成功送達另一方中止連接時,當一個 新的連接建立時,或者當數據需要重發時。應用程式也周期性地循環等待新數據。應用程 序的調用是由於事件來引起的。本發明將寫的應用程式定義成宏函數,當有事件發生時調 用宏函數。以此在應用程式中完成數據的發送和接收。本發明的有益效果是實現了單片機微處理器的遠程通訊功能,可以採用此方案 設計出成本比較低,而又可以實現遠程通訊功能的控制器,而且結構簡單,操作方便,簡單。


圖1是ENC28J60控制器連接電路; 圖2是ENC28J60控制器外部連接電路; 圖3是uIP協議棧的數據包處理過程流程圖; 圖4是該發明總體框其中,1.單片機,2.乙太網控制器,3. RJ45接頭,4.網絡系統。
具體實施例方式
下面結合附圖與實施例對本發明做進一步說明。本發明總體的連接如圖4所示。需要進行數據傳輸的單片機1與乙太網控制器 2相連接,具體連接電路如圖1所示。乙太網控制器2又通過RJ45接頭3與網絡系統4相 連接,將數據通過網線發送出去。乙太網控制器2的工作頻率為25MHz,它內部有一個振蕩 器啟動時鐘,上電7500個時鐘周期(300us)後,仍可通過SPI總線對所有的乙太網寄存器 和緩衝器進行讀寫操作。然而在這期間不應試圖使用軟體發送任何數據包。啟動時鐘超時 後應用軟體查詢CLKRDY位來確定器件的正常工作。要實現乙太網接口,ENC28J60需要幾 個標準的外部器件。如圖2所示,在差分接收引腳上,需要一個專用於10BASE-T操作的1 1脈衝變壓器。在差分發送引腳上,需要外接一個帶有中心抽頭的1:1脈衝變壓器。變壓 器應具有2KV以上的電壓隔離性能以防止靜電幹擾。ENC28J60是一個工作電壓為3. 3V的 器件,它被設計為易於集成到單片機電路系統中。主控制器運行在非3. 3V的電壓下時,當 SPI和中斷輸入由ENC28J60上的3. 3VCM0S輸出驅動時,需要一個單向電平轉換晶片,本發 明採用74ACT125作為電平轉換晶片。為了節約RAM,uIP內存的管理方式沒有採用動態的分配內存,而是使用了一個全 局的數組uip_buf[]。數組的長度可以包含一個最大的數據包,當在接到數據包時,系統通 過底層的驅動將數據寫到Uip_buf[]中,數據包的長度為uip_len,也是全局變量,它們共 同管理一個數據包。為了節省RAM,發送數據和接收數據使用同一個uip_buf[]。只有在 UipJen等於0的時候才可以接收和發送數據。數據的重發與發送新的數據沒有根本上的 區別,都是應用程式根據uIP協議棧的接口數據包狀態UIP_REXMIT和UIP_ACKDATA來發送的。如果狀態是UIP_REXMIT,則應用程式發送剛才的數據;如果狀態是是UIP_ACKDATA,則 應用程式根據具體情況可發送新的數據。數據收發過程如圖3所示,首先判斷乙太網控制 器ENC28J60的接收緩衝器內是否有數據包,如果沒有則重新掃描。如果有則判斷數據包的 類型是IP數據報還是ARP數據報,①如果是IP數據報,則首先更新ARP的高速緩存表,然後 調UlP協議棧函數uipjnputO處理數據包。如果有數據包輸出,首先調用函數uip_arp_ out ,來查詢發送目的地的物理地址,如果沒有則利用乙太網驅動函數MACWrite 函數 發送ARP數據報,如果有則發送IP數據報;②如果數據包是ARP數據報,則調用函數 uip_ arp_arpin ,如果ARP數據報是回答,則更新ARP高速緩存表,然後利用MACWrite 函數 發送數據報確認;如果數據報是請求,則利用MACWrite 函數發送ARP回答數據報。uIP協 議棧通過事件函數去調用應用程式,應用程式根據不同的事件函數做出相應的響應。
權利要求
一種單片機的遠程通訊裝置,其特徵是,它包括帶SPI接口的獨立乙太網控制器ENC28J60,單片機與太網控制器連接,乙太網控制器與網絡系統連接;在乙太網控制器的差分接收引腳上,設有一個脈衝變壓器I;在差分發送引腳上,外接一個脈衝變壓器II。
2.如權利要求1所述的單片機的遠程通訊裝置,其特徵是,所述脈衝變壓器I為 10BASE-T操作的1 :1脈衝變壓器。
3.如權利要求1所述的單片機的遠程通訊裝置,其特徵是,所述脈衝變壓器II為一個 帶有中心抽頭的1 :1脈衝變壓器。
4.如權利要求1所述的單片機的遠程通訊裝置,其特徵是,所述乙太網控制器的主控 制器運行在非3. 3V的電壓下時,當SPI和中斷輸入由ENC28J60上的3.3VCM0S輸出驅動時, 主控制器則需要與單向電平轉換晶片連接。
5.如權利要求4所述的單片機的遠程通訊裝置,其特徵是,所述單向電平轉換晶片採 用74ACT125型電平轉換晶片。
6.一種採用權利要求1所述單片機遠程通訊裝置的通訊方法,其特徵是,它的方法為 單片機將要傳輸的數據進行打包,然後通過乙太網控制器ENC28J60將數據傳輸給乙太網, 通過uIP協議棧進行數據傳輸;其中,乙太網控制器ENC28J60工作頻率為25MHz,它內部有 一個振蕩器啟動時鐘,上電7500個時鐘周期300us後,仍可通過SPI總線對所有的乙太網 寄存器和緩衝器進行讀寫操作,然而在這期間不應試圖使用軟體發送任何數據包;啟動時 鍾超時後應用軟體查詢CLKRDY位來確定器件的正常工作。
7.如權利要求6所述的單片機遠程通訊裝置的通訊方法,其特徵是,所述乙太網控制 器ENC28J60與單片機的通訊是通過SPI實現的,乙太網控制器ENC28J60所執行的操作完 全依據外部控制器通過SPI接口發出的命令,命令為一個或多個字節的指令,用於訪問控 制存儲器和乙太網緩衝區,所述指令至少包含一個3位操作碼和一個用於制定寄存器地址 或數據常量的5位參數,寫和位域指令後還會有一個或多個字節的數據。
8.如權利要求6所述的單片機遠程通訊裝置的通訊方法,其特徵是,所述uIP協議棧 的內存管理方式是使用了一個全局的數組uip_buf □,所述數組的長度包含一個最大的數 據包,當在接到數據包時,系統通過底層的驅動將數據寫到uip_buf []中,數據包的長度為 uip_len,也是全局變量,它們共同管理一個數據包;為了節省RAM,發送數據和接收數據使 用同一個uip_buf[];只有在uip_len等於0的時候才可以接收和發送數據;數據的重發與 發送新的數據沒有區別,都是應用程式根據uIP協議棧的接口數據包狀態UIP_REXMIT和 UIP_ACKDATA來發送的;如果狀態是UIP_REXMIT,則應用程式發送剛才的數據;如果狀態是 是UIP_ACKDATA,則應用程式根據實際情況發送新的數據。
9.如權利要求6所述的單片機遠程通訊裝置的通訊方法,其特徵是,所述數據收發過 程為首先判斷乙太網控制器ENC28J60的接收緩衝器內是否有數據包,如果沒有則重新掃 描;如果有則判斷數據包的類型是IP數據報還是ARP數據報,①如果是IP數據報,則首先 更新ARP的高速緩存表,然後調uIP協議棧函數uipjnputO處理數據包;如果有數據包輸 出,首先調用函數uip_arp_0Ut ,來查詢發送目的地的物理地址,如果沒有則利用乙太網 驅動函數MACWriteO函數發送ARP數據報,如果有則發送IP數據報;②如果數據包是ARP 數據報,則調用函數uip_arp_arpin ,如果ARP數據報是回答,則更新ARP高速緩存表,然 後利用MACWriteO函數發送數據報確認;如果數據報是請求,則利用MACWrite 函數發送ARP回答數據報;uIP協議棧通過事件函數去調用應用程式,應用程式根據不同的事件函數 做出相應的響應。
全文摘要
本發明涉及一種單片機的遠程通訊裝置及其方法。它在控制器的成本不高的前提下,實現控制器的遠程通訊功能,甚至可以將單片機數據連接到網際網路上,利用現有的網絡資源進行數據傳輸,在傳輸數據量不是很大的控制系統中,完全可以滿足實時控制的要求,大大的降低了控制系統的成本,其結構為它包括帶SPI接口的獨立乙太網控制器ENC28J60,單片機與太網控制器連接,乙太網控制器與網絡系統連接;在乙太網控制器的差分接收引腳上,設有一個脈衝變壓器I;在差分發送引腳上,外接一個脈衝變壓器II。
文檔編號H04L12/28GK101833296SQ20101017209
公開日2010年9月15日 申請日期2010年5月14日 優先權日2010年5月14日
發明者王平, 王海相, 郭俊美, 陳曉軍, 陳清玫, 馬思樂 申請人:山東大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀