沁恒带网络的mcu很便宜,可否用mcu模拟网络芯片?
网络协议栈在f1c100这种芯片上运行,用沁恒芯片做网络扩展,只做转发,就模拟网络扩展芯片,这种方式沁恒mcu上程序怎么写。当然沁恒芯片还可以同时做adc dac pwm之类的扩展 把芯片模拟成w5500吧,估计linux下面有这样的网卡驱动。 既然网络协议栈在f1c100这种芯片上运行,那可以理解要模拟类似enc28j60之类的spi接口的以太网控制器么,意义不大。 用ESP32做过类似的东西,TCP/IP协议栈跑在主控上,通讯芯片直接发以太网数据包,中间用自定义协议。你这个f1c100上面准备用什么协议?如果用Linux的驱动的话那就得在通讯芯片上模拟对应的协议。 为什么不用usb 转网口芯片呢 wch自己的一些专用网络芯片类似w5xxx的不就是个他们自己的通用mcu嘛 本帖最后由 Himem 于 2023-12-21 20:24 编辑
直接mcu上把2层包封装一下,丢给linux虚拟网卡 akey3000 发表于 2023-12-21 19:49
既然网络协议栈在f1c100这种芯片上运行,那可以理解要模拟类似enc28j60之类的spi接口的以太网控制器么,意 ...
(引用自3楼)
有意义,扩展各种外设,还便宜 Himem 发表于 2023-12-21 20:22
直接mcu上把2层包封装一下,丢给linux虚拟网卡
(引用自7楼)
不知道mcu怎么2次包装,改调用哪些api 串口就行吧,自定义协议即可 3050311118 发表于 2023-12-22 07:14
不知道mcu怎么2次包装,改调用哪些api
(引用自9楼)
你的主芯片没有网卡对吧?用个带网卡的小单片机提供网卡,假装这是主芯片的网卡。
那么你的主芯片和小单片机之间用什么接口连接呢?
要知道网卡是全双工的,而且速度很快。
其实正常的小单片机基本上没有什么接口能全速传输100兆有线网的数据,除非它能当USB2.0的高速从机。
我能想到的简单办法只能是用串口了,因为串口也是全双工的,省事一些。速度就不管了。。。
直接把以太网帧包装一下,加个包头,然后用串口直接传了就行。 本帖最后由 Himem 于 2023-12-22 10:48 编辑
redroof 发表于 2023-12-22 09:32
你的主芯片没有网卡对吧?用个带网卡的小单片机提供网卡,假装这是主芯片的网卡。
那么你的主芯片和小单 ...
(引用自11楼)
f1c100的串口能到10MBPS以上,以太网改到10M半双工,原则上确实可行
其实直接换有ephy的V3s得了,mcu再降级总成本可能更低 本帖最后由 3050311118 于 2023-12-22 11:00 编辑
redroof 发表于 2023-12-22 09:32
你的主芯片没有网卡对吧?用个带网卡的小单片机提供网卡,假装这是主芯片的网卡。
那么你的主芯片和小单 ...
(引用自11楼)
沁恒的主打USB,SPI的速度也可以,速度要求不高,uart串口太慢
MCU端做的只是转发以太网帧的话,我看看他们有没这种API F1C100S 可以用 USB HOST 控制 RTL8152。 3050311118 发表于 2023-12-22 10:58
沁恒的主打USB,SPI的速度也可以,速度要求不高,uart串口太慢
MCU端做的只是转发以太网帧的话,我看看 ...
(引用自13楼)
别忘了SPI从机是没有权力主动发数据的,所有数据传输只能是主机发起。
我不认为纯软件驱动的SPI从机能做岀一个可用的虚拟网卡。
至于USB,如果它有高速USB,也有全套USB从机协议库,你就仿真一个正规的USB网卡芯片呗,主机啥也不用管了。 redroof 发表于 2023-12-22 11:48
别忘了SPI从机是没有权力主动发数据的,所有数据传输只能是主机发起。
我不认为纯软件驱动的SPI从机能做 ...
(引用自15楼)
协议栈一定要在linux上,linux上的网络应用比较丰富。单片机再搞个通知引脚给LINUX通知有数据产生 redroof 发表于 2023-12-22 11:48
别忘了SPI从机是没有权力主动发数据的,所有数据传输只能是主机发起。
我不认为纯软件驱动的SPI从机能做 ...
(引用自15楼)
协议栈一定要在linux上,linux上的网络应用比较丰富。单片机可以再弄个引脚通知linux有数据 xzyang 发表于 2023-12-22 11:26
F1C100S 可以用 USB HOST 控制 RTL8152。
(引用自14楼)
用单片机可以做更多扩展啊 DAC,ADC都有12位,何况linux板很少有DAC,ADC的 楼主重新选型吧,别用F1C100了。最近看到t113-s3貌似很强大,各种接口都有,更难得的是QFP封装。 3050311118 发表于 2023-12-22 14:31
协议栈一定要在linux上,linux上的网络应用比较丰富。单片机可以再弄个引脚通知linux有数据 ...
(引用自17楼)
你把程序写岀来就知道我说的SPI软从机的麻烦在哪了。
做过就知道这是很难办的事。 redroof 发表于 2023-12-22 15:04
你把程序写岀来就知道我说的SPI软从机的麻烦在哪了。
做过就知道这是很难办的事。 ...
(引用自20楼)
esp32有那种spi协议的网卡方案 redroof 发表于 2023-12-22 15:04
你把程序写岀来就知道我说的SPI软从机的麻烦在哪了。
做过就知道这是很难办的事。 ...
(引用自20楼)
你看这个.esp32作为无线网卡
https://github.com/espressif/esp-hosted 本帖最后由 redroof 于 2023-12-22 15:24 编辑
3050311118 发表于 2023-12-22 15:08
esp32有那种spi协议的网卡方案
(引用自21楼)
你还没明白我说的。。。
你接一个SPI的成品网卡当然很容易,没任何问题。
问题在于你现在是反过来,自己的单片机就是这个SPI网卡。
这样难点就来了,不是一般的难{:titter:}
不信的话,你简单的规定一个主机发来的命令的格式,然后自己做从机,尝试写一下从机的程序就知道了。
talk is cheap show me the code
做选型就得做到这一步,不能只是空想我要做个某某从机。最后发现这种从机没办法高效的做出来,非要做只能比串口还慢得多。。。
不要忘了主机发来的命令中间是没有停顿的,一个长长的数据包,尤其是主机读的时候。
常见的格式是命令字+命令参数+几个空白供你内部处理数据,然后主机继续发一大堆0,换回从机发出的数据。
难就难在你必须无条件的在主机等待时间内准备好数据。若干个等待周期过后,主机硬件收数据,这个时候你的发送缓冲区里面放的是啥,主机收到的就是啥,可不会管你有没有处理完成。
redroof 发表于 2023-12-22 15:15
你还没明白我说的。。。
你接一个SPI的成品网卡当然很容易,没任何问题。
问题在于你现在是反过来,自己 ...
(引用自23楼)
没明白哪方面难,mcu只做转发。你是说linux端驱动难度比较大吗?
协议栈在linux上完成,上层应用都是linux那一套。 3050311118 发表于 2023-12-22 15:23
没明白哪方面难,mcu只做转发。你是说linux端驱动难度比较大吗?
协议栈在linux上完成,上层应用都是linu ...
(引用自24楼)
看我说的。难在从机没有权力说“我没准备好” redroof 发表于 2023-12-22 15:24
看我说的。难在从机没有权力说“我没准备好”
(引用自25楼)
看esp32的方案,mcu和linux除了基本的SPI四根线,还有2根线是dataready和handshake 3050311118 发表于 2023-12-22 15:26
看esp32的方案,mcu和linux除了基本的SPI四根线,还有2根线是dataready和handshake ...
(引用自26楼)
那就不是“标准SPI”了。
在带有双向的额外控制线的情况下,用SPI传数据当然也可以保证不丢数据。双方协商好就行,这样两边都是定制的非标做法了。
要注意主机的硬件SPI通常是不会识别你的额外流控的,带了流控就只能让主机软件处理了,效率不可能好。
redroof 发表于 2023-12-22 15:33
那就不是“标准SPI”了。
在带有双向的额外控制线的情况下,用SPI传数据当然也可以保证不丢数据。双方协 ...
(引用自27楼)
对弄下DMA,效率应该也会上去。看esp32方案,看个视频是没问题的 串口在这种情况下的简单之处就在于它的收发是完全分离的,各管各,两边都能主动给对方发数据。
只要两边的串口收发都带DMA,这样就不会浪费任何额外的处理时间,也不用担心丢数据。你可以很容易的用到串口的极限速率。 3050311118 发表于 2023-12-22 15:34
对弄下DMA,效率应该也会上去。看esp32方案,看个视频是没问题的
(引用自28楼)
不信就试试呗
talk is cheap, show me the code
做出来了给大家看看{:titter:} {:titter:} redroof 发表于 2023-12-22 15:35
串口在这种情况下的简单之处就在于它的收发是完全分离的,各管各,两边都能主动给对方发数据。
只要两边的 ...
(引用自29楼)
esp32的蓝牙部分用了串口,网络部分用了sdio或者spi。sdio貌似可以从机主动发送数据给主机 沁恒的 CH563 用过一些。。。3000多片吧。刚刚又买了300片。怎么说呢。不支持在线调试,全靠猜。。。比较难用。隐约感觉有点日本的影子。 建议一步到位,Linux加usb有线网卡,这样最稳定,开放速度快,成本差不多。 阿豪博士 发表于 2023-12-22 16:17
沁恒的 CH563 用过一些。。。3000多片吧。刚刚又买了300片。怎么说呢。不支持在线调试,全靠猜。。。比较难 ...
(引用自32楼)
不是有跟stm32类似的库么 3050311118 发表于 2023-12-22 17:16
不是有跟stm32类似的库么
(引用自34楼)
CH563这种不行的。。。 redroof 发表于 2023-12-22 15:04
你把程序写岀来就知道我说的SPI软从机的麻烦在哪了。
做过就知道这是很难办的事。 ...
(引用自20楼)
赞同,MCU要实时响应SPI主机的时序,时钟频率稍微高点处理起来就很有挑战,跟串口通讯比麻烦太多了 vtte 发表于 2023-12-22 14:53
楼主重新选型吧,别用F1C100了。最近看到t113-s3貌似很强大,各种接口都有,更难得的是QFP封装。 ...
(引用自19楼)
t113-s3 出来时间不长,价格没有优势,成本应该比f1c100+mcu贵 bruce_helen 发表于 2023-12-23 10:42
t113-s3 出来时间不长,价格没有优势,成本应该比f1c100+mcu贵
(引用自37楼)
lz没说要屏幕,自然是v3s合适
页:
[1]