你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【问答汇总】STM32以太网 在线培训互动

[复制链接]
zero99 发布时间:2017-8-30 14:22
看了之前以太网在线培训的视频教程,大家肯定是受益颇多吧有时间的吧: [7 R$ J6 N  E7 i1 \# @

1 d0 b, X+ P1 T可以跟着大佬一起完成培训中的动手实验>>
+ x- A  N' ]) S" _4 M! k
7 }5 ]- E5 F3 w9 R$ i" M& f

0 j0 M. Z" l- @小破把在线互动的问答整理如下,希望对大家有帮助~3 K5 A: U) x' s. ~

: M' {- M& c) r: x; |6 j
. ]  B7 @' i  ~2 t1、问:LWIP协议与标准IP协议之间有什么差异?9 L7 n- D; s+ P( J+ s2 S
FAE:LWIP是对TCP/IP协议的开源实现。具体现在LWIP支持了哪些协议,你可以去http://savannah.nongnu.org/projects/lwip/做进一步了解。( W6 O% Y5 L4 Z

9 @% a2 y& P3 U$ q4 H* L* r: ^$ o9 ?2、问:LWIP协议怎么对memory进行动态分配管理的?
: R$ D5 w4 k' O0 e) h2 h4 m" |; MFAE:LWIP协议提供两种动态内存管理的方式:动态内存堆和动态内存池。简单的理解,他们的区别是,前者是按照你申请的大小来进行分配,后者是每次只能分配一个或多个固定大小的内存块。+ |5 O9 @/ F3 l# W

. z* S; C2 k2 Q, J) r3、问:LWIP协议的配置有没有特殊的要求或原则?
* h  {: b" ]$ P; s5 l& Q; _FAE:根据应用进行配置,LWIP 协议栈会对一些有相互关系的宏定义进行检测,但不是全部。
5 _& X+ Q& y" M0 a% C5 H
% y! n$ v; L4 w* U- O4、问:RMI和MII的速率谁快?
2 R" Y. ?0 M0 |7 f! e" J3 b4 k5 {FAE:理论上来说是一样的。RMII虽然只用了4根数据线,但是它的时钟比MII提高了一倍。! l9 |. F, u! w$ U( v. E
6 I  P; i7 C- A) E9 a7 |& i
5、问:RMII  需要50M晶振。不能使用HSE 50M晶振直接MCO提供吗?( O; u  ^" h8 c! X* h
FAE:STM32外接晶振不能超过26MHz, 所以你可以通过直接提供50MHz的时钟给STM32和PHY
5 T* z/ i8 U( z7 T6 x9 \* v# g
9 M! V7 L) g  \' x! K7 E6、问:STM32支持以太网接口的MCU有那几个系列?
$ n* Q$ V- B7 s: EFAE:F1/F2/F4/F7都有,我们的STMCU FINDER工具可以帮你快速的进行选型% l9 T3 J) S# \

3 n+ L$ x* |, F5 c5 H! M7 F7、问:怎么使用UDP的各种常用功能,有没有可以参考的资料?
4 r" W2 D. i( iFAE:可以参考我们Cube库里的LWIP的例程,里面有UDP client/server的demo
3 q# L. F: P/ m* N) Z
$ s, j* u" t4 n9 l8、问:请问一下STM32支持IP协议的芯片系列都同时支持MII和RMII两种标准吗?. h; O. p8 R& b/ S+ U
FAE:是的
' ?, M, _1 v6 \9 v# T# ^$ `/ f( I" M% i, n# r
9、问:这么说Nucleo 144带Ethernet接口的电路板是使用第一种模式,25MHz了?
# Y& ?; j. r1 h) R* c/ gFAE:Nucleo144带以太网接口的板子,都是用的RMII接口,PHY使用的是LAN8742A,该款PHY可以将25MHz的时钟倍频到50MHz,所以外部用了一个25MHz的晶振
; ]1 e; [) E% S0 `  ~* m
- \6 F% \, A( v" \10、问:最新的,如F7系列,一般都支持MII和RMII?" e0 U+ O4 p% W- Y  `  h9 P
FAE:stm32的以太网外设都支持MII和RMII这两种接口" ?) ]8 G  R: ?" {9 b
% N1 Z7 y* o+ s  N6 q: z
11、问:STM32驱动不同的PHY时在软件上需要注意或修改的部分有哪些?
  A1 O& U! x3 uFAE:需要你结合PHY的数据手册和板子的原理图来具体分析。比如:PHY和STM32的MAC的接口是否不同,是否用到PHY中断引脚,PHY 的bootstrap,PHY的寄存器的不同等等,具体的内容今天下午的PHY移植这部分会做详细介绍。! b# S. z  c0 y# s0 A4 z

$ d  n! T% ?$ {$ E. O0 I2 [12、问:MII和RMII两种标准的接口除了PIN脚的差异还有其他差异吗?
. _8 V* n! [2 c) o8 ]1 _* ^FAE:使用的时钟不一样。
$ ]. F( O5 m  m# ^7 i: {1 q  k3 {# i* n$ S: Y
13、问:ST有没有类似TI的 EtherCAT实时工业以太网的支持?或者说,何时能提供类似EtherCAT实时工业以太网的支持?' F) A% |% M6 E% h* G( G
FAE:现在我们有合作伙伴提供的有这方面的解决方案。) e5 V& \- c) f/ U* q1 [' k
$ I: e1 v: Y9 K6 I$ b
14、问:crc一般是什么格式?
8 e& Y" B' J9 f( m6 Z: S2 XFAE:在用户手册的以太网章节对使用到的CRC有具体介绍。生成多项式如下:Gx = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 11 d9 s8 s( u# R' W+ M) T9 B

3 K2 i4 `& Y/ E5 P8 L& ?* E15、问:CRC那么多,automatic crc,默认是哪种?
$ B) ~5 ~" x$ c. {" hFAE:在用户手册的以太网章节对使用到的CRC有具体介绍。生成多项式如下:Gx = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1
3 k5 E& w' ^, p
0 g( Q1 L7 e$ w& z# Z16、问:CRC还有多种么?
1 h  _0 k3 v" gFAE:CRC有两种方式,一种是硬件CRC(MAC计算),二是软件CRC,mcu计算! s& Z$ ]1 {8 _( n
7 N! J7 ~* S& M0 d! M
17、问:IP datapram header error and payload error during transmission 当出现error的时候,我们应该怎么处理  q" O: E+ E9 G2 c% N8 b
FAE:请实现HAL_ETH_ErrorCallback回调函数,并且检查AIS中的具体的bit位,以确认是什么错误?6 t. u/ Q& {! G) X
ETH_DMA_FLAG_AIS这个包含的哪些异常信息,请参考RM0090, P1212,DocID018909 Rev 9
! }/ ]) e2 ?8 M5 B8 h! L% M* r' A- e, k0 k
18、问:请问 STM32L4系列 哪个型号集成以太网收发器包含以太网功能?& e( [! [: O! C, ^; k& ^# h
FAE:STM32L系列目前不支持以太网$ g- t/ }! f( _
$ c  z4 z! C( a' h( j
19、问:用STM32做以太网口转4串口,单核能做吗?目前要做一个以太网转4串口透传模块,一个STM32能搞定吗?是不是需要什么内核?# d7 i% [$ C- c6 L7 d% x5 g
FAE:1.从外设资源上,需要有足够的串口和有以太网支持。
. e+ k) t( z0 Y! Q- v- o         2.系统资源上,需要评估你的应用占用的总线带宽,看带宽,速率和 SRAM,是否满足应用需求。都满足的情况下,一颗STM32的MCU理论上是可以实现的。6 k' Q9 k0 L" R" C; Q7 ]

) n; q) F$ g4 R" \3 ~20、问:在以太网驱动的设计中DMA链驱动FIFO只是用来接收吗?4 t. ]& ]% b6 m
FAE:DMA  实现接收、发送功能,以解放mcu负荷。" }6 n! A2 d3 }

# S" y; s; x4 x21、问:CUBEMX是不是不支持STM32F107以太网的管脚重新映射?$ Z4 N3 w* O" W+ }7 b7 O
FAE:CubeMX 4.21.0不支持。. v! g+ v: t& s) N6 y

  a. U9 q$ r' p5 C: y! u5 z4 \0 h: w22、问:目前正在调试207的以太网,PHY芯片用的是AR8032。lwip移植。目前是10M配置的 ping 不会丢包, 但是100M的话 ping就会经常丢包,求教大家有没有遇到这个情况?  s) m/ H' L" S, E* ]# ]
FAE:这个需要详细分析,MII/RMII接口?晶振?lwIP配置?AR8032的注意事项等,建议先请代理FAE帮助分析定位。
0 ?7 y6 C' z0 {4 k: j" y, s& s) j$ P) N3 J; ]7 L
23、问:哪些 nucleo板子有带以太网Phy的呢9 i6 L" X' M, k6 ]! F- ~
FAE:NUCLEO-F2907ZG, NUCLEO-F429ZI, NUCLEO-F746ZG, NUCLEO-F767ZI/ y# z  A' l3 I% Q+ k
1 F8 B9 J1 O4 w& y- r) g# F  I
24、问:lwip协议那个版本最稳定?2.0还是1.4.1?
) L7 l4 W/ y5 M: M! n$ nFAE:2.0版本较1.4.1有新属性,二者都比较稳定。8 \1 A; V( Y2 K
3 n6 z$ P! D- {' H
25、问:stm32以太网接收断续,使用stm32f429的片子,用cube生成包括lwip的示例,无操作系统。不知道什么原因cube的lwip不能选择igmp,只好手动打开此开关,同时为了编译通过关闭了dhcp?% z6 l, [. E; M4 k# ^8 Y
FAE:这个或许是CubeMX的功能待进一步提高。5 M9 F4 f+ v  {6 u5 N9 v8 |, ]

+ j" E0 m9 A# Q" N& z26、问:PTP 与 EtherCAT 是什么关系?, p$ p$ U. z" n5 l
FAE:PTP跟etherCAT没有关系,PTP是关于timestamp问题,etherCAT是工业以太网标准! l/ @; K  o, D7 L  I: T  P1 Q+ B: I

6 v( ^& [$ ^: W1 [* ^1 C27、问:以太网低功耗模式唤醒有历程吗?官方的
7 K7 P3 r. D7 T; V5 {8 aFAE:目前没有* I( X- s/ Q! m7 b" j6 d& y

0 p9 x/ [% m1 G28、问:IEEE 1588的精确时序协议(PTP)通过以太网使分布式设备的时序同步精度达到纳秒级,从而满足分布式应用系统的要求。  刚才讲解是达到ms级,然而1588目标是ns级,要达到ns级需要什么做什么?% W3 [8 a# U, k7 d  d
FAE:IEEE1588 V2能达到亚微妙级的精度,PTP是MAC里的一个模块,如果要达到纳秒级,对硬件的时钟频率、电气、机械特性要求更高,当然成本更高。
' l' B! Q+ v! S7 ^
) ]8 d  W1 n: C- i* F! K7 o29、问:2K的Rx fifo和 2K的Tx Fif 是需要软件开辟缓存的吗?还是硬件自动分配好ram?! V, d6 i9 c0 Q: {) U" @- h$ @  V
FAE:这两个缓冲区对用户不可见,可以不用关心,专用的缓冲区3 X/ q9 X" H( u1 |2 j

  O  n% a* Z7 P# |30、问:CubeMX中以太网的Extended Register应该如何配置?+ z( u9 `, h! C+ s1 P# X
FAE:这个请参考ieee关于扩展寄存器的定义。5 H4 M+ r2 e; ~4 L8 M
8 ?' K, {- f' x( w
31、问:Threshold mode 和Store-and-Forward mode 2种传输模式 在 具体工程哪里有定义?
: i7 {' Q7 t( N# f! M' DFAE:在驱动文件stm32f7xx_hal_eth.c里,函数ETH_MACDMAConfig里,代码片段为:
8 g% N2 M$ o5 l! y
  1. dmainit.ReceiveStoreForward = ETH_RECEIVESTOREFORWARD_ENABLE;
    3 s0 W" [4 z/ y. l+ S
  2. dmainit.TransmitStoreForward = ETH_TRANSMITSTOREFORWARD_ENABLE;
复制代码
     建议使用存储转发模式,这样可以利用MAC,执行硬件CRC3 ?% h3 }. y3 h, j1 m+ S

) p5 q; ]* d  [& @- E32、问:STM32以太网协议栈是uIP用的多还是lwIP用的多?6 K( Y! n9 J( j) S
FAE:STM32协议栈是使用LwIP% O% h4 \" l5 t9 Z, G7 ]) E
* s, I4 A- H0 \% F
33、问:uIP也是免费的?cubeMX有uIP吗?6 x. I2 j3 S  |" p( T8 X6 T
FAE:uIP是开源的。CubeMX目前不支持。7 h/ h$ F3 x# H  B
5 G& O  w8 W" {0 C4 c
34、问:目前方案中2种 TCP/IP 协议栈都有用,但稳定性都不太满意,特别是工业应用,不知道为什么。希望能在这块改进,提高稳定性 。
$ Q' m" J: D( }' s$ _FAE:lwIP和uIP都是免费的TCP/IP解决方案,一般如果没有特殊需求是可以满足功能要求的,如果性能、" e0 w, l  t: c/ Y3 r: E- Q3 a* i$ H2 m
特性要求苛刻,建议使用商用版本,如micium TCP/IP, Oryx TCP/IP等等,但是这些涉及license,请斟酌。+ {1 K  b" F# T* q; D
2 W4 m" M! z0 G. C
35、问:以太网试验中ping是什么原因?提示无法访问目标主机?但是数据却接受
9 }5 u3 H6 V8 D* ]FAE:一种可能的原因是,PING过程的延时太长,看到产生无法访问主机。可以使用抓包工具看下数据包的情况。
) l7 v" M4 F7 H$ B
3 t! C/ b, j# r. X$ g! \) X4 e9 ?36、问:请问如何解决stm32F7 用了cubemx库以后在mdk下编译缓慢的问题?+ f  l  v% L3 L2 d: I' ?
FAE:Cube库为了提供在各系列MCU之间的移植性,对底层驱动做了封装,代码量相对来说变大。你也可以使用我们的LL编程接口,来直接操作底层寄存器,来获得更高效的代码,但同时也要求编程者要十分熟悉STM32的使用。
* D0 B' p) U- e  x0 c9 A! Z& I& j: U0 }3 W9 o
37、问:针对 TCP/IP协议栈,只有MCU的适用性,不同的MCU有针对性地优化吧?% f# K$ B' a4 d
FAE:您的问题是指MCU层面对应用程序的优化吗?比如对memory的划分,通过开CACHE来提高程序性能?这个可以根据不同的MCU进行,比如有的MCU提供CCM RAM(只有CPU能访问,并且不经过系统的busmatrix),你可以把程序的堆栈放在这里。可以参考我们不同系列MCU的对应AN(在官网上找到你所使用的MCU,就可以找到和它相关的所有AN)
$ |# I* R" g: i! d* t6 X
" X, V# P: a* z- I2 t38、问:STM32F407以太网有两个中断向量,但是有一个是用于唤醒的,所以只有一个中断向量能用。现在想用中断发送数据,但是找不到中断源,不能进入中断,怎样触发也不知道?6 E+ f3 n, Q+ v5 M+ N3 U
FAE:底层发送数据是通过low_level_output完成的,它会将协议栈要发送的数据,保存到发送的descriptor中,剩下的事情就是DMA在做了,你只需要在初始化时,设置好FIFO数据弹出的模式就可以了。
0 m! ~! n) Y6 {, A" v& x# b
2 x4 ]/ A- z9 i: I/ M39、问:为什么不直接传给FIFO,还得用descriptor来管理DMA?+ V2 H9 ~( L# X; l8 J/ @; q
FAE:DMA做的就是将数据从STM32系统RAM发送到FIFO的工作
% N& u6 @/ @" x  Z$ ], v& \
! h6 s6 P7 f( a4 Z2 i& M4 }40、问:以太网传输ADC采样数据偏差,我用stm32f4的以太网传输ADC采用数据,在通讯的时候会造成采样数据偏差,以太网采用的是lwip协议栈,FAE:ADC采样六通道正弦波,每500ms通讯一次,在通讯期间的ADC采样数据会发生偏差,给ADC采样数据做递推平均值算法后,不稳定
: A8 O3 j0 `! m' g' ^你的问题是ADC采样数据在传输中出错(校验出错),还是有采样数据在传输中丢失?用的UDP还是TCP?4 g) Z: O/ e4 J: D. U2 D! S8 m

) i$ I+ _. P, O! g  z2 p41、问:压力测试如何  会不会丢包?
6 K$ v/ ~: {' KFAE:应用程序写的不好,也会丢包。这个问题要跟具体的应用来分析。
) y% ]4 B6 Y, w( {! t
9 F- w6 u" |. K4 D42、问:stm32有自带的以太网模块,为什么还要用ENC28J60?! j" T/ i  H- L: l$ O
FAE:这个是看客户所选用的具体型号和他的具体应用。Stm32并不是所有的系列都有以太网外设,而且以太网外设的只有MAC控制部分,还需要外接一个PHY。如果客户想要支持多个网口,就会选择使用ENC28J60等芯片了。; ]2 R+ k/ E+ j+ ~/ b! |5 X; J2 Y

! {4 W& q. u. P2 S) {- d% z43、问:请问STM32F407可以配LAN8720A以太网PHY吗?用RMII模式,我把INT脚用作50MHz REFCLK输出给STM32,所以没有PHY没有中断输出给STM32了。我看例程里是要有中断的,该怎么修改例程呢?; o2 k, p0 J) g7 m$ X% Q
FAE:首先肯定是可以用LAN8720A的。如果没有中断信号给MCU,就需要使用轮询的方式来查询PHY的中断状态。
& ?' [9 L) E# [1 Y
* G+ J0 T* s' W1 e6 H, k44、问:接上一个问题 还有驱动里面的寄存器定义是不是跟8720不一样?我怎么检测出来是10M全双工,实际应该是100M全双工
8 O  V. z8 g  O3 jFAE:请确认例程中的PHY型号是不是8720.如果不是8720,那么寄存器定义会有不同,请参考Amanda讲课的移植指南进行改动。3 x# S. X' E; p2 d: M- M
# o4 v/ F2 y5 a& d' U# P# j( i" r9 P
45、问:如何实现以太网功能的,是用F107或F407芯片自己移植Lwip还是采用SPI转以太网模块?
& ?$ G- ?  x) t! \FAE:建议使用自带的以太网外设,节省BOM。
9 i7 @! y! [( u' ^" U0 E- ^+ ]# h' m6 p4 O' y( R! D: p
46、问:8720问题,如果想使用100M全双工,你可以配置寄存器使其强制百兆模式?9 b  u; g8 i9 [/ L0 o7 _/ e1 ^; F
FAE:不要使用自动协商模式。( T$ \9 F' l* h% p' B  U* X
- W+ R4 g5 Y+ p
47、问:PHY芯片DM9612用于F407的效果和稳定性如何?
. v, m) ^% Q5 p; |+ v9 mFAE:稳定的。
& [' {% L9 I. C# o2 V) }2 b* d2 Q8 k- u0 D' c3 o$ z
48、问:自己做的STM32407,程序跑一段时间之后以太网无法通讯,ping不通,RJ45绿灯常亮,黄灯闪烁,其它部分正常,也就是程序通过IO能控制,通过CAN通讯也能控制,只有以太网部分死掉?
& m, S( b. |6 O! n4 a  c  D6 i- {5 }FAE:建议把其他所有功能都关闭,只保留以太网功能做测试,再做分析。
8 W2 {3 {/ y2 C3 l( r1 M) Q- @. s+ E' F$ p% I! L
49、问:stm32和dm9161实现以太网,但是ping不通d,m9161已经工作,工作在100M全双工模式,但是Ping不通,不知道为什么,初始化什么的都成功了?
) I  N* E" n# s. P" z+ X' x/ _2 dFAE:首先确认LwIP中的ICMP功能打开,然后用抓包工具抓包,分析问题,最后也要检查硬件连接是否正确,时钟是否有输出。
! L" m8 k* |( M, t
) E# @0 K0 U2 q( h& k. {50、问:cubemx能支持uIP吗?0 F5 o3 ]- H' U4 w
FAE:目前不支持8 j8 F+ @% l* T( K: |- I
2 g3 P  s4 C- i  J' x9 {( t
51、问:DM9612除了电压切换和时钟还有什么功能?
, b$ J# `, d) B! x5 {FAE:请参考DM9612 datasheet
7 }$ o4 z- N  d3 u6 b8 {4 Z# w3 ?" d! n
52、问:STM32以太网中断问题,为什么我的以太网中断在最初系统复位进去3 -- 4次之后就再也进不去了。有没有常规的解决办法?) E* y" N, ^' J! I
FAE:使用调试模式分析,请确认硬件、驱动,lwIP配置$ f: r" w4 _5 |! x" J* I
* |& [1 n8 M7 E# ^3 v
53、问:我用cubemx最新版初始化了串口,GPIO,ADC, RTC, IIC, 几个定时器,还有ETH,但程序根本不运行,我把ETH的相关初始化注释掉,程序就可以正常运行,这个现象一般是什么原因造成的?
$ D* W/ |7 }& c4 Y6 d7 @- t0 NFAE:CubeMX的初衷帮助开发者生成应用程序框架,开发者还是需要仔细看一下时钟配置,GPIO配置,descriptor配置等。8 t& f) Q2 e# y1 d
' F- F1 V- |) l" g! c  q4 B
54、问:LWIP三种编程接口那种稳定最好,适合短时间内传输大量数据?! ?" r5 X% `! s( R9 @- V6 w* ?- m
FAE:如果需要吞吐量大的话,建议raw接口,这样减少OS中任务切换开销,但是对开发者要求较高。
4 d( S8 f6 y8 `5 O2 i* @& C: M: N
55、问:按照初阶培训的资料,新建工程,为啥一段时间和就会掉线呢?需要重启才会好?4 S3 c; d  S! R! f! h( B
FAE:请确认硬件连接正常,驱动程序正常,lwIP配置合理。0 }( a" X: @/ }5 Y; p
& E1 _% @1 z5 n$ L* {
56、问:有什么办法能解决开发板死掉的问题,UDP似乎没办法检测连接状态?
; J5 W9 e2 a, m* }5 n' O* E3 iFAE:只有使用st-link或者j-link等调试工具,调试、分析、定位。4 i- i) D3 z, H8 u6 I
, G) Q2 }% R, C. A3 B; U
57、问:拿一块STM32+W5500,怎么写相关的程序(什么UDP,客户端之类的)?
6 t  X2 t8 D0 d" BFAE:请google、bing、百度相关例程,或者看看W5500提供商能否提供
  i3 @! Q5 M! Z  O7 Z  Y' |) l+ Z
" w: g2 u& O! E6 x58、问:STM32的以太网如何动态切换速度和双工状态?; P5 Z0 {+ X5 `" T; U. h6 M
FAE:请将ethernet配置为自动协商模式
% O5 ?) }. H0 X; E) O6 F
' p$ s; ~4 d2 Z0 }- I. l2 X9 J59、问:内存 分配  Heap/ Pools 2种方式,哪个更加可靠?5 P7 ]; g# H6 l- L
FAE:都可靠,适合不同的场合。9 c2 r0 w) E; k0 \' V

' p  X% ]3 O7 _; S60、问:lwip如何根据自己的应用来配置参数,主要是buffer、window之类的?
+ e6 y2 t; q" D2 Y* t& |FAE:请参考LAT https://www.stmcu.org.cn/module/forum/search.p...AA%8C8 T/ p) h% L6 |7 N0 s0 }* u
6 A$ t- [5 F7 j
61、问:stm32与stm32之间可以通过以太网连接吗?
) H( b! G0 x  |  W5 W) F% K4 q$ p) XFAE:两个设备同时都有以太网接口,就可以做以太网传输。一个做客户端,一个做服务器。
3 W9 \" H) ^" B2 k
% X6 J8 O" ^; p# _1 h  f62、问:stm32f4与其他外设之间的传输可以用以太网来传输吗?  k9 {4 L' ]: G- H0 D- G
FAE:需要支持以太网的设备,才能实现以太网传输。: v4 }! ~1 @) b2 X- c2 R

% J; l8 X7 e. T2 V* b63、问:STM32+LWIP通信正常,加上ADC+DMA后,以太网不通了。请教什么原因?
5 T+ x* ~9 L4 t& u7 s( X: F0 fFAE:建议查看 管脚复用
" B& t5 d, u) L3 F+ j3 c5 r# @0 Q& |" j4 M5 _' q
64、问:最近在做STM32F107的以太网通信,使用的是TLK110的PHY芯片,基本功能和DP83848类似,现在在SMI通信处卡壳了,进行写操作时,对STM32的MDIO和MDC管脚测量波形,都是正常的,但进行读操作时,无论我刚才写了什么数据,波形时钟不变,出去前面的引导码等等,数据部分时钟是低电平。不知道是不是还有什么地方没有设置,或者是我的硬件搭建有问题?+ w7 R% ~6 V" n
FAE:请确认PHY的默认地址跟TLK100 datasheet一致,硬件bootstrap正常( q* w2 B% V7 j7 k

' Z/ n& {- [7 }1 p. E0 }3 s65、问:怎么几个pool和pbuf混淆了呢?$ _( `* V( C0 ?0 [  b
FAE:pbuf的内存时从pool里分配的,之所以建立不同pool,是适应不同的需求5 B, q% G6 W+ F5 x; s; G
5 j+ u. s1 H5 y$ Q( q& Q! A" d
66、问:请教下我用的是STM32F407+DP83848做客户端,程序在那里打印可以,确定物理没有收到服务发过来的数据? 谢谢!
( p! r. ~8 n2 j0 S6 xFAE:你可以检查一下MAC还有PHY的配置。我们的F407的EVAL板上用的就是DP83848,Cube库里也有对应使用DP83848的demo,可以对比参考一下。2 ^* s  l: m6 ]- `
" G+ i- E3 B4 ?4 x0 n
67、问:请问ST 专家,STM32CubeMX中鼠标拉左 边的滑动条时经常自动关闭软件 的问题怎么解决,重装换电脑都 没用。谢谢& \: V, e3 o) }2 k0 y( }0 \
FAE:请关闭电脑上的有道,金山词霸等应用。和CubeMX有冲突。5 a& Z8 i6 \, P9 H: @8 t9 s4 u$ g

9 t0 l( T; M8 X% W5 Z3 C68、问:请问有没有如何根据自己的需求,来决定如何配置LWIP参数(内存,tcp window等)的教程?
) O) d. u# a4 _1 I' AFAE:www.stmcu.com.cn上的实战经验里有LAT关于LWIP的配置,里面有一些相关介绍。
. R6 c! H+ f' s& I: }* I2 x1 G. D5 X# I/ {: z5 U
69、问:stm32中断机制是否有demo?9 k# T: P9 k: F- A9 S- T8 p3 C0 k5 _
FAE:有的。请见STM32F756的Cube库里的LWIP的例子6 e' r$ T4 \& s8 k8 N# U

4 Z9 i0 G  j% h) K$ ]70、问:STM32f746 EVAL board 的MCU频率和Nucelo 时钟频率一致么?. ^; a7 s# u1 n1 s6 c
FAE:没太看懂你的问题。你是指系统的时钟?系统时钟一样。指MAC和PHY接口的时钟?EVAL板是MII接口,使用25MHz时钟,NUCELO板是RMII接口,使用50MHz时钟
' V( |0 D1 }0 J- V. K$ ^  P$ }, O
0 Y; X( m0 Y9 a: X- }71、问:stm32带以太网控制器的用哪一款芯片好点?
, `5 _8 r5 [% M  D5 P( bFAE:以太网外设都一样,其他根据你的应用来选型。4 ?% o  B- B. Q" j

, @% O" d5 ^7 Q7 B! L/ n72、问:ping 包和 UDP 测试都会丢包,大家的也会这样吗?3 G4 F% ^* x$ c! z% [6 f# X8 D4 S
FAE:ping丢包有很多情况,有时是延时太长。UDP本来就不是可靠传输的协议。& O; H; P* `6 ]

3 o1 U" K0 f* a" i73、问:第一条途径,通过高级语言熟悉socket编程,在嵌入式系统中应用 lwIP协议栈。第二种途径,通过分析嵌入式以太网代码,结合TCPIP协议栈规范逐步实践协议栈代码。这两种方式哪个更适合大型项目开发?
1 r+ N0 ?( Y) ]! B) AFAE:前者。不要重复发明轮子,而且TCP/IP博大精深,玩转它不易。4 [4 i1 C$ e* P  x, q- ?
# R# \, X) F- @' }4 n7 H) }" _+ u
74、问:stm32427以太网IO口线和AD采集口线挨着,会影响AD信号不?
; r0 M8 P) Y2 X, d) k6 C! ~FAE:会
) E" x5 r& \- n% Q0 }& z
4 G. E) B5 a; t2 B75、问:Enthernet  在PCB设计差分信号线宽有要求么?
) |/ T# B9 |) q& G, h: aFAE:是的
- E: O5 \4 F! L& ~+ R
) H. q8 o/ ~- X! t8 [76、问:自动协商是什么意思?作用?
9 y3 b2 N5 u! O3 z; F9 {FAE:简言之,就是网线连接的双方,协商诸如通信模式,速度等参数值
* R" p; a3 I* i3 L( s7 o& v* `0 u1 X. j: C! b/ j
77、问:接下来会有lora或nb-iot方面的培训吗?
! {# H; D2 h) _( X0 ]# [5 y( UFAE:计划中,请关注ST官网9 q: L' x+ X+ c$ k0 c3 P( L
0 ?0 ~2 Y! u* J

: m7 z% |- B: B/ J
收藏 1 评论4 发布时间:2017-8-30 14:22

举报

4个回答
freeelectron 回答时间:2017-8-30 16:34:00
阔以阔以,这就很赞!
creep 回答时间:2017-8-30 16:41:51
厉害了,这是看视频一个一个记录的吗。
zero99 回答时间:2017-8-31 11:11:15
creep 发表于 2017-8-30 16:41
! ]* a0 |7 k# ^: F厉害了,这是看视频一个一个记录的吗。

& o' H, y8 d4 X( b( xFAE帮忙给记录的
annQian 回答时间:2018-7-6 16:33:25
发送描述符合接收描述符在内存中是怎么存的?咋没人问呢?

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版