TMS320LF2407與LAN91C111型嵌入式以太網(wǎng)接口電路的實(shí)現
TX EMPTY INT:當TX FIFO為空時(shí)置to;
AUTO RELEASE:如果置為1,發(fā)送包成功后,packet number不寫(xiě)到TX completion FIFO中,而且它所使用的存儲空間被自動(dòng)釋放。

(7)使用“每發(fā)送一個(gè)包產(chǎn)生一個(gè)中斷”方案時(shí),AUTO RELEASE=0,該方案的流程如上文所述。使用“每發(fā)送一個(gè)序列的包產(chǎn)生一個(gè)中斷”方案時(shí)允許TX EMPTY INT和TX INT,AUTORELEASE=1,當發(fā)送完FIFO中的最后一個(gè)包后,產(chǎn)生TX EMPTY INT中斷。若出現嚴重的發(fā)送錯誤,則產(chǎn)生TX INT中斷,同時(shí)將發(fā)送失敗的包的packet number保存到FIFO Ports寄存器,這樣DSP就可以知道發(fā)送過(guò)程停止了。這種方案可以減少DSP的負擔,而且存儲空間的釋放也更迅速。當AUTO RELEASE=1時(shí),DSP不能得到成功發(fā)送包的packet number。
4.2.3 接收數據包流程
(1)DSP設置receive control寄存器中的RXEN位,允許接收包。
(2)含有正確地址的包被接收到,從MMU請求存儲空間,并分派一個(gè)packet number,內部的DMA邏輯產(chǎn)生連續的地址,并將接收到的字寫(xiě)到memory中,如果超界,包被丟棄,存儲空間被釋放。當檢測到包的結束,Status Word被寫(xiě)到接收包的最前面,byte count寫(xiě)到第二個(gè)字。如果CRC校驗正確,packet number被寫(xiě)到RX FIFO,由于RX FIFO非空時(shí),因此將產(chǎn)生RCV INT中斷;如果RCR校驗不正確,則存儲空間被釋放,而且不產(chǎn)生中斷。
(3)DSP接收到中斷后開(kāi)始執行中斷處理程序,首先讀入Interrupt Status寄存器,如果產(chǎn)生接收中斷(RCV INT位為1),則可從FIFO ports寄存器得到接收包的packet number,而且可從data register將接收包傳送到DSP的內存或外存中。當處理結束,DSP向處理器發(fā)送REMOVE AND RELEASE FROM TOP OF RX命令(即設置寄存器MMUCOM為0x0060)以釋放使用的存儲空間和packet number。
5 結束語(yǔ)
該系統能夠正確地接入快速以太網(wǎng),具備100/10Mbit/s、全雙工/半雙工自適應等多種功能,符合IEEE802.3/802.3μ-100Base-TX/1Obase-T規范,其嵌入式以太網(wǎng)接口支持RJ45和以太網(wǎng)的連接,可以通過(guò)以太網(wǎng)接入Internet,從而實(shí)現從Internet上監控嵌入式設備。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)DIY機械鍵盤(pán)相關(guān)社區:機械鍵盤(pán)DIY
評論