首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

TPMS通讯问题

TPMS通讯问题

1,硬件 胎压检测:8020+RF2 接收:MC33594+GR8 2,原理 1),RF23秒钟采样并发送数据包一次,数据包格式:Pre+ID+HEADER(4 bytes)+data(8 bytes)+EOM(2 bits of NRZ "1" or "0"; 2),GR8配置好MC33594后,SPI设置为从模式,等待接收,每接收一个字节即通过SCI发送给PC; 3,问题: 1)发射10字节数据包,接收有效数据应该为8字节,但有时候会接收到9字节; 2)漏包较多,即2分钟左右才能收到一个数据包; 请问大牛们,大概应该是哪些原因造成的。 4,附RF发射的代码(通过PWM控制DATA脚) //- 1,initialze Tango3 and PWM RF_EN=1; //- enable Tango3 delay_ms(2); //- wait for Tango3 PLL being settled TSC0 &= 0b11100011; //- pin under port control,initial output=high(start transmit) //- TOF=0,TOIE=0,TSTP=1,TRST=1, PS2 PS1 PS0=111-Tclk=DATACLK; TSC=0x37; //- counter stopped & cleared, tof clear,TOF_ISR disabled //- DATACLK=Timer Clock //- CH0F=0,CH0IE=1,MS0B=0,MS0A=1,ELS0B=0,ELS0A=1,TOV0=0,CH0MAX=0 TSC0=0x54; //- Timer Channel 0WM output with toggle on compare; //- Tx_UHF_isr enabled TMODH=0; //- PWM period = period UH: 212Khz/9600=22; TMODL=UHF_period; //- and PWM duty cycle=50%; TCH0H=0; TCH0L=UHF_Duty_Cycle; TSC_TSTOP=0; //- start timer //- 2,send the frame next_tx_bit=1; //- 1st bit of first byte(0xFB) for(i=0;i<
进一步测试出现:
1,有时候接收到的帧会多出2~3字节
2,其中有一帧MC33594的CR2即ID也出现在SPI数据中
UP一下
补充一下:
1,MC33594的strobe脚一直接高电平,即RF接收一直处于RUN状态
2,GR8 SPI的SS脚接低电平,一直处于从机接收状态
返回列表