www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 單片機 > 單片機
[導讀] 在網絡技術應用日益廣泛的今天,網絡傳輸是最經濟有效的數據傳輸方式。如何利用廉價的51單片機來控制網卡芯片進行數據傳輸,加載TCP/IP協(xié)議連接到互聯(lián)網,實現網絡通信成了眾多設計者的目標。但由于指

在網絡技術應用日益廣泛的今天,網絡傳輸是最經濟有效的數據傳輸方式。如何利用廉價的51單片機來控制網卡芯片進行數據傳輸,加載TCP/IP協(xié)議連接到互聯(lián)網,實現網絡通信成了眾多設計者的目標。但由于指令及資源的限制,實施過程會有許多困難。我們在設計方案中舍棄了耗費資源的高級協(xié)議,采用發(fā)送小數據包的方式以避免分段,來簡化TCP協(xié)議和UDP協(xié)議,實現互聯(lián)接入。

硬件設計與實現


系統(tǒng)的硬件結構框圖如圖1所示。本系統(tǒng)的微控制器是Winbond公司的78E58,網絡接口芯片是與NE2000系列兼容的ReaLTEk公司的RTL8019AS。RTL8019AS內置了10BASE-T收發(fā)器,外接一個隔離LPF濾波器,經RJ-45接口輸出。外部RAM是62256,24C02是I2C總線的 EEPROM。

圖1 嵌入式協(xié)議轉換硬件框圖

系統(tǒng)的軟件設計與實現

為適應上網的需求,系統(tǒng)軟件設計主要包括兩部分內容:一是要執(zhí)行對RTL8019AS等的控制功能,二是要執(zhí)行與連接Internet相關的功能,實現TCP/IP協(xié)議。本文著重介紹第二部分,主程序采用C51語言編寫。

RTL8019AS初始化

要將嵌入式系統(tǒng)接入以太網,首先要設置RTL8019AS的工作方式和工作狀態(tài),分配收發(fā)數據的緩沖區(qū),通過對地址及數據口的讀寫來完成以太網幀的接收與發(fā)送。然后設置RTL8019AS的工作參數,亦即設置內部控制寄存器。對RTL8019AS的工作參數進行設置完畢后,進入正常工作狀態(tài),接下來就讀寫RTL8019AS的RAM以完成數據包的接收和發(fā)送。由于篇幅有限,這里就不再詳述。

TCP/IP模型

TCP/IP協(xié)議是一套把Internet上的各種系統(tǒng)互連起來的協(xié)議族,保證Internet上數據的準確快速傳輸。TCP/IP通常采用一種簡化的四層模型:應用層、傳輸層、網絡層、鏈路層。

本系統(tǒng)中,應用層傳遞來自以太網和數據終端的數據,并對數據報作打包拆包處理。傳輸層采用傳輸控制協(xié)議TCP或用戶數據協(xié)議UDP。網絡層實現IP協(xié)議,還要實現能報告數據傳輸差錯等情況的ICMP協(xié)議。鏈路層部分由RTL8019AS完成,鏈路層由控制同一物理網絡上的不同機器間數據傳送的底層協(xié)議組成。

在單片機里只實現與需要有關的部分,而不使用的協(xié)議則一概不支持。單片機應用的TCP/IP協(xié)議大多是為了完成數據采集和數據傳輸,而不需要網頁瀏覽、文件傳輸這些功能。

ARP協(xié)議(地址解析協(xié)議)

以太網是TCP/IP協(xié)議主要采用的局域網技術,是系統(tǒng)接入Internet的基礎。ARP本質是完成網絡地址到以太網物理地址的動態(tài)映射。UNIX系統(tǒng)的ARP協(xié)議支持以太網、令牌環(huán)等網絡,但我們的單片機系統(tǒng)里只支持以太網。

IP協(xié)議(網際協(xié)議)

IP是TCP/IP協(xié)議族中最為核心的協(xié)議。所有的TCP、UDP、ICMP及IGMP數據都以IP數據報格式傳輸。就對某些協(xié)議而言,IP包最大可以為65K,可以分段傳輸,而在單片機里根本無法容納如此大的數據包,因此一般是不支持分段的。我們的設計中采用發(fā)送小數據包的方式,以避免分段。

TCP協(xié)議(傳輸控制協(xié)議)

TCP數據封裝在一個IP數據報中,并具有自己的TCP首部, TCP協(xié)議定義十分復雜,鑒于51單片機的片內資源十分有限,本系統(tǒng)對TCP協(xié)議進行了一定的簡化處理。標準的TCP協(xié)議使用慢啟動的滑動窗口機制,如果只使用單個窗口,就變成了一種簡單確認的處理方法。即只需對單個數據報發(fā)送和確認,節(jié)約了系統(tǒng)資源,也使維護更加方便。

編程實現TCP協(xié)議的另一個難點在于TCP建立連接和終止連接的具體過程的實現。TCP協(xié)議是一個面向連接的協(xié)議,連接的雙方無論是哪一方向另一方發(fā)送數據,都必須先通過“三次握手”過程在雙方之間建立一條連接,和通過“四次握手”終止連接。

連接建立后,TCP就可以發(fā)送數據塊,稱為數據段。當TCP發(fā)出一個段后,它啟動一個定時器,等待目的端確認收到這個報文段。如果不能及時收到一個確認,將重發(fā)這個報文段。另外,TCP將保持它首部和數據的檢驗和。

系統(tǒng)主應用程序的實現

系統(tǒng)初始化后,進入主程序循環(huán)的兩部分:一是對接收到的以太網數據幀進行解包,供應用程序使用,一是對發(fā)送的數據進行封裝并發(fā)送,使采用TCP/IP協(xié)議的以太網內的所有計算機都能收到此數據幀。圖2是系統(tǒng)的主應用程序的流程圖。


圖3 系統(tǒng)的主應用程序的流程圖

單片機實現TCP/IP協(xié)議的難點

51單片機的程序空間、可用的內存RAM、運算速度、指令集等原因,在UNIX或Windows上實現的TCP/IP協(xié)議的源代碼并不能夠直接移植到8位的單片機上。在51單片機上編寫代碼會受許多限制,特別是實現TCP/IP協(xié)議這樣關系復雜的程序,我們必須根據實際情況盡可能挖掘51單片機的性能。綜合來說,單片機實現與UNIX實現TCP/IP有如下區(qū)別:

(1)操作系統(tǒng):Windows或UNIX都是多任務操作系統(tǒng),這使得代碼編寫簡單化,在單片機只能是單任務系統(tǒng),代碼結構為順序執(zhí)行+硬件中斷的方式,無法并發(fā)執(zhí)行。

(2)內存分配:Windows或UNIX的內存分配是動態(tài)的。而一般單片機只有外接的一塊32K字節(jié)的RAM,并同時被各個協(xié)議使用。一個最大的以太網數據包有1.5K字節(jié),分配一包的緩沖區(qū)就要1.5K字節(jié)。為此,我們分配一個256×6=1536個字節(jié)的固定的RAM來存放收到的以太網數據包。收到一包就處理一包。

(3)指針:在PC里所有程序都必須先放在RAM里才能運行,所以它的指針都指向RAM。而單片機的結構和PC的結構有很大差別,指針類型很多,各指針運算的速度也不一樣,特別是“一般指針”運算很慢,還會占用很多程序空間。UNIX實現TCP/IP的源代碼中,用得最多的就是指針,而在單片機里一般要求少用指針,或使用特定類型的指針。對使用UNIX的源代碼需要作很多的改動。

(4)參數傳遞:在UNIX實現的TCP/IP源代碼中,一般有很多的參數傳遞,而在單片機里允許傳遞的參數是有限的(因為受到內部RAM的限制),同時參數傳遞的過程要浪費程序代碼空間,也降低單片機執(zhí)行速度。所以在單片機的實現里,一般不要做太多的參數傳遞,而多使用公共的全局變量來實現調用的過程。

(5)硬件接口:在UNIX或Windows里,對網卡驅動無一例外都是采用中斷方式,因為PC的處理速度快,一次中斷的處理時間也很短,不會影響系統(tǒng)內的其它中斷。而在單片機的應用中,大部分的方案都是查詢式的。PC的NE2000的網卡,一般都是用16位DMA的方式,而在單片機里卻只能用8位DMA方式。這也使UNIX對網卡驅動的代碼不能直接移植。

結語

本文設計的嵌入式網絡接入方案,采用廉價的8位51單片機實現了簡化TCP協(xié)議和UDP協(xié)議,并支持主動和被動連接、跨越網關,實現互聯(lián)網接入,在被控設備與上位控制機之間提供了一條透明的傳輸通道,用戶不需對原有串口設備或其他數字設備做任何修改,就可享受到網絡的好處。目前,本文的系統(tǒng)已被成功使用在網絡化的數據采集器中。


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

上海2025年9月5日 /美通社/ -- 由紐倫堡會展(上海)有限公司舉辦的上海國際嵌入式會議將于 2025 年 10 月 16-17 日在上海世博展覽館舉辦。 此次會議將由三個版塊組成:嵌入式技術會議、汽...

關鍵字: 嵌入式 CE CHINA EMBEDDED

從外部看,電子系統(tǒng)仿佛一個統(tǒng)一的學科或設備,各組成部分協(xié)同工作,渾然一體。然而揭開表象,其內在卻是另一番景象:一個碎片化、多層次的世界——其中每一層都獨立且復雜,衍生出各自特有的工具、專家、工作流程,甚至哲學體系。

關鍵字: 嵌入式 電子系統(tǒng) 半導體

8位單片機在嵌入式設計領域已經成為半個多世紀以來的主流選擇。盡管嵌入式系統(tǒng)市場日益復雜,8位單片機依然不斷發(fā)展,積極應對新的挑戰(zhàn)和系統(tǒng)需求。如今,Microchip推出的8位PIC?和AVR?單片機系列,配備了先進的獨立...

關鍵字: 單片機 嵌入式 CPU

深圳2025年8月28日 /美通社/ -- 8月26日,2025 ELEXCON深圳國際電子展盛大啟幕。本屆大會以"All for AI"為主題,深圳市德...

關鍵字: AI 工業(yè)級 SSD 嵌入式

深圳2025年8月26日 /美通社/ -- 8月26日,由博聞創(chuàng)意會展主辦的 第22屆深圳國際電子展暨嵌入式展(elexcon2025)在深圳(福田)會展中心隆重開幕。 作為中國電子與嵌入式技術領域的專業(yè)大展,本屆展會...

關鍵字: 嵌入式 電子 高通 AI

在嵌入式系統(tǒng)開發(fā)中,程序燒錄是連接軟件設計與硬件實現的關鍵環(huán)節(jié)。當前主流的單片機燒錄技術已形成ICP(在電路編程)、ISP(在系統(tǒng)編程)、IAP(在應用編程)三大技術體系,分別對應開發(fā)調試、量產燒錄、遠程升級等不同場景。...

關鍵字: 單片機 ISP ICP IAP 嵌入式系統(tǒng)開發(fā)

在嵌入式系統(tǒng)開發(fā)中,看門狗(Watchdog Timer, WDT)是保障系統(tǒng)可靠性的核心組件,其初始化時機的選擇直接影響系統(tǒng)抗干擾能力和穩(wěn)定性。本文從硬件架構、軟件流程、安全規(guī)范三個維度,系統(tǒng)分析看門狗初始化的最佳實踐...

關鍵字: 單片機 看門狗 嵌入式系統(tǒng)

模塊化設計作為一種將系統(tǒng)拆分為獨立、可復用組件的方法,能夠在低代碼平臺中實現功能的靈活組合,并最大限度地提升系統(tǒng)性能。本文將探討如何通過模塊化設計,使得低代碼平臺既能快速適應變化,又能保持高效穩(wěn)定的運行。

關鍵字: 模塊化設計 嵌入式

本文中,小編將對單片機予以介紹,如果你想對它的詳細情況有所認識,或者想要增進對它的了解程度,不妨請看以下內容哦。

關鍵字: 單片機 開發(fā)板 Keil

CPU親和度通過限制進程或線程可以運行的CPU核心集合,使得它們只能在指定的CPU核心上執(zhí)行。這可以減少CPU緩存的失效次數,提高緩存命中率,從而提升系統(tǒng)性能。

關鍵字: Linux 嵌入式
關閉