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

管理驱动器使能信号以使用STM32™的 USART 进行 RS-485 和 IO-Link 通信

[复制链接]
STMCU小助手 发布时间:2022-7-25 18:06
前言* n4 _/ Z+ R: J# d0 E8 P4 E
RS-485 和 IO-Link 为半双工通信协议,它们为工业网络中物理层的实施提供了便捷的途径。
9 a5 _! z* d+ N+ r3 wSTM32F10x 支持多达 5 个 UART 接口并可实现快速 DMA 传输和低中断延迟,符合 RS-485和 IO-Link 时序规范。
2 P( |$ F+ l& \  h/ m' x; P9 {本应用笔记旨在提供两种方法测量 DE 信号(驱动器使能)的切换时序,并管理该信号在
+ Z# V7 i  E9 K/ q- ERS-485 和 IO-Link 中的主器件发送。# a! z5 c) E; g1 L! M
本应用笔记分为三部分:& G0 R, _% z: b4 l1 C5 _# e# a9 I; }, d
● 首先介绍 DE 信号时序之所以重要的原因( \6 {. O* g6 w
● 然后说明两种管理 DE 信号的方法, ^1 T& L; H; n1 O
● 最后给出不同的 DE 信号切换时间测量结果4 w. j* {. w7 g$ E) x2 y' C
1 DE 信号时序限制
4 |/ o4 C, N8 Q5 U7 p9 I/ U7 W对于 RS-485 和 IO-Link 等串行半双工通信协议而言,主器件需要生成方向信号来控制收发器 (PHY)。该信号会通知 PHY 必须以发送模式还是以接收模式动作。
+ `7 k# w) U3 W' z这种控制的时序特别重要,特别是从发送模式切换到接收模式时,应用必须确保器件在另一个实体发送数据前已处于接收模式。
1 H$ h# X: ~+ Y4 L- t! _* U+ F主器件必须在一个位的时间内释放 Tx/Rx 线路,否则会与从器件的响应发生冲突。因此,在主器件发送最后一个字节的最后一位后,DE 信号必须在一个位的时间内从高电平切换到低电平。+ n2 I' ~0 |' U2 ]9 g( f" p6 G
6 m% R2 P1 ]" W# A; a0 g) c
2 H6 T& u& w5 J9 M5 g9 P6 W: M
K@R(~TW5P[H6M}PC2P(5TU1.png
. R9 r2 j- R% _( {
! ~. Z' S7 x4 b+ B( A! v6 @主器件应能够确保 DE 信号的时序(由 RS-485 和 IO-Link 规范规定)。通过 GPIO 可管理DE 信号。
' _9 w) @' I0 b4 w( O: G9 i* ^" w请注意,在本应用笔记中,虽然 DE 信号仿真使用的是 GPIO 端口 C 的引脚 6 (PC6),但实际上可以使用任何 GPIO。5 ^# r& ^- v! _4 m- }# Y. N" q

6 P- b9 Y, c( \, ^3 D8 k2 DE 信号管理方法说明9 y. d- L5 C0 c
本部分将提供两种控制 DE 信号并在 USART 发送和接收模式间进行切换的方法。7 z6 O+ E' }+ h! t, u
第一种方法使用两个中断:DMA 的发送完成中断和 USART 的发送完成中断。
5 n+ J! i0 X$ a8 |第二种方法使用两个 USART 中断:发送完成中断和发送缓冲器清空中断。# `1 g! e! i! F# O8 M

: L& y# \# A9 C( ?+ ]( ]) u
2.1 使用 DMA 中断的方法
% ^4 j/ g6 X+ p. A0 P在此方法中,DMA 将全程管理数据缓冲器的数据发送。它会将数据缓冲器中的数据持续发送给 USART 数据寄存器,直到 DMA 计数器的读数为 0。如果发生 DMA 发送完成中断,则使能 USART 发送完成中断。在此中断中,将 DE 引脚设置为低电平。- K" Z# P9 _2 ?2 p! n0 A3 k8 _
DE 信号会在使能 DMA 传输前设为高电平。
1 w! `/ \& f: }/ ?3 B图 2 显示使用 DMA 发送完成中断管理 DE 信号的示例。
) ~1 Z8 F7 b# K5 o; _" a6 j+ i7 c4 i& s0 [3 b! B, K$ k
- a; B; A( i) Y% C7 p2 f
4@{JTYY~7%M@BH5{J}O3}35.png 7 J! V8 K2 S7 z, R
) n2 Y8 M4 s0 i  h7 o% t

, S& |9 q& a+ p2 q5 J2.2 使用 USART 中断的方法
0 ]2 Y4 r# Z( N% F% x$ h1 d6 g使用 USART 的发送完成中断可以将 DE 引脚变为低电平,从而通知从器件发送响应。另外,还可使用发送数据寄存器清空中断将此引脚变为高电平,通知从器件主器件即将发送数据。
* F3 |' {- `6 i. _图 3 显示使用 USART 中断管理 DE 信号的示例。
  I* d- G; r$ E% F/ ^发送第一个字节前应将 DE 引脚拉升为高电平。发送最后一个字节的最后一位后将其变为低电平。这可以通过在发送最后一个字节时使能 TC 中断来实现。下一次发生发送完成中断时会将 DE 引脚变为低电平。
" a' E8 a! s1 F; T7 {, a5 ]* v
! d) F1 ^5 s1 w6 e9 C& ]
. {; T0 u- H0 @  R8 L/ n$ [完整版请查看:附件
" h  M+ i: B3 Q
! b+ S, t8 ^1 _8 ]" _. }- I8 V" I5 G' {7 \6 U
7 G% n' q0 n# K0 \5 Z" @  }, D" l
_FLZ4%SIPV`UE)@7_73TFN5.png
4(LBT8K4~YN3FB371Y4FI4H.png

CD00249778_ZHV1.pdf

下载

474 KB, 下载次数: 2

赞 收藏 评论0 发布时间:2022-7-25 18:06

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版