摘要:利用MSP430系列單片機直接控制以太網(wǎng)控制芯片W51000進行數(shù)據(jù)傳輸和存儲,給出了系統(tǒng)的工作原理、硬件連接和軟件實現(xiàn)方法。該裝置通過雙絞線與計算機相連,可以實現(xiàn)遠距離、快速的數(shù)據(jù)傳輸及存儲。
關鍵詞:W5100;MSP430;數(shù)據(jù)存儲
引言
網(wǎng)絡的開放性和全球化,促進了人類知識的共享和經(jīng)濟的全球化。以太網(wǎng)技術以其靈活方便的連接方式、良好的開放性、高效、成本低等優(yōu)點,已經(jīng)廣泛地應用于各種計算機網(wǎng)絡,并且還在不斷地發(fā)展。目前,網(wǎng)絡技術在電子產(chǎn)品中的應用越來越廣,更多的設備需要提供網(wǎng)絡接口,以方便與外部互聯(lián)通信。
隨著技術的不斷發(fā)展,越來越多的測試系統(tǒng)、控制機構等都需要實時地、快速地并且遠距離地傳輸數(shù)據(jù)。傳統(tǒng)的存儲裝置利用RS232、RS485等串口,數(shù)據(jù)傳輸速率非常有限,面對大數(shù)據(jù)量實時傳輸?shù)囊箫@得無能為力?,F(xiàn)在流行的USB總線可以達到非常高的傳輸速率,但傳輸距離有較大的限制。利用以太網(wǎng)接口實現(xiàn)快速、遠距離的數(shù)據(jù)傳輸和存儲是一種非常好的解決方法。
1 系統(tǒng)硬件設計
系統(tǒng)結構框圖如圖1所示。該存儲裝置由雙絞線接口RJ45口、以太網(wǎng)接口芯片W5100、TI公司的MSP430系列單片機MSP430FG4618、電源模塊、串口讀數(shù)口等組成。計算機通過自身的網(wǎng)卡及網(wǎng)線與該存儲設備相連。RJ45口采用集成網(wǎng)絡變壓器的13F-60FGYDPNW2NL,可以減少硬件平臺的面積,并且使連接更方便。這種網(wǎng)口自帶兩個小燈,可以直觀地顯示雙絞線的連接情況和數(shù)據(jù)的傳輸情況。
1.1 W5100的接口設計
1.1.1 W5100簡介
W5100是一款多功能的單片網(wǎng)絡接口芯片,內部集成有10/100M以太網(wǎng)控制器,主要應用于高集成、高穩(wěn)定、高性能和低成本的嵌入式系統(tǒng)中。使用W5100可以實現(xiàn)沒有操作系統(tǒng)的Internet連接。W5100與IEEE802.310BASE-T和IEEE802.3u 100BASE-TX兼容,內部集成了全硬件的TCP/IP協(xié)議棧、以太網(wǎng)介質傳輸層(MAC)和物理層(PHY)。W5100內部還集成有16 KB存儲器用于數(shù)據(jù)傳輸。使用W5100不需要考慮以太網(wǎng)的控制,只需要進行簡單的端口(Socket)編程。
W5100的主要特性如下:支持自動通信握手(全雙工和半雙工);支持自動MDI/MDIX,自動校正信號極性;支持ADSL連接(支持PPPoE協(xié)議中的PAP/CHAP認證模式);支持4個獨立端口同時運行;不支持IP的分片處理;內部16 KB存儲器用于數(shù)據(jù)發(fā)送/接收緩存;3.3 V工作電壓,I/O口可承受5 V電壓;80腳LQFP小型封裝;支持SPI接口(SPI模式O、3);多功能LED信號輸出(TX、RX、全雙工/半雙工、地址沖突、連接、速度等)。
通信模式可選為自動識別,或者強制設定為10BASE-T/100BASE-TX、HDX/FDX等設置的組合通信方式。芯片還提供了許多接口用于接發(fā)光二極管,包括Tx(發(fā)送)、Rx(接收)、Full/Duplex(全/半雙工)、Collision(沖突)、Link(連接)、Speed(速度)的指示燈,以顯示芯片的當前工作態(tài)。
1.1.2 W5100的接口電路
W5100和單片機的接口如圖2所示。W5100的數(shù)據(jù)線SD0~SD7直接與單片機的通用I/O口相連。讀信號線、寫信號線、片選信號、中斷信號INT分別與單片機的通用I/O引腳相連。W5100上的復位引腳采用低電平復位,至少要保持20 ms的復位時間,此處采用阻容電路對其進行復位。調節(jié)電阻值到10 kΩ,電容值到10μF。
W5100供電電壓為3.3 V和1.8 V,其中1.8 V可由芯片內部線性穩(wěn)壓電源產(chǎn)生,外接濾波電路后供回芯片。W5100通過異步數(shù)據(jù)地址等接口與單片機相接。芯片的以太網(wǎng)物理單元通過接收RXIP/RXIN和發(fā)送TXOP/TXON,將網(wǎng)絡接口RJ45和雙絞線接入到計算機當中。
W5100與單片機的接口方式有3種:直接總線接口模式、間接總線接口模式和SPI模式。其中,直接總線接口模式適用于大數(shù)據(jù)量傳輸?shù)那闆r;SPI模式的接口連線較少,適用于數(shù)據(jù)量不大、傳輸速率相對較低的情況;間接總線接口模式下的數(shù)據(jù)傳輸性能則介于兩者之間。在本系統(tǒng)中選用直接總線接口模式,以最大限度地提高數(shù)據(jù)的傳輸速率。[!--empirenews.page--]
1.2 串口的設計
在實際應用中,很可能出現(xiàn)數(shù)據(jù)已經(jīng)存入但是RJ45口損壞而沒有辦法讀數(shù)的情況。為了防止因RJ45口的損壞而導致整個裝置不可用,可加入串口模塊直接利用串口進行讀數(shù)。
2 系統(tǒng)工作原理
2.1 工作狀態(tài)圖
工作狀態(tài)圖如圖3所示。
2.2 網(wǎng)絡協(xié)議的選擇
W5100本身集成了高度成熟的TCP/IP協(xié)議棧、以太網(wǎng)MAC層、PHY層等,支持TCP、UDP、IPv4、ICMP、ARP、IGMP和PPPoE等協(xié)議。
TCP(Transmission Control Protocol,傳輸控制協(xié)議)是基于連接的協(xié)議,也就是說,在正式收發(fā)數(shù)據(jù)前,必須和對方建立可靠的連接。一個TCP連接必須要經(jīng)過3次“對話”才能建立起來。
UDP是一個無連接協(xié)議,傳輸數(shù)據(jù)之前源端和終端不建立連接,當它想傳送時就簡單地去抓取來自應用程序的數(shù)據(jù),并盡可能快地把它扔到網(wǎng)絡上。雖然UDP是無連接的協(xié)議,它不保證數(shù)據(jù)包一定能夠到達目的主機,但是在本應用中存儲器跟主機通常位于同一內部局域網(wǎng)內,網(wǎng)絡環(huán)境良好,數(shù)據(jù)丟失的可能性很小。另外,UDP容易實現(xiàn),占用資源少,傳輸速度高,可以滿足整個裝置的應用需要。
3 軟件設計
3.1 主程序設計
軟件實現(xiàn)的主程序流程如圖4所示。
3.2 寄存器的設置
通過設置W5100內部的控制寄存器,完全可以像在局域網(wǎng)中配置IP地址一樣簡單地配置設計的系統(tǒng)。
常用寄存器主要包括:模式寄存器(MR)、網(wǎng)關地址寄存器(GWR)、子網(wǎng)掩碼寄存器(SUBR)、物理地址寄存器(SHAR)、源IP地址寄存器(SI-PR)、中斷寄存器(IR)、中斷屏蔽寄存器(IMR)、重試時間寄存器(RTR)、重試次數(shù)寄存器(RCR)、接收數(shù)據(jù)緩沖區(qū)大小寄存器(RMSR)、發(fā)送數(shù)據(jù)緩沖區(qū)大小寄存器(TMSR)等。套接字寄存器平均分為4部分,對4個獨立的網(wǎng)絡通道單獨設置;發(fā)送和接收數(shù)據(jù)緩沖區(qū)用來存放臨時數(shù)據(jù)。通過對這些寄存器的設置可以選擇工作模式及協(xié)議棧,設置裝置自己的網(wǎng)關、IP、子網(wǎng)掩碼、物理地址,還可以對端口進行打開和關閉。
用戶自己定義MAC地址時必須注意,MAC地址的第一個字節(jié)必須為偶數(shù)。第一個字節(jié)為奇數(shù)的MAC地址為多播地址,如果把MAC地址的第一個字節(jié)定義為奇數(shù),可能會引起網(wǎng)絡通信錯誤。
3.3 讀寫程序設計
讀時序如圖5所示,寫時序如圖6所示。
[!--empirenews.page--]
地址線有15位,所以占用單片機的第7、8口,數(shù)據(jù)線占用第10口。按照讀時序編寫的讀控制函數(shù)程序如下:
4 結論
單片機對以太網(wǎng)卡的驅動是非常關鍵的一步。利用以太網(wǎng)控制電器設備,無需另外鋪設線路,降低了成本,是現(xiàn)代控制發(fā)展的一條新出路。該設計方案具有硬件連接簡單、功耗低、體積小、運行穩(wěn)定可靠等優(yōu)點。