要开题了,今天老板给了个题目,基于WindowsCE手持式IPTV测试仪88e1111PHY芯片驱动程序的设计与实现:
平时我们做驱动一般都是和ARM直连的或者是arm的外扩,但是在这个项目里面,这块PHY芯片和FPGA相连,然后FPGA和ARM通过爽口RAM相连,请问ARM应该怎么去做这款芯片的驱动呢?
我问老板,他说从上层做?继续问,从上层怎么做?得到的答案自己回去查去,(再问的话肯定被羞辱,老板已经变脸了),所以小弟在这里发个帖子向各位大侠问一下!因为以前真的没有遇见这方面的问题!
希望给点思路?
------解决方案--------------------------------------------------------
1、楼主可以先弄明白88e1111PHY芯片 与FPGA的硬件连接,用FPGA驱动以太网的PHY,具体是怎么实现的?
实现到TCP/IP协议的哪一层?FPGA具体与这颗PHY实现了那些功能?
2、在弄明白第一条的基础上,弄明白你那双口RAM里面储存以太网的什么数据?被FPGA处理到什么程度?
3、对于ARM而言,想处理双口RAM里面的数据,其实和处理一般的SDRAM或DDR里面的数据 是一样。
------解决方案--------------------------------------------------------
FPGA要看它的具体作用了,WINCE驱动那边要把PHY、FPGA、RAM三个看成一个整体,要了解最终在RAM端是如何访问PHY的,这就避免不了要清楚FPGA与PHY之间的关系。
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
如果FPGA的代码也是你做。
那么最简单的办法,就是把FPGA当成ARM的一个GPIO扩展器,
采用FPGA直通的办法.
FPGA将从PHY那里接受到的数据,不做任何处理直接送到双口RAM,并通讯ARM区双口RAM读取。
ARM发送数据时,完全把数据放到双口RAM,并通知FPGA去读取,并传给PHY。
这样就要求所有TCP/IP协议的处理都由你ARM的软件实现。
这样就基本变成ARM直挂PHY, 此时你也可以把FPGA当成245,总线驱动,而且还不占用ARM的GPIO。
就只需要几个通讯与控制的GPIO
另外协议需要你的OS支持。
------解决方案--------------------------------------------------------
把FPGA当做一个芯片即可。呵呵
------解决方案--------------------------------------------------------
把FPGA当成一块芯片,之后以网络驱动的形式去驱动FPGA
------解决方案--------------------------------------------------------
做个关注,难道模拟出对应的时序应该就可以访问.
------解决方案--------------------------------------------------------
可以在FPGA中编写一个简单的驱动程序,然后根据ARM需要,提供必要的数据。最终FPGA对ARM提供一系列寄存器地址,然后ARM就可以像直接操作PHY一样。现在主要是对ARM提供什么样的寄存器。
------解决方案--------------------------------------------------------
我曾经搞过FPGA,哈哈哈哈,但是用的很挫。悲剧。
------解决方案--------------------------------------------------------
我们是用cpld的,其实都差不多
------解决方案--------------------------------------------------------
“但是现在开题了,老师带的学生多,没有题目了,就给我指定了这个!”
托雷斯在读研?