打印
[应用方案]

【新唐“春蕾杯“活动】+NUVOTON NuTiny Board之初体验

[复制链接]
1516|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

       看到论坛举办活动,阳春三月,春暖花开,享受着阳光的沐浴,静下心来来写写这篇**.

       记得最早接触新唐的产品,应该说是Winbond 51系列单片机,那还是在上学那会,有同学不知道从哪弄了几块W77E058A片子,那时候刚接触到51系列,学校都是atmel的产品,初见W77E058A感觉挺好奇,也是8位单片机,完全兼容51指令,51更快些.40MHZ,316位计时器,EEPROMRAM等等,感觉就是cool,比较先进.等最小系统板焊好后跑起来LED,感觉和普通51没什么区别,后来也没有在去接触,工作之后更是没有遇见51的片子了.

言归正传,工作之后,慢慢开始接触高端一些的MCU,都是基于ARM,大部分产品都是st的芯片.在有次的偶然的机会下,获得一块试用版.从此在业余时间学习了这款NT-NUC505Y Tiny Board.

如下图:来个靓照


漂亮吧

2显出真身来个靓照



刚接到这款板子的时候,查看了基本配置. NUC505系列是32位的内嵌ARM Cortex®-M4核的微控制器配置DSP功能和浮点运算FPU ,最高可运行至100 MHz,内建2M字节的SPI Flash存储器,以及128KB字节内建SRAM,另外还有丰富的外设,如定时器,看门狗定时器,RTCUART, SPI, I2CI2SPS/2, PWM定时器, ADCGPIO,低电压复位控制和欠压检测功能。特别有24-bit Audio CODECUSB2.0Host/Device等等。NuMicro™ NUC505 带有ISP(在系统编程)、ICP(在电路编程)和IAP(在应用编程)功能,允许用户无需取下芯片,直接在电路板上对程序存储器进行升级。适用于工业控制和需要丰富的通信接口的应用领域.根据上面的图片可以清晰的看到接口及下载电路部分.

首先,网上对于对这款Tiny Board的资料不多,基本上就是官网的DVD资料包,通过资料我们有了一个基本了解,学习之处,我自己还是按照基本的思路,先从官方给的资料开始,保证MCU可以运行起来。之后才可以从I/O开始,逐步开始学习外设。资料的连接在最后发链接.

根据资料,主控芯片为NUC505YO13Y,供电系统我们采用USB,使用其ICE下载端口供电即可。对于外设电源其对应的管教有相应的匹配。AudioCODECPower则由AVddcodecAvddhpHAVsshp提供;ADC Power则由AvssadcAvssadc提供;数字电源由VddVss提供1.2V。配备高速晶振12M和低速晶振32.768Khz,可以通过配置最高主频可以达到100MSystemTick Timer提供基准时钟源,这为RTOS系统编程时提供方便。我们只需要使能即可。32.768Khz主要供给RTC使用,高速12M晶振产生三类频率:HXTPLL_FOUTAPLL_FOUT供其它外设使用。从启动的方式来看有好几种,根据板子上的4个拨码开关共有6中启动方式。

当我们了解了基本的知识后,肯定是要对其I/O操作了。根据资料上的信息,我们知识这款板子上的I/O绝不仅仅知识简单的I/O功能,还有特殊功能,还可以当做中断来使用,这是51一般无法达到的。我们在编写程序的时候一定要注意特殊的寄存器是否清零,因为这关系着上电后这个端口是作为I/O使用还是复用功能使用。当我们把这个记在心里的时候写程序才会得心应手。

基于KEIL的软件,开始我们的编程之旅。

     简单的写下基本思路:1.需要配置相关的时钟初始化2.加在startup文件3.加载基本的外设库函数。库函数已经帮我们把外设端口的基本信息封装起来,方便操作。StartUp启动文件使硬件启动时顺序。

voidSYS_Init(void)

{

   /*---------------------------------------------------------------------------------------------------------*/

    /* 初始化系统时钟                                                                                      */

   /*---------------------------------------------------------------------------------------------------------*/


    /* 使能  XTAL */

    CLK->PWRCTL |= CLK_PWRCTL_HXTEN_Msk;


    CLK_SetCoreClock(96000000);


    /*设定 PCLK 分频器 */

    CLK_SetModuleClock(PCLK_MODULE, NULL, 1);


    /* 更新系统主时钟 */

    SystemCoreClockUpdate();


    /*使能IP时钟 */

    CLK_EnableModuleClock(UART0_MODULE);


    /* 选择IP时钟源 */

    CLK_SetModuleClock(UART0_MODULE,CLK_UART0_SRC_EXT, 0);


    /*---------------------------------------------------------------------------------------------------------*/

    /* 初始化I/O复用功能                                                                                */

    /*---------------------------------------------------------------------------------------------------------*/

    /* 设置UART0 RXD TXD复用功能 */

    SYS->GPB_MFPL  = (SYS->GPB_MFPL &(~SYS_GPB_MFPL_PB0MFP_Msk) ) | SYS_GPB_MFPL_PB0MFP_UART0_TXD;

    SYS->GPB_MFPL  = (SYS->GPB_MFPL & (~SYS_GPB_MFPL_PB1MFP_Msk)) | SYS_GPB_MFPL_PB1MFP_UART0_RXD;


}

intmain (void)

{

    /*初始化时钟、I/O */

    SYS_Init();


    /*初始化UART信息 */

    UART_Open(UART0, 115200);


      /*设置 PB.10作为 输出模式 and PB.11 输入模式*/

    GPIO_SetMode(PB, BIT10, GPIO_MODE_OUTPUT);

    GPIO_SetMode(PB, BIT11, GPIO_MODE_INPUT);

    GPIO_SetPullMode(PB, BIT11,GPIO_PULL_UP_EN);


        /*使用I/O端口操作 */

    PB10_DOUT = 0;

    if (PB11_PIN != 0) {

       ;   }


    PB10_DOUT = 1;

    if (PB11_PIN != 1) {

        ;

    }

while (1);

}

通过简单的编程,我们有了基础的框架

,就可以通过板载的ICE下载方式,进行仿真运行。一步一步来了解和掌握每一个外设端口的用法和操作。
      通过上面的简单例程,我觉得基于arm的开发程序基本的思路都是一致的,采用的框架结构也基本相同,唯一不同的就是外设的功能肯能不同有所差异。目前任然处于熟悉这款板子的一些特设的外设功能,主要音频处理接口电路,这个是个亮点,也是其它片子没有的,基于这个优势,可以开发一些相关的设备.经验尚在积累中,学习仍在继续,各种各样的问题也是层出不穷。好在在21的论坛里和新唐的论坛可以找点资料,学习就是这样,出现问题找出问题解决问题….遇到实在解决的不了的问题求助网络和朋友,只有这样才能不断提升自己的水平。我和NUVOTON NuTiny Board之初体验还在继续,我期待在了解她的过程中有更多的故事发生,也期望多到更丰富的使用方法,更期待在将来的产品中可以使用新唐的M4/M0芯片.

  1.用KEIL或IAR都可以。
  2.资料:BSP_NUC505_v3.00.003(开发包)/UM_NuTiny-SDK-NUC505_V1.00(手册)等
  3.链接: http://www.nuvoton.com/hq/resour... =SW0120141215140101
  4.常用网站:www.nuvoton.comwww.bbs.21ic.com



沙发
energyplants| | 2016-3-27 20:19 | 只看该作者
板子真漂亮,最左边的是声卡吗

使用特权

评论回复
板凳
yaoyuanytu|  楼主 | 2016-3-27 21:43 | 只看该作者
energyplants 发表于 2016-3-27 20:19
板子真漂亮,最左边的是声卡吗

24-bit Audio CODEC接口。音频输入与输出

使用特权

评论回复
地板
orangebanana| | 2016-3-28 20:56 | 只看该作者
新唐的mcu有没有带网口的啊

使用特权

评论回复
5
yaoyuanytu|  楼主 | 2016-3-28 22:00 | 只看该作者
orangebanana 发表于 2016-3-28 20:56
新唐的mcu有没有带网口的啊

你可以去新唐官网看看,我也是新手。我平时用ST和TI的芯片,这款板子也是偶然得到的,目前还在摸索音频这款呢,可以共同探讨

使用特权

评论回复
6
Ketose| | 2016-3-28 22:07 | 只看该作者
看看先。。。。

使用特权

评论回复
7
yaoyuanytu|  楼主 | 2016-3-28 22:18 | 只看该作者
Ketose 发表于 2016-3-28 22:07
看看先。。。。

好的,欢迎探讨。我也是初学这么板子。

使用特权

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

本版积分规则

84

主题

1806

帖子

6

粉丝