STM32以太网通讯设计方案

STM32+网口设计方案(有效信息整理):

  1. 网口芯片选型:W5100  w5500 CH9121 DM9000 DM9000AENC28J60LAN91C111RTL8019LAN7820
  2. 韩国WIZnet公司生产的W5300芯片
  3. 很多stm32内部不带以太网,带以太网功能的内部只有以太网mac,没有phy。因此需要外扩以太网芯片。对于不带以太网的stm32,外扩常用的芯片有spi接口的enc28j60和并口的dm9000芯片。对于带以太网的stm32还需要外扩一片phy芯片。
  4. 网卡工作在osi的最后两层,物理层(PHY)和数据链路层(MAC)。
    物理层定义了数据传送与接收所需要的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接口。物理层的芯片称之为PHY。
    数据链路层则提供寻址机构、数据帧的构建、数据差错检查、传送控制、向网络层提供标准的数据接口等功能。以太网卡中数据链路层的芯片称之为MAC控制器。
  5. DP83848:物理层(PHY),跟MII接口。
    DM9000:物理层(PHY)和数据链路层(MAC)。跟8/16/32总线接口
    enc28j60:MAC+PHY(10M Base T)。spi接口
    w5100:硬件TCP/IP协议栈+MAC+PHY(10/100M Base T)。并行总线接口
    RLD8019:和w5100类似,比较老。
    举个例子:
    W5100里面用硬件逻辑电路实现了TCP/IP的协议栈结构,不需要向ENC28J60这样的网络控制器那样还需要一个资源较大的MCU跑软件协议栈。你直接把W5100当外部RAM使用,MCU初始化一下I/O,寄存器等就能使用了。
  6. 这个要看你使用STM32的那个系列了,STM32F107+DP83848,STM32F103+DM9000 STM32F407+LA8720等等,有很多方案可选的,主要还是看你的需求
  7. STM32的分类有很多的,有的是带MAC的,有的不带的。

不带的可以通过外挂MAC与PHY进行通讯,串行的有W5500,28J60这样,并行的,有DM9000这样的;如果是STM32带MAC,网络外设的,可以只是接一个PHY就可以了,83848就可以的。

    8.SPI方式的W5100  2.SPIENC28J60  3.RMIIDP83848  4.RMIIDM9161  5.FSMCDM9000  直接用RMII+以太网PHY的话,需要自己移植软件协议栈。SPI+W5X00的话,硬件协议栈,通信速率因素主要在SPI。两者比较,前者开发难度相对后者大,开发速度相对后者慢,但是通信速率比后者快。

总结:目前单片机联网方式主要有以下三种:

①单片机自带MAC,需外加PHY(比如DM9162等),单片机需处理TCP/IP协议栈。(也有单片机自带了MAC和PHY,就无需外加芯片了)

②单片机未带MAC功能,需外加网络接口芯片(包含MAC和PHY,比如DM9000、ENC28J60等),需单片机处理TCP/IP协议栈

③普通单片机,外加TCP/IP协议栈芯片(包含MAC+PHY+TCP/IP协议栈)。单片机消耗资源极少,无需详细了解TCP/IP协议栈,开发方便。如W5500,CH9121,CH395

### 回答1: CH376S是一种具有USB主机功能的芯片,可以通过串口与外部MCU(如STM32)进行通信。在STM32例程中,我们可以使用CH376S库来简化与CH376S芯片的通信操作。 在使用CH376S库之前,需要进行相应的初始化设置。例如,初始化串口通信模块、引脚设置,以及初始化CH376S芯片。初始化完成后,我们可以使用库中提供的函数进行读写操作。 对于读取操作,我们可以通过CH376S芯片来读取U盘或TF卡中的数据。首先,我们可以调用CH376S芯片的文件搜索函数来搜索并获取目标文件或目录的信息。然后,通过读取文件函数来读取文件中的数据。读取的数据可以保存到STM32的存储器中,以供后续处理或显示。 对于写入操作,我们可以将数据从STM32中发送到U盘或TF卡中。首先,我们需要指定写入文件的位置。然后,通过写入文件函数将数据写入到目标文件中。 除了读写操作,CH376S芯片还提供了其他功能,如获取U盘或TF卡的状态信息、创建新的文件或目录、修改文件或目录的属性等等。这些功能可以在例程中根据需求进行调用使用。 总之,CH376S STM32例程主要是利用CH376S库来实现对U盘或TF卡的读写操作。通过这个例程,我们可以方便地与外部存储设备进行数据交互,并在STM32平台上实现数据的存储传输。这对于一些需要使用外部存储设备的应用场景非常有用。 ### 回答2: CH376S是一款集成USB主机控制器的芯片,而STM32是一系列32单片机的型号。ch376s stm32例程即为针对CH376S芯片与STM32单片机的开发例程。 CH376S芯片STM32单片机都具备相当强大的功能性能,它们可以通过接口进行通信数据交互。ch376s stm32例程的主要目的是演示如何使用STM32单片机通过CH376S芯片实现USB主机功能,以便与外部USB设备进行数据读写操作。 在这个例程中,首先需要连接CH376S芯片STM32单片机,并配置相应的引脚寄存器,以建立通信连接。接着,通过相关的代码,可以设置CH376S芯片的各种功能参数,如USB主机模式、数据读写格式等。 通过ch376s stm32例程,我们可以实现通过STM32单片机控制CH376S芯片与外部USB设备的数据交互。例如,可以通过USB接口连接U盘,读取写入其中的数据;可以通过USB接口连接摄像头,实现图像的采集传输;也可以连接其他USB设备,如打印机、鼠标、键盘等等。 总之,ch376s stm32例程是为了方便开发者在STM32单片机上使用CH376S芯片,实现USB主机功能,从而与外部USB设备进行数据交互。通过这个例程,开发者可以利用STM32单片机的强大功能丰富的外设资源,结合CH376S芯片的USB主机控制功能,开发出各种应用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值