jinglixixi 发表于 2017-4-4 18:51:12

【NUCLEO-L496ZG评测】体验、对比及OTG测试

本帖最后由 jinglixixi 于 2017-5-16 10:21 编辑

    开发板终于到了,中途还经历了一个愚人节。快递中心通知说快件派发错了,当天无法送了,转天一定第一个给你送,就先替你签收了。没办法只有等了,转天眼看上午已经过去了,只得与他们联系,这次换了一个人,说现在没人中午送。等吧,直到太阳落山才把开发板盼到。虽说板子到的迟了些,但也不乏好处,眼见高手们已把他们的成果分享出来了,有以全面见长的测评,也有技术先行的USB FS测评。有了这些,测评的基本面就已经齐全了,后面只需依葫芦画瓢就是了,下面SHOW一下开箱照,如图1所示。图1 L496开发板
相对于前期的144PIN的开发板,这块开发板还是出现一些变化的。首先它是重新制版的一款板子,无需使用的焊盘均被清除了,其次是将网口预留的缺口给补齐了,恐怕这种版式又会延续使用一段时期的,其对比效果如图2所示。图2 开发板对比
至于上电效果,还是同144PIN的开发板相同均为,触动蓝色的用户键来切换LED的位置及闪烁频率,其效果如图3所示。图3 上电效果

由于手头已有一块L432的板子,它与L496可称是一个系列的,故可进行一下对比,其外观对比如图4所示,而相关的配置对比如表1所示。
表1 对比表
芯片名称引脚数主频FlashSRAMArduino接口
L432KCU63280MHz256KB64KB无
L496ZGT614480MHz1MB320KB有



图4 同系列对比
可见在设计一些功能相对简单的产品时,用L432能在体型上更小巧、更便携,而L496则更适于功能全面的复杂应用,这使得它们可以各显其能、各展优势。由于二者在主频方面是一致的,因此在引脚同样存在的情况下,要对外设进行扩展,对同一器件来讲,其移植工作量就可大大缩减。以使用OLED屏为例,由于已在L432上实现了显示功能,故要想把它移植到L496上就显的轻而易举。首先可以选取一个GPIO例程,然后将L432上的OLED屏显示程序复制到GPIO例程中加以编译和下载即可,由于L496开发板带有Arduino接口,所以只需把OLED屏插到开发板上就可以了,所得到的显示效果如图5所示(使用原心率检测仪的程序代码)。图5 L496的OLED屏显示效果
由此也可以取得一种面向系列MCU进行功能扩展的方法,即对于某种外围器件当在主频相同的同一系列芯片中,基本上能够直接移植使用;而对于主频不同的系列芯片,则要主要频率和时序的调整。当然,对于时序要求不高的外设也基本可以直接移植使用。这样在面对层出不穷的新产品时,就能持续有效地延续外围器件的生命力。借鉴网友对USB FS的经验,本人的测试效果如图6所示。图6 USB FS测试
通过测试结果和程序分析可知该检测是循环执行的,由于测试生成的文件名未发生改变,所以是覆盖后的一个反复读写过程。为了便于观察和去除反复的检测,可在Run_Fatfs_Test()的函数中添加一个while(1)的循环语句以保证只检测一次,随后便终止检测处理。修改的函数内容如下:void Run_Fatfs_Test(void)
{
if(Appli_state==APPLICATION_READY)
      {
                /*open or create file for writing*/
                        printf("Do File Operations Test(Create/Write/Read.)\r\n");
                        f_mount( &fatfs,(TCHAR const*)USBH_Path ,0);
                if(f_open(&PBFile,FileName,FA_CREATE_ALWAYS | FA_WRITE)!=FR_OK){
                        printf("Error create %s\r\n",FileName);
                        while(1);
                }else {printf("create %s success\r\n",FileName);HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_7);}
                /*write data into flashdisk*/
                printf("Writing Content: %s\r\n", FatfsBuff);
               
                if(f_write(&PBFile,FatfsBuff,strlen(FatfsBuff),&ret)!=FR_OK){
                        printf("Error write %s\r\n",FileName);
                        while(1);
                }else {printf("write %s success\r\n",FileName);HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_7);}
                f_close(&PBFile);
                /*open file for reading*/
                if(f_open(&PBFile,FileName,FA_READ)!=FR_OK){
                        printf("Error open %s\r\n",FileName);
                        while(1);
                }else {printf("open %s success\r\n",FileName);}
                /*red data from flash*/
                if(f_read(&PBFile,ReadBuff,100,&ret)!=FR_OK){      
                        printf("Error read %s\r\n",FileName);
                        while(1);
                }else {printf("read %s success\r\n",FileName);HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_14);}
                printf("Read %s content:",FileName);
                printf("%s\r\n", ReadBuff);
                f_close(&PBFile);
                printf("Nucleo L496ZG USB FS OTG FATFS Test Success\r\n");
                }
          while(1);
      }   修改后的检测效果如图7所示,检测所生成的文件如图8所示。图7 修改后的测试
图8 生成的测试文件
    该USB FS检测不但对于SD卡有效,对U盘也依然有效,其检测方式如图9和图10所示。图9 以SD卡测试
图10 以U盘测试





哈佛祖安智 发表于 2017-4-5 08:42:34

顶一个

Paderboy 发表于 2017-4-5 08:46:53

:loveliness:赞

jinglixixi 发表于 2017-4-5 18:04:43

多谢大家了!!!

SquallBest 发表于 2017-4-6 09:06:21

帅气。我的也收到了。这几天在连夜赶项目,还没做测试。下周做测试。楼主神速呀。

jinglixixi 发表于 2017-4-6 10:09:39

SquallBest 发表于 2017-4-6 09:06
帅气。我的也收到了。这几天在连夜赶项目,还没做测试。下周做测试。楼主神速呀。 ...

哈哈,取笑了已经落后啦!

select326 发表于 2017-4-6 11:03:28

原来OTG是这么玩的呀,涨见识 了

五哥1 发表于 2017-4-6 11:23:09

很好,这个不错

jinglixixi 发表于 2017-4-6 17:33:51

select326 发表于 2017-4-6 11:03
原来OTG是这么玩的呀,涨见识 了

我也是刚弄,后边有时间其实是可以玩基于文件系统的文本阅读器和数码相框的,看时间吧。

jinglixixi 发表于 2017-4-6 17:34:42

五哥1 发表于 2017-4-6 11:23
很好,这个不错

多谢支持!
页: [1] 2
查看完整版本: 【NUCLEO-L496ZG评测】体验、对比及OTG测试