关于STC32G的MCU针对同时存在UART和CAN如何选择主频的频率?
本帖最后由 jacksonjim 于 2023-6-9 14:47 编辑关于STC32G的MCU针对同时存在UART和CAN如何选择主频的频率?
当前所用的MCU
STC32G12K128系列的MCU
条件:
1 设备目前预知的使用环境温度在-40 ~+65度的环境使用
2 UART 参数为 9600、115200两个波特率,
3 CAN参数为 波特率:250K , 采样点87%
疑问点
1 在条件1 的-40度 环境下使用 CAN 和 UART ,必须支持 条件2 & 3 的要求,进行数据通讯,请问选择什么频率比较合适
2 在单独只有uart 下时根据之前的技术支持使用STC8G在做测试时,建议使用11.0592或22.184的频率,进行测试验证正常,
但是针对类似其它的整数频率,如24M进行验证测试时,出现数据异常,发送的数据和接收的数据都会错乱,改为建议的频率即可正常通讯;
3 在单独使用CAN 时根据文档和建议使用推荐的整数频率,可精准达到要求的波特率:250k 和 采样点:87%,
使用类似 11.0592频率无法达精确达到要求的参数,如下图所示,波特率:251345 也偏大了,误差0.5,采样点在81%
目前需要兼顾两者都能达到需求参数情况,选择什么频率更加理想,保证在-40度的低温或 +65度的高温极度环境下正常通讯,不会出现数据通讯异常,谢谢!
注意上面提到的环境条件,这个是客户使用的环境,必须要过的实验验证,不能以常温环境下,误差一些也可以正常就可以。
用我们STC出厂时调教好的频率 24MHz,
不要用其他第三方串口来调我们的频率,否则会带来新的外部误差
CAN通信 250K bps, 理论误差为 0
串口通信,9600bps, 理论误差为 0
串口通信,115200bps,理论误差0.16%,这点误差忽略不计
神农鼎 发表于 2023-8-11 11:43
用我们STC出厂时调教好的频率 24MHz,
不要用其他第三方串口来调我们的频率,否则会带来新的外部误差
好的,我们先按这个思路来做,谢谢
页:
[1]