歡迎來到溫州瑞川電子有限公司!
摘要:為了實(shí)現(xiàn)嵌入式以太網(wǎng)通信,使用以太網(wǎng)控制芯片DM9000A和單片機(jī)MSP430F5529,組成了嵌入式以太網(wǎng)接口,實(shí)現(xiàn)了網(wǎng)絡(luò)通信,其中單片機(jī)完成自身以及以太網(wǎng)控制芯片的初始化、數(shù)據(jù)的封包和收發(fā)控制,而DM9000A芯片負(fù)責(zé)網(wǎng)絡(luò)數(shù)據(jù)的發(fā)送和接收。詳細(xì)介紹了系統(tǒng)的硬件構(gòu)成框圖和硬件設(shè)計(jì),給出了實(shí)際的接口電路,重點(diǎn)描述了單片機(jī)和DM9000A芯片之間的軟件接口程序設(shè)計(jì),并給出了網(wǎng)絡(luò)通信協(xié)議的應(yīng)用方法。實(shí)驗(yàn)結(jié)果表明,該設(shè)計(jì)體積小、接口簡單、速度快、功耗低,具有很高的推廣價(jià)值。
關(guān)鍵詞:以太網(wǎng)通信;單片機(jī);DM9000A;MSP430F5529
隨著嵌入式技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展及以太網(wǎng)的廣泛應(yīng)用,以太網(wǎng)接口在嵌入式系統(tǒng)中的應(yīng)用越來越廣泛,網(wǎng)絡(luò)化成為未來設(shè)備發(fā)展的一個(gè)重要方向,各種嵌入式設(shè)備已經(jīng)成功滲透到各個(gè)領(lǐng)域,并逐漸朝著網(wǎng)絡(luò)化、智能化的方向發(fā)展。以太網(wǎng)以其在實(shí)時(shí)性、可靠性、標(biāo)準(zhǔn)化等方面的卓越性能及其便于安裝、維護(hù)簡單、不受通信距離限制等優(yōu)點(diǎn),已發(fā)展成為一種成熟的技術(shù)。本文以MSP430F5529單片機(jī)和以太網(wǎng)控制器DM9000A為硬件組成,通過軟件編程,和上位機(jī)實(shí)現(xiàn)了UDP協(xié)議的網(wǎng)絡(luò)通信。
1 硬件設(shè)計(jì)
DM9000A是DAVICOM公司推出的一款高速以太網(wǎng)接口芯片,是完全集成的和符合成本效益單芯片快速以太網(wǎng)MAC控制器,其被設(shè)計(jì)為低功耗、高處理性能,而其操作又非常簡單,具有通用的處理器接口,可以與多種處理器直接連接,數(shù)據(jù)總線寬度可設(shè)置為8 b和16 b,支持3.3 V和5 V電源模式。
MSP430F5529單片機(jī)是TI公司的一款超低功耗單片機(jī)。該芯片采用低功耗設(shè)計(jì),具有五種低功耗模式,從低功耗模式到喚醒模式的轉(zhuǎn)換時(shí)間小于6μs,其獨(dú)特的時(shí)鐘設(shè)計(jì),每個(gè)時(shí)鐘都可以打開或關(guān)閉,從而實(shí)現(xiàn)對整體功耗的控制。供電電壓范圍為1.8~3.6 V,具有強(qiáng)大的中斷功能,集成了較豐富的片內(nèi)外設(shè)和較多的I/O端口,提高了對外圍設(shè)備的開發(fā)能力。
在本設(shè)計(jì)中,單片機(jī)MSP430F5529控制整個(gè)系統(tǒng)的運(yùn)行,以太網(wǎng)控制器DM9000A實(shí)現(xiàn)網(wǎng)絡(luò)傳輸?shù)牡蛯庸δ?。單片機(jī)完成對DM9000A的初始化,并將需要發(fā)送的數(shù)據(jù)按協(xié)議要求進(jìn)行以太網(wǎng)幀封裝,發(fā)送給DM9000A;以中斷的方式接收網(wǎng)絡(luò)數(shù)據(jù),并對接收到的數(shù)據(jù)進(jìn)行解析,對有用數(shù)據(jù)進(jìn)行處理。DM9000A接收從單片機(jī)發(fā)送來的數(shù)據(jù),將數(shù)據(jù)通過RJ45傳送到遠(yuǎn)程主機(jī),并通過RJ45接收從遠(yuǎn)程主機(jī)發(fā)送來的數(shù)據(jù),將數(shù)據(jù)初步解析后保存在緩存中,然后向單片機(jī)發(fā)出中斷信號,由單片機(jī)來完成對數(shù)據(jù)的讀取。系統(tǒng)的硬件設(shè)計(jì)框圖如圖1所示。
系統(tǒng)中單片機(jī)和以太網(wǎng)控制器都采用3.3 V來供電。單片機(jī)作為系統(tǒng)的主控芯片,和DM9000A之間采用8 b模式(將EECS腳接一個(gè)10 kΩ的上拉電阻),使用P6端口和DM9000A的數(shù)據(jù)端口相連接,傳輸數(shù)據(jù)或地址數(shù)據(jù),無需電平轉(zhuǎn)換;P1.0腳和CMD相連,為高時(shí)為數(shù)據(jù)讀/寫操作,為低時(shí)為地址讀/寫操作;P1.1腳和INT腳相連,作為單片機(jī)的數(shù)據(jù)讀取中斷信號;P1.2,P1.3腳分別和IOR腳、IOW腳相連,用于控制讀或?qū)懖僮?,低電平有效,即在信號的上升沿進(jìn)行讀(IOR)寫(IOW)操作;P1.4腳和CS腳相連,作為DM9000A的片選信號。
[!--empirenews.page--]
2 DM9000A芯片操作
DM9000A的讀/寫操作與一般的異步存儲器相同,圖2和圖3分別顯示了DM9000A的讀/寫時(shí)序。