AM335X工控应用网络扩展技术详解-DM9000C
1, 工业多以太网网络应用
工控板在工业领域应用了10多年,应用领域广,技术成熟。但是局限性也越来越突出。越来越多的设备要求低功耗,无风扇,无散热器,更宽的温度范围,更小的体积。这给处理能力越来越强的ARM处理器在工业领域带来无限应用空间。
以太网是通讯应用最广泛的通讯方式,其中在铁路,电力领域需要设备拥有网络数量高达6个之多。这在现有处理器上是无法实现的。唯一的办法是通过总线扩展。
本文是成都莱得科技基于AM335X的网络扩展技术文章,总结了AM335X的网络实现的硬件和软件以及设计中遇到的问题和解决办法。
2, AM335X的网络资源
处理器框图:
板卡框图:
3, 网络扩展框图
DM9000与AM335X通过总线连接,15位双线总线,
采用工业级DM9000CI
4, DM9000C与DM9000A的差别
DM9000AEP和DM9000CEP在管脚定义上是完全PIN TO PIN,都是LQFP48PIN,目前因为行业竞争巨大,低成本的芯片层出不穷,所以DAVICOM在近几年推出低成本的10/100M自适应的DM9000CEP。价格相对来说,DM9000CEP会低一些。
DM9000AEP是采用0.25um的工艺制作,DM9000CEP是采用0.18um,更小。
DM9000AEP的PIN1,2,9是输出2.5V,DM9000CEP是输出1.8V。此AVDD_PW是连接到网络变压器的CT,然后通过RX,TX的4根线,回流到网络芯片上。也就是说这个输出电压的降低,并不影响整个电路。
DM9000CEP的驱动,跟DM9000AEP有一点区别,是在PHY启动部分,DM9000CEP需要时间长一点。所以在更改驱动的时候,主要把延时的时间设置的长一点。另外DM9000C的总线驱动能力差些,在总线上连接多个DM9000或者连接了多个其它外设会让默认的总线驱动能力不够。
5, 问题分析及解决
问题1:
DM9000,打印信息中有DM9000,但是不能ping通
使用的DM9000C,更换为DM9000A后能ping通,网络工作正常。
原因,DM9000C总线延迟最大19ns,IOR无效到SD无效时间最大6ns
而DM9000A的总线延迟最大3ns,IOR无效到SD无效最大3ns
所以DM9000C的响应速度要慢得多,在驱动中在访问操作中需要做适当的延迟。
问题2:
总线上同时做两个DM9000C网络扩展,一个串口扩展芯片SC16C654B。
可以识别DM9000芯片,也可以link,同时CPU可以发正确的包出去,但是CPU通过网络接收的包不正确。在数据位有一些位始终不能为高电平。但是换为DM9000A芯片是网络正常
原因:
总线上挂3个及3个以上控制器时,需要总线的驱动能力增强。DM9000A的默认总线驱动能力为8mA,而DM9000C默认总线驱动能力为2mA。如果驱动3个及3个以上外设就会出现问题。DM9000在总线驱动能力上是可以设置的,所以这个问题通过设置总线驱动能力来解决。
寄存器:Processor Bus Control Register(38H),将DM9000C的此寄存器bit6,bit5改为11,总线驱动能力为8mA,即可解决这个问题。
注:文章版权属于成都莱得科技有限公司所有,转载请注明出处,保留此行文字。