QXKJ 发表于 2012-7-21 20:27:48

如何用单片机检测以脉宽编码的数据通信?类似红外线

本帖最后由 QXKJ 于 2012-7-21 20:34 编辑

遇到一个芯片,具体是ZMD的zssc3008芯片,这个芯片与外部的通信接口是个一线接口,并且通信的时候的编码是按照脉宽编码来做的,50%脉宽是起始,75%是逻辑1,25%是逻辑0,我用STC的PCA检测,主要是扑捉模式,扑捉沿跳变.但是做出来很不稳定.哪位给个建议应该怎么检测才合理,为了提高速度,我把时钟频率都搞到32M了,还是不稳定.
附上zssc3008的芯片数据手册.这个脉宽是个变值,我用示波器测试过,输出速率不同的状态下脉宽是不一样的,还有里面有偶校验,停止位,检测是来我觉得太费经了.哪位指点一下.

QXKJ 发表于 2012-7-21 20:29:53

看了原装的通信接口,使用MAGE32做的,通信接口使用了一个普通的IO口,这个口第二功能是ADC,我觉得原装的并没有用扑捉模式来做,但是很稳定,用普通IO口能做吗?

QXKJ 发表于 2012-7-23 12:20:15

今天吧ZSSC3008的数据输出速率调整到了200hz,靠,只是检测一个上升沿/下降沿就花费了2us,脉宽整个才32us,那25%的低电平时间也就8us,8us的时间够干个啥呀,连通信的50%的起始脉冲都检测不到了.以前吧zss3008的速率调整到40hz的时候还可以检测的很可靠.目前来看这个还是很有难度检测,原装的用16M的mega32,而且使用的是普通的IO口,令人费解.到底如何做到,我把STC的始终都搞到32M了,还是这个么个效果.德国人确实牛,这个芯片的接口方式太奇怪了.

QXKJ 发表于 2012-7-24 18:52:19

看来论坛没有做这个的,经过我的不懈努力,目前读取低速很可靠了,高速就在换单片机吧,严格按照波形图来做.可以检出开始和停止,可以分辨每一个高低电平的宽度,有问过同行,做法不一致,很多做出来的通信不可靠.起码我这个目前低俗还是非常稳定,高速在想办法吧.
页: [1]
查看完整版本: 如何用单片机检测以脉宽编码的数据通信?类似红外线