搜寻
常见问答 / 窗口看门狗定时器(WWDT,Window Watch Dog Timer)的主要用途是什么?
https://www.nuvoton.com.cn/support/technical-support/faq/d70b68b0-04f1-11ea-b113-05daf7eedf03/
窗口看门狗定时器(WWDT,Window Watch Dog Timer)的主要用途是什么? 1480414418742 当程序在执行过程中,因为不可预计的错误而无法控制,并且错误地重置WWDT的计数器时,WWDT会通过重启芯片来保护整个系统。 WWDT具有一个6位的计数器,以及可设置的重置窗口(Reload Window)。在运行时,WWDT会要求程序在重置窗口内重置定时器。当程序不在重置窗口内重置计数器,或是计数器向下计数到0时,程序已经处于无法控制的状态;此时窗口看门狗定时器会重启系统,如下图所示:
常见问答 / 使用ADC取得NuMicro®内部的温度传感器(Temperature Sensor)的数值后,该如何换算成实际温度?
https://www.nuvoton.com.cn/support/technical-support/faq/d7347495-04f1-11ea-b113-05daf7eedf03/
使用ADC取得NuMicro®内部的温度传感器(Temperature Sensor)的数值后,该如何换算成实际温度? 1482200225288 温度传感器的换算公式: Vtemp (mV) = Gain (mV/℃) x Temperature (℃) + Offset (mV) 其中Gain和Offset为常数,对于NuMicro®每一个系列该值都不同。 以NuMicro® M051系列为例: 当M051工作电压在3.3V,使用12位ADC取得温度传感器的值为0x33D = 829。 可以反推得 Vtemp = (829 / 4096) * 3.3 = 0.668 (V) = 668 (mV) 而M051系列的Gain和Offset分别为-1.75 (mV/℃)以及724 (mV),如下图所示。 由此,我们可以带入温度传感器的换算公式 668 = (-1.75) * Temperature + 724 得到 Temperature = (668 – 724) / (-1.75) = 32 (℃)
常见问答 / 使用ICP Programming Tool烧录的时候,配置位的芯片选项中,使能”看门狗”后,是否需要在程序中对看门狗初始化?是否需要清除超时时间标志?
https://www.nuvoton.com.cn/support/technical-support/faq/d76d10e6-04f1-11ea-b113-05daf7eedf03/
使用ICP Programming Tool烧录的时候,配置位的芯片选项中,使能”看门狗”后,是否需要在程序中对看门狗初始化?是否需要清除超时时间标志? 1492996346033 在使用ICP Programming Tool烧录的时候,点击配置位的”设定”键,可以开启芯片选项。 在芯片选项中,我们可以选择使能”看门狗”。 如下图所示: 在使能”看门狗”后,用户不需要再对看门狗初始化。 在芯片重启(系统重启(System Reset)和CPU重启(CPU Reset)除外)后,会自动对看门狗做以下初始化: 将WDTEN (WDT Enable)与RSTEN ( WDTTime-outReset Enable Control )设为1。 WDTSEL (Watchdog Timer Clock Source Selection )设为111,即10 kHz的LIRC。 TOUTSEL( WDT Time-out Interval Selection )为默认的111,即超时时间为218 * WDT_CLK (约26.214秒) 用户需要在看门狗触发超时事件后,清除超时时间标志,否则会导致芯片发生看门狗重启(WDT Reset)。 用户也可以在程序中修改WDTSEL和TOUTSEL,选择适合的时钟源和超时时间。
常见问答 / 使用NuMicro®系列单片机,同一模块的ADC,其各个通道可否同时取样?
https://www.nuvoton.com.cn/support/technical-support/faq/d776fbfc-04f1-11ea-b113-05daf7eedf03/
使用NuMicro®系列单片机,同一模块的ADC,其各个通道可否同时取样? 1486027960325 不行,同一模块的ADC不支持多个通道同时取样。但NuMicro® M0519系列支持两个ADC模块,可以同时对不同模块的通道取样。 而以NuMicro® M451系列为例: 当AVDD工作在4.5 ~ 5.5V时,时钟源频率限制最快可以输入20 MHz,而完成一次取样需要20个ADC clock。 因此ADC各通道的取样频率间隔最短时间为1uS。
常见问答 / 如何使用NuMicro® M4的DSP功能做频谱分析?
https://www.nuvoton.com.cn/support/technical-support/faq/d786b375-04f1-11ea-b113-05daf7eedf03/
M4, DSP, FFT, Spectrum 如何使用NuMicro® M4的DSP功能做频谱分析? 1486031337712 详细范例程序可以参考以下链接: http://www.nuvoton.com/hq/resource-download.jsp?tp_GUID=EC0120160922110158 开启DSP功能: 1. 进入Keil后选择Target Options,切换至C/C++窗口,Define输入ARM_MATH_CM4=1。 2. 在Library部分需要加入arm_cortexM4lf_math.lib,其位置为\Library\CMSIS\Lib\ARM。 3. 在主程序里面include arm_math.h文件,完成后即可在主程序里面调用DSP函数库。 首先欲计算的数据格式偶数项为实数,奇数项为虚数,例如1+0.5i, 2+4i, 3+2i=>testinput={1, 0.5, 2, 4, 3, 2},FFTsize=3。 再来调用函数arm_cfft_radix4_init_f32(&S, fftSize, ifftFlag, doBitReverse)对快速傅立叶运算做初始设定,包括运算的数值个数,要进行快速傅立叶或反快速傅立叶变换。 调用函数arm_cfft_radix4_f32(&S, testinput)进行快速傅立叶变换运算,并把运算结果存在数组testinput,其运算结果为复数。 对复数取绝对值得到各频率强度大小,并输出结果到Output,由于结果为左右对称,因此计算量为fftSize/2, arm_cmplx_mag_f32(testinput, Output, fftSize/2)。 得到各频率强度后即为y轴数据,再来计算x轴各频率方程式为: 频率=(第几个数×取样频率)/FFT样本数 。 把计算结果值作图如下,即可得到此信号最高频率约为1 kHz。
常见问答 / 是否可以在程序中,使用FMC指令调整Data Flash的大小?
https://www.nuvoton.com.cn/support/technical-support/faq/d79643de-04f1-11ea-b113-05daf7eedf03/
是否可以在程序中,使用FMC指令调整Data Flash的大小? 1493179003648 对于支持可设定Data Flash大小的NuMicro®系列,用户可以在程序中,通过修改DFEN(Config0[0])来使能或禁止Data Flash,以及DFBADR(Config1)设定Data Flash的基地址,调整Data Flash的大小。 在设置后,需要程序中写1到CHIPRST (SYS_IPRST0[0]),进行软件的芯片重启(Chip Reset),新的设定才会生效。 示范程序如下: uint32_t au32Config[2]; SYS_UnlockReg(); FMC_Open(); FMC_ReadConfig(au32Config, 2); FMC_ENABLE_CFG_UPDATE(); au32Config[0] &= ~0x1; au32Config[1] = u32DFBA; FMC_WriteConfig(au32Config, 2) SYS_ResetChip();
常见问答 / 如何解决在新唐开发板使用 Arm library 并以 C++ 进行机器学习程序开发时,只能运行 Debug mode 而无法正常执行的问题? (disassmebly 内持续看到 BKPT 出现)
https://www.nuvoton.com.cn/support/technical-support/faq/c2f673b8-011b-11ee-ab3e-000d3a082cb4/
Machine learning, ML, Continual breakpoints 如何解决在新唐开发板使用 Arm library 并以 C++ 进行机器学习程序开发时,只能运行 Debug mode 而无法正常执行的问题? (disassmebly 内持续看到 BKPT 出现) 1683014520000 若发生在 debug mode 可运行,但不接 ICE 直接 free run 程序会卡住,且从 debug mode 发现程序持续卡在断点的现象时,可能是 semihosting 错误。 在新唐机器学习范例中使用 Arm library 时,若在出现「stdout/stdin/stderr multiply defined…」等错误警告时,直接将重复定义的项目删除便会导致 semihosting 错误而发生程序不断进 breakpoint 的现象。 NOTE: 为避免 semihosting 错误问题,在删除重复定义的项目后,需在 retarget.c 内新增下列程序代码: extern void $Super$$_sys_open(void); FILEHANDLE $Sub$$_sys_open(const char *name, int openmode) { return 1; /* everything goes to the same output */ } (若编译中有其他 L6200E 函数错误警告 (Symbol _sys_XXX multiply defined),请一并新增 sys_XXXX() 的 FILEHANDLE 定义)
常见问答 / NuMicro® 家族的芯片内核有什么特色?
https://www.nuvoton.com.cn/support/technical-support/faq/d655fbf1-04f1-11ea-b113-05daf7eedf03/
NuMicro® 家族的芯片内核有什么特色? 1467018931046 NuMicro® 家族的芯片内核使用ARM® Cortex®-M系列的32位处理器,区分为Cortex®-M0系列以及Cortex®- M4系列,可以满足不同应用功能的需求。 下面表格分别以NuMicro®的Cortex®-M0 NUC230/240系列,以及Cortex® -M4 NUC442/472系列为例,介绍它们的功能以及支持特色: Cortex®-M0 NUC230/240 Cortex®-M4 NUC442/472 Architecture ARM v6M ARM v7ME DMIPS/MHz 0.9 1.25 Interrupts 32 172 Interrupt Priorities 4 16 Breakpoints / Watchpoints 4/2 6/2 MPU NO Yes Single Cycle Multiply Yes Yes Hardware divider No Yes Wakeup Interrupt Controller Yes Yes Support Bit-banding Yes (GPIO bit banding) Yes Single Cycle DSP/SIMD No Yes Float Point Hardware No Yes
常见问答 / 使用ADC取样时,如何达到最高的取样频率?
https://www.nuvoton.com.cn/support/technical-support/faq/d680405c-04f1-11ea-b113-05daf7eedf03/
使用ADC取样时,如何达到最高的取样频率? 1467351474652 使用ADC取样时,依据AVDD提供的电压,ADC有不同的时钟源频率限制。用户可以根据系统的模拟电压,选择最快的时钟源频率,来达到ADC的最高取样频率。 以NuMicro® NUC442/472系列为例: 当AVDD工作在4.5 ~ 5.5V时,时钟源频率限制最快可以输入16 MHz。我们可以选择倍频PLL作为时钟源,再经过适当的除频,取得最快的时钟源频率。 例如,将PLL倍频到80 MHz,再经过除频器除5,就可以得到16 MHz的时钟源,并且ADC的取样频率达到最高的800 kSPS。
粤公网安备 44030502010001号