国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于嵌入式USB的以太網應用系統設計

發布時間:2010-3-16 14:27    發布者:李寬
隨著USB技術的迅速發展,人們對USB的期望也越來越高。雖然USB技術在臺式計算機領域的地位已經固如磐石,但是由于其以主機為中心的拓撲結構,任何一次USB的數據傳輸都必須由主機來發起和控制,所有的 USB設備都只能與主機建立連接。不僅如此,軟件復雜性以及較高的功率要求,使得人們對嵌入式設備中使用USB的興趣與日俱增[1]。嵌入式USB結合以太網技術可以將USB設備轉換到TCP/IP,讓USB 設備不再受距離限制,可以通過網絡隨時隨地訪問USB設備,可以讓一個USB設備供多個用戶使用,從而提高USB設備的利用率。通過使USB設備具備聯網能力的設備聯網服務器,可以實現聯網使用USB存儲、USB視頻和USB打印等。本文提出了一種利用ARM7來實現嵌入式USB的方法,并結合以太網應用技術,使得通過網絡可以方便地訪問USB設備。

1 系統組成及工作原理

系統硬件結構如圖1所示,系統采用LPC2148控制嵌入式SL811HS和ENC28J60,實現了USB設備與以太網的連接,便于USB設備的網絡共享和數據的遠距離傳輸。SL811HS主要實現USB HOST的功能,它能夠識別USB設備,并能夠對該設備進行讀寫操作。ENC28J60主要完成系統的網絡通信,實現對系統USB設備的遠程訪問。



2 系統模塊設計[2-3]

LPC2148是一個支持實時仿真和跟蹤的16/32位ARM7TDMI-STM CPU的微控制器,并帶有512KB嵌入的高速片內Flash存儲器。片內128位寬度的存儲器接口和獨特的加速結構使32位代碼能夠在最大的時鐘頻率下運行。對代碼規模有嚴格控制的應用可以使用16位Thumb模式將代碼降低超過30%,而犧牲的性能卻很小。LPC2148具有較小的64腳封裝,最多可以使用46個GPIO。其極低的功耗、多個32位定時器、多路10位ADC、1路DAC以及豐富的接口使其特別適合于工業控制、醫療系統、訪問控制嵌入式 MODEM等各種類型的應用。選用LPC2148的原因是它片內集成了Flash、RAM、SPI接口,使得外圍電路簡單,性價比高。

ENC28J60是美國微芯科技公司于2005年推出的全球首枚28引腳獨立以太網控制器,可為嵌入式應用提供低引腳數、低成本且高效易用的遠程通信解決方案。此外,ENC28J60以太網控制器采用業界標準的SPI串行接口,只需很少的連線即可與主控芯片機連接,使如圖2所示。其中的CS和RESET接到主控芯片是為了使軟件設計更靈活。



SL811HS是Cypress公司設計的嵌入式USB主機設備控制器,在嵌入式系統中應用很廣泛,能通過軟件控制選擇主從方式,支持低速和全速傳輸并自動檢測低速或全速設備,通過A0區分地址和數據,并支持地址自增模式。SL811HS與主控芯片的接口電路如圖3所示。



3 軟件設計

系統軟件主要由嵌入式TCP/IP程序和嵌入式USB兩個部分組成。系統程序通過收到的以太網數據包的類型來進行相應的處理,完成特定的功能。例如通過以太網遠程登陸的方式瀏覽和修改本地數據,達到本地數據網絡共享的目的。

3.1 嵌入式TCP/IP實現

嵌入式TCP/IP實現包括以太網控制器ENC28J60底層驅動、TCP/IP協議。ENC28J60 可與許多主控制器上的SPI接口直接相連。此器件只支持SPI 的0,0模式。另外,SPI 端口要求SCK 在空閑狀態時為低電平,不支持時鐘極性選擇。在SCK 的每個上升沿移入數據,命令和數據通過SI 引腳送入器件。 ENC28J60在SCK的下降沿從SO引腳輸出數據。當執行操作時CS 引腳必須保持低電平,當操作完成時返回高電平[4]。

3.1.1ENC28J60底層驅動

在使用ENC28J60發送和接收數據包前,必須對器件進行初始化設置。根據應用的不同,一些配置選項可能需要更改。通常初始化任務會在復位之后立即完成,并且不再需要更改。初始化任務主要包括:(1)初始化接收緩沖器:在接收數據包前,必須編程ERXST和ERXND指針來對接收緩沖器進行初始化。 ERXST與ERXND之間的存儲空間專供接收硬件使用。(2)初始化發送緩沖器:所有未被用作接收緩沖器的存儲空間都將作為發送緩沖器,故不需要專門對發送緩沖器進行專門的初始化。(3)等待OST:如果在上電復位后立即進行初始化,應查詢ESTAT.CLKRDY位,確保在開始修改MAC和PHY寄存器前已經經過足夠長的時間。(4)PHY初始化:PHY寄存器不能通過SPI控制接口直接訪問,而是通過一組帶有MIIM的特殊MAC控制寄存器來完成的。程序中在配置LED時用到了PHY寫函數。寫PHY寄存器時,先將PHY寄存器的地址寫入MIREGADR,然后將要寫入高低8位的內容分別寫入 MIWRH、MIWRL即可。

發送數據包時,ENC28J60會自動生成前導符和幀起始定界符。此外MAC還可以根據配置自動生成填充和CRC字段。主控制器要生成所有其他幀字段,并將他們寫入緩沖器,以待發送。此外,ENC28J60還要求在待發送的數據包前添加一個包的控制字節。接收數據包時可以使用中斷的方式,也可以使用查詢的方式。由于本設計對實時性要求不是很高,故采用查詢的方式。如果有數據包到達,ENC28J60將置位EIR寄存器的PTKIF位。程序運行時不斷地查詢該位以判斷有無數據包到達。

3.1.2 以太網數據包處理

網絡協議通常是在不同的協議層上進行開發,每一層負責不同的通信功能。TCP/IP 協議是一組不同層次上的多個協議的組合。當系統收到以太網的數據時,數據就開始從協議中由數據鏈路層逐層剝離其中各層協議所加的首部。主程序按照以太網數據幀分用的思路進行編制,程序框架如圖4所示。


圖4


3.2  嵌入式USB實現[5-6]

嵌入式USB軟件主要分成4個部分:SL811HS初始化、USB設備的識別及配置、海量存儲協議和FAT文件系統。SL811HS共有16個配置寄存器,其中00-04H、08H-0CH是USB-A、USB-B的工作配置寄存器,05H是控制寄存器1,06H是中斷使能寄存器,07H的各位均為保留位,0DH為狀態寄存器,0EH為SOF計數寄存器,0FH為SOF計數寄存器的高位和控制寄存器2。在SL811HS上電開始工作之后,首先將寄存器 05H的第3位置1,延時30 ms后清零,便可以對USB總線復位;然后在06H寄存器中寫入61H,使能設備檢測中斷。

當有設備插入時,會使SL811HS的D+管腳置高,SL811HS的寄存器0DH的第7位置1并產生中斷,系統會識別到有USB設備插入,即可對USB 設備進行配置了。通過標準設備請求函數ClearFeaure()、GetConfiguration()、GetDescriptor()、 SetAddress()等函數完成對設備的配置。

本系統可以檢測U盤的狀態(如接入、拔出),通過網絡對U盤的訪問,包括創建文件、目錄和讀寫文件等,實現了USB設備網絡共享的目的。 但是由于不同USB設備的驅動通常也不同,USB作為嵌入式應用時不可能像PC機操作系統把所有的驅動都裝上。但是隨著嵌入式技術的發展,可以采用網絡更新驅動的方式,只要某種USB設備接上就可以通過更新系統的固件,達到識別該設備和使用該設備的目的。這也是本系統目前這也是本系統目前需要完善的地方。

參考文獻

[1] 張念淮.USB總線接口開發指南[M].北京:國防工業大學出版社,2002.
[2] 周立功.ARM嵌入式系統基礎教程[M].北京:北京航空航天大學出版社,2005.
[3] 馬文華.嵌入式系統設計與開發[M].北京:科學出版社,2006.
[4] 高傳善. 數據通信與計算機網絡[M].北京:高等教育出版社,2006.
[5] 姚玲,曾春年,黃利權.基于嵌入式 USB主機的 CAN網絡數據記錄系統的設計與實現[J]. 電氣應用,2006,25(3) 56-58.
[6] 陳斯敏, 植 涌.基于SL811的嵌入式 USB主機設計[J]. 四川理工學院學報,2005,18(2);7-9.

作者:潘仕彬 潘紹明 羅功坤 來源:電子技術應用
本文地址:http://www.qingdxww.cn/thread-9444-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 你仿真過嗎?使用免費的MPLAB Mindi模擬仿真器降低設計風險
  • 更佳設計的解決方案——Microchip模擬開發生態系統
  • 想要避免發生災難,就用MPLAB SiC電源仿真器!
  • 我們是Microchip
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲日本一区二区三区在线 | 91污网站| 日韩精品一二三区 | 麻豆国产一区二区在线观看 | 成人韩免费网站 | 色老头成人免费视频天天综合 | 国产三级在线免费 | 黄视频网址 | 成人免费视频在线 | 日本韩国欧美在线观看 | 成年网站视频在线观看 | h肉动漫在线视频无修无遮挡 | 亚洲乱码卡一卡二卡三 | 亚洲成人国产 | 在线麻豆国产传媒60在线观看 | 黄色影片免费在线观看 | 日本欧美黄色 | 三级在线观看国产 | 国产精品久久久久免费视频 | 亚洲视频一区二区在线观看 | 亚洲免费影视 | 亚洲精品亚洲人成在线麻豆 | 国产成人高清在线观看播放 | 四虎影院久久 | 日本精a在线观看 | 日韩不卡一区二区 | 久久精品一区二区三区中文字幕 | 欧美日韩另类国产 | 99re在线视频观看 | 中文日产国产精品久久 | 在线不欧美 | 天天影视色香欲综合网 寡妇 | 国产真实伦对白视频全集 | 五月天婷婷色图 | 99久久www免费人成精品 | 色综合天天综合网国产成人网 | 成人免费看黄网址 | 精品日本一区二区三区在线观看 | 999久久久免费精品国产牛牛 | 日韩免费观看一级毛片看看 | 久久国产精品久久 |