感谢 富芮坤,感谢 面包板社区!
我选择的课题是: 课题4:基于REPL MicroPython实现本地音乐播放,希望能在春节前做出成品!
工欲善其事必先利其器,在进入项目之前,做一些前期的功课,研读厂家提供的技术资料是必须的
1)芯片外接24M晶振, 初看,感觉这个数字好奇怪呀, 我司产品都是采用的 25M晶振.
百度了一下, 两者还真的有区别: 原来还有 24,25,26M 灯系列晶振,各自都自己独到的 针对领域:
24M晶振:用于VGA显示器部分时钟 (和60HZ刷新率呈整数比),
此外还用于音效芯片、鼠标、手机MTK方案TCXO、玩具游戏类(如遥控游戏机)、安防类(如摄像头、报警器)等设备。
25M晶振:用于网卡工作时钟 (估计整数分频倍频可达到100M/1000M),
26MHz晶振:用于:GPS、手机通讯(手机MTK方案、无线蓝牙等,方便倍频到GSM LO频率)
无线通信:用于CDMA、WCDMA、LTE、WiMAX等
汽车电子:倒车雷达、导航系统等RF(2.4G)应用
物联网:WIFI模块,如Espressif ESP8285/ESP8266芯片
简单说:24M用于显示,25M用于以太网,26M用于无线
一般说: 频率越高: 时钟的稳定性越好,成本会高
不过鉴于只有1MHz的差异,价钱应该差距不大
<---真是:只要留心,处处都是学问呀~~
2)资料规格:内置128KB CRAM+512KB SRAM,2MB flash (根据芯片型号有不同大小配置)
这个 CRAM 是何物?
查到1: card random access memory (CRAM)卡片随机存取存储器 <--点击进入
看名字倒像是一种SSD, 可是内容看不懂呀??? <--点击进入
查到2: Computational ram 计算 RAM (内存原生技术??) <--点击进入
将计算能力直接嵌入到内存单元??
颠覆计算传统——突破性AI芯片CRAM的影响与应用 <--点击进入
感觉太高大上了,不太可能是它.
查到3: Chalcogenide RAM , 又名:相变化内存(Phase-change memory,Ovonic Unified Memory)PRAM <--点击进入
是一种用来替代FLASH的新工艺: 使用特殊玻璃制成(Chalcogenide glass)主流为GeSbTe系合金。
该玻璃加热可以改变晶体/非晶体状态(Crystalline/Amorphous),电阻值不同,由此可以保存bit
只能是3了,算是把玻璃工艺,集成在半导体工艺内部了,想来比浮栅工艺要更优一点啦
3)真随机数发生器TRNG (我对这个技术的实现原理非常感兴趣!)
据说符合"真随机数发生器"条件的器件,是非常昂贵的 <--点击进入
电子噪声:通过测量半导体、电阻器或其他电子元件的热噪声或电子噪声来产生随机数 <--怀疑是这个??
放射衰变:基于放射性同位素衰变过程中粒子发射的随机性来生成随机数。
光子噪声:利用光子的量子特性,如光子在光学传感器上产生的随机分布,来产生随机数。
混沌系统:基于混沌动力学系统的非线性和不可预测性来产生随机数。
这里提供了192bit, 6个32位寄存器, 不过算法描述的确难找,下面的框图:
其他资料提到的知识点:
1)随机数源使能寄存器; 控制 TRNG 采样环形振荡器的单个输出位的频率
2)如果 32 个连续的收集位是相同的,即 32 个 0 或 32 个 1,就会发生 Von Neumann 错误
3)当 16 个采集位的两个连续块相等时, 连续随机数生成测试失败
4)TRNG 收集完 192bit 时设置状态标志
4) << FR306x系统编程说明V1.0>>
此文作者水平很高,如果要我写,大约最后成文也会是这个样子吧!
希望大家不要错过此文呀!!
里面的介绍都非常重要, 如果不了解这些,怎么能进行编程呢?
trunkey 框架,5大系统任务
app_task :应用级任务:初始化外设; 应用层事件处理:如中服数据的传递事件激发
rpmsg :与 dsp 通信相关:用户最好不要管
btdm_stack :蓝牙协议栈任务:用户最好不要管
lvgl :gui 处理任务;界面渲染和显示相关
monitor :RTOS监视任务:看门狗,RTC,log打印灯
看完以后,再看源码, 就感觉心平气和 得多啦~~