由于项目需要,做了一个TCP转CAN的网关(客户端),硬件平台STM32F103C8T6+ENC28J60
软件平台:FreeRTOS+LwIP
现在的情况是,
1、ENC28J60,查询接收,服务器进行100MS发包测试,每次固定发20字节,客户端回发收到的数据,可以运行10多个小时没有问题,但是中断接收的话,1个多小时就挂掉了,大家有没有遇到ENC28J60中断接收的问题?
2、CAN节点进行100MS向客户端发送数据测试,客户端进行CRC16计算后,封包发给服务器,同时服务器间隔300MS发数据给客户端,客户端回传数据,测试的结果是,CAN发送来的消息可以正常转发,服务器的消息回出现丢包(为防止发送出问题,使用了互斥信号量),运行2个多小时就挂掉了,不清楚是不是自己机制有问题?
3、由于RAM总共就20K,不清楚是不是这个现在了LwIP的性能,如果60个CAN节点向TCP转CAN网关发包,效率是不是很差,单个TCP包最大20个字节?
4、用ECN28J60,理论上可以达到多少?
5、如果用这个方案可以实现60多个CAN节点的数据通过TCP转CAN网关发送给服务器吗,所有的数据都进行应答。
6、有没有更好的方案,不过呢,现在项目紧,由于前期一个做TCP转CAN的人走了,我接手到现在还不到一个月,他的方案用的是uIP,系统时UCOSII,我改成了现在的软件平台,现在一个CAN节点连接没有问题,担心节点多了会不会有想不到的问题。
7、使用LwIP,一般需要多少的RAM
希望高手指点下,刚做的大家可以交流 |