系统是一个ARM+DSP双核的系统,因要接收韦根和遥控器信号,加了一个2051。
使用无源晶振(无论是12M还是11.0592M)都可以正常接收红外信号。后面新一版本客户
要求使用有源晶振,结果上12M的晶振收红外就会出错,其他功能正常,用11.0592M都正常。当初设计是按11.0592计算的,稍微做了点冗余可以支持到12M,用示波器可以确定有源晶振的频率都很正确,在此请教高手,用无源和用有源晶振,在单片机内分频会差别很大吗??
另,因主CPU的UART口都已用完,单片机就模拟了了一个I2C从设备,红外数据和IO状态模拟成I2C设备的寄存器供主CPU读取。又因中断口用来做韦根读取了,就采用查询等待主机I2C的起始信号,但在测试中发现单片机经常检测不到起始信号,丢失率达50%以上。
下面是我检测起始信号的代码 |