![](https://csdnimg.cn/release/download_crawler_static/87639191/bg5.jpg)
SCLK
和数据线
SDATA
。主控制器的
MCU
和 读卡模块内的
MCU
通 过此三线相连,三根线上的 实际电
平是双方口线状态逻辑线与的结果。
2
)
ZLG500
三线串行读卡模块接口规范
(
1
) 接口原理
接口空闲时主机
SS=1 SCLK=0 SDATA=0
从 机
SS=1 SCLK=1 SDATA=0
。 其中
SS
和
DATA
是
双 向的而时钟线
SCLK
是单向的,即时钟只能由主控制器产生,该信号必须严格遵守时序规范, 否则将出
现通信错误读卡模块必须释放该线。
SS
为数据发送使能, 若一方有数据要发送给另一方, 则该方控制
SS
线为低并在发送结束 后将该线
置高,接收数据方不得控制该线,双方必须遵守通信协议不得同时控制该线。
SDATA
为数据线,由数据发送端控制数据,接收端必须释放该线。该线在一次传输开始 时还同时作为
数据接收端的响应信号。
(
2
)时序图
如图
5.5
所示,无论数据传输的方向如何,
SPI
线上信号的波形总是如下;
Start from sender Stop
from sender
SS
SDATA
Sender and receiver
图
5 ZLG500
时序图
由图中可以看出, 在
SS
为低的情况时, 时钟和数据线上的信号才有效。
SDATA
变化,在
SCLK
为高时
SDATA
应保持稳定。
以上传输中从数据发送器请求开始至数据接收器响应的时间是不确定的,
的
MCU
是否忙,有必要设置一个看门狗定时器对数据接收器的响应进行监视, 应,则
MCU
必 须根据数据传输的方向,严格控制以下几个时间,以确保数据传输无误。
t1
—数据接收器响应至
MCU
产 生第一个
SCLK
上升沿的时间。
t2
—两个字节传输之间
SCLK
低电平的持续时间。
t3
—传输最后一个字节的最后一位的
SCLK
信号的上升沿至
SS
上升沿的时间。
tH
—
SCLK
信号的高
电平持续时间。
tL
—
SCLK
信号的低电平持续时间。 在数据传输的方向不同时,对时间
t1
—
t3 tH
和
tL
都有各自不
同的要求。
(
3
) 通信协议
MCU
与
ZLG500
的通信必须先由
MCU
发送命令和数据给
ZLG500
,
ZLG500
执行命令完毕后, 将
命令执行的状态和响应数据发回
MCU
。
开始通信前,收发双方必须处于空闲状态。首先由
MCU
发出
SS
下降沿信号,然后等待
ZLG500
载
SDATA
线上的响应,若在
50ms
内为检测到此信号,则退出本次传输。若正确响应, 则
MCU
可将命令和数据发送出去。
然后
MCU
等待
ZLG500
发回的状态和响应数据。也即等待
SS
线上的下降沿信号,若在
50ms
内为
检测到此信号,则退出本次传输,若正确检测到
SS
信号,则可以接收状态和数据。
ZLG500
初始化的子程序如下:
SCLK BIT P1.0
SCLK
t1
tH t2 t3
tL
tH t2 t3
Ack from receiver
且在
SCLK
为低时
取决接收器内
一旦接收器响