1. 首页
  2. 课程学习
  3. 嵌入式
  4. 位停止位时检测校验错误-ttl cmos pecl lvds hcsl信号电平及阻抗匹配标准

位停止位时检测校验错误-ttl cmos pecl lvds hcsl信号电平及阻抗匹配标准

上传者: 2024-07-22 22:27:12上传 PDF文件 28.03MB 热度 12次

用1.5位停止位时检测校验错误USART可以通过SCLK脚向智能卡提供时钟。智能卡模式中,SCLK和通讯没有关系,只是通过一个5位的预分频器从内部外设时钟源得到时钟信号。这个分频系数在USART_GTPR寄存器中设置。SCLK频率可以设置在fCK/2到fCK/62之间,fCK指外设输入时钟。

在块模式(T=1)中,校验错误是要通过将USART_CR3寄存器的NACK清零来关闭的。当要从智能卡读取数据时,在块模式下,软件必须将RTOR寄存器设为BWT(块等待时间)-11的值。如果这个时间到期了,还没有收到卡的回应,将会引起超时中断。如果超时之前收到了第一个字节,则会引起RXNE中断。注:块模式下,即便是用USART的DMA模式从智能卡读取数据,也必须使能RXEN中断。同时,也只能在第一个字节收到之后再去使能DMA。

在收到第一个字节之后(RXNE中断了),必须将RTO寄存器设置成CWT(字符等待时间)-11的值,这是为了允许在两个连续的字符之间自动检测最大等待时间。这个时间以波特时间作为单位。如果智能卡在前一个字符发送结束后到设定的CWT周期之间没有发送新的字符,USART会通过RTOF标志提示给软件,如果RTOIE位为1,则会引起中断。

注:在STOP=00,10的情况下,RTO计数器从最后一个字符的第一个停止位开始计数。在STOP=11的情况下,RTO计数器从停止位的开始处就计为1,并继续计数。按照智能卡协议的定义,BWT/CWT值是从最后一个字符的起始位开始计算的。所以RTO寄存器必须为BWT-11或者CWT-11,从而将各自的字符长度也算在内。

想深入了解USART数据传输的细节?可以查阅USART多自己数据传输智能卡数据传输。对智能卡校验有兴趣?智能卡的XOR校验和智能卡的CRC校验和是不错的参考资料。更多关于智能卡数据传输协议的信息,可以参考智能卡数据传输协议

下载地址
用户评论