微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM手记之芯唐M0系列

ARM手记之芯唐M0系列

时间:11-10 来源:互联网 点击:

果IE置1,则定时器中断位置位,产生中断信号并送到NVIC通知CPU。

3)可编程时钟输出模式

一旦定时器计数器的值与TCMPR匹配,且IE置1,则定时器中断标志位置位,产生中断信号并送到NVIC通知CPU,相应toggle输出信号置1,定时器计数器的值返回到计数初值,定时器计数器重新计数,如果中断标志被软件清除,一旦定时器计数器的值再次与TCMPR匹配,则定时器中断标志为再次置位,产生中断信号并送到NVIC通知CPU,相应toggle输出信号置0;如此往复,产生占空比为50%的信号输出。

4)持续计数模式

产生中断信号的产生取决于TDR==TCMPR。定时器计数器的值与TCMPR匹配后,定时器计数器继续计数,而不返回计数初值,用户可以通过不断改变TCMPR值来实现计数或定时功能。

5)事件计数器

定时器计数器的时钟源TMRx_CLK必须设置为HCLK,可以通过设置TEXCONx[7]来使能或禁止TM0-TM3防抖动功能,以及设置TEXCONx[0]来设定TM0-TM3上升沿或下降沿计数。如果禁用计数防抖动,事件计数源频率频率必须小于1/3HCLK,如果使能计数防抖动,事件计数源频率必须小于1/8HCLK,

8.串行口

MCU提供3个UART通道,UART0支持高速,UART1~2支持普通速度,另外UART0与UART1支持流控制,UART0与UART1可以采用DMA控制器。

通用异步收/发器(UART) 在从外设收到数据的时候执行串到并的转换,在从CPU收到数据的时候执行并到串的转换。该串口同时支持LIN主机模式和 IrDA SIR 功能。有7 种类型的中断:发送FIFO 空中断(Int_THRE)、接收极限到达中断(Int_RDA)、线状态中断 (overrun error 或者校验错误或者framing error或者break 中断) (Int_RLS)、超时中断(Int_Tout)、MODEM 状态中断(Int_Modem) 、唤醒状态中断 (Int_WakeUp)和LIN 接收停止侦测中断。

UART0 接口控制器一个内嵌64-byte 发送FIFO (TX_FIFO) 和 64-byte 接收 FIFO (RX_FIFO) 来降低CPU的中断数量;UART1~2内嵌 16-byte 发送FIFO (TX_FIFO) 和16-byte (每个字节加3比特的错误数据) 接收FIFO (RX_FIFO) 来降低CPU的中断数量,UART包括一个可编程的波特率发生器,它可以将输入晶振除以一个除数来得到收发器需要的时钟. 波特率公式是 Baud Rate = UART_CLK / M * [BRD + 2]. 其中M和BRD在波特率分频寄存器UA_BAUD中定义。

UART0与UART1 控制器用 2 种low-level 信号, /CTS (clear-to-send)和 /RTS (request-to-send)支持自动流程控制功能。

UART 控制器提供 串行 IrDA (SIR, 串行红外) 功能 (用户需置位 UA_FUN_SEL[IrDA_EN] 使能 IrDA 功能),SIR 定义短程红外异步串行传输模式 1 开始位, 8 数据位, 和1 停止位. 最大数据速率 为 115.2 Kbps (半双工). IrDA SIR 包括 IrDA SIR 编码/解码协议。

UART 控制器具有LIN(局域网) 功能. LIN 模式提供设定LIN_EN bit 位 UA_FUN_SEL 寄存器. 在LIN 模式, 1 开始位 8 数据位和1 停止位相一致,同标准LIN 相同。

串口特性:可编程为5,6,7,8位的数据位,可编程奇偶校验或无校验,可编程为1,1.5,2位的停止位,

UART支持RS-485 9位模式功能,设置UA_FUN_SEL选择RS485模式;控制器可以配置成可寻址的从机模式,RS485发送可通过设置优先级(bit9)为1标志地址特性,对于数据特性,标志优先级为0;设置寄存器UA_LCR控制第9位(PBE,EPE和SPE置位,第9位发送0;PBE,SPE置位,EPE清零,第9位发送1)。

RS485自动地址识别模式:接收器在检测到地址字节(bit9 =1),并且地址字节数据与UA_RS_485[ADDR_MATCH]的值相匹配之前将忽略所有数据,地址字节数据将存储在RX_FIFO,所有接收字节数据将被接收并存储于RX_FIFO,直到地址字节或数据字节与UA_RS_485[ADDR_MATCH]的值不匹配。

RS485普通多点操作模式:流设置UART_FCR[RS485_RX_DIS]使能UA_RS_485[RS485_NMM],接收器会忽略数据,直到检测到地址字节(bit 9=1)并且地址字节数据存储到RX_FIFO;流禁止UART_FCR[RS485_RX_DIS],接收器将接收任何数据。

RS485编程流程:1)设置寄存器UA_FUN_SEL的FUN_SEL位选择RS485模式;

2)设置寄存器UA_FCR中的RX_DIS位使能或禁止RS485接收器;

3)设置RS_485_NMM模式或RS_485_AAD模式;

4)如果选择RS_485_AAD模式,AADR_MATCH设置成自动地址匹配值;

5)若为自动方向模式,设置R2_485_AUD;

9.实时时钟

时钟源由外部32.768KHz晶振提供,管脚为X32I 及X32O 或者外接32.768KHz 频率的信号源。RTC支持时间格式 (秒,分,时)寄存器(TLR)以及日历格式(日,月,年)寄存器(CLR)。数据格式由BCD格式存龋模

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top