发表于:2005-08-11 20:27:00
楼主
大家好,我准备做一个PCI9052+SJA1000+1040的PCI卡,由于对CAN不熟悉,所以先做一个节点,可是就是这个节点都让我做的焦头烂额,请大家指点,谢谢。
节点是AT89C51+SJA1000+1040,使用两路输出的5V电源(sja1000前使用一路输出,SJA1000后使用另一路输出),有光电隔离,但是现在没有接器件,直接连接到1040上,晶震在sja1000上,11.592M
的,clockout输出给单片机,rx1接地,TX1悬空,可是就是这么一个电路,我却怎么都调不出来,主要是在向SJA1000写命令或者数据的时候有问题。
1、在用pelican的时候,在复位模式能写入数据,但是在正常模式下不能向发送缓冲区写入数据
比如语句:
MOV DPTR,#10H
MOV A,#88H
MOV @DPTR,A
执行后,10H里面的内容始终不变(复位模式可以)
2、用BASIC的时候,第一次可以向发送缓冲区写入数据,但是发送的时候没有波形输出(CANH和CANL都是2.5伏),再循环过去的话就什么东西都写不进去了,
3、把RX1接到收发器1040的rvf(引脚名好象是这样的吧,记不住了),故障依旧
4、把SJA1000晶振输出线割断,直接在单片机的引脚上焊接一个11.592的晶振,故障依旧
5、换了一块SJA1000芯片,故障依旧
6、使用伟福EL6000防真器,用WAVE6000软件调试。
请大家帮我看看到底是怎么回事,我确实找不到原因了,都想重新投板了,可是怕故障依旧。现在还只是一个节点,还要做PCI的CAN卡,都搞的没有信心了,帮帮忙?
9052的疑问:
1、有个EEPROM,里面写的初始化的内容用什么编译,用什么语言写,怎么写入,(好象有个软件可以写,但是要驱动,哪里找呢)芯片的ID哪里来呢?
2、9052和双口RAM之间怎么连接的呢
3、还有驱动和具体怎么通信的也搞不懂
呵呵,问题好多,希望大家耐心点,如果可能的话,能否提供技术支持,时间太紧了,谢谢。