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

ARM手记之芯唐M0系列

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

器件,NUC1XX系列为用户提供4k字节的数据FLASH用于存储一些应用所需的数据;对于128k字节的器件,数据flash与128K的程序内存共享,其开始地址是可配置的,由用户在Config1中定义.用户可以根据其应用的需要来定义数据FLASH的大校数据FLASH的基地址由DFBADR定义

2)数据存储器

4K/8K/16K字节内建SRAM,支持9通道PDMA用于SRAM和周边设备的自动数据传输。

3)PDMA控制器

NUC100/NUC120系列包括直接存储器访问(PDMA)控制器,用于APB和存储器间的数据交换,具有 9 路DMA (外设-存储器 或存储器 -外设 或存储器-存储器) 通道,每路 PDMA 通道 (PDMA CH0~CH8), 在外设 APB IP和存储器间有一个字的数据缓冲器,每个通道可支持一个单项传输。

PDMA 运行通过软件轮流检测或接收到内部PDMA 中断, CPU可以识别PDMA运作的完成,PDMA 控制器可增加源和目的地址。对于源和目的地址而言,PDMA 控制器具有两种模式:increased和fixed模式。每个PDMA模拟通道没有先设定,因此用户需要通过设定PDMA_PDSSR0和 PDMA_PDSSR1先行配置每路的PDMA 通道。软件需使能DMA通道PDMA[PDMACEN] 并且写有效的源地址到PDMA_SARx寄存器、目的地址到PDMA_DSABx寄存器、传输计算数到PDMA_BCRx寄存器、以及设置DMA_CSRx PDMA[Trig_EN]触发。PDMA将继续传输直到PDMA_CBCRx为0。PDMA (外设-到-存储器、存储器-到-外设) 模式,DMA可以在外设APB IP (ex:UART,SPI,ADC….) 和Memory将传递数据。

硬件通道优先级:DMA通道0有最高优先级,通道n有最低优先级。

Low Density系列仅支持1个PDMA通道:

5.通用I/O

有80个通用I/O引脚,可以和其他功能引脚共享。80个引脚分配在GPIOA, GPIOB, GPIOC, GPIOD与GPIOE五个口上,每个口最多16个引脚。每个引脚都是独立的,都有相应的寄存器来控制引脚模式与数据。I/O引脚上的I/O类型可由软件独立地配置为输入,输出,开漏或准双端模式.所有的I/O引脚默认处于准双端模式。

可选的TTL/Schmitt触发输入,支持大电流驱动/灌入I/O模式。

1)输入模式

设置GPIOx_OMD(PMDn[1:0])为00b,GPIOx port[n]为输入模式,I/O引脚为三态(高阻),没有输出驱动能力。GPIOx_PIN的值反映相当端口的状态。

2)推挽输出模式

设置 GPIOx_OMD(PMDn[1:0]) 为 01b,GPIOx port [n] 为输入模式,I/O支持数字输出功能,有source/sink电流能力. GPIO_DOUT 相应位的值被送到相应引脚上。

3)开漏输出模式

设置 GPIOx_OMD(PMDn[1:0]) 为 10b,GPIOx port [n]为开漏模式,I/O支持数字输出功能,仅有灌电流能力,需要一个外加上拉电阻驱动到高电平。

4)准双端模式

设置GPIOx_OMD(PMDn[1:0]) 为 11b,GPIOx port [n] 为准双端模式,I/O同时支持数字输出和输入功能,但source电流仅达数百uA. 要实现数字输入,需要先将GPIOx_DOUT 相应位置1, 准双端输出是80C51及其派生产品所共有的模式。准双端模式的source 电流能力仅有200uA到30uA(相应VDD的电压从5.0V到2.5V)

6.中断系统

NUC1xx 系列支持下表所列的异常模式. 与所有中断一样,软件可以对其中一些中断设置4级优先级. 最高优先级为“0”,最低优先级为“3”,所有用户可配置的优先级的默认值为“0”. 注意:优先级为“0”在整个系统中为第4优先级,排在“Reset”, “NMI” 与“Hard Fault”之后。

中断模式对应向量号为16-47,共32个中断。

响应中断时,处理器自动从向量表中取出ISR的起始地址,对于ARMv6-M, 向量表的基地址为0x00000000。向量表包括复位后栈的初始值,所有异常处理器的入口地址。

7.定时器

定时器模块包含4组32位定时器(包含一个8位预分频计数器,一个24位向上计数器),TIMER0~TIMER3 (TIMER0, TIMER1位于 AHB1 ,TIMER2 和 TIMER3 位于 AHB2);各通道有独立的时钟源,每个通道有5个时钟源选项。通过TDR(定时器数据寄存器)可读取内部24位向上计数器值

时间溢出周期= (定时器时钟周期) * (8位预分频值 + 1) * (24位 TCMP)

定时器控制器提供one-shot(单次触发模式)、period(周期触发模式)、toggle(可编程时钟输出)、持续计数模式和事件计数器模式;

1)单次触发模式

一旦定时器计数器的值达到TCMPR的值,且IE置1,则定时器中断位置位,产生中断信号并送到NVIC通知CPU,表明定时器发生溢出,定时器计数操作停止,该比较的操作仅进行一次。

2)周期触发模式

一旦定时器计数器的值达到TCMPR的值,定时器计数器的值返回计数初值并再次计数,如

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

网站地图

Top