當前位置:首頁 > 單片機 > 單片機
[導讀]用8位單片機8031和ISA總線網卡,實現RS485串行設備與以太網的連接,以傳送控制信令和數據文件。程序設計采用C51語言,便于移植和調試。

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

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

       本文根據所做項目需要,用8031單片機和RTL8019AS網卡實現了RS485串口設備數據文件通過以太網傳輸到遠端計算機的功能。 

   1  串行通訊

       串行通訊在通訊領域被廣泛應用。標準的RS232接口已成為計算機、計算機外設、交換機和許多通訊設備的標準接口。在我國工業(yè)總線的應用中,RS-485、RS-422使用最為普遍。

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

       2  以太網的物理傳輸幀

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

 3  以太網卡

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

       熟悉網卡接口電路是實現對網卡編程的首要條件。網卡接口電路可分為兩部分,一是與計算機ISA總線相連,包括數據總線讀寫、地址總線驅動、中斷控制信號的產生、存儲器讀寫信號以及I/O端口讀寫信號的引入等;二是對網卡內部的操作,包括對緩沖RAM的讀寫、對RTL8019AS的控制、讀站地址PROM以及讀自舉ROM等。ISA總線共有98個信號,但通過對網卡工作原理的分析,我們可以將接口信號線減至最少。表2是驅動RTL8019AS網卡所需的最少的信號線。

 4  硬件框圖

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

5  軟件設計

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

       5.1  主程序

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

       5.2  網卡初始化過程

       對網卡的初始化就是對相關寄存器進行初始化。這些寄存器包括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位內存訪問,正常工作方式;

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

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

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

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

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

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

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

       (10)設置網卡地址PAR0-PAR5;

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

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

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

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

       5.3  發(fā)送控制過程

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

       5.4  接收控制過程

       幀的接收過程分為兩步:第一步由本地DMA將幀存入接收緩沖環(huán)中;第二步由遠程DMA將接收緩沖環(huán)中的幀讀入內存。即將網絡上的數據幀接收并緩存在網卡的接收緩沖環(huán)中,然后由主機程序將緩存在緩沖環(huán)中的幀讀走并存入內存中。

       幀的接收工作由網卡自動完成,只需對與相關的寄存器如PSTART、PSTOP、CURR和BNRY進行適當的初始化即可。

       幀讀入較幀接收要復雜一些。首先必須初始化相應的寄存器RSAR、RBCR,然后再啟動遠程DMA讀操作和主機程序的讀端口操作。

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


       5.5  串口通訊子程序

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

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

       6  結束語

      
利用8位單片機8031驅動ISA總線網卡,實現串口設備通過以太網進行通訊,可以方便、可靠、低廉地將數據傳輸到遠端設備。而且,通過串口設備與以太網的相連,可以很好的解決多種工業(yè)總線的系統(tǒng)集成問題,同時也大大豐富了工業(yè)總線的體系,促使其向更高層次發(fā)展。可以預計,小型串口設備與以太網相連將帶來一場新的技術浪潮。

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

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯合牽頭組建的NVI技術創(chuàng)新聯盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯...

關鍵字: VI 傳輸協議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉