前面使用STM32F107的开发板,实现了两个CAN设备之间的通讯。这次我使用自己以前买到的CAN收发芯片进行试验。
使用的是MCP2551和SN65HVD230DR,先把这两种芯片焊接在SOP转DIP的板子上,然后用面包板搭建了电路。组建的电路中还是用了之前买来的CH340N作为串口设备连接CAN收发器,想以此查看CAN通讯的数据。
电路图如下:
电路很简单,CANH和CANL接入之前测试过的那个开发板的CAN线路上。前面的那个开发板作为发送方,这个电路作为接收方,并把数据发给计算机,通过串口工具查看数据。
其实我很清楚,这样搭建的电路肯定是不能正常通讯的,因为CAN收发器是要和CAN控制器连接,通过CAN控制器侧控制通讯的。我搭建的电路里并没有CAN控制器,而是直接通过USB转串口给计算机了。但作为初学者,像看下这样试验是什么结果,觉得不是问题。
接入发送链路后,打开各自的串口,结果发送方还没有****数据呢,接收方就不停地收到数据,我只好关闭这个串口。哪怕是把与CH340N连接的TX/RX对调,以及换SN65HVD230DR,还是一样的结果。
发送方:
接收方:
不过数据有变化,至少说明电路起作用了。而且看数据好像有一定的规律。后面的试验,会去掉CH340N,用有CAN控制器的单片机和CAN收发器组成真正的通讯链路来测试。