AN4655 应用笔记 在 STM32 应用中虚拟增加串行通信外设数目. w. t1 u/ A9 u# ^ 0 q; p g& N8 d & E" X" O( p3 ]; b( M 前言应用工程师经常面临的问题是,微控制器在功能和性能上满足应用的所有其它要求,只是串行通信外设数量有限。有时,他们只能替换为具有充分数量通信外设的高级微控制器以规避此问题。这种移植可带来额外的 (经常是用不到的)性能和功能,在多数情况下应用都不需要或用不到,但却增加了成本和 PCB 复杂度。 经常发生的情况是当并不是每个通道都需要全部 (或特定)功能时,通信流及其控制可极大简化 (例如仅在特定的模式或时隙需要通信、通信速度可以更低、并不是所有信号都严格需要正确的时间、可接受简化的协议或流程)。在这些特定情况下,如果有方法能用当前硬件补充缺失的信道,避免移植,则用户可真正受益。 另一方面,要在复用通道上与所有原始硬件特性完全兼容,代码和性能方面的代价太大,也很难实现。通常,会倾向于放弃一些特定需要,以达到简化复用外设通道概念的目的。这里,关键一点是识别那些应用中不需要的、可使用低工作量、降低性能的方法变更的通道。 $ b M/ v7 ~4 X 本应用笔记提供了所述问题的基本概述,可帮助应用工程师在实现缺失的通信通道时,发现可能的替代方法。因为所讨论的外设存在于所有该类产品,所以它适用于所有 STM32 微控制器。 . c, v* u( S0 J: w% K' y# I _; c 在下面的参考文档中有更多的信息和样例,说明了实际的用例和解决方案: • TN0072,软件工具链和 STM32 特性; & E6 e- k9 Z3 E# @- P+ }: M; a: T • UM0892, STM32 ST-LINK 工具软件说明; + y) p# b. _$ k9 w • AN4457, STM32F4 全双工 UART 模拟。 最后引用的文档与相同主题的其它应用笔记共同开发,用户可在 www.st.com 上查看。 7 s+ U x' }( w# \; { 1 硬件方法7 ? {% P0 Y' T& U6 A$ P/ [ 如果不能接受增加原始硬件外设 (例如,增加专用通信协处理器单元等外部组件),那么可使用下述基本方法补偿外设数量的限制: 7 l7 Y6 S) y3 m( j) M 1. 使用内部专用外设实例的重映射选项,更改不同端口处的输入和输出,以此建立微控制器与不同通道的临时连接 (用户可在数据手册的引脚说明中,针对每种产品及其实现的外设找到复用功能能力的信息)。 ) J5 O( b J& X* m 2. 使用复用逻辑,将多个通信通道复用为一个通信端口。 " p0 a9 f5 _6 u. C- Q7 L, [6 j/ T 3. 使用 SWO 特性。 前两种方法提供了除专用时隙之外所选通道的服务,仅当它发生时不严格要求复用通道的同时操作和永久监测才可使用,例如: • 服务通道; • 偶尔与远程设备通信; • 监测数值变化缓慢的传感器; • 用于周期性备份的通道。 ! o6 l: M3 _0 i+ x 当从设备的活动等待主请求,或与从设备的通信可丢失,当主设备重新连至服务通道时可容易地重新同步时 (监听并通话),这些方法适合于主设备通信。当从设备和主设备之间提供额外控制信号来告知从设备连接建立时 (例如,当从设备能 / 不能在通道工作时的片选或通道就绪 / 繁忙信号),它也可用于从设备侧。 , P# @% P4 @4 F3 O: \ 总之,当复用功能重新映射或复用到另一通道时,用户应注意与外设实例总线信号相关的GPIO 处于非活动状态。正确设置可确保空闲条件的模拟,防止阻塞于当前未选择的或未用于通信的通道。可通过正确配置 GPIO 端口寄存器达到这一目的,增加外部组件 (上拉 / 下拉电阻)也有部分作用。请注意,当从端口移除 (重映射)复用功能时, GPIO 逻辑一般会覆盖相关引脚的控制,用户必须防止这些临时冻结通道上的任何总线虚假状态检测。 4 O4 v( B/ `. t' }. X 对于复用情况,如可用于产品,用户可使用路由接口专用组处的 I/O 开关专用控制。用户必须确保单个组内的适当开关组合 (配对)及时关闭,以令信号通过需要的路径。用户必须为这种开关指定额外的 IO,它们不能用于其它用途,而且还会有额外的 PCB 走线。 该原理示于图 1 和图 2 中。 9 C; e( q( a/ T$ w: L) t ' }1 z& z! m+ N% @$ S4 K 在调试期间,经常需要额外的通信端口,以传递应用专有的诊断信息和实时运行期间的系统监测。使用专用的指令跟踪宏小区 (ITM)和串行线浏览器 (SWV)接口期间,用户可在SWO 引脚设置虚拟 COM 通信端口。0 U- x8 I( {9 o# w7 E K3 T ...% |& A) k) F& u6 I; ` # g- A7 O0 Q* w u4 ]' S 阅读更多内容,请下载文档: 下载地址1>> 下载地址2>> 更多中文文档>> 7 G4 a3 ?& A2 n0 i0 @- G2 H |
说好的中文文档呢 |
【银杏科技ARM+FPGA双核心应用】STM32H7系列10——ADC
【银杏科技ARM+FPGA双核心应用】STM32H7系列57——MDK_FLM
【STM32图书分享之九】—《STM32F 32位ARM微控制器应用设计与实践》
无刷直流电机控制应用+基于STM8S系列单片机---电子书
STM32 USB的程序,包含固件、驱动和测试用的应用程序
工业以太网总线ETHERCAT驱动程序设计及应用(扫描版)
【实战经验】STM32 DFSDM测量温度应用
【实战经验】基于STM32 I2S的音频应用开发介绍
【中文文档】AN4112_使用STM32F05xx模拟比较器的六个应用案例
[连载]STM32F103ZET6 uCGUI3.90a控件应用教程(第五节 复选框和单选按钮)