錢廣玉
摘要:社會的進步,時代的發展,給人們的生活帶來了翻天覆地的變化。網絡時代的到來豐富了人們的日常生活。隨著單片機技術的發展,以單片機為主的嵌入式設備,在越來越多的領域受到了廣泛的運用。網絡技術的發展也給嵌入式系統的發展提供了先決條件,對嵌入式單片機的TCP/IP協議的研究,對于社會經濟的發展具有重要意義。深入了解嵌入式單片機與互聯網對接時的技術要求,研究軟硬件方面的技術設計,并運用到實際生活中來,為經濟的發展做出努力。
關鍵詞:單片機 TCP/IP 研究和應用
中圖分類號:TP368.1 文獻標識碼:A 文章編號:1007-9416(2016)08-0142-01
1 前言
自互聯網時代以后,網絡與人們的生活息息相關,互聯網與家庭生活用品的相結合將會使得網絡接入到家庭中帶來飛速的發展。基于單機片嵌入式設備是互聯網能夠與家庭生活用品相結合的設備。所以,研究嵌入式系統的互聯網將會有很大的應用前景。研究基于嵌入式單機片片的TCP/IP協議技術,使得開發成本降低,同時應用范圍增廣。使得互聯網更好的與家庭生活用品相結合,更好的服務于人類生活。
2 硬件設計
2.1 芯片選擇與介紹
處理器、控制芯片和RJ45是組成硬件的主要部分。處理機基本都是Atmega16的單機片,在性能這塊的主要特點是穩定并且抗干擾能力這塊比較強。主要有以下幾個特點:首先,有16k字節,可以編程,其次,擁有32個通用的寄存器,再次,采用先進的JTAG的接口,可以支持片內編程和調試,最后,獨立得振蕩器可以用來編程看門狗的定時器。控制芯片這塊主要采用的是以太網控制芯片,具有簡單電路、高效能的特點,能夠更好的將系統連接到以太網中。
在Atmega16中,為實現片選功能,可以將PD1口和CP2200的片選信號進行連接,為重新獲取硬件中中斷的信號,可以將PD2口和CP2200的中斷信號信號進行連接。數據線可以選擇Atmega16中的PAO-PA7口連接上CP2200的DO-D7,而地址線則可以選擇Atmega16中的PBO-PB7口和CP2200的AO-A7相連,最終實現讀和寫選通控制。另外CP2200在和RJ45相互連接最后以太網接入。
2.2 硬件連接
在cp2200中主要有兩種模式,均以地址、數據復用和非復用作為其工作方式,在設計的過程中是以MUCEN和MOTEN引腳接地。如果CP2200以非復用的方式,他會占用的單機片的I/O口比率較多,但卻讓傳輸率大大的提升了,超過了30Mbps。當設計中采用了MUXEN作為連接,如果單機片I/O不夠用得情況下,只需要改變此引腳的跳線連接,一部分的I/O口就會得到釋放,最后供給系統使用。
2.3 底層驅動與通信
CP2200的初始化工作非常的重要,是保證其完成的首要條件。什么是CP2200的初始化工作呢,就是通過ATmega16來操作CP2200的寄存器。采用模擬互聯網總線非復用方式的讀寫時序是可以實現CP2200寄存器讀和寫功能的有效辦法。在研究和設計過程中,通過單片機的指令控制周期,使得每隔125ns是一個循環。通過總線非復用方式模擬,當發出一條指令時,互聯網的總線時序就會發生變化。在準備CP2200的初始化工作時,要特別注意定時和緩沖溢出情況,不然接受數據時容易出現失誤。單片機和CP2200之間是通過查詢模式讀取信息。通過Atmega16實現靜態緩存狀態。靜態緩存的讀取信息方式,是因為Atmega16的存儲空間如果是處于動態的緩存,就會影響接收的速度,所以靜態的緩存,最適合接收讀取數據信息。
3 TCP/ IP 協議
3.1 ARP協議
ARP協議即地址解析協議。ARP協議是反應出IP地址和硬件地址之間的關系的一個動態的投影。為了實現ARP的地址映射功能,研究發現,需要將ARP分成三個組成部分,分別是ARP緩存、ARP應答和ARP請求。每個部分的任務都是不一樣的,但都是同等重要的。例如ARP的作用是為了使IP地址和硬件地址之間的映射記錄時刻更新,這樣才能使得數據處于一個動態記錄和更新的狀態。ARP應答和ARP請求一般情況下都是沒有發揮作用的。當ARP請求發出指令時,ARP應答才會發揮作用,更新ARP緩存中的IP地址和硬件地址之間的映射記錄。同時ARP應答模式也會開啟。
3.2 IP和ICMP協議
在設計這塊本設計主要集中在IP模塊和ICMP模塊這兩大基礎模塊。作為主要負責主機尋址和設定路由的無連接協議的IP。在設計過程中,根據不同系統的不同需要,雖然因為分層的不嚴密,降低了各層之間的相對獨立,但是卻能夠在另一方面,間接地提高了處理數據的速度,在網絡通信這塊影響較小。而在應用網絡這塊主要以以太網為基礎,沒有實現最初目標即IP分層,但是卻簡化了TCP/IP協議棧,使它更便捷的應用在系統中。ICMP主要被應用于系統通信的差錯控制,因為它在某種程度上彌補了IP協議的缺陷。通過ICMP-Input()接收并處理ICMP數據包,通過ICMP-Output()發送ICMP數據包。
3.3 TCP協議
TCP被廣泛的應用于連接可靠的字節流服務,標準的TCP/IP協議,是以實現控制流量、控制擁塞和滑動窗口作為目標的,但是在實際的設計過程中,側重的點和方向可能會存在差異,主要是以Atmega16作為對象,它的存儲資源和其他的相比會相對有限,針對這一特點對TCL層的功能相對做了一定的簡化,未能實現控制流量、控制擁塞。所以在設計的過程中沒有對TCL層進行簡化,可以幫助協議棧進行擴展。當系統只是被應用在一般的TCP/IP的系統通信時,TCP的定時重傳功能就可以暫時不實現,因為當進行通訊時,如果出現超時的情況會重傳,在數據傳送的過程中,一般也是一次只接收或者是只發送一個數據包。
3.4 UDP協議
我們都知道UDP和TCP是共同使用一個網絡層的,但是UDP不會向應用層傳遞可靠有用的信息。因為在某一段時間內,UDP會話不止一個,為了方便信息的及時記錄,設計出每個會話準備一個輸入或者輸出的列隊,其實這個列隊就是鏈表。當有會話狀態時,這個數據信息就會被自動輸入到鏈表模塊中被處理。當UDP接收到數據信息時,通過IP地址和端口號將UDP接受的數據信息放到對應的輸入列隊中,等待被處理。如果UDP沒有接受到數據信息時,通過IP地址和端口號將會建立一個新的輸入列隊,等待應用程序的處理。如果應用程序沒有給UDP發送數據信息時,UDP根據IP地址和端口號自行找到相對應的輸出隊列,如果應用程序沒有給UDP發送數據信息,UDP會根據IP地址和端口號重新建立一個輸出隊,等待被處理。
4 遠程控制的應用
當可靠連接的TCP協議未被應用系統所提供時,一般是因為以下兩個原因:首先,TCP在連接與終止的過程中會一定程度的降低了通信的實時性的特點,其次,為了保證高效的TCP協議就會導致大量的存儲空間被占用,通訊質量得要求這塊已無法顧及,只能在應用層來實現。以PC機作為控制端,以太網接入模塊的應用系統為被控端,通過TCP/IP實現兩者之間的通信樞紐,當連接建立之后,就可以進行用戶的認證,這一階段可以采用私有的通信模式,而當認證結束之后,控制端才能實現對被控端的控制以及監督。
5 結語
互聯網時代的到來為人們的生活產生了翻天覆地的變化。基于嵌入式單機片與互聯網相連和技術的研究,要想其實現實際可操作性,應該從多方面考慮。首先,底層硬件API的提供是不是方便容易使用的,但是這個與硬件平臺沒有多大的關系。其次,單機片內實現TCP/IP協議時,所需要占用的資源是否在所能接受的范圍內。同時對于系統的支持程度和裁減優化的空間等都是需要考慮的問題。在充分了解嵌入式互聯網系統技術的同時,降低成本的使用,會使得為其日后的推廣做出了重要的基礎。
參考文獻
[1]肖洪詳,邵彭飛,才娟.基于CP2200的嵌入式以太網接口設計[J].微計算機信息,2007(17):33-35.
[2]Silicon Laboratories Inc. CP2200/1 Complete Datasheet[M].USA: Silicon Laboratories Inc,2006.
[3]王曉菊,潘琢金,杜睿.嵌入式網絡接口模塊設計及協議實現[J].沈陽航空工業學院學報,2007(1):49-52.
[4]劉偉,崔永鋒,吳相林.TCP/IP 協議在遠程單片機控制系統的設計[J].微計算機信息,2007(3):93-95.
[5]Forouzan B A, Fegan S C.TCP/IP 協議族[M].謝希仁,等譯.北京:清華大學出版社,2006.
[6]曹婕,王耀青.網絡中控系統中嵌入式以太網接口的設計與實現[J].微計算機信息,2006(29).