英文全稱:Network Terminal Interface Program
中文全稱:網路終端接口程式
基本介紹
NTIP是網路終端接口程式的意思。該程式對 網路終端接口進行啟動控制, 攔截控制,是驅動接口正常運轉的小軟體。網路終端接口採用的啟動程式為Nios開發工具包中自帶的監控程式GermMonitor,它的代碼短小,是一個小型的shell程式,配置在 FPGA的片上 ROM內,可以在作業系統運行之前啟動系統。在配置硬體的時候,設定Nios的啟動地址為片上ROM的地址,系統上電復位時將從該地址運行。也可以採用別的 啟動方式,比如可以直接從FlashRAM驅動。對硬體的初始化檢測、硬體外圍設備工作狀態的設定都可以在啟動程式中進行。執行初始化之後,GermMonitor把放置在FlashRAM中的應用程式載入到 SDRAM中,然後跳轉到應用程式,即可按設計要求運行乙太網網路終端的各項功能。基本功能
設定乙太網接口晶片CS8900A工作於I/O模式。通過對晶片各暫存器的操作可設定網路終端接口電路的功能和讀取狀態信息。CS8900A的主要暫存器有:
LineCTL:決定CS8900A的基本配置和物理接口,設定初始值為00D3H,選擇物理接口為10BASE-T。
RxCTL:控制CS8900A接收特定數據報,設定RxTCL的初始值為0D05H,接收網路上的廣播或目標地址同本地物理地址相同的正確數據報。
RxCFG:控制CS8900A接收到特定數據報後會引發接收中斷,RxCFG可設定為0103H,收到正確數據報時產生接收中斷。
BusCTL:控制晶片的I/O接口操作。設定初始值為8017H,打開CS8900A的中斷總控制位。
ISQ:中斷狀態暫存器。內部映射接收狀態暫存器和傳送中斷暫存器內容。
Port0:傳送和接收數據時,CPU通過Port0傳輸數據。
TxCMD:傳送控制暫存器,如果寫入數據00C0H,那么網卡晶片在全部數據寫入後開始傳送數據。
TxLength:傳送數據長度暫存器,傳送數據時,首先寫入傳送數據長度,然後將數據通過Port0寫入晶片。
系統上電時,首先對CS8900A進行初始化,寫暫存器LineCTL、RxCTL、RxCFG、BusCTL。傳送數據時,寫控制暫存器TxCMD,並將傳送數據長度寫入TxLength,然後將數據依次寫入Port0口,數據就可以傳送出去了。接收到數據時CS8900A將觸發中斷,在其中斷處理程式中可以接收數據並處理。