[ZLG-ARM] sc16isxx启动红外模式问题

[复制链接]
2038|3
 楼主| blade4414 发表于 2007-11-28 14:26 | 显示全部楼层 |阅读模式
我用两片SC16IS760做红外通讯。红外收发管GP2W1001YP,电路参考PHILIPS的DEMO板。<br />做UART测试时,不焊红外收发管,直接连接两片760的RXD,TXD,收发正常。<br />做IRDA测试时,焊上红外收发管,接收中总有错误。<br /><br />读SC16IS760的LSR,经常得到0xe1和0xe9,760的datasheet如此说:<br />7&nbsp;LSR[7]&nbsp;FIFO&nbsp;数据错误。<br />逻辑0=无错误(正常默认条件)。<br />逻辑1=接收FIFO&nbsp;数据中至少有一个奇偶错误、帧错误或间隔指示。当FIFO<br />中不再出现错误时该位被清零。<br />6&nbsp;LSR[6]&nbsp;THR&nbsp;和TSR&nbsp;为空。该位是发送空指示器。<br />逻辑0=发送器保存和移位寄存器都不为空<br />逻辑1=发送器保存和移位寄存器都为空<br />5&nbsp;LSR[5]&nbsp;THR&nbsp;为空。该位是发送保存寄存器空指示器。<br />逻辑0=发送保存寄存器不为空<br />逻辑1=发送保存寄存器为空。如果TX&nbsp;FIFO&nbsp;使能,那么主机可将多达64&nbsp;字<br />符的数据装入THR。<br />4&nbsp;LSR[4]&nbsp;间隔中断。<br />逻辑0=无间隔条件(正常默认条件)。<br />逻辑1=出现间隔条件且相关的字符为00h(RX&nbsp;在一个字符时间帧内持续为低<br />电平)。<br />3&nbsp;LSR[3]&nbsp;帧错误。<br />逻辑0=正在从RX&nbsp;FIFO&nbsp;中读取的数据无帧错误(正常默认条件)。<br />逻辑1=正在从RX&nbsp;FIFO&nbsp;中读取的数据出现帧错误(接收的数据中没有有效的<br />停止位)。<br />2&nbsp;LSR[2]&nbsp;奇偶错误。<br />逻辑0=无奇偶错误(正常默认条件)。<br />逻辑1=正在从RX&nbsp;FIFO&nbsp;中读取的数据出现奇偶错误。<br />1&nbsp;LSR[1]&nbsp;超时错误。<br />逻辑0=无超时错误(正常默认条件)。<br />逻辑1=出现超时错误。<br />0&nbsp;LSR[0]&nbsp;接收器中的数据。<br />逻辑0=接收FIFO&nbsp;中无数据(正常默认条件)。<br />逻辑1=RX&nbsp;FIFO&nbsp;中至少有一个字符。<br /><br />也就是说有帧错误,这个错误怎么来的,不明白。<br /><br />另外,如果我发送端760停止发送,接收端760也可以收到一个字节0xFE,实测接受760的RX,发现电平一直为高,为什么这种情况下也能收到一个字节?<br /><br />举个例子:<br />发送ASC:1<br />接收:0xfe&nbsp;0x7f&nbsp;1<br /><br />发送ASC:1&nbsp;2<br />接收:0xfe&nbsp;0x7f&nbsp;1&nbsp;2<br /><br />似乎接收总比发送多个&nbsp;0xfe&nbsp;0x7f,&nbsp;同时伴随着760的帧错误。<br /><br />要做过760控制红外收发管的朋友吱一声吧<br />
 楼主| blade4414 发表于 2007-11-28 15:36 | 显示全部楼层

继续

讨论一下,没人做红外吗?
 楼主| blade4414 发表于 2007-11-28 16:56 | 显示全部楼层

补充一下。

收发SC16IS760的CLK都是12M,MCU访问收发760的SPI速度略有差异都在6M左右。<br /><br />UART波特率设为19200(不确定与760-SIR-1.15M有什么关系,但如果两边拨特率不同,红外铁定收错数),两边初始化一样,用示波器观察发的TXD后收的RXD发现一个现象:RXD引脚电平为TXD电平取反,但TXD中的正脉宽比RXD中反向的负脉宽明显要宽,(但起点一样),同样的设置为什么“数据位”的宽度不一样,这是调试出现帧错误的原因吗?
 楼主| blade4414 发表于 2007-11-29 11:32 | 显示全部楼层

再问

没有人用IRDA吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

32

主题

35

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部