搜索
bottom↓
回复: 37

沁恒带网络的mcu很便宜,可否用mcu模拟网络芯片?

[复制链接]

出0入0汤圆

发表于 2023-12-21 19:24:01 来自手机 | 显示全部楼层 |阅读模式
网络协议栈在f1c100这种芯片上运行,用沁恒芯片做网络扩展,只做转发,就模拟网络扩展芯片,这种方式沁恒mcu上程序怎么写。当然沁恒芯片还可以同时做adc dac pwm之类的扩展

出0入90汤圆

发表于 2023-12-21 19:45:50 | 显示全部楼层
把芯片模拟成w5500吧,估计linux下面有这样的网卡驱动。

出100入312汤圆

发表于 2023-12-21 19:49:19 | 显示全部楼层
既然网络协议栈在f1c100这种芯片上运行,那可以理解要模拟类似enc28j60之类的spi接口的以太网控制器么,意义不大。

出0入25汤圆

发表于 2023-12-21 20:00:44 | 显示全部楼层
用ESP32做过类似的东西,TCP/IP协议栈跑在主控上,通讯芯片直接发以太网数据包,中间用自定义协议。
你这个f1c100上面准备用什么协议?如果用Linux的驱动的话那就得在通讯芯片上模拟对应的协议。

出0入89汤圆

发表于 2023-12-21 20:03:21 来自手机 | 显示全部楼层
为什么不用usb 转网口芯片呢

出0入475汤圆

发表于 2023-12-21 20:11:53 来自手机 | 显示全部楼层
wch自己的一些专用网络芯片类似w5xxx的不就是个他们自己的通用mcu嘛

出0入984汤圆

发表于 2023-12-21 20:22:16 | 显示全部楼层
本帖最后由 Himem 于 2023-12-21 20:24 编辑

直接mcu上把2层包封装一下,丢给linux虚拟网卡

出0入0汤圆

 楼主| 发表于 2023-12-22 07:13:43 来自手机 | 显示全部楼层
akey3000 发表于 2023-12-21 19:49
既然网络协议栈在f1c100这种芯片上运行,那可以理解要模拟类似enc28j60之类的spi接口的以太网控制器么,意 ...
(引用自3楼)

有意义,扩展各种外设,还便宜

出0入0汤圆

 楼主| 发表于 2023-12-22 07:14:59 来自手机 | 显示全部楼层
Himem 发表于 2023-12-21 20:22
直接mcu上把2层包封装一下,丢给linux虚拟网卡
(引用自7楼)

不知道mcu怎么2次包装,改调用哪些api

出0入4汤圆

发表于 2023-12-22 08:20:56 | 显示全部楼层
串口就行吧,自定义协议即可

出300入477汤圆

发表于 2023-12-22 09:32:15 | 显示全部楼层
3050311118 发表于 2023-12-22 07:14
不知道mcu怎么2次包装,改调用哪些api
(引用自9楼)

你的主芯片没有网卡对吧?用个带网卡的小单片机提供网卡,假装这是主芯片的网卡。
那么你的主芯片和小单片机之间用什么接口连接呢?
要知道网卡是全双工的,而且速度很快。
其实正常的小单片机基本上没有什么接口能全速传输100兆有线网的数据,除非它能当USB2.0的高速从机。

我能想到的简单办法只能是用串口了,因为串口也是全双工的,省事一些。速度就不管了。。。
直接把以太网帧包装一下,加个包头,然后用串口直接传了就行。

出0入984汤圆

发表于 2023-12-22 10:39:41 | 显示全部楼层
本帖最后由 Himem 于 2023-12-22 10:48 编辑
redroof 发表于 2023-12-22 09:32
你的主芯片没有网卡对吧?用个带网卡的小单片机提供网卡,假装这是主芯片的网卡。
那么你的主芯片和小单 ...
(引用自11楼)


f1c100的串口能到10MBPS以上,以太网改到10M半双工,原则上确实可行

其实直接换有ephy的V3s得了,mcu再降级总成本可能更低

出0入0汤圆

 楼主| 发表于 2023-12-22 10:58:39 | 显示全部楼层
本帖最后由 3050311118 于 2023-12-22 11:00 编辑
redroof 发表于 2023-12-22 09:32
你的主芯片没有网卡对吧?用个带网卡的小单片机提供网卡,假装这是主芯片的网卡。
那么你的主芯片和小单 ...
(引用自11楼)


沁恒的主打USB,SPI的速度也可以,速度要求不高,uart串口太慢

MCU端做的只是转发以太网帧的话,我看看他们有没这种API

出0入0汤圆

发表于 2023-12-22 11:26:58 | 显示全部楼层
F1C100S 可以用 USB HOST 控制 RTL8152。

出300入477汤圆

发表于 2023-12-22 11:48:50 来自手机 | 显示全部楼层
3050311118 发表于 2023-12-22 10:58
沁恒的主打USB,SPI的速度也可以,速度要求不高,uart串口太慢

MCU端做的只是转发以太网帧的话,我看看 ...

(引用自13楼)

别忘了SPI从机是没有权力主动发数据的,所有数据传输只能是主机发起。
我不认为纯软件驱动的SPI从机能做岀一个可用的虚拟网卡。
至于USB,如果它有高速USB,也有全套USB从机协议库,你就仿真一个正规的USB网卡芯片呗,主机啥也不用管了。

出0入0汤圆

 楼主| 发表于 2023-12-22 14:30:56 | 显示全部楼层
redroof 发表于 2023-12-22 11:48
别忘了SPI从机是没有权力主动发数据的,所有数据传输只能是主机发起。
我不认为纯软件驱动的SPI从机能做 ...
(引用自15楼)

协议栈一定要在linux上,linux上的网络应用比较丰富。  单片机再搞个通知引脚给LINUX通知有数据产生

出0入0汤圆

 楼主| 发表于 2023-12-22 14:31:42 | 显示全部楼层
redroof 发表于 2023-12-22 11:48
别忘了SPI从机是没有权力主动发数据的,所有数据传输只能是主机发起。
我不认为纯软件驱动的SPI从机能做 ...
(引用自15楼)

协议栈一定要在linux上,linux上的网络应用比较丰富。  单片机可以再弄个引脚通知linux有数据

出0入0汤圆

 楼主| 发表于 2023-12-22 14:32:55 | 显示全部楼层
xzyang 发表于 2023-12-22 11:26
F1C100S 可以用 USB HOST 控制 RTL8152。
(引用自14楼)

用单片机可以做更多扩展啊 DAC,ADC都有12位,何况linux板很少有DAC,ADC的

出0入33汤圆

发表于 2023-12-22 14:53:54 来自手机 | 显示全部楼层
楼主重新选型吧,别用F1C100了。最近看到t113-s3貌似很强大,各种接口都有,更难得的是QFP封装。

出300入477汤圆

发表于 2023-12-22 15:04:38 来自手机 | 显示全部楼层
3050311118 发表于 2023-12-22 14:31
协议栈一定要在linux上,linux上的网络应用比较丰富。  单片机可以再弄个引脚通知linux有数据 ...
(引用自17楼)

你把程序写岀来就知道我说的SPI软从机的麻烦在哪了。
做过就知道这是很难办的事。

出0入0汤圆

 楼主| 发表于 2023-12-22 15:08:55 | 显示全部楼层
redroof 发表于 2023-12-22 15:04
你把程序写岀来就知道我说的SPI软从机的麻烦在哪了。
做过就知道这是很难办的事。 ...
(引用自20楼)

esp32有那种spi协议的网卡方案

出0入0汤圆

 楼主| 发表于 2023-12-22 15:14:04 | 显示全部楼层
redroof 发表于 2023-12-22 15:04
你把程序写岀来就知道我说的SPI软从机的麻烦在哪了。
做过就知道这是很难办的事。 ...
(引用自20楼)

你看这个.esp32作为无线网卡
https://github.com/espressif/esp-hosted

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出300入477汤圆

发表于 2023-12-22 15:15:00 | 显示全部楼层
本帖最后由 redroof 于 2023-12-22 15:24 编辑
3050311118 发表于 2023-12-22 15:08
esp32有那种spi协议的网卡方案
(引用自21楼)


你还没明白我说的。。。
你接一个SPI的成品网卡当然很容易,没任何问题。
问题在于你现在是反过来,自己的单片机就是这个SPI网卡。
这样难点就来了,不是一般的难
不信的话,你简单的规定一个主机发来的命令的格式,然后自己做从机,尝试写一下从机的程序就知道了。

talk is cheap show me the code

做选型就得做到这一步,不能只是空想我要做个某某从机。最后发现这种从机没办法高效的做出来,非要做只能比串口还慢得多。。。

不要忘了主机发来的命令中间是没有停顿的,一个长长的数据包,尤其是主机读的时候。
常见的格式是命令字+命令参数+几个空白供你内部处理数据,然后主机继续发一大堆0,换回从机发出的数据。
难就难在你必须无条件的在主机等待时间内准备好数据。若干个等待周期过后,主机硬件收数据,这个时候你的发送缓冲区里面放的是啥,主机收到的就是啥,可不会管你有没有处理完成。


出0入0汤圆

 楼主| 发表于 2023-12-22 15:23:58 | 显示全部楼层
redroof 发表于 2023-12-22 15:15
你还没明白我说的。。。
你接一个SPI的成品网卡当然很容易,没任何问题。
问题在于你现在是反过来,自己 ...
(引用自23楼)

没明白哪方面难,mcu只做转发。你是说linux端驱动难度比较大吗?
协议栈在linux上完成,上层应用都是linux那一套。

出300入477汤圆

发表于 2023-12-22 15:24:36 | 显示全部楼层
3050311118 发表于 2023-12-22 15:23
没明白哪方面难,mcu只做转发。你是说linux端驱动难度比较大吗?
协议栈在linux上完成,上层应用都是linu ...
(引用自24楼)

看我说的。难在从机没有权力说“我没准备好”

出0入0汤圆

 楼主| 发表于 2023-12-22 15:26:23 | 显示全部楼层
redroof 发表于 2023-12-22 15:24
看我说的。难在从机没有权力说“我没准备好”
(引用自25楼)

看esp32的方案,mcu和linux除了基本的SPI四根线,还有2根线是  dataready和handshake

出300入477汤圆

发表于 2023-12-22 15:33:00 | 显示全部楼层
3050311118 发表于 2023-12-22 15:26
看esp32的方案,mcu和linux除了基本的SPI四根线,还有2根线是  dataready和handshake ...
(引用自26楼)

那就不是“标准SPI”了。

在带有双向的额外控制线的情况下,用SPI传数据当然也可以保证不丢数据。双方协商好就行,这样两边都是定制的非标做法了。
要注意主机的硬件SPI通常是不会识别你的额外流控的,带了流控就只能让主机软件处理了,效率不可能好。



出0入0汤圆

 楼主| 发表于 2023-12-22 15:34:43 | 显示全部楼层
redroof 发表于 2023-12-22 15:33
那就不是“标准SPI”了。

在带有双向的额外控制线的情况下,用SPI传数据当然也可以保证不丢数据。双方协 ...
(引用自27楼)

对弄下DMA,效率应该也会上去。看esp32方案,看个视频是没问题的

出300入477汤圆

发表于 2023-12-22 15:35:39 | 显示全部楼层
串口在这种情况下的简单之处就在于它的收发是完全分离的,各管各,两边都能主动给对方发数据。
只要两边的串口收发都带DMA,这样就不会浪费任何额外的处理时间,也不用担心丢数据。你可以很容易的用到串口的极限速率。

出300入477汤圆

发表于 2023-12-22 15:36:30 | 显示全部楼层
3050311118 发表于 2023-12-22 15:34
对弄下DMA,效率应该也会上去。看esp32方案,看个视频是没问题的
(引用自28楼)


不信就试试呗
talk is cheap, show me the code
做出来了给大家看看

出0入0汤圆

 楼主| 发表于 2023-12-22 16:00:40 来自手机 | 显示全部楼层
redroof 发表于 2023-12-22 15:35
串口在这种情况下的简单之处就在于它的收发是完全分离的,各管各,两边都能主动给对方发数据。
只要两边的 ...

(引用自29楼)

esp32的蓝牙部分用了串口,网络部分用了sdio或者spi。sdio貌似可以从机主动发送数据给主机

出0入0汤圆

发表于 2023-12-22 16:17:23 | 显示全部楼层
沁恒的 CH563 用过一些。。。3000多片吧。刚刚又买了300片。怎么说呢。不支持在线调试,全靠猜。。。比较难用。隐约感觉有点日本的影子。

出105入79汤圆

发表于 2023-12-22 17:15:14 | 显示全部楼层
建议一步到位,Linux加usb有线网卡,这样最稳定,开放速度快,成本差不多。

出0入0汤圆

 楼主| 发表于 2023-12-22 17:16:24 来自手机 | 显示全部楼层
阿豪博士 发表于 2023-12-22 16:17
沁恒的 CH563 用过一些。。。3000多片吧。刚刚又买了300片。怎么说呢。不支持在线调试,全靠猜。。。比较难 ...
(引用自32楼)

不是有跟stm32类似的库么

出0入0汤圆

发表于 2023-12-22 17:48:41 | 显示全部楼层
3050311118 发表于 2023-12-22 17:16
不是有跟stm32类似的库么
(引用自34楼)

CH563这种不行的。。。

出0入50汤圆

发表于 2023-12-22 18:51:29 | 显示全部楼层
redroof 发表于 2023-12-22 15:04
你把程序写岀来就知道我说的SPI软从机的麻烦在哪了。
做过就知道这是很难办的事。 ...
(引用自20楼)

赞同,MCU要实时响应SPI主机的时序,时钟频率稍微高点处理起来就很有挑战,跟串口通讯比麻烦太多了

出0入0汤圆

发表于 2023-12-23 10:42:28 | 显示全部楼层
vtte 发表于 2023-12-22 14:53
楼主重新选型吧,别用F1C100了。最近看到t113-s3貌似很强大,各种接口都有,更难得的是QFP封装。 ...
(引用自19楼)

t113-s3 出来时间不长,价格没有优势,成本应该比f1c100+mcu贵

出0入984汤圆

发表于 2023-12-23 11:30:32 | 显示全部楼层
bruce_helen 发表于 2023-12-23 10:42
t113-s3 出来时间不长,价格没有优势,成本应该比f1c100+mcu贵
(引用自37楼)

lz没说要屏幕,自然是v3s合适
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-30 11:42

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表