在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于嵌入式Internet技術實現網絡打印服務器系統的軟硬件設計

牽手一起夢 ? 來源:網絡整理 ? 作者:佚名 ? 2020-01-22 10:47 ? 次閱讀

隨著信息技術的發展和網絡時代的到來,基于TCP/IP協議的嵌入式Internet技術越來越受到人們的關注。目前,大多數嵌入式設備仍處于孤立應用階段,為了實現多個MCU之間的信息共享和交流,通常利用CAN、RS232RS485等總線組網。但是這些網絡的有效半徑較短,并且孤立于Internet網絡以外,如果能把嵌入式設備直接接入Internet,就可以用方便、低廉的方式實現信息的共享。因此,研究和應用嵌入式Internet技術具有非常重要的意義。

傳統的網絡打印有兩種方法:一種是采用“網絡共享方式”,另一種是使用專用網絡打印機。專用網絡打印機成本很高,普通用戶難以承受。若采用“網絡共享方式”打印,網內必須有一臺計算機來充當打印服務器,若這臺計算機出現故障或關機,網內的其它計算機就無法打印,使用起來很不方便。嵌入式網絡打印服務器解決了這個問題,使普通打印機不再是依附于主機的一外設,而成為網絡中一個孤立的設備,使用起來更加靈活方便。本文在研究嵌入式Internet技術的基礎上,設計了基于TCP/IP協議的嵌入式網絡打印服務器,普通打印機通過此嵌入式打印服務器可直接接在Hub上,升級為一臺“網絡打印機”??蛻舳丝稍诰钟蚓W內部實現網絡打印,遠端客戶可通過網關實現遠程打印。其具體結構如圖1所示。

基于嵌入式Internet技術實現網絡打印服務器系統的軟硬件設計

1 、系統總體結構

1.1 硬件電路

嵌入式打印服務器的硬件電路如圖2所示。該電路主要包括以下四部分:①微處理器;②以太網控制器;③打印機接口電路;④串口通訊電路。

嵌入式打印服務器需要處理復雜的TCP/IP協議和以太網驅動程序,程序代碼較長,但系統要求快速地處理以太網幀,順利完成數據收發任務。基于以上考慮,微處理器采用***Winbond公司的W77E58,此芯片內核與51系列兼容,內含32K FLASH ROM,指令的執行速度很快,是普通51系列單片機的3~4倍,時鐘頻率最高可設置為40MHz。此芯片內含三個16位的定時/計數器,兩個全雙工串行口,一個軟件可編程看門狗定時器。采用軟件看門狗技術,可用來提高本系統的抗干擾能力,防止程序跑飛。

網卡接口芯片采用性價比較高的全雙工的RTL8019AS。此芯片為10M ISA以太網控制器芯片,為100個引腳PQFP封裝,內部集成有16MB SRAM,與NE2000兼容,16位數據總線,可配置為8位DMA方式進行數據傳輸,與8位單片機接口方便[2]。

基于嵌入式Internet技術實現網絡打印服務器系統的軟硬件設計

圖2 嵌入式網絡打印服務器總體設計框圖

另外,系統還擴展一片62256 RAM和一片24C02 E2PROM。RAM的作用有兩個:一是用來緩存從網卡芯片接收下來的數據幀,二是用作打印數據的緩沖和串口通訊數據的緩沖,以提高數據的吞吐率。24C02為串行E2PROM,其容量為2KB,可通過I2C總線與單片機通信,其接口非常簡單,只需要通過SCL和SDA兩條線與單片機相連即可。其作用是用來存儲上位機通過RS232串口下載下來的一些重要參數,如主機的IP地址、子網俺碼、網關IP地址等。這里采用MAX232作為RS232的電平轉換芯片,完成TTL電平到RS232電平的轉換,實現上位PC機與單片機之間的通訊。

1.2 軟件設計

軟硬件開發工具分別選用Keil C51編譯器和偉福6000仿真器。程序主要包括以下四部分:①以太網驅動程序;②TCP/IP協議解析程序;③打印機接口程序;④串口通訊中斷服務程序。圖3為主程序流程圖。

1.2.1 以太網驅動程序

首先對RTL8019AS進行復位操作。復位操作有兩種方法:冷復位和熱復位。

(1) 冷復位

將W77E58的T0引腳接RTL8019AS的復位端RSTDRV進行復位操作,高電平有效。復位過程將執行一些基本操作,至少需要1μs的時間,推薦等待更久的時間如100ms之后才對它操作,以確保芯片完全復位。

基于嵌入式Internet技術實現網絡打印服務器系統的軟硬件設計

(2) 熱復位

直接將RST8019AS的復位端RSTDRV與單片機的RESET引腳相連,單片機復位的時候,RST8019AS也復位。RST8019AS中地址為18H~1FH的寄存器端口均為復位端口。對以上端口俺數地址讀或得寫入任何數,都會使網卡芯片復位。

復位以后對RST8019AS芯片中某些寄存器進行配置,確定其工作方式。配置好后,就可以開始接收或發送數據了。

接收數據包時,采用查詢方式將查詢程序放在一個大循環中,反復查詢是否有新數據包到達,若有則接收下來。編程時應該特別注意的是:RST8019AS接收到的數據包的幀格式與以太網幀格式并不一致[3],RST8019AS自動填加了接收狀態、下一頁指針、以太網幀長度三個字段(四個字節),其結構如表1所示。所以編程時需要按照此格式才能正確地接收數據。

表1 RTL8019AS接收到的數據包的幀格式

基于嵌入式Internet技術實現網絡打印服務器系統的軟硬件設計

1.2.2 TCP/IP協議解析程序

TCP/IP協議族實際上是許多相關協議的組合,分為不同的層次,每一層分別具有不同的通信功能。TCP/IP協議通常被認為是一個四層的協議系統,

基于嵌入式Internet技術實現網絡打印服務器系統的軟硬件設計

包括鏈路層、網絡層、傳輸層和應用層。在設計中,根據網絡打印服務器的具體要求,對TCP協議進行了適當的裁剪,僅實現了圖4所示的四個協議:ARP、IP、ICMP、TCP。

(1) 鏈路層協議

以太網上數據包的傳輸是采用網絡的MAC地址來進行識別的,這就要求系統能夠實現IP地址到MAC地址的轉換,即ARP(地址解析)協議。

(2) 網絡層協議

網絡層主要負責按網絡標準形式封裝數據包,然后進行IP路由選擇。網絡層協議包括IP(網際協議)、ICMP(控制報文協議)和IGMP(組管理協議)。IP協議使網絡之間的通信成為可能,如果嵌入式Internet需要跨越不同的網絡進行通信,就必須實現IP協議,所以IP協議需要完整實現。IP包最大為65K,可以分段傳輸,但在嵌入式系統中根本無法容納如此大的數據包,因此不支持分段傳輸。單片機一般采用發送小數據包的方式,以避免分段傳輸。

ICMP協議主要用于傳遞差錯報文以及其它需要注意的信息。ICMP中規定了多種協議類型和代碼,如果完全實現要浪費不少的系統資源,對于普通的嵌入式Internet應用而言,能夠測試網絡的連接情況即可,因此只需實現ICMP中類型號為0、代碼為0的Ping應答協議即可。

(3) 傳輸層協議

傳輸層主要為兩臺主機上的應用程序提供端到端的通信。傳輸層有兩種不同的傳輸協議:TCP(傳輸控制協議)和UDP(用戶數據包協議)。TCP是一種面向連接的協議,它能提供高可靠性服務。通過使用序列號和確認信息,TCP協議能夠向發送方提供到達接收方的數據包的傳送信息。UDP協議沒有保證可靠性的機制,其數據傳輸率高,可以實現全速發送數據包,但是容易丟包、失序。這里因為是打印服務,對數據的可靠性要求很高。所以必須采用TCP協議。

基于嵌入式Internet技術實現網絡打印服務器系統的軟硬件設計

1.2.3 打印機接口程序

打印機接口有SPP、EPP和ECP三種標準[5],其中EPP和ECP的數據傳輸速度較快。SPP為標準的并行接口標準,目前任何打印機都支持此接口標準,考慮到兼容性的問題,這里采用了SPP接口標準。此接口程序比較簡單,編程時可以采用查詢方式不斷檢測打印機的工作狀態(BUSY信號),若不忙則輸出數據,發出數據選通脈沖(STROBE),通知打印機取數據打印。

1.2.4 串口通訊程序

串口通訊程序是主要用來完成程序的調試以及嵌入式打印服務器的IP地址、網關和子網俺碼等參數的修改。圖5為嵌入式系統參數設置界面。

基于嵌入式Internet技術實現網絡打印服務器系統的軟硬件設計

基于嵌入式Internet技術實現網絡打印服務器系統的軟硬件設計

2 、測試結果

在此使用VB6.0編寫相應的測試程序。實驗證明,此測試程序可以動態地修改嵌入式打印服務器的IP地址等參數,能夠順利PING通,往返時間小于10ms,可以完成數據的打印任務。

為了程序調試方便,還編寫了串口通訊程序,測試結果和數據可通過串口顯示出來,也可以將輸出數據保存到硬盤中仔細分析研究。圖6為使用串口通訊程序截獲的打印輸出數據。

為了進一步研究,使用Etherdetect Packet Sinffer軟件截獲了打印過程中通過網絡傳輸的TCP數據,如圖7所示。其中的52 54 4c 30 2e 2f為嵌入式打印服務器的MAC地址,192.137.8.178為其IP地址。

本文介紹了嵌入式網絡打印服務器的設計與實現,分析了其硬件結構和軟件設計方法。網絡打印服務器只是嵌入式以太網技術的一個具體應用,實際上嵌入式以太網技術還可以在遠程控制、數據采集、視頻監控等諸多領域大顯身手,其應用前景相當廣泛。當然,以太網技術也存在一些缺陷,例如其數據包的傳輸時延不定、受網絡性能的影響較大等,現階段還很應用到實時控制領域,這些問題需要在以后的研究中重要解決。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6037

    文章

    44562

    瀏覽量

    635751
  • 嵌入式
    +關注

    關注

    5083

    文章

    19133

    瀏覽量

    305602
  • 服務器
    +關注

    關注

    12

    文章

    9191

    瀏覽量

    85506
收藏 人收藏

    評論

    相關推薦

    嵌入式系統開發與硬件的關系 嵌入式系統開發常見問題解決

    系統開發與硬件關系的幾個關鍵點: 硬件依賴性 :嵌入式系統的軟件必須能夠在特定的硬件上運行,這包
    的頭像 發表于 12-09 09:38 ?277次閱讀

    嵌入式學習建議

    對廣大渴望學習嵌入式系統的學子提出幾點基礎階段的學習建議: ①嵌入式系統軟件硬件密切相關,一定要打好
    發表于 10-22 11:41

    嵌入式系統服務器有什么區別

    嵌入式系統服務器在多個方面存在顯著的差異,這些差異主要體現在設計目標、硬件配置、軟件系統、應用領域、
    的頭像 發表于 09-29 16:37 ?470次閱讀

    嵌入式系統硬件架構

    嵌入式系統是一種專用的計算機系統,它以應用為中心,以現代計算機技術為基礎,能夠根據用戶的具體需求(如功能、可靠性、成本、體積、功耗、環境等)靈活裁剪
    的頭像 發表于 09-29 16:29 ?412次閱讀

    嵌入式軟硬件開發實戰師資培訓通知

    隨著物聯網和智能系統的快速發展,嵌入式成為當前最熱門最有發展前途的IT應用領域之一。在移動通訊、移動辦公、智能傳感、穿戴設備、物聯網、到數據中心、大數據管理、云計算、邊緣計算,人工智能等各個領域
    的頭像 發表于 09-24 08:06 ?364次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟硬件</b>開發實戰師資培訓通知

    嵌入式系統是什么?

    嵌入式系統是是一個功能完備、幾乎不依賴其他外部裝置就可以獨立運行的系統。該系統包含軟件和硬件,以應用為中心,以計算機為基礎,能夠根據需求靈活
    的頭像 發表于 08-29 16:26 ?393次閱讀

    專家力薦|《嵌入式系統原理與開發——基于RISC-V和Linux系統》新書發售

    當前,嵌入式系統已成為智能設備的核心之一,RISC-V+Linux的開源力量為嵌入式系統注入強大的創新動力。作為中國RISC-V軟硬件生態領
    的頭像 發表于 07-24 08:20 ?620次閱讀
    專家力薦|《<b class='flag-5'>嵌入式</b><b class='flag-5'>系統</b>原理與開發——基于RISC-V和Linux<b class='flag-5'>系統</b>》新書發售

    嵌入式系統怎么學?

    一系列課程和技術,包括但不限于以下內容: 1、基礎知識:學習計算機組成原理、數字電路、模擬電路等基礎知識,建立對計算機硬件的認知與理解。 2、編程語言:掌握至少一種嵌入式系統常用的
    發表于 07-02 10:10

    嵌入式系統基礎

    嵌入式系統是以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機
    的頭像 發表于 06-19 09:10 ?476次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統</b>基礎

    從事嵌入式方向,一定要軟硬件通吃?

    嵌入式系統開發領域,軟件和硬件的界限常常模糊不清。一個常見的問題是,嵌入式軟件工程師是否需要了解硬件。本文將探討這一問題的重要性,并分析
    的頭像 發表于 06-05 08:10 ?1204次閱讀
    從事<b class='flag-5'>嵌入式</b>方向,一定要<b class='flag-5'>軟硬件</b>通吃?

    嵌入式系統軟硬件基礎知識大全

    作為一種廣泛應用于各個領域的技術,其軟硬件基礎知識對于開發者來說至關重要。在本文中,我們將詳細探討嵌入式系統的軟件基礎知識,以幫助讀者深入了解這一領域。實時操作
    發表于 05-09 14:12

    嵌入式熱門發展方向有哪些?

    ,嵌入式人工智能可以運用機器學習技術對圖像、視頻進行高精度解析,從而實現圖像識別、視頻剪輯、視頻智能關聯應用等。在傳感網絡系統中,
    發表于 04-11 14:17

    Linux系統下對硬件寄存調試的應用設計研究

    嵌入式系統廣泛應用于生活中的各行各業,嵌入式軟硬件復雜度也在不斷增加,嵌入式系統開發與維護變得越
    的頭像 發表于 03-12 13:59 ?768次閱讀
    Linux<b class='flag-5'>系統</b>下對<b class='flag-5'>硬件</b>寄存<b class='flag-5'>器</b>調試的應用設計研究

    嵌入式軟件開發應該掌握哪些知識?

    掌握的知識 1.基礎知識 1.1 c/c++編程語言和數據結構 C/C++ 是嵌入式系統中常用的編程語言,因為它們提供了直接訪問硬件的能力。通過使用特定的編譯和調用
    發表于 02-19 11:23

    嵌入式學習步驟

    開發板上測試固件以及在實際設備上進行測試。 嵌入式系統的多樣化發展,它將更為廣泛地應用于各個領域,實現智能化、網絡化、自動化的目標。同時,隨著人工智能和機器學習
    發表于 02-02 15:24
    主站蜘蛛池模板: 激情六月天婷婷| 午夜精品福利在线观看| 国产高清免费午夜在线视频| 欧美成人影院| 国产欧美在线一区二区三区| 精品欧美小视频在线观看| 黄色激情小说视频| 欧美性狂猛bbbbbxxxxx| 亚洲伊人久久网| 亚洲视频在线一区二区| 3344a毛片在线看| 久久久精品波多野结衣| 二级特黄绝大片免费视频大片 | 性色a| 色婷婷精品视频| 婷婷午夜影院| 日韩免费高清一级毛片| 极品啪啪| 亚洲精品久| 久操视频在线| 真爽~张开腿~让我插| 在线免费色| 日本最顶级丰满的aⅴ艳星| 久久色婷婷| 精品欧美一区二区三区在线观看| 播放毛片| 久久精品国产乱子伦多人| 欧美精品高清在线xxxx| 种子天堂bt磁力在线资源| 色cccwww| 国产成人教育视频在线观看| 国产欧美精品一区二区色综合| 亚洲综合激情| 成人午夜精品久久久久久久小说| 无码一区二区三区视频| 天天色资料| 色小视频| 国产激情片| 超黄视频网站| 加勒比在线视频| 美女被网站免费看九色视频|