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

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]一種嵌入式Internet接口系統(tǒng)

0  引言
   計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,引發(fā)了控制領(lǐng)域深刻的技術(shù)革命??刂葡到y(tǒng)結(jié)構(gòu)向網(wǎng)絡(luò)化、開放性方向發(fā)展將是控制系統(tǒng)技術(shù)發(fā)展的主要潮流。過去大量的浩如煙海的8/16位單片機(jī)的嵌入式設(shè)備,如儀器儀表、數(shù)據(jù)采集和顯示、過程控制、工業(yè)自動(dòng)化、家庭自動(dòng)化等的實(shí)時(shí)應(yīng)用,已經(jīng)到了享受網(wǎng)絡(luò)方便的時(shí)候了。它們將成為Internet網(wǎng)的發(fā)展沃土,順應(yīng)“網(wǎng)絡(luò)服務(wù)”向“網(wǎng)絡(luò)應(yīng)用”擴(kuò)展的大潮。
   目前大多數(shù)嵌入式系統(tǒng)還處于單獨(dú)應(yīng)用的階段,以單片機(jī)為核心,與一些控制設(shè)備配合實(shí)現(xiàn)一定的功能。如果嵌入式系統(tǒng)能夠連接到Internet這個(gè)信息流通渠道,則可以方便、低廉地將信息送到世界上任何一個(gè)地方,這將形成集管理與控制與一體的分布式網(wǎng)絡(luò)系統(tǒng)。要做到這一點(diǎn)并不難,在電子技術(shù)、傳感技術(shù)已經(jīng)高度發(fā)達(dá)的今天,現(xiàn)場(chǎng)數(shù)據(jù)的取得,已經(jīng)不是難事,溫度、壓力、濕度、速度、加速度、電流、電壓這些數(shù)據(jù)只需要一個(gè)小小的嵌入式系統(tǒng)就可解決。另外,以太網(wǎng)(Ethernet)協(xié)議已經(jīng)廣泛地應(yīng)用于各種計(jì)算機(jī)網(wǎng)絡(luò),基于以太網(wǎng)的嵌入式系統(tǒng)也正在不斷向前發(fā)展。這里介紹一種嵌入式Internet系統(tǒng)的接口技術(shù),它的特點(diǎn)是使用8位單片機(jī)與網(wǎng)絡(luò)通信控制器RTL8019AS等組成的系統(tǒng),采用以太網(wǎng)協(xié)議傳輸數(shù)據(jù),因而成本低,容易實(shí)現(xiàn)。
1 硬件系統(tǒng)設(shè)計(jì)
1.1  系統(tǒng)總體結(jié)構(gòu)
本系統(tǒng)由串行接口、單片機(jī)、網(wǎng)絡(luò)控制器等部分組成,如圖1所示。
  
500)this.style.width=500;" border="0" />


1.2  系統(tǒng)電路原理
  本系統(tǒng)電路主要由CPU、 串口的電平轉(zhuǎn)換電路、具有IIC總線的EEPROM、8位鎖存、32K的RAM、以太網(wǎng)通信控制器和隔離濾波器組成。其電路原理見圖2所示。
   電路用到的主要芯片有89C52、24c512(IIC總線的eeprom)、373 八位鎖存器、以太網(wǎng)通信控制器RTL8019AS和隔離濾波器T1組成。
    本系統(tǒng)CPU采用ATMEL公司的89C52單片機(jī),串口的電平轉(zhuǎn)換電路采用MAX232,網(wǎng)絡(luò)通信控制器采用RTL8019AS。
     RTL8019AS 是臺(tái)灣Realtek公司制造的一種高集成度的全雙工10Mbps以太網(wǎng)控制芯片,實(shí)現(xiàn)基于Ethernet協(xié)議的MAC層的全部功能,內(nèi)置16Kb的 SRAM、雙DMA通道和FIFO完成數(shù)據(jù)包的接收和發(fā)送功能。在本接口設(shè)計(jì)中,使用跳線模式(JP置為高),硬配置RTL8019AS為8位模式。使用 RTL8019AS的低5位地址線A0~A4以及低8位數(shù)據(jù)線D0~D7。
 


500)this.style.width=500;" border="0" />

[!--empirenews.page--]
    單片機(jī)89C52P0口的P0~P4腳通過373八位鎖存器作為地址線連接RTL8019AS的低5位地址線,RD、WR分別連接讀寫時(shí)序控制腳IORB、 IOWB;P0口作為數(shù)據(jù)線連接RTL8019AS的低8位數(shù)據(jù)線。圖2中AT24C512為64KBE2PROM,主要用來保存嵌入式透明SX-52網(wǎng)關(guān)的配置信息,如網(wǎng)關(guān)IP地址、MAC地址等。這樣,可以靈活方便地修改網(wǎng)關(guān)參數(shù),適應(yīng)不同環(huán)境,同時(shí)也考慮到以后的擴(kuò)展。
    RTL8019AS除與89C52連接外,還將其網(wǎng)絡(luò)收發(fā)器的4根引腳TPOUT+、TPOUT-、TPIN+、TPIN-通過外接的隔離濾波器T1`與以太網(wǎng)相連。采用隔離濾波器T1是為了提高網(wǎng)絡(luò)通信的抗干擾能力。
以太網(wǎng)通信控制器RTL8019AS可以接收三種地址的數(shù)據(jù): 一個(gè)是廣播地址,一個(gè)是多播地址(我們用不上);一個(gè)是它自已的地址。
2 軟件設(shè)計(jì)
     Internet網(wǎng)上的協(xié)議格式有多種,對(duì)單片機(jī)來說不可能支持太多的協(xié)議格式。根據(jù)以太網(wǎng)的封裝格式的物理傳輸幀整個(gè)系統(tǒng)的軟件設(shè)計(jì)可以分為三部分:CAN總線設(shè)備接口通信程序、透明網(wǎng)關(guān)協(xié)議轉(zhuǎn)換程序和以太網(wǎng)層應(yīng)用程序設(shè)計(jì)。
2.1  CAN控制器協(xié)議模塊
    CAN控制器協(xié)議轉(zhuǎn)換模塊程序主要由寄存器讀程序CANRead()、寫程序CANWrite()、初始化程序CANInit()、發(fā)送程序txdsub()、接收程序rxdsub()程序組成。因?yàn)?9C52芯片只有I/O端口,因此要編寫單獨(dú)的寄存器讀、寫子程序。
    選用CAN2.0A協(xié)議構(gòu)建CAN總線控制網(wǎng)絡(luò),初始化主要完成控制寄存器CR、驗(yàn)收代碼寄存器ACR、驗(yàn)收屏蔽寄存器AMR、總線定時(shí)寄存器BTR0,1 和輸出控制寄存器OCR的設(shè)置。初始化完成后,由總調(diào)度模塊監(jiān)控控制器。當(dāng)CAN總線上有數(shù)據(jù)到達(dá)時(shí),它調(diào)用接收子程序rxdsub(),把這一幀數(shù)據(jù)包存入數(shù)據(jù)緩沖區(qū)B中,然后釋放接收緩沖器。同樣,當(dāng)有按CAN2.0A協(xié)議格式組合成的一幀數(shù)據(jù)報(bào)文在數(shù)據(jù)緩沖區(qū)A中要發(fā)送到CAN總線上去時(shí),總調(diào)度模塊將調(diào)CAN發(fā)送子程序txdsub()發(fā)送。
2.2 以太網(wǎng)控制器協(xié)議轉(zhuǎn)換模塊
     以太網(wǎng)控制器協(xié)議轉(zhuǎn)換模塊主要負(fù)責(zé)從UDP數(shù)據(jù)包中解析出完整CAN協(xié)議報(bào)文,存入數(shù)據(jù)緩沖區(qū)A。同時(shí),可能將數(shù)據(jù)緩沖區(qū)B中的完整CAN協(xié)議報(bào)文封裝成UDP數(shù)據(jù)報(bào),然后將其發(fā)送到以太網(wǎng)上。
     在通信傳輸層采用UDP協(xié)議是考慮到CAN協(xié)議數(shù)據(jù)報(bào)為短幀形式(每個(gè)數(shù)據(jù)幀最多為8字節(jié))。如果采用TCP傳輸協(xié)議,要傳輸8字節(jié)CAN協(xié)議數(shù)據(jù),要先通過3次握手建立連接,再傳輸數(shù)據(jù),之后還要通過握手釋放連接。這樣傳輸效率對(duì)有限的網(wǎng)絡(luò)資源來說無疑是一種浪費(fèi)。而UDP是無連接的傳輸,可以提高網(wǎng)絡(luò)傳輸效率,同時(shí),也減輕網(wǎng)關(guān)的處理任務(wù)。當(dāng)然,UDP傳輸協(xié)議是不可靠的,對(duì)于控制網(wǎng)絡(luò)來說,是不允許的。為了提高通信的可靠性,采用了回傳校驗(yàn)機(jī)制。通過實(shí)驗(yàn)測(cè)試表明這種方式是行之有效的。
以太網(wǎng)控制器協(xié)議轉(zhuǎn)換模塊主要由以太網(wǎng)卡驅(qū)動(dòng)、ARP、UDP協(xié)議的若干個(gè)API函數(shù)組成,主要有 NICInit()、NICDMAInit()、NICInitTXFrame()、NICSendTXFrame()、NICReadAgain()、 ARPCheckifis()、ARPSendresponse()、ARPSendStPacket()、ICMPProcPkin()、 UDPAppInit()、IPGenCheckSum()、UDPAppProcPktin()、UDPStartPktout()和 UDPEndPktout()等。所使用的變量有:remoteIP[3:0]、myIP[3:0] 、UDPRxSrcPortMSB、DPRxSxcPortLSB、UDPRxDataLenMSB、UDPRxDataLenLSB、 UDPTxSrcPortMSB、UDPTXSrcPortLSB、UDPTxDestPortMSB、UDPTxDestPortLSB、 UDPTxDataLenMSB、UDPTxDataLenLSB等。
    系統(tǒng)首次執(zhí)行或復(fù)位時(shí),以太網(wǎng)控制器協(xié)議轉(zhuǎn)換模塊將首先調(diào)用NICInit ()和UDPAPPInit()等進(jìn)行NIC、ARP、IP、UDP和應(yīng)用程序的初始化。初始化完成后,即進(jìn)入主循環(huán)。在主循環(huán)中,89C52將反復(fù)檢測(cè) RTL8019AS是否接收以太網(wǎng)幀。當(dāng)有數(shù)據(jù)被接收時(shí),89C52調(diào)用NICDMAInit()和NICReadAgain()讀入以太網(wǎng)幀首部再調(diào)用 ARPCheckIFIs()判斷接收幀是否為ARP數(shù)據(jù)。若是ARP,則轉(zhuǎn)入ARPSendResponse()和ARPSendstPacket() 子程序進(jìn)行ARP處理并發(fā)送響應(yīng)ARP數(shù)據(jù)報(bào);若不是ARP,則判斷是否為IP數(shù)據(jù)報(bào)。若非IP數(shù)據(jù)報(bào)則清除該以太網(wǎng)幀;當(dāng)所接收幀包含IP數(shù)據(jù)報(bào)時(shí),則需進(jìn)一步判斷是ICMP數(shù)據(jù)報(bào)還是UPD數(shù)據(jù)報(bào)文。若是ICMP數(shù)據(jù)報(bào)則執(zhí)行ICMPProcPktIn()子程序處理ICMP數(shù)據(jù)報(bào)并重發(fā)IP數(shù)據(jù)報(bào);若數(shù)據(jù)為UDP數(shù)據(jù)報(bào)文,則調(diào)用UDPProcPktIn()子程序。該程序?qū)⒆x入U(xiǎn)DP數(shù)據(jù)報(bào)文首部的數(shù)據(jù)并進(jìn)行相應(yīng)處理,還原出完整的CAN協(xié)議數(shù)據(jù)報(bào)文存入數(shù)據(jù)緩沖區(qū)B中,再通知總調(diào)度程序,由總調(diào)度程序調(diào)用CAN總線控制子程序?qū)AN協(xié)議數(shù)據(jù)報(bào)文發(fā)往CAN總線。
      反過來,當(dāng)總調(diào)度程序通知以太網(wǎng)控制器協(xié)議轉(zhuǎn)換模塊將數(shù)據(jù)緩沖區(qū)B中準(zhǔn)備好的CAN協(xié)議數(shù)據(jù)發(fā)送到以太網(wǎng)上時(shí),它將調(diào)用NICInitTxFrame()、 udpstartPktOut)、IPGenCheckSum()、IPStartPktout()、NICSendTxFrame()、 UDPEndPktOut()等子函數(shù)進(jìn)行發(fā)送處理,從而實(shí)現(xiàn)CAN總線到以太網(wǎng)的數(shù)據(jù)傳輸。[!--empirenews.page--]
2.3 以太網(wǎng)層應(yīng)用程序設(shè)計(jì)
    以太網(wǎng)上的通信協(xié)議一般采用TCP/IP協(xié)議。本文采用流行的SOCKET套接字編程,傳輸層協(xié)議選擇UDP(用戶數(shù)據(jù)報(bào)協(xié)議),通過VisuaIC++編寫用戶層程序。
    WinSock 提供了對(duì)UDP的支持,通過UDP協(xié)議可以向指定IP地址的透明網(wǎng)關(guān)發(fā)送CAN協(xié)議數(shù)據(jù),同時(shí)也可以通過它接收CAN協(xié)議數(shù)據(jù)。發(fā)送和接收方處于相同的地位沒有主次之分。利用CAsynSocket類操縱無連接的數(shù)據(jù)發(fā)送較簡(jiǎn)單。首先生成一個(gè)本地套接口(需要指明SOCK_DGRAM標(biāo)記);然后利用 int CAsyncSocket SendTO const VOID IPBuf int nBufLen  UINT nHostPort  LPCTSTR IpszHostADDress= NULL int nFlags=0發(fā)送數(shù)據(jù),int CasyncSocket ReceiveFrom void IpBuf int nBufLen Cstring&rSocketADDress?UINT&rSocketPort int nFlags=0接收數(shù)據(jù)。利用UDP協(xié)議可以使管理主機(jī)和89C52網(wǎng)關(guān)實(shí)現(xiàn)雙向的數(shù)據(jù)通信。同時(shí),這種傳輸方式也易于使數(shù)據(jù)89C52網(wǎng)關(guān)透明化。
3.接入Internet部分的程序流程圖
    前面已經(jīng)介紹了軟件設(shè)計(jì)的原理,這里介紹接入Internet部分的程序流程圖。
 

 
500)this.style.width=500;" border="0" />
4.小結(jié)
   系統(tǒng)中可以采用多種單片機(jī)實(shí)現(xiàn),只要是8位的單片機(jī)即可,內(nèi)部RAM容量大一點(diǎn)越好。該系統(tǒng)目前正在家庭電器的控制系統(tǒng)中使用,系統(tǒng)工作穩(wěn)定,接收信息正確,表明系統(tǒng)應(yīng)用可行。

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

美國(guó)紐約州阿蒙克2022年10月20日 /美通社/ -- IBM(NYSE: IBM)發(fā)布 2022 年第三季度業(yè)績(jī)報(bào)告。 IBM 董事長(zhǎng)兼首席執(zhí)行官 Arvind Kri...

關(guān)鍵字: IBM 軟件 BSP 云平臺(tái)

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險(xiǎn)積極籌備個(gè)人養(yǎng)老金的產(chǎn)品設(shè)計(jì)和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動(dòng)商業(yè)養(yǎng)老保險(xiǎn)、個(gè)人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險(xiǎn)等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...

關(guān)鍵字: 溫度 BSP 東風(fēng) 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動(dòng)的最基本功能。而對(duì)于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對(duì)于空間和生活深層關(guān)系的思考,同時(shí)也塑造著人與空間的新型連接...

關(guān)鍵字: 溫度 BSP 智能化 進(jìn)程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績(jī)預(yù)告。今年前三季度,公司預(yù)計(jì)實(shí)現(xiàn)營(yíng)業(yè)收入7.54億元至8.33億元,同比增長(zhǎng)60.24%至77.03%;歸母凈利潤(rùn)預(yù)計(jì)為1.73億...

關(guān)鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟(jì)和信息化局發(fā)布2022年度第一批北京市市級(jí)企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠(chéng)健華正式獲得"北京市企業(yè)技術(shù)中心"認(rèn)定。 北京市企業(yè)技...

關(guān)鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國(guó)際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國(guó)軟件定義存儲(chǔ)及超融合市場(chǎng)研究報(bào)告》,報(bào)告顯示:2022年上半年浪潮超融合銷售額同比增長(zhǎng)59.4%,近5倍于...

關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團(tuán)成立60周年的紀(jì)念日。趁著首都銀行集團(tuán)成立60周年與首都銀行(中國(guó))在華深耕經(jīng)營(yíng)12年的“大日子”,圍繞作為外資金融機(jī)構(gòu)對(duì)在華戰(zhàn)略的構(gòu)想和業(yè)...

關(guān)鍵字: 數(shù)字化 BSP 供應(yīng)鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會(huì)社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團(tuán)公司上海通運(yùn)國(guó)際物流有限公司(Nipp...

關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國(guó)進(jìn)出口商品交易會(huì)("廣交會(huì)")于"云端"開幕。本屆廣交會(huì)上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過140,...

關(guān)鍵字: 中國(guó)智造 BSP 手機(jī) CAN

經(jīng)過幾十年發(fā)展,嵌入式技術(shù)已經(jīng)用在了我們生活中的方方面面,但是嵌入式始終都帶有小眾,專業(yè)性強(qiáng)的屬性,讓很多非嵌入式領(lǐng)域的同學(xué)望而卻步。近十幾年的發(fā)展,物聯(lián)網(wǎng)覆蓋了越來越多領(lǐng)域,包括了家居,商業(yè),工業(yè),農(nóng)業(yè)等領(lǐng)域,不僅吸引...

關(guān)鍵字: 嵌入式 物聯(lián)網(wǎng) 技術(shù)

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉