-
在MCU(微控制器)应用中,确实会遇到如芯片选型、不同芯片软件平台的使用、芯片底层驱动的学习、整机功耗的计算、加密功能的使用等痛点问题。以下是对这些问题的详细分析及解决方案:
1. 芯片选型
痛点:
硬件工程师可能缺乏软件知识,仅凭经验选择MCU,导致项目后期出现FLASH空间或内存不足的问题。
选型时未充分考虑项目需求及后续升级需求,导致所选MCU性能不足或成本过高。
解决方案:
硬件工程师应与软件工程师紧密合作,共同分析项目需求及后续升级需求,确保所选MCU在性能、成本及可扩展性上均能满足要求。
利用专业的MCU选型工具或参考已有的成功案例,结合项目实际情况进行选型。
在选型过程中,注意比较不同MCU的性能指标(如处理能力、功耗、外设接口等)及价格,选择性价比最高的产品。
2. 不同芯片软件平台的使用
痛点:
不同MCU厂商提供的软件平台(如开发环境、库函数等)存在差异,学习成本较高。
跨平台移植代码时可能遇到兼容性问题。
解决方案:
选择支持广泛、文档完善、社区活跃的MCU和软件平台,降低学习成本。
在项目初期就明确软件平台的选择,并尽量保持一致性,减少跨平台移植的需求。
对于必须进行的跨平台移植,制定详细的移植计划,充分测试以确保兼容性。
3. 芯片底层驱动的学习
痛点:
底层驱动涉及硬件细节较多,学习难度较大。
不同的MCU底层驱动存在差异,需要花费大量时间学习。
解决方案:
充分利用MCU厂商提供的官方文档、教程和示例代码,加深对底层驱动的理解。
参加相关的培训课程或技术研讨会,与同行交流学习经验。
在实践中不断积累经验,通过解决具体问题来加深对底层驱动的理解。
4. 整机功耗的计算
痛点:
整机功耗受多种因素影响(如MCU功耗、外设功耗、电源管理等),计算复杂。
实际功耗可能与理论计算值存在偏差。
解决方案:
使用专业的功耗测量工具(如功耗仪)对整机进行实际测量,获取准确的功耗数据。
在设计阶段就充分考虑功耗优化措施(如选择合适的电源管理方案、优化MCU工作模式等)。
编写功耗测试程序,对MCU及外设进行功耗测试,确保符合设计要求。
5. 加密功能的使用
痛点:
加密功能涉及复杂的加密算法和密钥管理,实现难度较大。
加密功能可能影响MCU的性能和功耗。
解决方案:
选择支持加密功能的MCU,并充分利用其内置的加密硬件(如加密协处理器)来降低实现难度。
学习和掌握相关的加密算法和密钥管理技术,确保加密功能的正确实现。
在设计加密方案时,充分考虑其对MCU性能和功耗的影响,并采取相应的优化措施。
-
感谢楼主分享
-
这个不错,学习下
-
个人信息无误,感谢EEWORLD!感谢英飞凌!
-
确认个人信息无误 ,竟然中奖了,非常感谢
-
信息确认无误
-
信息已经确认。谢谢!
很喜欢:victory:
-
430单片机支持两线仿真,两根线(不算GND和vcc)足以。
-
一般你有要这么做不太好。穿线,你可以做一个普通孔,正面做一个焊盘,在正面焊接就好了。
-
好多公司都这样,以前我也是卖IC的,一年多量产或者两年才量产的有的是。
-
你在单片机初始化SPI的地方打断点,然后找到spi的程序,看是不是调用的你这个spi 的位置。
这个程序是在TI 官方例程上面改的通用版本,spi 包含模拟spi,硬件spi 等多个spi 设置,看你是否改对了。
最好有个逻辑分析仪分析下是否有spi 输出。
按道理调试发送如果每次GDO0对应的不会死在死循环里面,就代表发送成功了,因为GDO0 发送成功会有电平调变,如果没有程序会死在死循环里面.
-
这个是430 连接CC1101 的程序,稍微改下IO口和芯片型号就可以用
-
这个赞,之前用430很多,都是自己写。没法做到统一。
现在比较流行的无线芯片sx1278无线LORA的,MPU6050等陀螺仪类的 ,舵机,LCD屏(或者OLED)显示类
-
一般430低功耗处理,输出模式,OUT寄存器写高。
晶振口和IO口一样处理。
也测试过设置为输入模式,拉低。这样功耗更低,但是不推荐这么用抗干扰性能会差。
-
话说以前用基本很少用高频晶振,一个32768做低功耗用,内部晶振完全能满足高频需求,
-
430一般我还是使用寄存器操作。因为主要是低功耗的内容,自己操作库更简洁。但是也有麻烦的地方。需要一定的开发经验。
库函数我认为开发简单适合初级者开发使用。一些开发复杂的内容,比如触摸按键还是用库比较合适。
-
windworld 发表于 2016-11-4 10:39
要PC支持USB3.0就快非常多了 哈哈
用USB3.0,这个这点还是懂的……{:1_101:}
读取能到100M 以上。
写入的时候开始50M左右,但是后来降到了10M
-
我也收到了,也测试过了,写入稍微慢点,读取速度杠杠的。
-
超级奇葩的bug。
使用cc430无线通信,调试过程中能进入接收中断,但是收到数据总是ff,f3,两个数字循环。无论发送什么数据,接收端收到的永远是这两个字节。
各种找问题,发送确认发送出来了,接收确认进入接收中断。
查找问题,各种排除法,确认寄存器没有问题,确认流程没有问题,。就是找不到原因。
后来直接用串口打印竟然是对的。
最后发现引起这个问题的原因竟然是编译器BUG,更改高版本的编译器解决问题……
-
建议把喂狗加进去,一般建议在主程序喂狗。对于这种模式建议使用你a模式。