|
黑馬培訓(xùn)的嵌入式_基于S3C4510B的串口網(wǎng)絡(luò)服務(wù)器最小系統(tǒng),
1 引言
在嵌入式系統(tǒng)時代,所有的設(shè)備都要網(wǎng)絡(luò)化,這是未來科技發(fā)展的趨勢。而在自動化領(lǐng)域有成千上萬的傳感器,控制器及其他設(shè)備。而他們之間最常用的通信接口就是 RS-232 串口。而隨著通信技術(shù)的進步,這種簡單的通信方法越來越不能適應(yīng)需要。而高度成熟的網(wǎng)絡(luò)技術(shù)為這一問題的解決提供了一種思路。在實際工作中,筆者為了通過Internet讀取只有RS-232串口的傳感器中數(shù)據(jù),基于S3C4510B設(shè)計了一個串口網(wǎng)絡(luò)服務(wù)器的最小系統(tǒng)。
2 硬件設(shè)計
本系統(tǒng)微處理器采用三星公司的硬件S3C4510B,網(wǎng)口控制芯片采用Realtek公司的RTL8201,串口控制芯片采用常見的MAX232.主要芯片都是高度集成,接線簡潔,原理清晰。體系結(jié)構(gòu)如圖1所示。
2.1 S3C4510B簡介
S3C4510CPU芯片是samsung公司arm7TDMI系列中的一個型號,其工作頻率為50MHZ,片內(nèi)集成了豐富的通用模塊,含有支持10M/100M自適應(yīng)的以太網(wǎng)控制器,可以直接通過PHY芯片引出以太網(wǎng)接口。已太網(wǎng)PHY芯片選用Intel公司的lxt972a芯片,它具有10M、100M自適應(yīng)收發(fā)功能,支持全雙工操作,經(jīng)過網(wǎng)絡(luò)變壓器YL18-2050S連接到RJ45,進行收發(fā)數(shù)據(jù)包功能。此外,該系統(tǒng)還使用聊2MBFlash,16MBSDRAM和512KBSRAM作為存儲器。
2.2 FLASH存儲器接口電路
FLASH閃存閃存的英文名稱是“FlashMemory“,一般簡稱為“Flash“,它屬于內(nèi)存器件的一種。不過閃存的物理特性與常見的內(nèi)存有根本性的差異:目前各類DDR、SDRAM或者RDRAM都屬于揮發(fā)性內(nèi)存,只要停止電流供應(yīng)內(nèi)存中的數(shù)據(jù)便無法保持,因此每次電腦開機都需要把數(shù)據(jù)重新載入內(nèi)存;閃存則是一種不揮發(fā)性(Non-VolaTIle)內(nèi)存,在沒有電流供應(yīng)的條件下也能夠長久地保持數(shù)據(jù),其存儲特性相當(dāng)于硬盤,這項特性正是閃存得以成為各類便攜型數(shù)字設(shè)備的存儲介質(zhì)的基礎(chǔ)。嵌入式人越來越少, 重郵嵌入式系統(tǒng), 青島歌爾嵌入式研發(fā), 嵌入式面盆發(fā)霉, 嵌入式處理器的現(xiàn)狀, 嵌入式軟件組件產(chǎn)品, 嵌入式輻射檢測儀, 嵌入式我要自學(xué)網(wǎng), 嵌入式數(shù)字閃爍, 潤譜嵌入式電話錄音, 嵌入式嫁接法, 屬于嵌入式軟件嗎, 三級嵌入式激活碼, 浙大嵌入式培訓(xùn)中心, 野火嵌入式開發(fā), 嵌入式人機界面編程, 嵌入式崗位細分, 嵌入式初始化代碼, 嵌入式不銹鋼格柵, 昆侖通態(tài)嵌入式幫助, 集成(嵌入式)軟件, 嵌入式xp系統(tǒng)補丁,
本系統(tǒng)中采用的Flash存儲器日本富士公司生產(chǎn)的MBM29F016.具有16M位(2M字節(jié))、單一5V供電的閃速存儲器。2M字節(jié)的數(shù)據(jù)區(qū)被分為32個64k字節(jié)的區(qū)段,因而具有靈活擦除功能。
Flash在本系統(tǒng)中用來存放uClinux操作系統(tǒng)程序代碼。系統(tǒng)上電或復(fù)位后從此處獲取指令并開始執(zhí)行。因此S3C4510B的nRCS<0>接至MBM29F016的CE#端。RES#端接系統(tǒng)服務(wù)信號。OE#接S3C4510B的nOE,
WE#端接S3C4510B的nWBE<0>.地址總線[a19~A0]與S3C4510B的地址總線[ADDR19~ADDR0]相連。16位數(shù)據(jù)總線[DQ15~DQ0]與S3C4510B的低16位數(shù)據(jù)總線[XDATA15~XDATA0].
2.3 SDRAM接口電路
SDRAM:SynchronousDynamicRandomAccessMemory,同步動態(tài)隨機存儲器,同步是指Memory工作需要同步時鐘,內(nèi)部的命令的發(fā)送與數(shù)據(jù)的傳輸都以它為基準(zhǔn);動態(tài)是指存儲陣列需要不斷的刷新來保證數(shù)據(jù)不丟失;隨機是指數(shù)據(jù)不是線性依次存儲,而是自由指定地址進行數(shù)據(jù)讀寫。SDRAM從發(fā)展到現(xiàn)在已經(jīng)經(jīng)歷了四代,分別是:第一代SDRSDRAM,第二代DDRSDRAM,第三代DDR2SDRAM,第四代DDR3SDRAM.(顯卡上的DDR已經(jīng)發(fā)展到DDR5)
與Flash存儲器相比較,SDRAM不具有掉電保持數(shù)據(jù)的特性,但其存取速度大大高于Flash存儲器,且具有讀/寫的屬性。因此,SDRAM在系統(tǒng)中主要用作程序的運行空間、數(shù)據(jù)及堆棧區(qū)。當(dāng)系統(tǒng)啟動時,CPU首先從復(fù)位地址0x0處讀取啟動代碼,在完成系統(tǒng)的初始化后,程序代碼一般應(yīng)調(diào)入SDRAM中運行,以提供系統(tǒng)的運行速度。同時,系統(tǒng)及用戶堆棧、運行數(shù)據(jù)也都存放在SDRAM中。與Flash存儲器相比,SDRAM的控制信號較多,其連接電路也相對復(fù)雜。
本系統(tǒng)采用兩片HY57V641620并聯(lián)構(gòu)成32位的SDRAM存儲系統(tǒng),其中一片為高16位,另一片為低16位。兩片HY57V641620的CLK端接的SDCLK端。兩片HY57V641620的CLE端接S3C4510B CLE端。兩片HY57V641620的A11~A0接S3C4510B ADDR<11>~ADDR<0>;高16位片的DQ15~DQ0接S3C4510B 的數(shù)據(jù)總線的高16位XDATA<31>~XDATA<16>;低16位片的DQ15~DQ0接S3C4510B的數(shù)據(jù)總線的低16位XDATA<15>~XDATA<0>.
2.4 RTL8201接口電路
RTL8201是Realtek公司生產(chǎn)的一種全雙工以太網(wǎng)控制器,由于其優(yōu)良的性能、廉價的價格,使其在市場上10MbpsiISA總線網(wǎng)卡中占有相當(dāng)?shù)谋壤。按?shù)據(jù)鏈路的不同,可以將RTL8201內(nèi)部劃分為遠程DMA(remote,DMA)通道和本地DMA(local DMA)通道兩部分。本地DMA完成控制器與網(wǎng)線的數(shù)據(jù)交換,主處理器收發(fā)數(shù)據(jù)只需對遠程DMA操作。當(dāng)主處理器要向網(wǎng)上發(fā)送數(shù)據(jù)時,先將一幀數(shù)據(jù)通過遠程DMA通道送到RTL8201中的發(fā)送緩存區(qū),然后發(fā)出傳送數(shù)據(jù)命令。RTL8201在完成了上一幀的發(fā)送后,再完成此幀的發(fā)送。RTL8201接收到的數(shù)據(jù)通過MAC比較,CRC校驗后,由FIFO存到接收緩沖區(qū),收滿一幀后,以中斷的方式通知主處理器。
由于S3C4510B片內(nèi)已有帶MII接口的MAC控制器,而RTL8201也提供了MII接口,各種信號的定義也很明確,因此RTL8201與S3C4510B的連接也比較簡單。直接將兩者的同名端連接即可。
|
|