基于C8051F310和CS8900A的計算機(jī)網(wǎng)絡(luò)實驗平臺設(shè)計
1. 3 硬件電路分析和設(shè)計
本實驗平臺采用C805lF310作為控制器,而以太網(wǎng)控制芯片CS8900A也是主要的一個工作部件,用于完成對網(wǎng)絡(luò)數(shù)據(jù)的發(fā)送和接收。網(wǎng)絡(luò)隔離變壓器E2023是和芯片CS8900A配套使用的,用于將外部線路與CS8900A隔開,防止干擾,并可實現(xiàn)帶電插拔功能。此外,CS8900A還有兩個接口,一個是用來和用戶模塊連接的RS232串行接口(用MAX232芯片進(jìn)行電平轉(zhuǎn)換),另一個是用來連接網(wǎng)絡(luò)的RJ45接口。
C805lF310通過數(shù)據(jù)線、地址線和控制線與CS8900A相連。它可通過等實現(xiàn)對CS8900A的工作方式的控制和讀寫操作。當(dāng)CS8900A有硬件復(fù)位或軟件復(fù)位時,它將默認(rèn)成8位工作模式。本設(shè)計采用8位模式,這樣,C805lF310的P1口與CS8900A的低8位數(shù)據(jù)線相連。CS8900A與C8051F310之間的數(shù)據(jù)傳輸采用默認(rèn)的I/O模式,因此,讀寫管腳被置高,以關(guān)閉Memory方式。在此模式下,用3根地址線就可以實現(xiàn)對所有寄存器的訪問,只要將管腳SAl、SA2和SA3對應(yīng)接到C8051F310的地址線上即可。實際上,除了為保證缺省偏移地址(0X300H)須將SA8和SA9置高外。其余不用的地址線都接入低電平。本文引用地址:http://www.ex-cimer.com/article/173399.htm
2 實驗平臺的軟件設(shè)計
本系統(tǒng)的軟件部分主要包括計算機(jī)程序、單片機(jī)程序及以太網(wǎng)芯片CS8900A的驅(qū)動程序。
2.1 計算機(jī)程序
計算機(jī)程序主要指的是實驗界面。這是人機(jī)交互的窗口。通過該界面,學(xué)生可以控制并查看發(fā)送和接收流程。這樣,可在發(fā)送數(shù)據(jù)時,輸入要發(fā)送的內(nèi)容,選擇使用的協(xié)議,并控制發(fā)送流程,然后查看并分析各層數(shù)據(jù);而在接收數(shù)據(jù)時,則可通過分析收到的數(shù)據(jù)包來分析使用的協(xié)議。
2.2 CS8900A的驅(qū)動程序設(shè)計
在8位I/0模式下,CS8900A不支持中斷方式。因此,C805lF310采用查詢方式與CS8900A通信。在CS8900A開始工作之前,系統(tǒng)必須進(jìn)行一定的初始化,以確定它的工作模式。在主機(jī)與網(wǎng)絡(luò)交換數(shù)據(jù)的過程中。還需要不斷地對CS8900A的內(nèi)部寄存器進(jìn)行讀寫操作。通常在I/0模式下,MCU可以通過操作CS8900A的幾個主要的寄存器來實現(xiàn)對CS8900A中所有內(nèi)部寄存器進(jìn)行讀寫,這幾個主要的工作寄存器有:
◇LINECTL(0112H):可決定CS8900A的基本配置和物理接口。其初始值為00d3H,可選擇物理接口為10BASE-T,并使能設(shè)備的發(fā)送和接收控制位:
◇RXCTL (0104H):控制CS8900A接收特定的數(shù)據(jù)報。初始值為0d05H,可接收網(wǎng)絡(luò)上的廣播或者目標(biāo)地址同本地物理地址相同的正確數(shù)據(jù)
報:
◇RXCFG(0102H):可控制CS8900A接收特定的數(shù)據(jù)報并引發(fā)中斷??稍O(shè)置為0103H:
◇BUSCT(0116H):控制芯片的I/0接口的一些操作。設(shè)置初始值為8017H,可打開CS8900A的中斷總控制位:
◇ISQ (0120H):ISQ是CS8900A的中斷狀態(tài)寄存器,可在內(nèi)部映射接收中斷狀態(tài)寄存器和發(fā)送中斷狀態(tài)寄存器的內(nèi)容:
◇PORTO(0000H):發(fā)送和接收數(shù)據(jù)時,MCU通過PORT0傳遞數(shù)據(jù);
◇TXCMD(0004H):為發(fā)送控制寄存器,如果寫入數(shù)據(jù)00COH,那么CS8900A將在全部數(shù)據(jù)寫入后開始發(fā)送數(shù)據(jù);
◇TXLENG(0006H):發(fā)送數(shù)據(jù)長度寄存器,發(fā)送數(shù)據(jù)時,首先寫入發(fā)送數(shù)據(jù)長度,然后將數(shù)據(jù)通過PORT0寫入芯片。
評論