文件名称:
Nano系列的UART数据唤醒功能介绍和范例程序代码.pdf
开发工具:
文件大小: 1mb
下载次数: 0
上传时间: 2019-09-14
详细说明:AN_0003_UART_Data_Wake-up_Function_for_Nano_Series_SC_Rev1.00nUVOTon
ANO003
简介
对于
系列,
控制器提供两种将从
掉电模式中唤醒的方法。一种是使用管脚唤醒功能,用户可以切换管脚状态将
唤醒;另一种方式是数据唤醒功能,当接收到数据的时候,
控制器能够将从掉
电模式中唤醒,并且将接收到的数据储存在中
如图所
从掉电模式中唤醒后’由于控制器需要等待时钟源起振,因此相比
于正常模式会有采样点位移的时间。如果采样点位移的时间人于每位传输时间的一半
(波特率为
时约为微秒),就会造成采样错误,导致第一笔数据接受错误。
由于
系列具冇快速唤醒的能力,髙速內部振荡器
的起振
时间约为微秒,因此当以及时钟源皆选择,并且波特率设定不超
的时候能够正确接受用来唤醒的第一笔数据
采样点位移
采样点
采样点
掉电模式
∏∏∏∏冂「冂∏∩∏∩∏「∏「∏∏「∩∏∏F
曾进入省电模式并且由数据唤
的UART时钟源。
采样点
采样点
采样点
正常模式下的UART时钟源。
图
采样点位移时序图
以下接着介绍数据唤醒功能的测量结果,用户可以参考附录的范例程序代码
Aug.24,2015
Page 3 of 19
Rev 1.00
nUVOTon
ANO003
UART数据唤醒功能的测量
相关寄存器
本节将介绍与
数据唤醒功能相关的寄存器内容:
控制寄存器:该位用来启动
数据唤醒功
设置成时,将启用
数据唤醒功能。当处于掉电模
式并且
控制器接收到数据时,会将从掉电模式中唤醒。当数据唤醒操作完成,
并且系统时钟工作稳定之后,硬件会清除该位
中断使能寄存器:该位用来使能唤醒中断
如果唤醒中断状态标志
被设置成并且
也被设置成刑,将会产生
唤醒中断。
中断状态控制寄存器:处于掉电模式中,当
控制器接收到数据或者
管脚上有电压状态变化时,将被设置成。如果
也被设置成,将会产生唤醒中断。该位在读取的时候才有意义,但是可
以向此位写清除。
时钟源起振时间
我们使用
管脚将时钟源输出,并且设置时钟源为如图所不,当
传入数据将从掉电模式中唤醒后,
需要约
微秒的时间起振,这个时间也就是
采样点位移的时间。
Aug.24,2015
Page 4 of 19
Rev 1.00
nUVOTon
ANO003
Ready
M dONs
TPcs:5000%500Ms
32.167}FF
:2.174t
1----T1
w啊啊
____LLl
CHI 2V CH2 2V
0y
图
时钟源
起振时问
如果样点位移的时间大于每位传输时间的一半,采样点将会位移到下一位,造成
釆样开始位错误,导致第一笔数据接受错淏,如图所示。
控制器无法正常接收开始位
并且造成错误的数据流。也就是说,时钟源起振的时间不能超过每位传输时间的一半。
采样点位移
错误采样点
错误采样点
图
采样错误
采样点位移的结果
Aug.24,2015
Page 5 of 19
Rev 1.00
nUVOTon
ANO003
由于数据唤幄需要一个时钟源起振的时间,以时钟源设定为例,起振的时间约为
微秒。
如圖所示,我们设定波特率为
,时钟源为
当唤醒并且时钟
源起振后,由于时钟源起振的时间并未超过
每位传输时间的一半
1
2115200
4-.34微秒,即使釆样点位移但是开始位依旧能够被正确辨认,因此能够正确接受传输的
第一笔数据。采样点位移将会在下一笔数据的开始位被同步
Ready
M 2uS
Tvs:5090%500MS/s
B68
采样点
r"T-r--7-r-1
色=8。65u
米样点位移
←
hupu"中
CH1 2V CH2
0Y
採樣點位移鮑率
旦我们提高波特率,采样点位移的情形会更加严重。当我们提高波特率到
的时候,
每位传输时间的一半
—≈2.58微秒接近赶振的时间,这可能导致控
2194000
制器对开始位的采样错误。即使如图所示,传入的数据为
控制器仍然能
够正确接收,但是我们无法保证每次传输的结果都正确。
Aug.24,2015
Page 6 of 19
Rev 1.00
nUVOTon
ANO003
TPs:5000%
500 MSs
i石
r--"r叶-r+1-rr-1-f--1
}r-r1-+"1"『-7-r+"T-r+1-r+-1"r1-r-r1-rT
5152us
==
----=-=-----1------
-h--+--11--
liiilrllll
-正-t-L打」-L」-L」-山Jh-11L
CH1 2V CH2 2V
Start10000010stop=>01000001=0x41=>'A
图
采样结果波特率
在图中,黑线代表传输每位数据的边界,包含位的开始位、以传输位的数据
以及位的停止位。绿线箭头代表控制器采样的时间点,采样结果虽然正确,
但是采样时间凵经接近数据边界,如果传输端波特率有误差就容易造成控制器采样错
误
接收数据错误
随着我们进一步提高波特率的时候,越加严重的采样位移将会导致挫制器接收到错
误的数据。
举例来说,当我们将波特率提高到
的时候,
控制器对开始位的采样点会位
移到下一个数据位,如图所示。如此一来控制器会错失对开始位的取样,反而采样下
Aug.24,2015
Page 7 of 19
Rev 1.00
nUVOTon
ANO003
一个数据位是否为廾始位,得到的数据传输结果。错误的采样时序如图所示,传人的字’
会被误认为字
。错误的采样点位移将会在采样到下一笔数据的开始位时被修
正
R
MooNs
T Fos:50.00%o 500 MSls
A:201
「十T"r十Tr1「千---r+1-节-+-r+-r+-r-r+7-r-1
8:2.154也
采样点位移
采样点
T
M州阿
HIEHHT
CH1 2V
时钟源起振时间与开始位的比较波特率
Aug.24,2015
Page 8 of 19
Rev 1.00
nUVOTon
ANO003
Correct data = 0x43
Start
Stop
1|0|0|0|0|01|0
Read
TRos:50.00%500Ms
A
221.88u串1
-一
=+==+=;-===
=--=----
-1---}----
===--==L
--1------4-
气
CH1 2 I ICH2I 2v I
Start
0;0
Wrong data = 0X50
图
采样结果波特率
保证波特率
为了正确接收传入数据,用户必须调整时钟源频率以及适当的波特率大小。对于
系列
以及
时钟源皆选择时,我
们保证最大波特率可以到
Aug.24,2015
Page 9 of 19
Rev 1.00
nUVOTon
ANO003
启用
数据唤醒功能
以下为启用数据唤醒功能的步骤
启用
唤醒中断
UART_EnableInt(UART,UART_IER_WAKE_IE_Msk);
后用
数据唤醒功能
UART->CTL |= UART_CTL_WAKE_DATA_EN_Msk;
后用
中断处理
NVIC_EnableIRQ(UART_IRQn);
当被唤醒并且执行
中断处理的时侯,用户需要在离开
中断处理之前清
除
中断标志。
UART ClearIntFlag(UART, UART ISR WAKE IS Msk)
由于硬件在数据唤醒操作完成并且系统吋钟工作稳定之后,会自动清除
位,用户必须重新进入掉电模式之前再次启用
数据唤醒功能。
UART->CTL= UART CTL- WAKE_ DATA EN_Msk;
Aug.24,2015
Page 10 of 19
Rev 1.00
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.