多功能时间控制器.docx
- 文档编号:5131094
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:35
- 大小:596.67KB
多功能时间控制器.docx
《多功能时间控制器.docx》由会员分享,可在线阅读,更多相关《多功能时间控制器.docx(35页珍藏版)》请在冰豆网上搜索。
多功能时间控制器
1.1多功能智能钟的功能与设计要求
目前大多数时间控制器往往只能单机工作,不能满足集体控制的要求;而在很多应用场合,要求时间控制器除了要具有比较灵活的时间控制作用外,还能通过上位机连成一个网络体系,以便对分布在各处的时间控制器进行集中控制(群控)。
本章设计的时间控制器的功能与特点如下:
●既能单机工作,又能通过上位机进行多机集中控制;
●每个单机可以按设定的时间表进行相应的控制动作;
●每个单机上的定时时间表,可通过一台PC机分别设定,设定的信息存放在串行的EE-PROM中,可以保存10年以上;
●6位LED显示屏,用作时钟显示;
●采用RS一485通信接口,可以满足远距离控制的需要;
●双休日可以自动停止报警。
该时间控制器十分适应于需要控制的对象(如电铃)较为分散而且个数较多的场合,有效克服了手工控制或单独控制导致的对象间的时间误差,避免了工作上的混乱。
只需1台普通PC机,通过通信电缆与各控制器联成RS-485拓扑网络。
由此PC机作为上位机,借助通信软件将设定时间一一传送到各个控制器,就可以实现群控。
当然,上位PC机必须外接RS-232/RS-485转接器。
建议采用市售成品,将它直接插在串口上即可。
1.2系统总体设计方案
1.2.1总体方案的确定
按照功能要求,确定系统方案如图7一1所示。
从图中可以看出,系统由微处理器模块、串
行通信模块、时钟模块、数据存储模块及显示等人机界面模块组成。
在方案设计中,遵循简洁至上的原则;因此,所有的外围模块采用串行方式与微处理器模块接口。
这里,微处理器采用ATMEIJ公司的89C2051,所有串行接口时序均通过软件模拟实现。
1.2.1.1硬件设计
我的电子钟设计包括以下几部分:
时钟模块,键盘输入模块,八位LED显示模块,电网频率测量模块、电网电压、电流、功率因数测量模块,环境温度测量模块,遥控关闹钟模块等。
为了方便使用,把数据采集单独使用一个单片机系统,而把时钟闹钟系统由DS12C887与单片机设计完成。
然后把温度,电网频率,电压,电流,功率,功率因数等数据通过串行通信传输给主单片机进行显示。
1.2.1.2键盘显示电路
显示电路采用八片74HC164驱动8位LED的静态显示。
一片并入串出芯片74HC165完成键盘扫描。
由于74HC164与74HC165都是串行数据传输,大大节省了I/O,而且键显的速度要求并不高,这种设计可以很好地实现功能。
1.1.2.2系统中关键器件的选用
1.1.2.1串行数码管显示接口芯片MAX7219
1.功能和性能说明
MAx7219是美国MAxIM公司生产的串行输入/输出共阴极显示驱动器。
该芯片可直接驱动最多8位7段数字数码管显示器,或64个LED和条形图显示器。
‘自与微处理器的接口非常简单,仅用3个引脚与微处理器相应端连接,即可实现最高10MHz的串行通信接日。
MAX7219的位选方式很有特色,允许用户选择多种译码方式译码选位,而且每个显示位都能个别寻址和刷新,而不需要重写其他的显示位,这使得软件编程十分简单、灵活。
另外,它具有数字和模拟亮度控制以及与MOTOROLASPI,QSPI及NATIONALMICROWIRE串行口相兼容等特点。
对于MAX7219,串行数据以16位数据包的形式从Din脚串行输人,在CLK的每一个上升沿一位一位地送人芯片内部16位移位寄存器,而不管LOAD脚的状态如何。
LOAD脚必须在第16个CLK上升沿出现的同时或之后,但在下一个CLK上升沿之前变为高电平,否则移人的数据将丢失。
因此,只须编程发送16位数据包,就能简单地操作数码管的位选以及段选,设置和改变MAX7219的工作模式。
16位数据包的数据格式如下:
其中:
D7~D0为8位数据位,D7为最高位,D0为最低位;
D11~D8为4位地址位;
D15~D12为无关位,通常全取1。
MAX7219通过D11~D8中4位地址位译码,可寻址14个内部寄存器,分别是8个数码管显示位寄存器、5个控制寄存器及1个空操作寄存器。
数码管显示寄存器由内部8×8静态RAM构成,操作者可直接对位寄存器进行个别寻址,以刷新和保持数据,只需V+超过2V(一般为+5V)。
控制寄存器包括译码模式、亮度调节、扫描限制(选择扫描位数)、关断模式及显示测试寄存器。
寄存器地址见表7-1。
MAX7219的驱动程序首先必须对5个控制寄存器初始设置,即初始化。
各控制寄存器设置含义如下:
●译码模式选择寄存器(地址=F9H)。
共有4种译码模式供选择。
当数据位全0时,选择“非译码方式”。
在此方式下,8个数据位分别一一对应7个段和小数点。
通常选择此方式。
●扫描限制寄存器(地址=FBH)。
用于设置显示的数码管个数(1~8),当D2D1D0=111(D7D6DSD4D3无关)时,可接8个数码管。
●亮度调节寄存器(地址=FAH)。
共有16级选择,用于数码管显示亮度的强弱设置。
●关断模式寄存器(地址=FCH)。
有2种模式选择:
1种是关断状态模式(D0=0);1种是正常操作状态(D0=1)。
通常选择正常操作状态。
●显示测试寄存器(地址=FFH)。
有2种选择用于设置数码管是测试状态还是正常操作状态:
在测试状态时(D0=1),各位全亮;一般选择正常操作状态(D0=0)。
2.引脚说明
MAX7219的引脚排列如图7-2所示。
MAX7219的引脚说明如下:
1:
Din—串行数据输人端。
在CLK的上升沿,数据被锁人芯片内部16位移位寄存器。
2,3,5?
~8,10,11:
DIG0~DIG7—8数码管位选线。
从共阴数码管的公共端吸人电流。
12:
LOAD—数据锁人控制。
在此引脚的上升沿将最后的16位数据锁入16位移位寄存器。
13:
CLK—串行时钟输人,最高时钟频率为10MHz。
在CLK的上升沿,数据被锁人内部移位寄存器;在下降沿,数据从Dout被输出。
14~17,20~23:
SEGA~SEGDP-—7段驱动和小数点驱动。
18:
ISET—设置段电流峰值。
通过一个电阻与V+相连,调节电阻值即可调节段电流峰值。
19:
V+—电源。
一般为+5V。
4,9:
GND—地线。
此2引脚必须同时接电源地。
24:
Dout—串行数据输出。
输人到Din的数据在16.5个时钟周期后从此脚输出。
该引脚用于级联。
7.2.2.2x25045串行EEPROM信息存储芯片
1.功能简介
看门狗 X25045的看门狗定时器对单片机提供独立的保护系统。
该定时器共有200ms\600ms、1.4s三种定时时间,可由用户编程选择。
在设定的时间内,若单片机没有访问X25045(即表示系统出现故障),看门狗将输出RESET信号,将其RESET输出端置为高电平。
延时约200ms后,RESET端由高电平变为低电平,将单片机复位。
电压监控上电时,电源电压高于4.5V后,经过约200ms的稳定时间,RESET信号由高电平变为低电平;掉电时,电源电压低于4.5V时,RESET信号立即变为高电平直至电源电压恢复稳定为止。
这样就保证了单片机可靠复位以及电源电压不稳定时,单片机不会出现死机和误动作。
串行E2PROM X25045片内带512个字节串行E2PROM,每个字节可擦写10万次以上,数据可保存100年以上,具有可编程块锁定功能。
用三总线串行I/O接口便可进行读写操作。
2.X25045特性
●具有可编程的看门狗定时器;
●低Vcc检测;
●直至VcC一IV复位信号有效;
●IMHz时钟频率;
●512×8位串行EEPROM;
●为低功耗CMOS,等待电流10µA,工作电流3mA;
●宽电源电压范围;
●具有块锁定功能:
可以保护1/4,1/2或所有EEPROM阵列;
●具有片内偶然性写保护:
上电和掉电保护电路、写锁存、写保护引脚;
●高可靠性:
可写人100000次每字节,数据保存期为100年,ESD保护所有引脚均为2000V;.
●8引脚小型DIP封装8引脚SOIC封装,或14引脚TSSOP封装;
●是高电平有效复位。
2.引脚定义
●X25045的引脚排列如图7一3所示。
1:
CS―芯片选择输人端。
当CS为高电平时,X25045不被选择,SO输出引脚处于高阻状态,除非内部写操作正在进行,否则X25045将处于等待电源方式(standbypowermode);CS为低电平,则使X25045工作,把它置于工作电源方式(activepower而ode)。
应当注意。
上电之后,在任何操作开始之前,需要CS从高电平至低电平的跳变。
2:
SO—串行输出端。
SO是推挽串行数据输出引脚。
在读周期内,数据在此引脚上移出,数据由串行时钟的下降沿同步输出。
3:
WP―写保护输人端。
当WP为低电平时,向X25045的非易失性存储器写操作被禁止,但是器件的其他功能仍正常;当WP保持高电平时,所有的功能包括非易失性写操作都正常。
在CS仍为低电平时,WP变为低电平将中断对X25045的写操作。
如果内部写周期已经开始,WP变为低电平将不影响写操作。
4:
Vss―接地端。
5:
SI―串行输人端。
SI是串行数据输入引脚。
所有操作码、字节地址以及写人存储器的数据在此引脚上输人。
数据由串行时钟的上升沿锁存。
6:
SCK―串行时钟输人端。
串行时钟控制用于数据输人和输出的串行总线定时。
操作码、地址或出现在SI引脚上的数据在时钟输人的上升沿锁存;而SO引脚上的数据在时钟输入的下降沿之后发生改变。
7:
RESET―复位输出端。
X25045的RESET是高电平有效、漏极开路的输出端。
只要VcC下降至低于最小VcC检测电平,RESET便变为高电平。
它将保持高电平直至VcC上升到最小VcC检测电平200ms为止。
如果允许看门狗定时器工作,且CS保持高电平或低电平的时间长于看门狗超时周期,那么RESET便变为高电平。
CS的下降沿将引起复位。
也即,X25045监视总线,如果在看门狗定时器预置的时间周期内没有总线的活动,它将提供复位信号输出。
8:
Vcc―电源电压输人端。
3.指令集
X25045指令集见表7一2。
表中所有的指令、地址及数据都以MSB(最高有效位)在前的方式传送。
读和写指令的位3包含了高地址位A8。
表7一2X25045的指令集
4.寄存器及其分析
(1)写使能锁存器
X25045包含1个写使能锁存器。
在内部进行写操作时,写使能锁存器必须被设置(SET)。
WREN指令可以设置锁存器,而WRDI指令起复位锁存器的作用。
上电情况、字节、页及状态寄存器写周期完成以后,该锁存器被自动复位。
如果WP变为低电平,锁存器也被复位。
(2)状态寄存器RDSR指令提供对状态寄存器的访问。
在任何时候都可以读状态寄存器,即使在写周期也如此。
状态寄存器格式如下:
D7D6D5D4D3D2DlDO
//WDIWDOBL1BL0WELWIP
当发出WREN,WRDI及RDSR命令时,不必发送字节地址或数据。
“正在写”WIP(writeinprocess)位表示X25045是否忙于写操作。
当为“1”时,写操作正在进行;当为“O”时,没有写操作。
在写期间,所有其他位全置为“1”。
WIP位是只读的。
“写使能锁存”WEL(writeenablelatch)位表示“写使能”锁存器的状态。
当设置为“1”时,表示锁存器置位;当设置为“o”时,表示锁存器复位。
WEP位是只读的,它由WREN指令置位,由WRDI指令或成功地完成了写周期后复位。
“块保护”BL0或BL1(blockprotect)位表示所使用的保护范围。
这些非易失性的位由发出WRSR指令来设置,允许用户选择4种保护级别之一。
X25045分为4个1024位的段,可以锁定1个、2个或全部4个段,即在选定的段内可以读这些段,但是不能改变(写)数据。
用BIL1和BL0的状态可以控制范围的划分,如表7一3所列。
表7一3块保护地址范围
“看门狗定时器”WDo和WDI(watchdogtimer,)位允许如表7一4所列那样设置看门狗的超时功能。
这些非易失性的位由发出WRSR指令来设置。
表7一4看门狗超时周期
5.读/写操作及其时序
(l)读时序
从EEPROM中读取数据的操作,分以下几个步骤:
①把CS拉低,以选择芯片;
②发送8位的读(READ)指令到X25045,读指令的位3包含地址,用于选择器件;
③送8位的字节地址;
④在发出读操作和字地址之后,将选定地址的存储器中的数据移到SO线上。
继续提供时钟脉冲,可连续读出接下的地址空间中的数据。
每移出1B数据之后,字节地址自动增加到下一个较高地址。
达到最高地址时,地址计数器翻转至00H,无限循环下去,直到把CS置为高电平,可以终止操作。
图7-4(a)所示为从EEPROM阵列中读数据的操作时序。
读状态寄存器操作的时序见图7-4(b)。
(b)读状态寄存器的时序
图7-4读EEPPROM的时序和读状态寄存器的时序
(2)写时序
在写时序之前,必须先发出存器的操作步骤为:
1CS先被拉到低电平;
②由时钟同步送入WREN指令;
2将CS变为高电平。
时序见图7-5(a)。
写数据到EEPROM操作时序见图7-5(b),操作过程为:
1拉低CS并保持在低电平;
2发送写指令(WRITE);
3写数据。
可以诈纯写多达4B的数据,但这4B必须驻留在同一页上。
(b)字节写操作时序
图7-5置位写使能寄存器时序和字节写操作时序
7.2.2.3串行时钟芯片DS1302
传统的时钟芯片主要有MC68HC68T,MC146818及LM8365等。
这些器件引脚数多、体积大、占用口线较多。
美国DALLAS公司推出的低功耗实时时钟芯片DS1302采用串行通信方式,只需3条线即可与单片机通信,而体积仅仅是上述时钟芯片的1/4且片内均含RAM,可增加系统的RAM。
DS1302的时钟校准也较为容易,若采用专用晶振器,几乎无须调整即可达到国家要求的时钟误差标准。
DSI302是DSI202的升级产品,对于停电时只需对时钟电路单独供电的系统,该芯片正好具备电池充电和切换管理功能。
最适用于长时间无人职守的监测控制系统或需经常记录某些具有特殊意义的数据及对应时间的场合。
下面分别介绍DS1302的功能、工作原理及与MCS-51单片机的接口问题。
1.Ds1302的主要功能
DS1302慢速充电时钟芯片包括实时时钟/日历和3lB的静态RAM,经过一个简单的串行接口与单片机通信。
实时时钟/日历提供秒、分、时旧、月及年等信息,对小于31天的月末的日期进行调整,还包括闰年的校正功能。
时钟的运行可采用24h或带AM(上午)和PM(下午)的12h格式。
DS1302与单片机的通信仅需3根线,即RST(复位线)、I/O(数据线)及SCLK(串行时钟线)。
数据可按每次1B或多达31B的形式传送到时钟/RAM或从中送出。
DS1302还有另外的功能,即用于主电源和备用电源相连接的双电源引脚V1和V2。
DS1302由Vl或V2两者中较大者供电。
当V2>Vl+0.2时,V2给DS1302供电;当V2 这样使系统在没有主电源的情况下,也能保持时钟的连续运行。 此外,它还提供可编程的慢速充电功能,从而对备用电池进行充电。 DS1302引脚排列如图7一6所示。 图7一6DS13oZ引脚排列图 2.DS1302的内部结构 DS1302串行时钟芯片主要由移位寄存器、控制逻辑、振荡器、实时时钟及3lB的RAM组成。 为了开始任何数据的传送,必须把RST置为高电平,且把提供地址和命令信自、8位装人到移位寄存器。 在进行单字节传送或多字节传送时,开始的8位命令字节用于指定40B(31BRAM和9B时钟寄存器)中哪个将被访问。 在开始8个时钟周期把命令装人移位寄存器之后,另外的时钟在读操作时输出数据,在写操作时输人数据。 3.控制命令字节 对DS1302进行任何数据传送时,第1个数据字节必须是命令字节,格式见图7-7。 其最高有效位MSB(位)必须为逻辑1,如果它是0,禁止写DS1302。 位6为逻辑0时,指定传送时钟/日历数据;逻辑1指定传送RAM数据。 位1-5指定进行输人或输出的特定寄存器的地址。 最低有效位LSB(位0)为逻辑0时,指定进行写操作(输人);逻辑l指定进行读操作(输出)。 命令字节总是从最低有效位LSB(位0)开始输人。 图7一7地址/命令字节 4.数据传送方式和时序分析 DSl302有单字节传送方式和多字节传送方式。 通过把RST复位线驱动至高电平,启动所有的数据传送。 RST输人线有2种功能: ●接通控制逻辑,允许地址/命令序列送人移位寄存器; ●提供中止单字节或多字节数据传送的手段。 数据输人时,时钟的上升数据必须有效,数据的输出在时钟的下降沿。 如果RST为低电平,那么所有的数据传送将被中止,且I/O引脚变为高阻状态。 上电时,在Vl>2.5V之前,RST必须为逻辑0。 当把RST驱动至逻辑1状态时,SCLK必须为逻0。 数据传送时序如图7-8所示。 单字节数据输人跟随在写命令字节的8个SCLK周期之后,在随后的8个SCLK周期的上升沿输人数据字节,数据从位0开始输人。 单字节数据输出跟随在输入读命令字节的8个SCI人周期之后,在随后的8个SCI术周期的下降沿输出数据字节。 注意,被传送的第1个数据位发生在写命令字节的最后1位之后的第1个下降沿。 只要RST保持为高电平,如果有额外SCLK周期,它们将重新发送数据字节。 这一操作使DS1302具有连续的多字节方式的读能力。 在SCLK为高电平期间,I/O引脚为高阻状态。 数据从位。 开始输出。 DS1302的其他功能,在此不再赘述。 图7-8数据传翰时序 1.2.2.4RS-485通信接口芯片SN75LBC184 1.RS一485总线 RS-232是目前串行通信中最常用的总线,其标准RS-232C是美国电子工业协会EIA制定的串行物理接口协议。 RS-232接口的特征是负逻辑、单端驱动、共地接收,只适用于点对点通信。 当信号线上的电平为-3~15V时,表示逻辑“1";当信号线上的电平为+3~+15V时,表示逻辑“O”。 通信双方使用一条公共信号地线作电平参考。 RS-232C标准规定,驱动器负载电容不超过2500pF,通信距离受此电容的限制。 另外,RS-232属于单端信号传送,存在共地噪声和不能抑制的共模干扰;因此其通信距离限15m以下,通信速率限于20kbps以下。 当要求通信距离为几十米至上千米时,目前广泛采用RS-485总线。 RS-485总线示意图如图7-9所示。 RS-485收/发器采用平衡驱动和差分接收,具有抑制共模干扰的能力。 RS-485接收器灵敏度可达±200mV,因而大大延长了通信距离。 在高达100kbPs速率下,电缆长度可达1200m;如果通信距离缩短,最大速率可达10MbPs。 RS-485总线上允许带多个驱动器和接收器,可用于构建多点通信网络。 图7-9RS-485总线示意图 RS-485组网具有设备简单、价格低廉、能进行长距离通信的特点,故在工程项目中得到了广泛的应用。 RS-485为串行平衡电压数字接口总线标准,与RS-422A总线标准基本相同,同样适用于DTE与DCE之间串行二进制信号点对多点的互联通信。 不同之处在于: ●传输阻抗RL=54Ω,因此比RS-422A有更强的负载能力。 ●多点互联可多达32个。 ●接口芯片为DS3695(或SN75176,UA96176),DS3696(或SN75175,UA96177)。 MAX481,MAX483,MAX485,MAX487~491及MAX1487都是用于RS~485通信的低功耗收/发器,可实TTL与RS-485的电平转换。 所有的器件都使用+5V的单一电源。 ●RS-485为半双工通信。 ●2.SN75LBC184接口芯片 ●SN75LBC184是美国Tl公司生产的一种RS-485接口芯片。 它使用单一电源,电压在3.0~5.5V范围内均能正常工作,可以完成TTL与RS-485之间的转换。 其引脚图如图7-10所示。 该芯片与普通的RS-485收/发器相比,有一个显著的特点,那就是片内A,B引脚接有高能量瞬变干扰保护装置,可以承受峰值400w(典型值)的过压瞬变。 由于引起过压瞬变的原因通常是雷电、静电放电及电源系统开关干扰等,因而它能显著提高器件的可靠性。 在环境比较恶劣的场合,可直接与传输线相接,而不需要任何外加保护元件。 该芯片还有一个独特的设计,即当输人端开路时,其输出为高电平。 这样即使在接收器输人端电缆有开路故障时,也不影响系统的正常工作。 另外,它的输入阻抗为RS-485标准输人阻抗(≥)24kΩ),故可在总线上连接64个收/发器。 图7一10SN75LBC184的引脚排列 7.2.3系统硬件设计 1.系统电原理图设计及其说明 (1)系统电原理图设计 系统电原理图如图7-11所示。 (2)系统原理分析 图7一11系统电原理图 1显示界面 本系统采用共阴数码管作为显示界面。 由于时间显示的要求,一共用了6个,这样必须采用24h制。 时间的分割符号“: ”由数码管中的小数点“.”代替。 考虑到控制器室外使用的需要,设计中采用超高亮显示数码管。 2系统复位 由于系统采用X25045实现复位,因此无手动复位功能。 系统在运行中出现死机及需要复位的情况下,如何实现复位? 为了阐述这个问题,首先讨论单片机系统的几种复位形式。 ●冷复位 即上电复位,可通过开关电源来实现。 这种复位方式不适用于无人职守的场合。 ●软复位在系统尚能正常运行的情况下,可以通过上位机发送复位命令字节,由系统跳转到程序首实现软复位。 当然,考虑到可靠性,复位命令宜采用2B以上。 ●看门狗滋出复位 ●在系统运行死机的情况下,系统的“喂狗”功能丧失,不可能产生正常的“喂狗”信号,从而引起系统自动溢出复位,以满足无人职守的需要。 ③光电隔离 ●由于RS-485节点的距离往往比较远,很难避免各种非
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多功能 时间 控制器