匿名
未登录
登录
丢石头百科
搜索
查看“STM8 智能卡”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
STM8 智能卡
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
<table border="0" cellpadding="0" cellspacing="0" style="color: rgb(72, 61, 139); font-family: Arial, 新宋体, 微软雅黑; font-size: 12px;" width="780"><tbody><tr><th class="type_483D8B" scope="col" style="line-height: 20px; font-weight: normal; border-top-style: none;" valign="top"> STM8智能卡 设置UART_CR5寄存器的SCEN位选择智能卡模式。在智能卡模式下,下列位必须保持清零:<li>UART_CR3寄存器的LINEN位 </li><li>UART_CR5寄存器的HDSEL位和IREN位 </li> 此外,CLKEN位可以被设置,以提供时钟给智能卡。 注意:该功能只适用于UART1和UART2。 智能卡接口设计成支持ISO7816-3标准所定义的异步协议智能卡。UART应该被设置为8位数据位加校验位和1.5位停止位。当智能卡模式使能时(寄存器UART_CR5的SCEN位置1),UART可以与异步智能卡通讯。 [[File:STM8_P284_1.jpg]] (图112:STM8_ISO7816-3异步协议) 当与智能卡相连接时,UART的TX根智能卡共同驱动一根双向通讯线。 STM8智能卡是一个单线半双工通信协议* 从发送移位寄存器把数据发送出去,要被延时最小1/2波特时钟。在正常操作时,一个满的发送移位寄存器将在下一个波特时钟沿开始向外移出数据。在智能卡模式里,此发送被再延迟1/2波特时钟。* 如果在接收一个设置为1.5停止位的数据帧期间,检测到一个校验错误,在1/2波特时钟周期后,发送线被拉低一个波特时钟周期。这是告诉智能卡发送到UART的数据没有被正确接收到。此NACK信号(拉低发送线一个波特时钟周期)在发送端会识别为一个帧错误(发送端被配置成1.5个停止位)。应用程序可以根据协议处理重新发送的数据。如果NACK控制位被置1,发生校验错误时接收器就会给出一个NACK信号;否则就不会发送NACK。* TE位必须通过置1来使能<li>数据发送<li>在校验错误发生时,发送应答 当向数据寄存器写入新数据时,必须由软件来管理数据发送时间以避免数据线上的冲突。</li></li><li>RE位必须置1来使能 <li>数据接收(由智能卡或者UART发送) </li>* 侦测在校验错误发生时发送的应答</li><li>对保护时间寄存器编程会使得TC标志置1的时间点推后。在正常操作时,当发送移位寄存器变空并且没有新的发送请求出现时,TC被置1。在STM8智能卡模式里,空的发送移位寄存器将触发保护时间计数器开始向上计数,直到计到等于保护时间寄存器中的值。TC在这段时间被强制拉低。当保护时间计数器达到保护时间寄存器中的值时,TC被置高。 </li><li>TC标志的撤销不受智能卡模式的影响。 </li>* 如果发送器检测到一个帧错误(收到接收器的NACK信号),发送器的接收功能模块不会把NACK当作起始位检测。根据ISO协议,接收到的NACK的持续时间可以是1或2波特时钟周期。* 在接收器这边,如果一个校验错误被检测到,并且NACK被发送,接收器不会把NACK检测成起始位。* 智能卡I/O的输出使能信号可以使能对双向信号线的驱动,这条线路同时也由智能卡驱动。在发送起始位,数据位和NACK信号的时候,该信号有效。在发送停止位的时候,该信号被禁用,这样UART在双向信号线上的状态为弱上拉信号"1"。 注意:1.断开符号在智能卡模式里没有意义。一个带帧错误的00h数据将被当成数据而不是断开符号。 2.当来回切换TE位时,没有IDLE帧被发送。ISO协议没有定义IDLE帧。 图113详述了UART是如何采样NACK信号的。在这个例子里,UART正在发送数据,并且被配置成1.5个停止位。为了检查数据的完整性和NACK信号,UART的接收功能块被激活。 [[File:STM8_P285_1.jpg]] (图113:STM8使用1.5停止位检测奇偶检验错) UART可以通过UART_CK输出为智能卡提供时钟。在STM8智能卡模式里,UART_CK不和通信直接关联,而是先通过一个位预分频器简单地用内部的外设输入时钟来驱动智能卡的时钟。分频系数在预分频寄存器UART_PSCR中配置。UART_CK频率可调整的范围是从fMASTER/2到fMASTER/62,这里的fMASTER是外设输入时钟。</th></tr></tbody></table>
返回至
STM8 智能卡
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志