9326|23

67

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

WINCE芯片的驱动怎么做? [复制链接]

要开题了,今天老板给了个题目,基于WindowsCE手持式IPTV测试仪88e1111PHY芯片驱动程序的设计与实现:

平时我们做驱动一般都是和ARM直连的或者是arm的外扩,但是在这个项目里面,这块PHY芯片和FPGA相连,然后FPGA和ARM通过爽口RAM相连,请问ARM应该怎么去做这款芯片的驱动呢?
我问老板,他说从上层做?继续问,从上层怎么做?得到的答案自己回去查去,(再问的话肯定被羞辱,老板已经变脸了),所以小弟在这里发个帖子向各位大侠问一下!因为以前真的没有遇见这方面的问题!
希望给点思路?
此帖出自WindowsCE论坛

最新回复

悲剧了!被扔在非技术区了!  详情 回复 发表于 2010-3-21 11:15
点赞 关注
 

回复
举报

65

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
然后FPGA和ARM通过口RAM相连?是双口RAM?

分析一下FPGA与PHY是怎么通信的,再看看FPGA和ARM通过双口RAM访问的规则,其实和CPU直接访问PHY芯片比只是多了些中间过程,感觉写个驱动就行了,没必要在上层做。
此帖出自WindowsCE论坛
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用楼主 xilidecai 的回复:
要开题了,今天老板给了个题目,基于WindowsCE手持式IPTV测试仪88e1111PHY芯片驱动程序的设计与实现:

平时我们做驱动一般都是和ARM直连的或者是arm的外扩,但是在这个项目里面,这块PHY芯片和FPGA相连,然后FPGA和ARM通过爽口RAM相连,请问ARM应该怎么去做这款芯片的驱动呢?


双口!晕了!这个搜狗拼音估计也被赵本山给忽悠了!呵呵~~
此帖出自WindowsCE论坛
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

4
 
引用 1 楼 veabol 的回复:

然后FPGA和ARM通过爽口RAM相连?是双口RAM?

分析一下FPGA与PHY是怎么通信的,再看看FPGA和ARM通过双口RAM访问的规则,其实和CPU直接访问PHY芯片比只是多了些中间过程,感觉写个驱动就行了,没必要在上层做。

谢谢韦伯兄!原来方案中打算PHY芯片是由FPGA做一个IP软核来实现PHY芯片的驱动,但是现在开题了,老师带的学生多,没有题目了,就给我指定了这个!
写个驱动?还是按照以前外接芯片那种方式来写嘛?我本来想把FPGA何PHY堪称一个整体,可是在涉及到驱动编写的时候,FPGA算是什么?只是一个中介?还是直接忽略?
此帖出自WindowsCE论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

5
 
1、楼主可以先弄明白88e1111PHY芯片 与FPGA的硬件连接,用FPGA驱动以太网的PHY,具体是怎么实现的?
实现到TCP/IP协议的哪一层?FPGA具体与这颗PHY实现了那些功能?
2、在弄明白第一条的基础上,弄明白你那双口RAM里面储存以太网的什么数据?被FPGA处理到什么程度?
3、对于ARM而言,想处理双口RAM里面的数据,其实和处理一般的SDRAM或DDR里面的数据 是一样。

此帖出自WindowsCE论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

6
 
FPGA要看它的具体作用了,WINCE驱动那边要把PHY、FPGA、RAM三个看成一个整体,要了解最终在RAM端是如何访问PHY的,这就避免不了要清楚FPGA与PHY之间的关系。
此帖出自WindowsCE论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

7
 
引用楼主 xilidecai 的回复:
要开题了,今天老板给了个题目,基于WindowsCE手持式IPTV测试仪88e1111PHY芯片驱动程序的设计与实现:

平时我们做驱动一般都是和ARM直连的或者是arm的外扩,但是在这个项目里面,这块PHY芯片和FPGA相连,然后FPGA和ARM通过爽口RAM相连,请问ARM应该怎么去做这款芯片的驱动呢?
我问老板,他说从上层做?继续问,从上层怎么做?得到的答案自己回去查去,(再问的话肯定……


楼主这种架构 在很多ARM9以及ARM11的官方开发板都被采用。
一般经典的开发板,都会带一片逻辑,FPGA(极少有用CPLD)来做以太网的驱动。
这样对于ARM而言,它的工作压力就减小很多。

对于楼主这种架构,你的ARM只需要驱动那片双口RAM就OK了。
具体和SDRAM差不多。

但你需要更加关注那个做FPGA代码的同事或同学 具体实现那些工作,你们之间得接口好。
ARM与FPGA之间的相关通讯与控制好做好。
此帖出自WindowsCE论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

8
 
如果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支持。
此帖出自WindowsCE论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

9
 
把FPGA当做一个芯片即可。呵呵
此帖出自WindowsCE论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

10
 
把FPGA当成一块芯片,之后以网络驱动的形式去驱动FPGA
此帖出自WindowsCE论坛
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

11
 
做个关注,难道模拟出对应的时序应该就可以访问.
此帖出自WindowsCE论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

12
 
可以在FPGA中编写一个简单的驱动程序,然后根据ARM需要,提供必要的数据。最终FPGA对ARM提供一系列寄存器地址,然后ARM就可以像直接操作PHY一样。现在主要是对ARM提供什么样的寄存器。
此帖出自WindowsCE论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

13
 
感谢各位仁兄的回答!吃过饭下午一看居然有这么多的回复!呵呵~~
情况是这个样子的,我们做IPTV测试仪,前端有个PHY芯片与FPGA相连,主要用于实现以太网口采集电信过来的视频流,FPGA用于解析这些视频流的参数,AMR则是相当于主控模块,与FPGA通过双口RAM进行命令和数据的交互!原计划是FPGA做这块PHY芯片的驱动,但是现在出于开题的需要,让我在WINCE环境下用ARM来做这个芯片的驱动。如果数据提取这些还好说点,方案里面是采用中断的方式实现数据指标的收发!
现在有两个问题:
1.归根到底,ARM是主控,如果PHY芯片让ARM来实现其驱动,FPGA只负责视频流的参数提取,这样子应该怎么去驱动呢?是不是还要考虑挂接总线,或者总线驱动之类的呢?感觉越想越复杂哦!呵呵~~
2.就算直接相连或者抛去FPGA不管,但是芯片的驱动呢?微软有没有类似的代码或者库文件呢?还是一切从头开始呢?
还请各位仁兄,不要嫌小弟愚昧!在此谢过!
此帖出自WindowsCE论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 5 楼 veabol 的回复:

FPGA要看它的具体作用了,WINCE驱动那边要把PHY、FPGA、RAM三个看成一个整体,要了解最终在RAM端是如何访问PHY的,这就避免不了要清楚FPGA与PHY之间的关系。

FPGA我不懂!呵呵~~我问了下搞FPGA开发的同学,他的意思是做个IP核,板子是赛灵思的,这本来是原来的方案。但是现在出于开题的需要让我用ARM做,板子肯定无法调试,模拟器下能做吗?我又问了下老板,得到的答复是:写论文和做项目不一样!我是那个惆怅啊!
此帖出自WindowsCE论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

15
 
我曾经搞过FPGA,哈哈哈哈,但是用的很挫。悲剧。
此帖出自WindowsCE论坛
 
 
 

回复

51

帖子

0

TA的资源

一粒金砂(初级)

16
 
引用 7 楼 kyzf 的回复:
那么最简单的办法,就是把FPGA当成ARM的一个GPIO扩展器,
采用FPGA直通的办法.

FPGA将从PHY那里接受到的数据,不做任何处理直接送到双口RAM,并通讯ARM区双口RAM读取。

ARM发送数据时,完全把数据放到双口RAM,并通知FPGA去读取,并传给PHY。

这样就要求所有TCP/IP协议的处理都由你ARM的软件实现。

谢谢你的热心答复!你的分数上升的好快啊!看样子最近又帮助了不少人哈!数据的采集处理还是用FPGA来实现的,ARM做主控,采用samsung6410,不过ARM和FPGA如何通信也是一个令我头痛的问题?是用Bool IOControl();还是其他什么的方式来实现呢?
此帖出自WindowsCE论坛
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

17
 
引用 14 楼 laiqingxiong 的回复:

我曾经搞过FPGA,哈哈哈哈,但是用的很挫。悲剧。

ARM都没有玩转...
此帖出自WindowsCE论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

18
 
我是说我!别误解哈~~~GM
此帖出自WindowsCE论坛
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

19
 
我们是用cpld的,其实都差不多
此帖出自WindowsCE论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

20
 
现在的问题:
1.如果只考虑直接相连或者抛去FPGA不管,假设88E1111芯片是ARM的外设,那么它的驱动应该如何开发呢?微软有没有类似的代码或者库文件呢?还是一切从头开始呢?
2.我想把题目的芯片换成WIFI的,考虑到市场比较成熟,理论的一些东西比较好写,但是实现起来呢?微软有没有类似的代码或者库文件呢?还是一切从头开始呢?我只知道模板里面有个WAN,LAN(里面包含无线局域网802.11,而WIFI应该属于802.11b协议的),PAN,我想问下应该选择哪些组件?
下面以6.0下的模拟器为例:
Device drivers->Networking->LAN->SDIO WIFI(SyChip)
Device drivers->SDIO Clients->SDIO WIFI(SyChip)
Device drivers->SDIO Host->Samsung 2410 SDIO Host
Device drivers->SDIO Host->SDIO Standard Host Controller

我在WINCE600目录下对WIFI进行搜索,发现涉及WIFI的文件有点多,主要在这些目录下有一些相关代码:
D:\WINCE600\PRIVATE\TEST\NET\WIRELESS\WIFITESTS
D:\WINCE600\PRIVATE\TEST\NET\WIRELESS\XWIFI11BTEST
D:\WINCE600\PRIVATE\TEST\NET\WIRELESS\XWIFI_AUTOTEST
D:\WINCE600\PRIVATE\TEST\NET\POWER\LIB
D:\WINCE600\PUBLIC\SERVERS\OAK\SAMPLES\USBFLASH
D:\WINCE600\PUBLIC\SERVERS\OAK\LIB\ARMV4I\RETAIL(Debug)
D:\WINCE600\PUBLIC\RDP\OAK\PICTOR\PICTORAPP\INC(MAIN,CORE)
D:\WINCE600\PUBLIC\SERVERS\OAK\SAMPLES\LOCATION\80211PROVIDER
D:\WINCE600\PUBLIC\COMMON\OAK\DRIVERS\NETCARD\AR6K\CF\INCLUDE
D:\WINCE600\PUBLIC\DIRECTX\OAK\SAMPLES\NMD\UI\SETTINGS(INC,UI)
D:\WINCE600\PUBLIC\COMMON\OAK\DRIVERS\NETCARD\AR6K\CF\HOST
D:\WINCE600\PRIVATE\WINCEOS\COMM\PPP2\PPP\INC(APP,SERVER)
D:\WINCE600\PUBLIC\FP_VOIP\OAK\PHONE\HOMESCREEN(INC)
在论坛上也知道有些人做过WIFI,在这里特向你们请教开发IWFI芯片驱动的一些思路!望指教!
此帖出自WindowsCE论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表