这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 嵌入式开发» MCU» 关于CAN总线pci卡的驱动

共11条 1/2 1 2 跳转至

关于CAN总线pci卡的驱动

菜鸟
2005-01-06 19:51:58 打赏

各位朋友,接触过CAN总线pci卡驱动的朋友给一些意见,谢谢

现在正开发在pc机上的CAN总线控制器在vxworks下的驱动程序,一块卡是pci的,是周立功公司的pci5121CAN控制器卡,上面有两个sja1000CAN控制器,我现在对CAN的原理性的东西不是很了解,希望大家指点一下:

1。基地址得到后对sja1000寄存器的操作是通过I/O映射还是内存映射;

2。在用pciFindDevice找到设备后得到I/O基地址和内存基地址的程序是不同的吧,如有,给个实例,感谢;

3。在windowsXP的设备管理中我看到pci5121卡的资源有五段,即内存映射地址(不知理解是否有误),我希望知道sja1000寄存器映射到了那一段地址中,是否是从那段地址的开头开始映射,即是否为 基地址+0 表示第一个控制寄存器; 4。卡上有两个sja1000CAN控制器,他们的基地址间距是多少,即在找到第一个sja1000基地址之后怎样找到第二个sja1000的基地址;

5。我不知为什么在应用程序中不能对4个字节的地址的内存操作,总是显示“页面错误”,是不是还要在哪里做内存映射啊,但对2个字节和3个字节的内存可以操作啊,我只是向里面写数然后读出来,我不知怎么回事

大家有思路就给我个启示,我在试一试,任何一个问题都可以,非常感谢




关键词: 关于 总线 驱动

菜鸟
2005-01-07 06:04:00 打赏
2楼

楼上的非常感谢,是由pci的桥连sja1000,但我已经得到了输入输出地址,是不是就可以通过这个地址作为基地址来操作sja1000的寄存器了,我在vxworks下的程序中得到了地址有0xac00(在windows下的资源中显示为输入/输出地址),还得到0xf5223000等地址(在windows下的资源中显示为内存地址),我不知道该拿哪个作为基地址

而且,不知道是应该 用*(基地址+偏移)来操作,还是用sysOutByte(基地址+偏移)来操作,即用内存访问还是端口访问。

大家启发一些吧,由衷感谢了,卖卡的公司什么都不告诉,我只有求助你们了,或者我的想法根本就是错误的,请大家指个明路 ,谢谢了

[em01][em01][em01]

菜鸟
2005-01-07 06:08:00 打赏
3楼
大家来救一下火吧,我是个学生,真的不知道去哪里请教,这里就一个人探索,有思路的就提一下给我,我对原理还是比较陌生

菜鸟
2005-01-07 22:05:00 打赏
4楼
[quote] 以下是引用degyhy123在2005-1-7 09:16:00的发言:

是这样的,你通过windows得到的内存地址就是你的基地址,不知道你用的什么桥,你可以*(基地址+can控制器地址+can寄存器地址)来访问can的寄存器。

[/quote]

您是说我得到的如0xf5223000为基地址是吗,但为什么我对它操作时,如*(0xf5223000+偏移地址),总是显示页面错误(page error),我发现一对四字节的地址操作就会出现,而对于两个字节的地址或三个字节的地址操作时就不会错误,而且可以写入和读出,不知这是怎么回事,这和有没有把这段地址映射到物理地址中有没有关系啊 ,谢谢,请提示一下

[em06][em06]

菜鸟
2005-01-07 22:23:00 打赏
5楼

我用的pci桥是pci9052芯片,

请问,我访问这个基地址(四个字节)用什么方法,我对它操作*(基地址+偏移)就会报错(页面错误)

各位高手帮帮忙,谢谢了


菜鸟
2005-01-09 00:21:00 打赏
6楼

感谢上面的朋友,关于内存影射,哪位老大给点提示,哪里可以找到相关内容,让小弟去看一看,谢谢

据说是可以在sysLib.c中手动影射或编程影射,怎么操作,大家给一些例程好吗,谢谢了

[em01][em01][em01]

菜鸟
2005-01-09 00:32:00 打赏
7楼
哪位如果方便,提供一些关于CAN总线驱动的信息,我这里没有人可以请教,正在郁闷中,请回答一下我的疑问,雪中送炭阿,万分感激,互相支持

菜鸟
2005-01-10 00:57:00 打赏
8楼

大家帮帮忙啊,我再顶一下


C--
菜鸟
2005-01-28 05:59:00 打赏
9楼

据我所知 周立功的5121卡是一块智能卡,上面有一块ds单片机 一块dpram 一块xilinx

驱动程序只需要向pci卡提供数据 而由单片机负责控制can的收发

因此 如果周立功不向你提供详细的技术细节(如寄存器的分布 数据和命令格式和协议) 你自己是很难摸索出来的

如果你足够强 你可以把他的单片机反汇编看看 或许可以破解

或者你直接找周立功合作 据说他们5/6月份将提供vxworks驱动


菜鸟
2005-02-03 06:20:00 打赏
10楼
C-- 朋友,谢谢你,我原先用周立功的5121卡,确实是智能卡,但后来我换了非智能卡9820,不是智能卡,他们说可以对基地址编程,但我安上面的方法做了后,还是无法访问寄存器,您说是怎么回事啊,指点一下,谢谢

共11条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]