[ZLG-MCU] 实现Ethernet功能最简单的方法.

[复制链接]
2986|7
 楼主| zlgmcu 发表于 2007-6-29 10:54 | 显示全部楼层 |阅读模式
LM3S6965其仅需以下步骤即可轻松实现Ethernet功能,比RTL8029/8039,NE2000之类的芯片方便多了.<br /><br />//------------------------------------------------------------------<br />To&nbsp;use&nbsp;the&nbsp;Ethernet&nbsp;Controller,&nbsp;the&nbsp;peripheral&nbsp;must&nbsp;be&nbsp;enabled&nbsp;by&nbsp;setting&nbsp;the&nbsp;ETH&nbsp;bits&nbsp;in&nbsp;the&nbsp;RCGC2&nbsp;register.&nbsp;The&nbsp;following&nbsp;steps&nbsp;can&nbsp;then&nbsp;be&nbsp;used&nbsp;to&nbsp;configure&nbsp;the&nbsp;ethernet&nbsp;controller&nbsp;for&nbsp;basic&nbsp;operation.<br />1.&nbsp;Program&nbsp;the&nbsp;MACDIV&nbsp;register&nbsp;to&nbsp;obtain&nbsp;a&nbsp;2.5&nbsp;MHz&nbsp;clock&nbsp;(or&nbsp;less)&nbsp;on&nbsp;the&nbsp;internal&nbsp;MII.&nbsp;Assuming&nbsp;a&nbsp;20&nbsp;MHz&nbsp;system&nbsp;clock,&nbsp;the&nbsp;MACDIV&nbsp;value&nbsp;would&nbsp;be&nbsp;4.&nbsp;<br />2.&nbsp;Program&nbsp;the&nbsp;MACIA0&nbsp;and&nbsp;MACIA1&nbsp;register&nbsp;for&nbsp;address&nbsp;filtering.<br />3.&nbsp;Program&nbsp;the&nbsp;MACTCTL&nbsp;register&nbsp;for&nbsp;Auto&nbsp;CRC&nbsp;generation,&nbsp;padding,&nbsp;and&nbsp;full&nbsp;duplex&nbsp;operation&nbsp;using&nbsp;a&nbsp;value&nbsp;of&nbsp;0x16.<br />4.&nbsp;Program&nbsp;the&nbsp;MACRCTL&nbsp;register&nbsp;to&nbsp;reject&nbsp;frames&nbsp;with&nbsp;bad&nbsp;FCS&nbsp;using&nbsp;a&nbsp;value&nbsp;of&nbsp;0x08.<br />5.&nbsp;Enable&nbsp;both&nbsp;the&nbsp;Transmitter&nbsp;and&nbsp;Receive&nbsp;by&nbsp;setting&nbsp;the&nbsp;LSB&nbsp;in&nbsp;both&nbsp;the&nbsp;MACTCTL&nbsp;and&nbsp;MACRCTL&nbsp;register.<br />6.&nbsp;To&nbsp;transmit&nbsp;a&nbsp;frame,&nbsp;write&nbsp;the&nbsp;frame&nbsp;into&nbsp;the&nbsp;TX&nbsp;FIFO&nbsp;using&nbsp;the&nbsp;MACDATA&nbsp;register.&nbsp;Then&nbsp;set&nbsp;the&nbsp;NEWTX&nbsp;bit&nbsp;in&nbsp;the&nbsp;MACTR&nbsp;register&nbsp;to&nbsp;initiate&nbsp;the&nbsp;transmit&nbsp;process.&nbsp;When&nbsp;the&nbsp;NEWTX&nbsp;bit&nbsp;has&nbsp;been&nbsp;cleared,&nbsp;the&nbsp;TX&nbsp;FIFO&nbsp;will&nbsp;be&nbsp;available&nbsp;for&nbsp;the&nbsp;next&nbsp;transmit&nbsp;frame.<br />7.&nbsp;To&nbsp;receive&nbsp;a&nbsp;frame,&nbsp;wait&nbsp;for&nbsp;the&nbsp;NPR&nbsp;field&nbsp;in&nbsp;the&nbsp;MACNP&nbsp;register&nbsp;to&nbsp;be&nbsp;non-zero.&nbsp;Then&nbsp;begin&nbsp;reading&nbsp;the&nbsp;frame&nbsp;from&nbsp;the&nbsp;RX&nbsp;FIFO&nbsp;by&nbsp;using&nbsp;the&nbsp;MACDATA&nbsp;register.&nbsp;When&nbsp;the&nbsp;frame&nbsp;(including&nbsp;the&nbsp;FCS&nbsp;field)&nbsp;has&nbsp;been&nbsp;read,&nbsp;the&nbsp;NPR&nbsp;field&nbsp;should&nbsp;decrement&nbsp;by&nbsp;one.&nbsp;When&nbsp;there&nbsp;are&nbsp;no&nbsp;more&nbsp;frames&nbsp;in&nbsp;the&nbsp;RX&nbsp;FIFO,&nbsp;the&nbsp;NPR&nbsp;field&nbsp;will&nbsp;read&nbsp;0.<br />//-----------------------------------------------------------------
mcu123ad 发表于 2007-6-30 15:06 | 显示全部楼层

不错不错..

感觉比LPC236X强多了..LPC236X芯片只带MAC不带PHY,晕死.<br />更晕的是LPC236X出来时,提供的都是工程样片,,BUG一堆.<br /><br /><br />不知LM3S6965价格怎么样?虫子应该不会很多吧.<br />
王紫豪 发表于 2007-7-2 10:20 | 显示全部楼层

能给我一个样片不?

  
 楼主| zlgmcu 发表于 2007-7-2 15:25 | 显示全部楼层

目前我们这边有从美国寄过来的LM3S ethernet demo.

LM3S6965在上面稳定可靠地运行.<br /><br />另关于样片,各位感兴趣请与我们各地的销售联系.<br /><br />
mcu123ad 发表于 2007-7-2 15:54 | 显示全部楼层

广州市新赛格二楼有样片吗?

开发环境有哪个较好?还是用CrossWorks&nbsp;for&nbsp;ARM&nbsp;1.6?
王紫豪 发表于 2007-7-3 01:55 | 显示全部楼层

4楼的管理,给我一个电话把,我在哈尔滨!

  
mcu123ad 发表于 2007-7-3 13:50 | 显示全部楼层

好的,谢谢zlgmcu

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

81

主题

1146

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部