目前正在寻找支持高速USB(速度480 Mb/s)的单片机,希望电路面积尽可能小,最好是单芯片方案,要求如下:
内置高速USB的PHY,支持Device模式即可,不需要外接USB3300等芯片。
单芯片方案,不需要外接Flash即可工作(排除F1C100s这样的芯片)。
对存储空间的需求不大,目测128KB ROM/32KB RAM已经够用了。
对其它外设基本没有要求,只要有常用的GPIO/I2S/SPI/UART就可以了。
对引脚数量要求不高(10个引脚以内),封装越小越好(优先考虑QFP/QFN封装)。
芯片最好有通用的开发平台,例如Cortex-M系列。
在满足上述条件下,价格越低越好。
目前找到最合适的方案是新唐的NUC505系列,型号是NUC505YLA2A,是QFN48封装,价格在14元以内。不知道有没有更好的选择呢?
离线
其实我手里已经有NUC505的开发板了,不过被扔在学校了,要等到3月份开学才能拿到,哭了
离线
这块板子貌似我有一片,你那边现在收快递方便吗?如果方便我回去找找看。
感谢晕哥的好意,不过暂时不需要哈,我先玩玩手头的Tiny200吧,这货也可以跑一跑USB
离线
NUC505 应该是最佳。不过它的USB有两个坑,而且无法规避:
1. 如果存在两个相同端点号的IN OUT端点,同时收发时会出现数据错误。
2. 如果用到了同步端点,需根据勘误表用特定逻辑进行处理。综上,没事先去看看勘误表,不能头铁硬上。
我看过勘误表,确实如你所说,NUC505的USBD有两个主要问题,端点号这个算是硬件设计缺陷,包括USBD DMA在内的功能都只考虑端点而没有定义传输方向,因此基本上只能改端点号解决(当然EP0不会有问题,本身特殊处理过了);另外的问题主要是CPU、USBD DMA和USBD控制器(也就是勘误表里提到的USB Host)在同时访问Buffer时会出错(可能是Arbiter出问题了?),这个就按照勘误表提供的解决方案来做应该就没问题了。虽然暂时不打算用Isochronous Transfer,不过将来如果玩到UAC了还是可以考虑一下。
话说我记得层主好像研究过CMSIS-DAP,不知道有没有兴趣把这货移植到NUC505呢?不管是价格还是封装感觉比SAM3U2C都更有优势啊。
离线
NUC505的flash是SPI FLash?执行速度是不是要大打折扣?
内置的SPI Flash在单线模式下频率可达100 MHz,2线和4线模式下最高频率为80 MHz,因此确实会严重影响执行效率。
解决方法是搬到SRAM运行,在SRAM上执行就是零等待时间了。NUC505可以将SRAM以bank为单位(共4个bank,一个bank对应32 KB)映射到代码段空间(0x0-0x1FFFFFFF),所以映射后不会有性能问题。NXP的LPC43x0也是一样的解决方法。
离线
以前试过,不过现在有CMSIS-DAP v2协议,全速BULK也够了,换成GD32F350搞,这个免晶振,封装更小,很适合板上集成,代码: https://github.com/vllogic/vllink_lite
可以的,可能也很难找到更便宜的单片机了(CH55x跨平台不好搞,不过有空的话可以试试?
离线
记得NUC505的SPI也有坑,做CMSIS-DAP输出也很麻烦
这个倒还好,毕竟CMSIS-DAP就是用GPIO模拟的,虽然速度差一些(不过这么一来高速USB似乎就没啥必要了
离线
如果不能忍受spi flash或者不嫌贵了点M484也是不错的,目前用的还不深入,不过高速USB,SPI等都好用,内置flash和ram一般够用
M484确实贵了一些,但是最主要的问题还是没有小封装。。当然更高端是肯定的。
离线
cy7c68013a qfn56
但必须外接iiceeprom存代码和数据
CY7C68013A我也有,不过51的性能确实是个硬伤,而且对SPI/UART的支持也成问题。当然开发起来还是挺容易的,特别是直接连接FPGA时,不经过CPU的话性能还是可以的。
离线
那个开源的用GD32做的有没有卖的
有个楼主放出了GitHub链接,里面有淘宝链接,可以看看(利益无关)
https://github.com/vllogic/vllink_lite
离线