單芯片以太網(wǎng)瘦服務(wù)器的實(shí)現(xiàn)
摘要:mc9s12ne64是內(nèi)置以太網(wǎng)mac層和phy層的16位網(wǎng)絡(luò)單片機(jī)。本文介紹如何在開(kāi)發(fā)之初,為ne64建立硬件開(kāi)發(fā)平臺(tái)和軟件調(diào)試平臺(tái),以及如何利用開(kāi)放源代碼,在ne64上實(shí)現(xiàn)單芯片的以太網(wǎng)服務(wù)器。
關(guān)鍵詞:單片機(jī);嵌入式;以太網(wǎng);服務(wù)器
引言
隨著網(wǎng)絡(luò)應(yīng)用的推廣,網(wǎng)絡(luò)的概念逐漸由pc向工控模塊上轉(zhuǎn)移,如何充分利用網(wǎng)絡(luò)協(xié)議,進(jìn)行數(shù)據(jù)采集或者遠(yuǎn)程控制越來(lái)越受到了行業(yè)的關(guān)注。
進(jìn)行以太網(wǎng)服務(wù)器的開(kāi)發(fā)時(shí),一般的做法是mcu或者dsp加上網(wǎng)卡芯片。這樣做可以根據(jù)設(shè)計(jì)應(yīng)用的領(lǐng)域,選擇速度資源合適的控制芯片,和外擴(kuò)芯片配合,達(dá)到功能和成本的最優(yōu)化。如果控制芯片中能夠集成以太網(wǎng)的mac層和phy層,以此開(kāi)發(fā)的系統(tǒng)當(dāng)然會(huì)在靈活性方面更勝一籌。freescale公司在最近推出的網(wǎng)絡(luò)芯片mc9s12ne64便是在集成度方面的一次開(kāi)拓性嘗試。
mc9s12ne64單片機(jī)特點(diǎn)
mc9s12ne64是freescale公司在2004年推出的一款s12系列的網(wǎng)絡(luò)單片機(jī)。它內(nèi)部集成了以太網(wǎng)控制模塊和以太網(wǎng)物理層驅(qū)動(dòng)模塊,兼容ieee 802.3標(biāo)準(zhǔn)。和常用的網(wǎng)卡芯片一樣,ne64的工作模式能夠設(shè)定為10mbps/100mbps全雙工/半雙工,并且擁有自適應(yīng)的功能,可以滿足不同物理環(huán)境的要求。
ne64芯片與一般網(wǎng)卡芯片不同的是它的以太網(wǎng)緩沖區(qū)的設(shè)計(jì),一般網(wǎng)卡芯片使用fifo作為緩沖區(qū),這種設(shè)計(jì)可以最大限度的發(fā)揮緩沖區(qū)的作用。ne64內(nèi)部則是使用3塊ram作為緩沖區(qū),兩塊用于接收,一塊用于發(fā)送,而且ram大小可以用戶設(shè)定。因?yàn)橛糜诳刂?,以太網(wǎng)數(shù)據(jù)包一般少用到1.5kb的最大傳輸,所以這種用戶設(shè)定大小的緩沖ram帶來(lái)了應(yīng)用上的靈活性,而節(jié)約下來(lái)的ram也可以被用戶程序使用。
ne64的cpu是速度為50mhz的明星內(nèi)核(star core),總線時(shí)鐘可以達(dá)到25mhz,此外它還有8kb的片內(nèi)ram和64kb的片內(nèi)flash,因此只是一塊ne64芯片,就可以在眾多中低端網(wǎng)絡(luò)應(yīng)用領(lǐng)域取代以往的外擴(kuò)芯片設(shè)計(jì)模式。
除了以上資源以外,mc9s12ne64內(nèi)部還集成8路10位adc,各種串口(2個(gè)sci、1個(gè)spi、1個(gè)i2c),以及一些單片機(jī)常用模塊,如定時(shí)器、振蕩器等,功能足夠強(qiáng)大。
ne64的封裝形式有112引腳lqfp和80引腳qfp兩種,112引腳的封裝形式引出了總線擴(kuò)展用的幾組i/o,便于總線的擴(kuò)展。
在線開(kāi)發(fā)方法
對(duì)于新型單片機(jī),最重要的是要熟知它的特性,建立開(kāi)發(fā)環(huán)境,然后著手開(kāi)發(fā)。筆者制作了基于ne64的硬件開(kāi)發(fā)平臺(tái),同時(shí)繼承實(shí)驗(yàn)室以前的積累,編寫(xiě)了片上調(diào)試監(jiān)控程序,用于軟件調(diào)試。以此為開(kāi)發(fā)環(huán)境,實(shí)現(xiàn)了一個(gè)以太網(wǎng)服務(wù)器,用于以太網(wǎng)數(shù)據(jù)和串口數(shù)據(jù)的轉(zhuǎn)換,詳細(xì)介紹如下。
硬件開(kāi)發(fā)
評(píng)論