资源描述
个人收集整理 勿做商业用途
西 京 学 院
毕 业 设 计 (论 文)
成绩
题 目:单片机红外通讯设计与分析
姓 名: 俞 烨
系(院): 机 电 工 程 系
专 业: 机 电 一 体 化
班 级: 0903
学 号: 0911080326
指导老师: 张 永 超
日 期: 2011年10月31日
教务处制
摘要
随着科技的不断发展,各系统间的联系越来越紧密,对各系统间的数据传递的要求也越来越高。而随着电脑的普及,形成了以电脑为主加上一些外部设备的系统。但是外部设备越多,连接用的线也越多。我的这个红外通讯系统能解决这个问题。
红外通讯系统是通过红外设备将单片机与外部设备联系起来进行通讯,实现系统间的无线通讯。然后把数据存入IC卡中,用IC卡来实现计算机与外部系统间的数据交换。而且还可以做到一卡多系统,这样就能解决一大堆线带来的烦恼.还有,由于IC卡的加密特性,可以对数据进行有效的保密。
本论文首先介绍了红外设备及红外通讯的一些知识,第二章介绍了整个系统的硬件开发,第三章介绍了系统的软件开发,最后是一点感想。
关键词:红外通讯, 红外系统, 单片机.
第一章 绪论
1.1 红外技术的背景及其发展
自从1800年英国天文学家F·W·赫歇尔发现红外辐射至今,红外技术的发展经历了将近两个世纪。从那时开始,红外辐射和红外元件、部件的科学研究逐步发展,但发展比较缓慢,直到1940年前后才真正出现现代的红外技术。当时,德国研制成硫化铅和几种红外透射材料,利用这些元、部件制成一些军用红外系统,如高射炮用导向仪、海岸用船舶侦察仪、船舶探测和跟踪系统,机载轰炸机探测仪和火控系统等等。其中有些达到实验室试验阶段,有些已小批量生产,但都未来得及实际使用.此后,美国、英国、前苏联等国竞相发展。特别是美国,大力研究红外技术在军事方面的应用。目前,美国将红外技术应用于单兵装备、装甲车辆、航空和航天的侦察监视、预警、跟踪以及武器制导等各个领域。
红外技术发展的先导是红外探测器的发展。1800年,F·W·赫歇尔发现红外辐射时使用的是水银温度计,这是最原始的热敏型红外探测器。1830年以后,相继研制出温差电偶的热敏探测器、测辐射热计等。在1940年以前,研制成的红外探测器主要是热敏型探测器。19世纪,科学家们使用热敏型红外探测器,认识了红外辐射的特性及其规律,证明了红外线与可见光具有相同的物理性质,遵守相同的规律.它们都是电磁波之一,具有波动性,其传播速度都是光速、波长是它们的特征参数并可以测量。20世纪初开始,测量了大量的有机物质和无机物质的吸收、发射和反射光谱,证明了红外技术在物质分析中的价值。30年代,首次出现红外光谱代,以后,它发展成在物质分析中不可缺少的仪器。40年代初,光电型红外探测器问世,以硫化铅红外探测器为代表的这类探测器,其性能优良、结构牢靠。50年代,半导体物理学的迅速发展,使光电型红外探测器得到新的推动。到60年初期,对于1~3、3~5和8~13微米三个重要的大气窗口都有了性能优良的红外探测器.在同一时期内,固体物理、光学、电子学、精密机械和微型致冷器等方面的发展,使红外技术在军、民两用方面都得到了广泛的应用。个人收集整理,勿做商业用途
在红外技术的发展中,需要特别指出的是:60年代激光的出现极大地影响了红外技术的发展,很多重要的激光器件都在红外波段,其相干性便于移用电子技术中的外差接收技术,使雷达和通信都可以在红外波段实现,并可获得更高的分辨率和更大的信息容量。在此之前,红外技术仅仅能探测非相干红外辐射,外差接收技术用于红外探测,使探测性能比功率探测高好几个数量级。另外,由于这类应用的需要,促使出现新的探测器件和新的辐射传输方式,推动红外技术向更先进的方向发展。
1.2 红外数据通讯简介
红外线是波长在750nm至1mm之间的电磁波,它的频率高于微波而低于可见光,是一种人的眼睛看不到的光线。通讯一般采用红外波段内的近红外线,波长在0。75um至25um之间.红外数据协会(IRDA)成立后,为了保证不同厂商的红外产品能够获得最佳的通讯效果,红外通讯协议将红外数据通讯所采用的光波波长的范围限定在850nm至900nm之内。
红外通讯技术的特点
■它是目前在世界范围内被广泛使用的一种无线连接技术,被众多的硬件和软件平台所支持;
■通过数据电脉冲和红外光脉冲之间的相互转换实现无线的数据收发。
■主要是用来取代点对点的线缆连接;
■新的通讯标准兼容早期的通讯标准;
■小角度(30度锥角以内),短距离,点对点直线数据传输,保密性强;
■传输速率较高,目前4M速率的FIR技术已被广泛使用,16M速率的VFIR技术已经发布。
红外数据通讯技术的用途
红外通讯技术常被应用在下列设备中:
■笔记本电脑、台式电脑和手持电脑;
■打印机、键盘鼠标等计算机外围设备;
■电话机、移动电话、寻呼机;
■数码相机、计算器、游戏机、机顶盒、手表;
■工业设备和医疗设备;
■网络接入设备,如调制解调器.
厂家和消费者的认同度
外通讯技术已被全球范围内的众多软硬件厂商所支持和采用,目前主流的软件和硬件平台均提供对它的支持。红外技术已被广泛应用在移动计算和移动通讯的设备中,巨大的装机量使红外无线通讯技术有了庞大的用户群体.
缺点
■通讯距离短,通讯过程中不能移动,遇障碍物通讯中断。
■目前广泛使用的SIR标准通讯速率较低(115.2kbit/s)
■红外通讯技术的主要目的是取代线缆连接进行无线数据传输,功能单一,扩展性差.
随着移动计算和移动通讯设备的日益普及,红外数据通讯已经进入了一个发展的黄金时期。自1993年IRDA成立至今,红外数据协会的会员已经发展到150多个,当今在IT业和通讯业叱咤风云的大公司几乎都在其中,由此可见IRDA标准已经获得了业界的广泛认同和支持。目前已经开发生产出来的具备红外通讯能力的设备已有一百种之多,红外模块的年装机量已经达到了一亿五千万套,并且每年还有着40%的高速增长。尽管现在有了同样是近距离无线通讯的蓝牙技术,但以红外通讯技术低廉的成本和广泛的兼容性的优势,红外数据通讯势必会在将来很长的一段时间内在短距离的无线数据通讯领域扮演重要的角色。
1.3本系统的原理和功能
本系统主要是利用单片机的通讯功能加上红外收发器件组成一个简易红外掌机。
用IC卡作为外存,液晶作为显示.主要功能是用于对数据的采集和储存
第二章 系统硬件设计
2.1系统设计方案
利用51单片机和红外设备实现系统间的数据交换.
外部系统
IC
卡
红外设备
单片机
显示
2.2系统设计原理
下面我们来详细介绍一下各部分的构成及其功能:
2。2。1电源电路与复位电路
在该系统中需要用到+5V的直流稳压,在我们的生活中一般都是使用220的交流电,为了获得高质量的5V直流稳压电源,这就需要我们进行电压转化.
这里的滤波是为了滤去外界电源输入带来的一些不稳定的因素,比如说纹波的影响,而用一个大电容和一个小电容的组合,是为了分别滤去低频或高频的纹波。
在系统中,有时会出现程序跑飞而导致显示不正常,也为了调试方便,我们需要设计一个复位电路,在系统中,复位电路主要完成系统的上电复位和系统在运行时用户的按键复位功能.复位电路可由简单的RC电路构成,也可使用其他的相对复杂,但功能更完善的电路。
在本系统中,电源电路和复位电路的实际应用如下:
2.2。2单片机电路
8051 系列微处理器基于简化的嵌入式控制系统结构,被广泛应用于从军事到自动控制再到PC 机上的键盘上的各种应用系统上.仅次于Motorola 68HC11 在8 位微控制器市场上的销量,很多制造商都可提供8051 系列单片机,像Intel Philips Siemens 等。这些制造商给51 系列单片机加入了大量的性能和外部功能,像I2C 总线接口,模拟量到数字量的转换,看门狗,PWM 输出等,不少芯片的工作频率达到40M, 工作电压下降到1。5V 。基于一个内核的这些功能使得8051 单片机很适合作为厂家产品的基本构架,它能够运行各种程序。
8051 系列的基本结构如下
1 一个8 位算术逻辑单元
2 32 个I/O 口4 组8 位端口可单独寻址
3 两个16 位定时计数器
4 全双工串行通信
5 6 个中断源两个中断优先级
6 128 字节内置RAM
7 独立的64K 字节可寻址数据和代码区
每个8051 处理周期包括12个振荡周期每,12个振荡周期用来完成一项操作,如取指令和?计算指令执行时间可把时钟频率除以12, 取倒数,然后指令执行所须的周期数,因此,如果你的系统时钟是11。059MHz ,除以12 后就得到了每秒执行的指令个数,为921583条指令,取倒数将得到每条指令所须的时间1。085us。
处理器状态
处理器的状态保存在状态寄存器PSW 中,状态字中包括进位位,用于BCD 码处理的辅助进位位,奇偶标志位,溢出标志位,还有前面提到的用于寄存器组选择的RS0 和RS1 。0组从地址00H 开始,1组从地址08H开始,2 组从地址10H 开始,3组从地址18H 开始,这些地址都可通过直接或间接方式进行寻址PSW 的结构如下
CY
AC
FO
RS1
RS0
OV
USR
P
CY 进位标志位
AC 辅助进位标志位
F0 通用标志位
RS1 寄存器组选择位高位
RS0 寄存器组选择位低位
OV 溢出标志位
USR 用户定义标志位
P 奇偶标志位
串行接口工作方式:
串口为全双工结构,表示可以同时发送和接收。它还具有接收缓冲,在第一个字节从寄存器读出之前,可以开始接收第二个字节。但是如果第二个字节接收完毕时第一个字节仍未读出,其中一个字节将会丢失。
串口的发送和接收寄存器都是通过SFR SBUF 进行访问的。写入SBUF 的数据装入发送寄存器,对SBUF的读操作是对物理上分开的接收寄存器进行访问。
串口有4 种操作模式:
模式0
串行数据通过RxD 进出。TxD 输出时钟。每次发送或接收以LSB 最低位作首位,每次8 位.波特率固定为MCU 时钟频率的1/12
模式1
TxD 脚发送,RxD 脚接收,每次数据为10 位,一个起始位(0), 8 个数据位(LSB 在前)及一个停止位(1). 当接收数据时,停止位存于SCON 的RB8 内,波特率可变,由定时器1 溢出速率决定.
模式2
TxD脚发送,RxD脚接收,每次数据为11位,一个起始位(0),8个数据位(LSB 在前),一个可编
程第9 位数据及一个停止位(1).
发送时,第9 个数据位(SCON 内TB8 位)可置为0 或1。例如将奇偶位(PSW内P位)移至TB8。接收时,第9位数据存入SCON 的RB8位,停止位忽略。波特率可编程为MCU 时钟频率的1/32 或1/64,由PCON 内SMOD1 位决定。
模式3
TxD 脚发送,RxD 脚接收,每次数据为11位,一个起始位(0), 8个数据位(LSB 为首位),一可编程的第9位数据及一个停止位(1).事实上模式3 除了波特率外均与模式2 相同。其波特率可变并由定时器1 溢出率决定。
在上述4 种模式中,发送过程是以任意一条以写SBUF 作为目标寄存器的指令开始的,模式0 时接收通过设置R1=0 及REN=1 初始化,其它模式下如若REN=1 则通过起始位初始化.
串行端口控制寄存器(SCON)
串行端口控制及状态寄存器即SCON,如下图所示,其中包括模式选择位,以及发送和接收的第9位数据(TB8 及RB8), 以及串行端口中断位(TI 及RI)。
串行控制寄存器(SCON)
波特率
操作模式0 的波特率是固定的,为fosc/12 .模式2 的波特率是MCU 时钟/64 或MCU 时钟/32, 取决于PCON 寄存器中的SMOD1 位的值。若SMOD1=0(复位值).波特率为MCU 时钟/64,若SMOD1=1,波特率为MCU 时钟/32.
在80C51中,模式1和模式3的波特率由定时器1的溢出速率决定。
使用定时器1 作波特率发生器
当定时器1 用作波特率发生器,模式1和3中波特率由定时器1 的溢出速率和SMOD1的值决定。
在此应用中定时器1 不能用作中断,定时器1 可以工作在定时或计数方式和3 种工作模式中任何一个,在最典型应用中它用作定时器方式工作自动重装载模式(TMOD的高半字节为0010B), 它的波特率值由下式给出
可以定时器1 的中断实现非常低的波特率。将定时器配置为16 位定时(TMOD的高半字节为0001B), 并使用中断进行16 位软件重装.下图列出了几个常用的波特率以及如何从定时器1获得:
UART 模式0
串行数据由RxD 端输入,TxD 输出同步移位时钟,发送或接收的是8 位数据,低位在先,其波特率固定为MCU 时钟的1/12。
执行任何一条把SBUF 作为目的寄存器的指令时,就开始发送.S6P2时刻的“写SBUF信号将1 装入发送移位寄存器的第9 位,并通知发送控制部分开始发送。写SBUF 信号有效后一个完整的机器周期后SEND端有效。
SEND 使能RxD(P3.0 )端送出数据TxD (P3。1 )输出移位时钟。每个机器周期的S3 S4 及S5 状态内移位时钟为低电平,而S6、S1及S2状态内为高。在SEND 有效时,每一机器周期的S6P2 时刻发送移位寄存器的内容右移一位.
数据位向右移时,左边添加零。当数据字节最高位(MSB)移到移位寄存器的输出端时,其左边是装入“1”的第9位,再左的内容均为0, 此时通知Tx 控制模块进行最后一位移位处理后禁止SEND并置位T1, 所有这些步骤均在“写入SBUF" 后第10 个机器周期的S1P1 时进行的。接收初始化条件是REN=1及R1=0。下一机器周期的S6P2时,RX控制单元向接收移位寄存器写入1111 1110 并在下一个时钟使RECEIVE端有效。
RECEIVE使能移位时钟转换P3.1功能,移位时钟在每个机器周期的S3P1 及S6P1 跳变。在RECEIVE有效时每一机器周期的S6P2时刻,接收移位寄存器内容向左移一位。从右移位进来的值是该机器周期S5P2时从P3.0 脚上采样得来的。
数据从右边移入时,左边移出为“1"。 当初始时置入最右端的“0 ”移至最左端时,通知RX 控制时钟作最后一次移位后装入SBUF。在写入SCON 清除R1 后第10个机器周期,RECEIVE端被清除且置位RI。
UART 模式1
串行口工作于模式1时,传输的是10位;1位起始位(0),8位数据(低位在先)及一位停止位(1)。由RxD接收,TxD发送。接收时,停止位存入SCON内RB8。 80C51 波特率取决于定时器1 的溢出速率
发送过程是由执行一条以SBUF为目的寄存器的指令启动的。“写SBUF"信号还把1(TB8)装入发送移位寄存器的第9位,同时通知发送控制器进行发送.实际上发送过程开始于16分频计数器下次翻转后的那个机器周期的S1P1时刻。每位的发送时序与16分频计数器同步,而并不与“写SBUF”信号同步。
发送以激活SEND端开始,向TxD发送一起始位。一位(时间)以后DATA端有效,使输出移位寄存器中数据得以送至TxD。再过一位,产生第一个移位脉冲.
数据向右移出左边不断填以0,当数据字节的最高位移到移位寄存器的输出位置时,其左边是装入“1”的第9位,再左的内容均为0。此时通知TX 控制器作最后一次移位,然后禁止SEND 端并置位TI。这都发生于写SBUF后16分频计时器的第10 次翻转时。
接收在RxD端检测到负跳变时启动,为此MCU对RxD不断采样,采速率为波特率的16倍,当检测到负跳变时,16分频计数器立即复位.同时将1FFH 写入输入移位寄存器。复位16 分频计时器确保计时器翻转时位与输入数据位时间同步。
计数器的16个状态将每个位时间分为16份。在第7 8 9 状态时,位检测器对RxD端的值采样,取值为三个采样值中取多数(至少2个)作为读入值,这样可以抑制噪声。如果所接收的第一位不为0,说明它不是一帧数据的起始位。该位被摒弃,接收电路被复位,等待另一个负跳变的到来。这用来防止错误的起始位,如果起始位有效,则被移入输入移位寄存器,并开始接收这一帧中的其它位。
当数据位逐一由右边移入时,“1”从左边被移出。当起始位0移到最左边时(模式1为9 位寄存器),通知接收控制器进行最后一次移位,将移位寄存器内容(9)位分别装入SBUF及RB8,并置RI=1。仅当最后一位移位脉冲产生时同时满足下述2个条件:RI=0,SM2=0或接收到的停止位=1,才会装载SBUF和RB8,并且置位RI。
上述两个条件任一不满足,所接收到的数据帧就会丢失,不再恢复。两者都满足时,停止位就进入RB8,8位数据进入SBUF ,RI=1。这时无论上述条件满足与否,接收控制单元都会重新等待RxD的负跳变。
模式2和模式3
模式2和3中,发送(通过TxD)和接收(通过RxD)都是11位,包括1位起始位(0),8位数据位(LSB在先),1位可编程数据位(第9位)及一位停止位(1). 发送时,第9 位数据位TB8可置为0或1.接收时,第9位存入SCON 的RB8。模式2时波特率可编程选为MCU 时钟频率的1/16 或1/32.
在本系统中我们将用到定时器T1,设置TMOD=0X20,而串口则工作在模式1,设置SCON=0X50,下面我们来看一下模式1的功能:
串口模式1
2。2。3夜晶LCD电路
12864M是一种图形点阵液晶显示模块,它主要由行驱动器、列驱动器及128×64全点阵液晶显示器组成.
模块的外部接口
外部接口信号如下表2所示:表2
管脚号
管脚名称
LEVER
管脚功能描述
1
VSS
OV
电源地
2
VDD
5。0V
电源电压
3
VO
—
液晶显示器驱动电压输入
4
D/I
H/L
D/I=“H”,表示DB7~DB0为显示数据
D/I=“L”,表示DB7~DB0为显示指令数据
5
R/W
H/L
R/W=“H”,E=“H”,数据被读到DB7~DB0
R/W=“L”,E=“H→L",DB7~DB0的数据被写到IR或DR
6
E
H/L
使能信号:R/W=“L",E信号下降沿锁存DB7~DB0
R/W=“H",E=“H”DRAM数据读到DB7~DB0
7
DBO
H/L
数据线
8
DB1
H/L
数据线
9
DB2
H/L
数据线
10
DB3
H/L
数据线
11
DB4
H/L
数据线
12
DB5
H/L
数据线
13
DB6
H/L
数据线
14
DB7
H/L
数据线
15
CS1
H/L
H:选择芯片1信号
16
CS2
H/L
H:选择芯片2信号
17
/RES
H/L
复位信号
18
VEE
-10V
LCD驱动负电压输出
19
EL+
+5V
EL背光板电源
20
EL-
0V
EL背光板电源
指令说明
指令表:
表3
指
令
指令码
功能
RW
DI
D7
D6
D5
D4
D3
D2
D1
D0
显示ON/OFF
0
0
0
0
1
1
1
1
1
1/0
控制显示器的开关,
不影响DDRAM中数据
和内部状态
显示
起始行
0
0
1
1
显示起始行
(0…63)
指定显示屏从DDRAM中
哪一行开始显示数据
设置
X地址
0
0
1
0
1
1
1
X:0…7
设置DDRAM中的页地址
(X地址)
设置
Y地址
0
0
0
1
Y地址(0~63)
设置地址(Y地址)
读状态
1
0
B
U
S
Y
0
ON/
OFF
RST
0
0
0
0
RST1:复位 0:正常
ON/OFF1:显示开 0:
显示关
BUSY 0:READY
1:IN OPERATION
写显示
数据
0
1
显示数据
将数据线上的数据
DB7~DB0写入DDRAM
读显示
数据
1
1
显示数据
将DDRAM中的数据读出到数据线DB7~DB0上
1. 显示开关控制(DISPLAY ON/OFF)
代码 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0
0
0
0
1
1
1
1
1
D
形式
D=1:开显示(DISPLAY ON)意即显示器可以进行各种显示操作
D=0:关显示(DISPLAY OFF)意即不能对显示器进行各种显示操作
2. 设置显示起始行(DISPLAY START LINE)
代码
形式 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0
0
1
1
A5
A4
A3
A2
A1
A0
前面在Z地址计数器一节已经描述了显示起始行是由Z地址计数器控制的。A5~A0 6
位地址自动送入Z地址计数器,起始行的地址可以是0~63的任意一行.
例如:
选择A5~A0是62,则起始行与DDRAM行的对应关系如下:
DDRAM行:62 63 0 1 2 3 ● ● ● ● ● ● ● ● ● ● ● ● ● 28 29
屏幕显示行:1 2 3 4 5 6 ● ● ● ● ● ● ● ● ● ● ● ● ● 62 63
3. 设置页地址(SET PAGE “X ADDRESS" )
代码 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0
0
1
0
1
1
1
A2
A1
A0
形式
所谓页地址就是DDRAM的行地址,8行为一页,模块共64行即8页,A2~A0表示0~7页。读写数据对地址没有影响,页地址由本指令或RST信号改变复位后页地址为0。页地址与DDRAM的对应关系见DDRAM地址表。
4. 设置Y地址(SET Y ADDRESS)
代码 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0
0
0
1
A5
A4
A3
A2
A1
A0
形式
此指令的作用是将A5~A0送入Y地址计数器,作为DDRAM的Y地址指针。在对DDRAM进行读写操作后,Y地址指针自动加1,指向下一个DDRAM单元.
DDRAM地址表: 表4
CS1=1
CS2=1
Y=
0
1
……
62
63
0
1
……
62
63
行号
X=
0
↓
X=7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
0
↓
7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
8
↓
55
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
DBO
↓
DB7
56
↓
63
5. 读状态(STATUS READ)
代码 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0
1
BUSY
0
ON/OFF
RET
0
0
0
0
形式
当R/W=1 D/I=0时,在E信号为“H"的作用下,状态分别输出到数据总线(DB7~DB0)的相应位。
BF: 前面已叙述过(见BF标志位一节)。
ON/OFF:表示DFF触发器的状态(见DFF触发器一节)。
RST: RST=1表示内部正在初始化,此时组件不接受任何指令和数据。
6. 写显示数据(WRITE DISPLAY DATE)
代码 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0
1
D7
D6
D5
D4
D3
D2
D1
D0
形式
D7~D0为显示数据,此指令把D7~D0写入相应的DDRAM单元,Y地址指针自动加1.
7. 读显示数据(READ DISPLAY DATE)
代码 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
1
1
D7
D6
D5
D4
D3
D2
D1
D0
形式
此 指令把DDRAM的内容D7~D0读到数据总线DB7~DB0,Y地址指针自动加1.
读写操作时序
1. 写操作时序 图3
2.0V
0.8V
Tcyc
Pwet
E Pweh
Tas
R/W 0.8V
Tah
Tas
2.0VVV
CS1,CS2,CS3
Tdsw
D/I
2.0V
0。8V
DB0~DB7
2. 读操作时序 图4
2。0V
0。8V
Tcyc
Pwet
Tr
Tf
E Pweh
Tas
Tr
TTr
R/W 0.8V
Tah
Tas
2.0VVV
CS1,CS2,CS3
Tddr
Tdsw
D/I
2.0V
0.8V
DB0~DB7
1. 读写时序参数表
表5
名 称
符 号
最小值
典型值
最大值
单位
E周期时间
Tcyc
1000
-——
——-
ns
E高电平宽度
Pweh
450
——-
-—-
ns
E低电平宽度
Pwel
450
—--
—--
ns
E上升时间
Tr
-—-
-——
25
ns
E下降时间
Tr
--—
—-—
25
ns
地址建立时间
Tas
140
—-—
——-
ns
地址保持时间
Tah
10
-—-
——-
ns
数据建立时间
Tdsw
200
-——
—-—
ns
数据延迟时间
Tddr
---
--—
320
ns
写数据保持时间
Tdhw
10
-—-
—-—
ns
读数据保持时间
Tdhw
20
-——
——-
ns
在本系统中的实际电路应用如下:
2.2.4红外通讯
红外部分由红外发送和红外接收组成.
红外发送部分图如下:
图中D1为红外发送管,图组成了一个或非门其真值表如下:
TXD
38KHZ
D1
1
1
0
1
0
0
0
1
0
0
0
1
只有当D1为1时,发送管才工作。因此只有当TXD和38KHZ都为0是发射管才向外发送数据.然而单片机采用的晶振的频率为11.0592M,没办法直接产生38KHZ方波,而红外发送一定要这个频率,因此我们用RC振荡电路产生,图如下
根据RC振荡电路的特性,时间常数τ等于RC
74LS04芯片的反向器从5V降到0.7V时会翻转,从5V衰减到0。7V,根据衰减特
性图可知大概需要2个时间常数时间,我需要38KHZ的方波(周期为1/38000)
即2RC=1/38000得RC=0。000013
我们用103(10000pf)的电容,那么电阻为1300欧姆,经用示波器测得电阻值为1260欧姆。这样我们就得到了38KHZ的方波用于红外发送。
红外接收部分图如下:
2。2。5 IC卡部分
简述
AT88SC1608具有17408 bit串行EEPROM存储器,分为一个128字节的设置区和8个256字节的用户区。此卡是作为安全存储卡优化的,适用于多用途智能卡、电子数据传输的安全识别,并可用作无内部微处理器的系统的组件。
嵌入的安全认证协议使存储卡与主机之间能够相互认证。当此卡配合带有微控制器(如AT89C51、AT89C2051、AT90S1200)的主机工作时,系统具备反在线窃听功能。此卡与主机互换由随机数发生器产生的测试码,并通过包含在各自部分的特定加密函数验证其值。当双方所得结果相同时,允许读写存储卡。
存储器访问
取决于卡的设置,主机可能需要执行安全认证协议,以及为读写操作提交不同的口令.各个用户区既可以设置成自由读写,也可以设置成以口令限制访问。为了保证多用途卡不同用户区的安全,各区可以使用不同的口令组。每个口令及安全认证的专用错误计数器可防止“系统性的攻击”。当存储器卡未锁闭时,使用SDA和SCL的双线串行协议有效.存储卡具有一个专用的寄存器,用来提供符合ISO 7816—3复位应答的32bit数据流。
方框图
引脚说明
电源电压(VCC)
VCC输入是由主机提供的2.7V至5。5V正电压。
串行时钟(SCL)
SCL输入用于上升沿校准入卡数据,下降沿校准出卡数据.
串行数据(SDA)
此引脚是双向数据传输引脚。此脚为开漏驱动,可与任意数量的其它开漏或开集电极器件实现线路或。在SDA与VCC之间应连接外接上拉电阻。此电阻的电阻值以及系统SDA总线容性负载将决定SDA的上升时间.此上升时间决定了读操作的最高频率。较小阻值的电阻将使工作频率提高,同时平均供电电流也加大。
复位(RST)
当RST输入拉至高点平时,卡输出写在32 bit复位应答寄存器中的数据。所有的口令和安全认证所取得权限均被清除。在复位后,必须重新接进行安全认证和口令验证来重新取得用户访问权限。
内存分配
前16k bit的内存被分成8个256字节的用户区
区
$0
$1
$2
$3
$4
$5
$6
$7
@
用户0
$00
256字节
-
-
$F8
用户1
–
-
-
用户6
$100
-
$6F8
用户7
$00
256字节
—
-
$7F8
最后1k字节内存是设置区,存有特定的系统数据、访问权限和读写命令;它分为6个子区:
设置
$0
$1
$2
$3
$4
$5
$6
$7
@
制造
复位应答
批历史代码
$00
厂商代码
保留
制卡商代码
$08
访问
AR0
AR1
AR2
AR3
AR4
AR5
AR6
AR7
$10
保留
$18
验证
AAC
卡号(Nc)
$20
密码(Ci)
$28
加密
加密种子(Gc)
$30
对1608卡的读写是通过IIC总线来实现的。
I2C 总线概述
I2C 总线支持任何IC 生产过程NMOS CMOS 双极性两线――串行数据SDA 和串行时钟
SCL 线在连接到总线的器件间传递信息每个器件都有一个唯一的地址识别无论是微控制器LCD驱动器存储器或键盘接口而且都可以作为一个发送器或接收器由器件的功能决定很明显LCD驱动器只是一个接收器而存储器则既可以接收又可以发送数据除了发送器和接收器外器件在执行数据传输时也可以被看作是主机或从机见表1 主机是初始化总线的数据传输并产生允许传输的时钟信号的器件此时任何被寻址的器件都被认为是从机。
总体特征
SDA 和SCL 都是双向线路,都通过一个电流源或上拉电阻连接到正的电源电压见图3 .当总线空闲时,这两条线路都是高电平.连接到总线的器件输出级必须是漏极开路或集电极开路才能执行线与的功能.I2C 总线上数据的传输速率在标准模式下可达100kbit/s, 在快速模式下可达400kbit/s, 在高速模式下可达3.4Mbit/s。 连接到总线的接口数量只由总线电容是400pF 的限制决定.
位传输
由于连接到I2C 总线的器件有不同种类的工艺(CMOS NMOS 双极性)。逻辑0 (低)和1(高)的电平不是固定的,它由VDD 的相关电平决定.每传输一个数据位就产生一个时钟脉冲。
数据的有效性
SDA 线上的数据必须在时钟的高电平周期保持稳定。数据线的高或低电平状态只有在SCL 线的时钟信号是低电平时才能改变见图4
起始和停止条件
在I2C 总线中唯一出现的是被定义为起始S 和停止P 条件见图5
展开阅读全文