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

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]用8位單片機(jī)8031和ISA總線網(wǎng)卡,實(shí)現(xiàn)RS485串行設(shè)備與以太網(wǎng)的連接,以傳送控制信令和數(shù)據(jù)文件。程序設(shè)計(jì)采用C51語言,便于移植和調(diào)試。

 單片機(jī)或微控制器(MCU)(也稱為嵌入式系統(tǒng))已經(jīng)在各個(gè)領(lǐng)域得到了廣泛的應(yīng)用。目前絕大多數(shù)系統(tǒng)都是以MCU為核心,與一些監(jiān)測(cè)、伺服、指示設(shè)備配合實(shí)現(xiàn)一定的功能。以太網(wǎng)是當(dāng)今最受歡迎的局域網(wǎng)之一,現(xiàn)已成為社會(huì)重要的基礎(chǔ)信息設(shè)施之一, 是信息流通的重要渠道,如果嵌入式系統(tǒng)能夠連接到Internet上面,則可以方便、低廉地將信息傳送到幾乎世界上的任何一個(gè)地方。

       將嵌入式系統(tǒng)與Internet相連的主要困難在于:Internet上面的各種通信協(xié)議對(duì)于存儲(chǔ)器、運(yùn)算速度等的要求比較高,而嵌入式系統(tǒng)中除部分32位處理器以外,大量存在的是8位和16位MCU,支持TCP/IP等Internet協(xié)議將占用大量系統(tǒng)資源,從而影響本來的功能或根本不可能實(shí)現(xiàn)。

       本文根據(jù)所做項(xiàng)目需要,用8031單片機(jī)和RTL8019AS網(wǎng)卡實(shí)現(xiàn)了RS485串口設(shè)備數(shù)據(jù)文件通過以太網(wǎng)傳輸?shù)竭h(yuǎn)端計(jì)算機(jī)的功能。 

   1  串行通訊

       串行通訊在通訊領(lǐng)域被廣泛應(yīng)用。標(biāo)準(zhǔn)的RS232接口已成為計(jì)算機(jī)、計(jì)算機(jī)外設(shè)、交換機(jī)和許多通訊設(shè)備的標(biāo)準(zhǔn)接口。在我國(guó)工業(yè)總線的應(yīng)用中,RS-485、RS-422使用最為普遍。

       在串行接口連接中,按連接方式可分為面向連接和無連接。無連接原理比較簡(jiǎn)單,通訊雙方無握手過程。一方如有數(shù)據(jù)需要發(fā)送,則立即通過串行接口發(fā)送出去,另一方被動(dòng)接受。該方式能夠達(dá)到較高的通訊速率,但不能保證數(shù)據(jù)傳輸?shù)目煽啃?,只用于一些?duì)數(shù)據(jù)可靠性要求不高的場(chǎng)合,如語音、圖像等。而面向通訊過程則不同,在甲方有數(shù)據(jù)發(fā)送請(qǐng)求時(shí),則向乙方發(fā)送“請(qǐng)求發(fā)送數(shù)據(jù)”命令。乙方收到后,如準(zhǔn)備就緒,則回送確認(rèn)信息。甲方得到乙方的確認(rèn)后方可發(fā)送數(shù)據(jù)。在大多數(shù)情況下,乙方要對(duì)收到的數(shù)據(jù)進(jìn)行校驗(yàn),校驗(yàn)正確發(fā)送“通訊終止”命令,否則可發(fā)送“重發(fā)”命令。面向連接的串行通訊過程實(shí)踐起來通常要復(fù)雜得多,通常用于數(shù)據(jù)文件的傳輸。

       2  以太網(wǎng)的物理傳輸幀

       標(biāo)準(zhǔn)IEEE802.3幀結(jié)構(gòu)有七部分組成,如表1所示。其中除了數(shù)據(jù)域的長(zhǎng)度不固定外,其他的長(zhǎng)度都是固定不變的。在發(fā)送數(shù)據(jù)時(shí),幀頭、起始位和校驗(yàn)位都是網(wǎng)卡自動(dòng)添加的;在接收數(shù)據(jù)時(shí),幀頭和起始位將被網(wǎng)卡自動(dòng)跳過,即網(wǎng)卡一旦檢測(cè)到有效幀頭和幀起始位,就認(rèn)為有效數(shù)據(jù)開始,并將有效數(shù)據(jù)存入接收緩沖環(huán)。

 3  以太網(wǎng)卡

       RTL8019AS網(wǎng)卡是8/16位ISA總線的網(wǎng)卡,遵循的標(biāo)準(zhǔn)與協(xié)議為IEEE802.3。按功能可將其劃分為接收功能模塊、CRC產(chǎn)生模塊、發(fā)送功能模塊、地址識(shí)別模塊、FIFO控制模塊、協(xié)議邏輯陣列模塊以及DMA和緩沖控制模塊等部分。對(duì)網(wǎng)卡進(jìn)行編程就可以實(shí)現(xiàn)局域網(wǎng)內(nèi)任意站點(diǎn)之間的通信而不需要網(wǎng)絡(luò)操作系統(tǒng)的支持。

       熟悉網(wǎng)卡接口電路是實(shí)現(xiàn)對(duì)網(wǎng)卡編程的首要條件。網(wǎng)卡接口電路可分為兩部分,一是與計(jì)算機(jī)ISA總線相連,包括數(shù)據(jù)總線讀寫、地址總線驅(qū)動(dòng)、中斷控制信號(hào)的產(chǎn)生、存儲(chǔ)器讀寫信號(hào)以及I/O端口讀寫信號(hào)的引入等;二是對(duì)網(wǎng)卡內(nèi)部的操作,包括對(duì)緩沖RAM的讀寫、對(duì)RTL8019AS的控制、讀站地址PROM以及讀自舉ROM等。ISA總線共有98個(gè)信號(hào),但通過對(duì)網(wǎng)卡工作原理的分析,我們可以將接口信號(hào)線減至最少。表2是驅(qū)動(dòng)RTL8019AS網(wǎng)卡所需的最少的信號(hào)線。

 4  硬件框圖

       系統(tǒng)采用8031作為CPU主芯片,使用32K字節(jié)的外部存儲(chǔ)器62256來存放以太網(wǎng)包(最大可以有1500字節(jié))和串行數(shù)據(jù), 8K字節(jié)的2764存放程序,用75176與485總線通訊。系統(tǒng)的數(shù)據(jù)與地址總線分別與網(wǎng)卡的數(shù)據(jù)與地址總線相連。硬件框圖如圖1所示。

5  軟件設(shè)計(jì)

      
對(duì)網(wǎng)卡的編程就是對(duì)網(wǎng)絡(luò)接口控制器(NIC)RTL8019AS中各種寄存器進(jìn)行編程控制,從而完成數(shù)據(jù)分組的正確發(fā)送和接收。所有程序采用Franclin C51語言編制,具有可讀性強(qiáng),移植性好,開發(fā)周期短的特點(diǎn)。即使在代碼的使用效率上,也完全可以和匯編語言相比。

       5.1  主程序

      
主程序可分為網(wǎng)絡(luò)通訊和串行通訊兩部分。網(wǎng)絡(luò)通訊過程又可分為網(wǎng)卡初始化、發(fā)送控制和接收控制等三部分。主程序框圖如圖2所示。

       5.2  網(wǎng)卡初始化過程

       對(duì)網(wǎng)卡的初始化就是對(duì)相關(guān)寄存器進(jìn)行初始化。這些寄存器包括CR、DCR、RBCR、PSTART、PSTOP、

ISR、IMR、PAR0-PAR5、MAR0-MAR5、CURR、TCR和RCR等。初始化過程如下:

       (1)CR=0x21:選擇頁0寄存器,將NIC處于離線狀態(tài);

       (2)DCR=0x88:8位內(nèi)存訪問,正常工作方式;

       (3)RBCR0=0,RBCR1=0:遠(yuǎn)程DMA操作時(shí)傳遞字節(jié)數(shù)清零;

       (4)RCR=0xc0:接收到的幀存入緩沖環(huán);

       (5)TCR=0xe2:環(huán)路測(cè)試狀態(tài);

       (6)PSTART=0x4c,PSTOP=0x80:構(gòu)造緩沖環(huán);

       (7)ISR=0xff:中斷寄存器清零;

       (8)IMR=0x00:屏蔽所有的中斷;

       (9)CR=0x61:選擇頁1;

       (10)設(shè)置網(wǎng)卡地址PAR0-PAR5;

       (11)設(shè)置多址寄存器MAR0-MAR5;

       (12)CURR=0x4d:初始化當(dāng)前頁寄存器;

       (13)CR=0x22:選擇頁1,正常工作狀態(tài);

       (14)TCR=0XE0:發(fā)送器正常工作狀態(tài);

       5.3  發(fā)送控制過程

      
在網(wǎng)絡(luò)中,幀傳輸?shù)倪^程就是發(fā)送方將待發(fā)送的數(shù)據(jù)按幀格式要求封裝成幀,然后通過網(wǎng)卡發(fā)送到網(wǎng)絡(luò)的傳輸線上。發(fā)送程序框圖如圖3所示。

       5.4  接收控制過程

       幀的接收過程分為兩步:第一步由本地DMA將幀存入接收緩沖環(huán)中;第二步由遠(yuǎn)程DMA將接收緩沖環(huán)中的幀讀入內(nèi)存。即將網(wǎng)絡(luò)上的數(shù)據(jù)幀接收并緩存在網(wǎng)卡的接收緩沖環(huán)中,然后由主機(jī)程序?qū)⒕彺嬖诰彌_環(huán)中的幀讀走并存入內(nèi)存中。

       幀的接收工作由網(wǎng)卡自動(dòng)完成,只需對(duì)與相關(guān)的寄存器如PSTART、PSTOP、CURR和BNRY進(jìn)行適當(dāng)?shù)某跏蓟纯伞?

       幀讀入較幀接收要復(fù)雜一些。首先必須初始化相應(yīng)的寄存器RSAR、RBCR,然后再啟動(dòng)遠(yuǎn)程DMA讀操作和主機(jī)程序的讀端口操作。

 以下是接收數(shù)據(jù)幀的子程序,為了獲得數(shù)據(jù)長(zhǎng)度,我們先讀入18個(gè)字節(jié)的數(shù)據(jù),然后根據(jù)有效數(shù)據(jù)的長(zhǎng)度將幀完整讀入。為了啟動(dòng)遠(yuǎn)程DMA讀操作,應(yīng)該令CR=0AH,遠(yuǎn)程DMA將從接收緩沖環(huán)的DMA地址處讀入1字節(jié)并送往I/O數(shù)據(jù)端口,由主機(jī)程序讀入內(nèi)存。這一過程將一直持續(xù)到RBCR寄存器為0。


       5.5  串口通訊子程序

      
為實(shí)現(xiàn)數(shù)據(jù)文件的串口傳輸編制了一個(gè)串口通訊協(xié)議,該協(xié)議由引導(dǎo)幀、長(zhǎng)度幀、數(shù)據(jù)幀和確認(rèn)幀等組成。其中引導(dǎo)幀是用于同步每一包數(shù)據(jù)的引導(dǎo)頭,長(zhǎng)度幀是這一包數(shù)據(jù)的總長(zhǎng)度,數(shù)據(jù)幀是其中的數(shù)據(jù)信息,確認(rèn)幀是接收方對(duì)發(fā)送方的回應(yīng)。每幀數(shù)據(jù)由16個(gè)字節(jié)組成,每幀的第14個(gè)字節(jié)為標(biāo)志位,第15字節(jié)為校驗(yàn)位。標(biāo)志位中有2位幀標(biāo)志位,3位序號(hào)位;校驗(yàn)采用和校驗(yàn),只計(jì)算0-13字節(jié),溢出值舍去。在發(fā)送方有數(shù)據(jù)發(fā)送時(shí),先檢測(cè)線路是否空閑,如線路空閑則向接收方發(fā)送“請(qǐng)求發(fā)送數(shù)據(jù)”命令幀。接收機(jī)收到后,如準(zhǔn)備就緒,則回送“可以發(fā)送”的確認(rèn)

命令。發(fā)送方得到確認(rèn)后開始發(fā)送數(shù)據(jù)。接收方對(duì)收到的每一幀數(shù)據(jù)進(jìn)行和校驗(yàn),校驗(yàn)正確發(fā)送“和校驗(yàn)正確”命令,發(fā)送方發(fā)送下一幀;否則發(fā)送“重發(fā)”命令,發(fā)送方重發(fā)此幀。協(xié)議中還具有等待超時(shí)處理、幀不同步處理和線路沖突檢測(cè)功能。

       6  結(jié)束語

      
利用8位單片機(jī)8031驅(qū)動(dòng)ISA總線網(wǎng)卡,實(shí)現(xiàn)串口設(shè)備通過以太網(wǎng)進(jìn)行通訊,可以方便、可靠、低廉地將數(shù)據(jù)傳輸?shù)竭h(yuǎn)端設(shè)備。而且,通過串口設(shè)備與以太網(wǎng)的相連,可以很好的解決多種工業(yè)總線的系統(tǒng)集成問題,同時(shí)也大大豐富了工業(yè)總線的體系,促使其向更高層次發(fā)展??梢灶A(yù)計(jì),小型串口設(shè)備與以太網(wǎng)相連將帶來一場(chǎng)新的技術(shù)浪潮。

本站聲明: 本文章由作者或相關(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)系本站刪除。
換一批
延伸閱讀

成都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ī)開發(fā)的一個(gè)常用的外設(shè),應(yīng)用范圍非常廣。大部分時(shí)候,串口需要接收處理的數(shù)據(jù)長(zhǎng)度是不定的。那么怎么才能判斷一幀數(shù)據(jù)是否結(jié)束呢,今天就以STM32單片機(jī)為例,介紹幾種接收不定長(zhǎng)數(shù)據(jù)的方法。

關(guān)鍵字: 單片機(jī) 串口 STM32

要問機(jī)器人公司哪家強(qiáng),波士頓動(dòng)力絕對(duì)是其中的佼佼者。近來年該公司在機(jī)器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機(jī)器人會(huì)后空翻,自主爬樓梯等。這不,波士頓動(dòng)力又發(fā)布了其機(jī)器人組團(tuán)跳男團(tuán)舞的新視頻,表演的機(jī)器人包括...

關(guān)鍵字: 機(jī)器人 BSP 工業(yè)機(jī)器人 現(xiàn)代汽車

單片機(jī)

21600 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉