打印
[技术问答]

新唐MuMicro常见问题解答【原来的版本有更新】

[复制链接]
4619|57
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 haolaishi 于 2014-6-23 11:28 编辑

1. ARM CORTEX-M0 核
Q1: 从中断产生到ISR的第一条指令时间是多少?
A1: 共 24 时钟周期.


沙发
haolaishi|  楼主 | 2014-6-23 10:56 | 只看该作者
Q2: HCLK是什么?
A2: 指AHB 总线时钟.

使用特权

评论回复
板凳
haolaishi|  楼主 | 2014-6-23 11:10 | 只看该作者
Q3: APB 仲裁是什么?
A3: 为了裁定APB 外设的优先级。

使用特权

评论回复
地板
haolaishi|  楼主 | 2014-6-23 11:10 | 只看该作者
Q4: AHB 、 APB 和AHB-Lite分别是什么?
A4: AHB 是指先进高级总线(Advanced High-Performance Bus),APB 是指先进外设总线( Advanced Peripheral Bus),而 AHB-Lite 是全功能的 AHB 的一个简化版本,更详细的描述请查看 ARM® 主页 http://infocenter.arm.com/help/index.jsp

使用特权

评论回复
5
haolaishi|  楼主 | 2014-6-23 11:11 | 只看该作者
Q5: 如果查明硬件异常中断?
A5: 请添加下面代码并设置断点在__NOP上面。然后用户在发生硬件异常后进行单步操作去查明硬件异常后产生的结果。
void HardFault_Handler(void)
{
__NOP();
}

使用特权

评论回复
6
haolaishi|  楼主 | 2014-6-23 11:17 | 只看该作者
Q6: Cortex™-M0 的指令周期是指什么?
A6: 请查阅ARM® 主页的 Cortex™ -M0 技术参考文档,连接为: http://infocenter.arm.com/help/index.jsp

使用特权

评论回复
7
haolaishi|  楼主 | 2014-6-23 11:39 | 只看该作者
Q7: 是否存在器件唯一ID(CPUID)? 如果用户加密芯片需要用到器件唯一ID?
A7:  存在。UID (Unique ID):新唐将以上所述系列芯片植入 UID,每一芯片 UID 是独特唯一的,使用者可利用此唯一码在韧体程序中对欲操作芯片加入判断机制,如此便可避免他人窃取程序代码重现相同商品可能。
不支持 UID  的晶片如下,
NUC100xxAN  系列,NUC100xxBN 系列,M05xxAN  系列,NUC102xx 系列
支持 UID 的晶片如下,
NUC100xxCN  系列,M05XBN 系列,NANO100  系列,MIN51  系列

使用特权

评论回复
8
haolaishi|  楼主 | 2014-6-23 11:39 | 只看该作者
Q8: NVIC是什么? 它支持多少级优先级?
A8: NVIC 嵌套中断向量控制器,它支持4级优先级。

使用特权

评论回复
9
haolaishi|  楼主 | 2014-6-23 11:45 | 只看该作者
2. 系统管理
Q1: NUC100 家族可以用IO口支持外部SRAM吗??
A1: 有部分支持,请查看NuMicro™家族的选型手册器件是否支持外部总线接口(EBI)。
http://www.nuvoton.com/hq/chs/Pr ... /Pages/default.aspx

使用特权

评论回复
10
haolaishi|  楼主 | 2014-6-23 11:46 | 只看该作者
本帖最后由 haolaishi 于 2014-6-23 11:47 编辑

Q2: 如何进入睡眠(待机模式) 和深度睡眠 (下电模式)?
A2: 请查看如下的指令进入睡眠模式和下电模式:
睡眠模式        尝试睡眠模式
UNLOCKREG();
SCB->SCR = 4;
SYSCLK->PWRCON.WINT_EN = 0;
SYSCLK->PWRCON.PD_WAIT_CPU = 1;
SYSCLK->PWRCON.PWR_DOWN = 0;
LOCKREG();
__WFI();        UNLOCKREG();
SCB->SCR = 4;
SYSCLK->PWRCON.WINT_EN = 0;
SYSCLK->PWRCON.PD_WAIT_CPU = 1;
SYSCLK->PWRCON.PWR_DOWN = 1;
LOCKREG();
__WFI();
在待机模式模式下仅 CPU 时钟是禁能的。
而在下电模式下,在此模式下内部的 10kHz 与外部 32.768kHz 是能的。

使用特权

评论回复
11
haolaishi|  楼主 | 2014-6-23 11:54 | 只看该作者
Q3: 如何从睡眠模式唤醒CPU?
A3: 所有的中断都可以唤醒CPU的睡眠模式。

使用特权

评论回复
12
haolaishi|  楼主 | 2014-6-23 11:54 | 只看该作者
Q4: 如何从尝试睡眠模式唤醒CPU?
A4: 仅仅用下面的中断去唤醒CPU 的尝试睡眠模式:
GPIO, USB, UART (RTS 脚), WDT, CAN, ACMP, BOD 和RTC.

使用特权

评论回复
13
haolaishi|  楼主 | 2014-6-23 11:55 | 只看该作者
Q5: 如何配置外设寄存器?
A5: 首先启用外设时钟然后再设置相关的外设寄存器。

使用特权

评论回复
14
haolaishi|  楼主 | 2014-6-23 11:56 | 只看该作者
Q6: 在VDD =2.5V 时,用外部12 MHz晶体和内部22 MHz的RC振荡器的唤醒时间是多少?
A6: 外部12 MHz 晶体的唤醒时间是2ms ,而且内部22 MHz RC振荡器的却为 40us。

使用特权

评论回复
15
haolaishi|  楼主 | 2014-6-23 11:57 | 只看该作者
本帖最后由 haolaishi 于 2014-6-23 11:59 编辑

3. 时钟控制器
Q1: NuMicro™ 家族是否提供可以监控内部时钟的时钟输出?
有的,但依产品型号而异,量测的频率值将会是输入至时钟除频(clock divider)的频率 2^1至2^16分之一,请查阅技术手册的管脚说明及得到进一步的信息。

使用特权

评论回复
16
haolaishi|  楼主 | 2014-6-23 12:07 | 只看该作者
Q2: NuMicro™ 家族是否提供标志位去监控内部时钟是否稳定?
除了 NUC1xxAN  系列芯片外,皆提供 CLKSTATUS[OSC22M_STB]  此标志来确认内部高速震荡器时钟(HIRC) 22.1184 MHz  是否已稳定。请参阅相关技术手册获得进一步的信息。  
请于固件程序码中当使能 22.1184 MHz 时钟后,加入标示的程序码
情形一(除 NUC1xxAN 外所有系列芯片)
while(SYSCLK->CLKSTATUS.OSC22M_STB == 0);    //  确认 22.1184 MHz 时钟是否稳定
情形二(NUC1xxAN 系列芯片)
DrvSYS_Delay(5000);    //  增加延迟确认 22.1184 MHz 时钟稳定

使用特权

评论回复
17
haolaishi|  楼主 | 2014-6-23 12:10 | 只看该作者
Q3: 内置22 MHz RC振荡器能否做为PLL的时钟源来产生48 MHz 用于 USB 控制器?
A3:  可以的,但我们不推荐使用内部高速振荡器时钟 22.1184 MHz 产生 48 MHz 作为 USB控制器的时钟源,因 22.1184 MHz 精准度将会使 PLL 产生的 48 MHz 造成些微误差。我们建议使用外部 4~24 MHz 时钟作为 PLL 输出的时钟源.

使用特权

评论回复
18
haolaishi|  楼主 | 2014-6-23 12:11 | 只看该作者
Q4: 如何设置USB = 48 MHz, HCLK = 32 MHz 用于 CPU 而SPICLK = 16 MHz 用于SPI 主模式?
A4:
使能 PLL 和设置PLL输出= 96 MHz。
USB = PLL 输出/ 2 = 48 MHz。
HCLK = PLL 输出 / 3 = 32 MHz。
SPICLK = HCLK / 2 = 16 MHz。

使用特权

评论回复
19
haolaishi|  楼主 | 2014-6-23 12:11 | 只看该作者
Q5:何种外设可以选择特定的时钟源?
A5: 看门狗定时器, ADC 转换器, 定时器, UART, CAN, PWM和 I2S。

使用特权

评论回复
20
haolaishi|  楼主 | 2014-6-23 12:12 | 只看该作者
Q6: 那个时钟可以在尝试睡眠模式(下电模式)下依然工作?
A6: 外部32 KHz 晶体和内部10 KHz RC振荡器。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:不忘初心,积极乐观,勤且道义!

243

主题

1996

帖子

12

粉丝