开发者必备利器:掌握Nuvoton开发应用中的单线UART技巧

掌握Nuvoton开发应用中的单线UART技巧

在当今的电子设计领域,双线全双工通信模式因其稳定性和高效性而被广泛应用。然而,在面对诸如芯片管脚数量有限、Bootloader升级接口限制以及通信线路成本考量等实际问题时,往往需要更加灵活和经济的解决方案。为此,单线UART(通用异步收发传输器)传输模式应运而生,它以单一信号线实现数据的发送和接收,大大简化了硬件设计,降低了系统成本。 本文将重点探讨单线UART传输模式的原理与应用。新唐科技(Nuvoton)作为业界知名的微控制器制造商,其M0、M23和M4系列内核产品如M031、M251、M460和M480等,均已支持单线UART模式。这些产品不仅能够在单线模式下稳定工作,还能实现高达6Mbps的传输速率,满足了高速数据传输的需求。


一、单线UART和双线UART对比

通过这个图表我们可以清楚地了解单线UART和双线UART的区别及各自的优缺点。

单线UART和双线UART对比图

单线UART和双线UART对比图

 

二、 单线UART硬件设计

由于在单线UART模式设定UART_RXD功能时,会被设定成输入模式,因此当两个M031用单线UART对接的时候,需要通过外部上拉电阻使总线维持高电平状态。

单线UART对单线UART的接线方式:

单线UART对单线UART的接线方式

单线UART对双线UART的接线方式:

单线UART对双线UART的接线方式

三、UART单线半双工模式原理

UART控制器提供单线半双工功能,可在UART功能模式下实现(通过设置UART_FUNCSEL[2:0]为'100'以启用UART单线功能)。当单线总线空闲时,保持RX状态。通过将数据写入TX缓冲区DAT(UART_DAT[7:0]),单线总线将立即将总线状态从RX转变为TX。传输结束后,单线总线状态会从TX恢复为RX。为减少总线冲突问题,UART控制器支持流控制和位错误检测。在保持TX状态时,nRTS不会激活总线。UART的默认状态为RX模式,只有在ATOCTSEN(UART_INTEN[13])使能的情况下,当nCTS取消激活状态后,才会转换为TX模式发送数据。在TX状态期间,UART控制器将监测总线状态。如果总线状态与UART控制器的TX状态不相符,则会设置SWBEIF(UART_INTSTS[16])。

注1:在写入TX缓存数据前,总线状态可以通过读RXIDLE(UART_FIFOSTS[29])来检测是否为空闲状态。总线冲突可能导致RX接收错误数据。 

注2:单线UART不支持自动流控制,因为自动流控制会在TX发送时自动激活nRTS。

四、程序操作

1. 单线UART例程位置

在新唐Nuvoton M031的 SampleCode可以找到3个UART单线的例程

3个UART单线的例程位置

3个UART单线的例程位置

2. 管脚设置 

将I/O模式更改成准双向模式 (Quasi-bidirectional Mode),使总线维持空闲状态,并设置UART_RXD管脚复用功能。

管脚设置

管脚设置

3. 单线模式设置

单线模式设置

单线模式设置

4. 按照正常的UART收发数据的方式即可,详情客户参考Nuvoton新唐官方例程操作。

五、UART_115200bps_SingleWire_ISP的升级

UART_115200bps_SingleWire_ISP这个例程可以实现使用单线UART将程序从LDROM启动,并更新APROM程序。同时,官方也提供做的单线ISP升级工具。  

单线ISP升级工具

这里温馨提示一下,官方示例中提供的单线UART仅支持115200bps的传输速率。然而,正如前文所述,M031系列实际上能够支持高达6Mbps的最高速率。实现这一点,只需对以下三个方面进行调整。

1. UART_115200bps_SingleWire_ISP 例程修改

 UART_115200bps_SingleWire_ISP 例程修改

UART_115200bps_SingleWire_ISP 例程修改

2. ISP Programming Tool修改,可以使用Microsoft Visual Studio编译

修改ISPLdCMD.cpp

修改ISPLdCMD.cpp

完成修改后,请重新编译并烧录固件。使用已修改的ISP进行连接,更新程序的步骤与常规的ISP-UART升级方法相同。这里可以参考我之前的博文:Nuvoton开发流程 初级篇 2 -- Bootloader

综上所述,Nuvoton开发流程应用篇为您介绍了单线UART的优缺点、硬件设计、工作原理和开发流程。如果您对Nuvoton新唐开发流程应用有独特的见解或者想要分享一些开发经验,欢迎在评论区留言,期待与您的交流和学习!欢迎收藏我们的网站:www.wpgdadatong.com.cn

登录大大通,查看原文,了解更多详情!

  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值