为了充分披露,我是一名电气工程师,软件不是我的强项。我想建立一个CAN分析器。硬件非常简单,一个连接到微控制器的CAN收发器。我在挣扎的地方是如何将它与电脑连接。选择USB接口?
我的下跪反应是使用FTDI芯片将串行转换为USB。这在计算机端很容易编程,数据可以以流方式异步到达。另外,FTDI还有USB设备的驱动程序。问题是串行连接无法维持CAN速度并传输数据。充其量,我将不得不缓冲微型数据,然后将其发送到计算机。
我的第二个想法是我可以在微控制器上设置一个USB堆栈。这将消除串行链路的物理瓶颈。理论上,这完成了上述所有内容。我动摇的地方并不知道这种链接的实际限制。 USB 2.0应该能够维持CAN速度而不会出现问题,但是我所使用的所有串行终端都只能达到115200.这是一个实际的限制,或者如果我直接与驱动程序交谈,速度可能会提高得更快?
是否有一个USB链接可以像虚拟通信端口一样易于使用,但可以本地维持CAN速度?