单片机解码一个30K码率的的1527协议,,难度大不?
1/30K = 30uS的低电平..中断10uS去检测?感觉中断10uS单片机比较吃力呀 现在risc-v的单片机主频多可以上到144M,好像压力不是很大。 chendaon 发表于 2023-10-30 19:41
现在risc-v的单片机主频多可以上到144M,好像压力不是很大。
(引用自2楼)
抱歉,我的单片机只有24MHZ...... 本帖最后由 Himem 于 2023-10-30 19:57 编辑
用定时器捕获吧 无压力,解码而已,不用中断直接读都没问题,别忘了二十年前几M的8位单片机都在愉快地解码呢,还有怀疑吗 一点压力都没有,我用48m的能读106k 这活 16M 的 AVR 都能跑。
但是再有其他高负荷任务,就难说了 tang_qianfeng 发表于 2023-10-30 20:18
一点压力都没有,我用48m的能读106k
(引用自6楼)
啊啊.....你是用中断的方式来检测吗? t3486784401 发表于 2023-10-30 20:58
这活 16M 的 AVR 都能跑。
但是再有其他高负荷任务,就难说了
(引用自7楼)
是的,,其他的地方也有函数要处理,感觉压力很大 sweet_136 发表于 2023-10-30 21:30
是的,,其他的地方也有函数要处理,感觉压力很大
(引用自9楼)
任务很多的话,可以加一个MCU专门做解码。可以外发出去用OTP做。成本0.2左右。 其他任务要做,
10us中断如何去兼顾,
这就考验人了哈。
24M毫无问题。24M的51稍微汇编优化一下都可以解300K的BMC信号。
你这才30K,直接引脚变化中断里面读寄存器就可以。你也不提你用什么单片机,如果有能捕捉甚至DMA的外设那就CPU压力更低。 用个几毛的单片机专做解码好了,实在为难使用解码芯片 只要 处理时间 小于定时中断时间 能有啥压力 也不是让你干。{:lol:} 根据你的接收相位来确定第一个脉冲是上升沿还是下降沿中断,一旦中断了,就在中断中采用查询方式把后继数据全部解码。在中断中查询IO,只要中断级别最高,查询程序就不会被打断,稳定性是比较高的。另外,查询IO高低电平速度也是比较快的,用汇编几条指令就能够处理。
页:
[1]