智能化电子系统设计报告正文Word文档格式.docx
- 文档编号:21127979
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:30
- 大小:998.57KB
智能化电子系统设计报告正文Word文档格式.docx
《智能化电子系统设计报告正文Word文档格式.docx》由会员分享,可在线阅读,更多相关《智能化电子系统设计报告正文Word文档格式.docx(30页珍藏版)》请在冰豆网上搜索。
由于单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。
采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。
例如精密的测量设备(功率计,示波器,各种分析仪)。
在工业控制中的应用:
用单片机可以构成形式多样的控制系统、数据采集系统。
例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
在家用电器中的应用:
可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。
在计算机网络和通信领域中的应用:
现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。
STC单片机完全兼容51单片机,并有其独到之处,其抗干扰性强,加密性强,超低功耗,可以远程升级,内部有MAX810专用复位电路,价格也较便宜,由于这些特点使得STC系列单片机的应用日趋广泛.本次设计使用的单片机是由STC公司生产的STC89C52。
之所以选择这个芯片,是因为STC单片机降低成本,提升性能,原有程序直接使用,硬件无需改动。
我们将STC89C52的P3.4、P3.5管脚与24C08的SDA、SCL管脚相连接,构成一个数据存储器。
24C08是一个8K位的串行CMOSEEPROM,通过I2C总线接口进行读写操作,并且有一个专门的写保护功能。
我们通过按键功能将数据写入,再由数码管显示出写入的数据。
通过本次设计,可以扩展单片机的存储容量,而且在掉电的情况下也能保存数据,有效防止数据的丢失。
同时可以提高自己的动手能力,对单片机有了进一步的了解。
2总体方案设计
2.1方案比较
方案一:
用CPLD实现单片机的读写模块。
CPLD(复杂可编程逻辑电路)是一种具有丰富的可编程I/O引脚的可编程逻辑器件,具有在系统可编程、使用方便灵活的特点;
不但可实现常规的逻辑器件功能,还可实现复杂的时序逻辑功能。
把CPLD应用于嵌入式应用系统,同单片机结合起来,更能体现其在系统可编程、使用方便灵活的特点。
CPLD同单片机接口,可以作为单片机的一个外设,实现单片机所要求的功能。
例如,实现常用的地址译码、锁存器、8255等功能;
也可实现加密、解密及扩展串行口等单片机所要求的特殊功能。
实现嵌入式应用系统的灵活性,也提高了嵌入式应用系统的性能。
图2.1即为xilinxxc9500系列器件结构。
图2.1xilinxxc9500系列器件结构
在此方案中,单片机通过ALE、CS、RD、WE、P0口(数据地址复用)同XC95216芯片相连接。
ALE作为地址锁存信号。
CS即片选信号。
RD为读信号。
WR为写信号。
AD0~AD7为数据地址复用信号。
设计思想是,在XC95216设置两个控制寄存器,通过单片机对两个控制寄存器的读写来完成对其它过程的控制。
XC95216设置的两个控制寄存器,可以作内部寄存器,也可以直接是映射为I/O口。
图2.2XC9516同单片机接口原理图
方案二:
采用Linux操作系统的PC机通过串口与单片机进行通信。
近年来,随着Linux的迅猛发展,使其逐渐从少数人的玩具变成了主流的操作系统。
Linux是遵循GPL协议的免费源代码开放软件,任何人都可以自由的从Internet上取得其源程序,也可在GPL的协议下修改其源代码以适应特定的应用,其运行在普通的PC上,性能稳定,特别适于做工业控制,因此实现Linux和单片机的串行通信非常有意义,他可以是昂贵的UNIX工作站的一种可选的替代方法。
一般的利用PC机对单片机进行控制的场合,都是采用Windows作为上位机的平台,其优点是界面友好,编程和操作都比较容易,缺点是稳定性太差,这对于需要连续数天或数月运行的装置来说,尤其不合适。
在要求比较苛刻的场合,一般都采用UNIX工作站作为主控平台。
图2.3是硬件原理图,由于要实现符合RS232C的串行通信,还应该用一片ICL232CPE(MAX232)作为串行通信的电平转换电路。
在实验过程中,为了查看通信是否成功,除了让单片机对上位机回送数据外,还在单片机外围扩展了几片锁存器,几个LED发光二极管和几个小键盘。
串行通信是采用最简单的TxD,RxD,GND三线制连接,注意TxD和RxD两边应该交叉连线。
图2.3硬件原理图
串行通信程序包括下位机单片机和上位机PC机的程序。
单片机接收上位机传来的数据,放到片内RAM里面,再将RAM内数据同时发送到外部扩展锁存器和上位机,由此可以判断通信是否成功。
方案三:
用E2PROM24C08与单片机相连实现单片机数据的读写。
24C08是一个8K位串行CMOSEEPROM,内部含有1024个8位字节,CMOS技术实际上减少了器件的功耗,并有一个16字节页写缓冲器。
24C08是通过I2C总线接口进行操作的,I2C总线协议规定任何将数据传送到总线的器件作为发送器任何从总线接收数据的器件为接收器数据传送是由产生串行时钟和所有起始停止信号的主器件控制的主器件和从器件都可以作为发送器或接收器但由主器件控制传送数据发送或接收的模式通过器件地址输入端A0A1和A2可以实现将最多2个24C08器件连接到总线上。
同时,24C08还有一个专门的写保护功能。
如果WP管脚连接到Vcc所有的内容都被写保护只能读,当WP管脚连接到Vss或悬空允许器件进行正常的读/写操作。
24C08与单片机的连接相当简单,只需要将SDA和SCL管脚分别与单片机的P3.4、P3.5连接,其电路图如下图所示。
图2.424C08与STC89C52连线图
单片机作为主器件,24C08作为从器件,主器件向从器件发送数据并从从器件中读出数据。
2.2方案论证
我们可以看到,方案一使用的CPLD芯片内部电路比较复杂,同时使用单片机的引脚相对而言也较多;
方案二是采用LINUX操作系统的PC机与单片机进行通信,一般的利用PC机对单片机进行控制的场合,都是采用Windows作为上位机的平台,其优点是界面友好,编程和操作都比较容易,缺点是稳定性太差,这对于需要连续数天或数月运行的装置来说,尤其不合适。
由于要实现符合RS232C的串行通信,还应该用一片ICL232CPE(MAX232)作为串行通信的电平转换电路。
这就使得电路相对复杂,使用的芯片数目也有所增加;
方案三采用的是结构简单的EEPROM24C08作为存储器,不仅扩展了单片机的存储空间,而且在掉电的情况下不会造成数据的丢失。
同时就成本来说,在实现相同目的的情况下,第三种方案需要的经费相对而言是较少的。
2.3方案选择
在现代SOC技术的引领下,人们对低故障、高实时、高可靠、高稳定的性能更加青睐,结合本设计的要求及综合以上比较的情况,我们选择用24C08实现单片机的数据读写操作。
3单元模块设计
3.1各单元模块功能介绍及电路设计
3.1.1复位电路
复位电路的作用是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。
由于RC系列单片机RESET脚内部没有下拉电阻,所以必须在外部加上一个10K的电阻。
也可以加上一个10μF的电容,在本次设计中没有加入,但不会影响复位功能。
图3.1复位电路
3.1.2时钟电路
单片机在工作时延时是必须的,在多机通讯的时候还可以用来调节频率。
由于本次设计要用到按键模块,而时钟电路能够很好地去除键盘抖动。
如下图即为时钟电路,在晶振与接地之间没有添加电容,这样更有利于起振。
图3.2时钟电路
3.1.3电压转换电路和程序下载电路
MAX232是电压转换芯片,将TTL电平转换成可以和电脑串口匹配的电压。
DB9通过下载线缆与电脑连接,将程序下载到单片机上。
图3.3RS232转换器
3.1.4USB连接电路
USB接口通用性好、实时性强、传输方式多样、成本低、支持即插即用、易于扩展且便于使用。
本次设计的USB连接线路,为单片机提供5V电压。
图3.4USB连接线路
3.1.5按键电路
本次设计最终要达到的效果是,通过4*4的按键列阵,向存储器中储存数据1-16,每个按键代表一个数据。
其电路如图所示:
图3.5按键电路图
3.1.6数码管显示电路
为了能够直观的显示向存储器中输入的数据,我们将在数码管上显示此数据,以便验证程序和电路的正确性。
在本次设计中,我们使用的是共阳数码管,其电路连接图如下图所示:
图3.6数码管显示电路
3.1.7看门狗电路
由于STC89C52内部带有看门狗,缺省为关闭(冷启动),启动后无法关闭,可放心省去外部看门狗。
因此在本次设计中没有使用外部看门狗电路。
3.2特殊器件介绍
3.2.1STC89C52
STC89C52是STC公司生产的低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
其引脚图如下图所示:
图3.7STC89C52引脚图
其主要功能有:
与MCS-51产品指令系统完全兼容;
4k字节可重擦写Flash闪速存储器;
1000次擦写周期;
全静态操作:
0Hz-24MHz;
三级加密程序存储器;
128×
8字节内部RAM;
32个可编程I/O口线;
2个16位定时/计数器;
6个中断源;
可编程串行UART通道;
低功耗空闲和掉电模式。
STC89C52提供以下标准功能:
4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
下面介绍一下该单片机主要引脚的功能:
Vcc:
电源电压GND:
地
P0:
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在FIash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1:
P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
FIash编程和程序校验期间,P1接收低8位地址。
P2:
P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。
Flash编程或校验时,P2亦接收高位地址和其它控制信号。
P3:
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示:
表3.1P3口的第二功能
P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
即使不访问外部存储器,ALE仍以时钟振荡频率的l/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的DO位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。
PSEN:
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。
在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。
EA/VPP:
外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。
Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
XTAL1:
振荡器反相放大器的及内部时钟发生器的输入端。
XTAL2:
振荡器反相放大器的输出端。
在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。
退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器但不改变RAM中的内容,在Vcc恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。
3.3.224C08
本次使用的24C08芯片是由美国ATMEL公司研制的,ATMEL公式是非易失性存储器NVM(掉电时数据仍然保持而不丢失)的先驱。
非易失的特性使得这些存储器非常适合于小体积的便携产品以及电池供电的设备,因为它们不需要耗电的转动式磁盘或CDROM。
ATMEL具有广阔的NVM产品线:
EEPROM,一次更新一个字,适合做数据存储;
高密度FLASH存储器,一次更新一个存储块,适合于存储程序或者是象图形一类的大数据对象。
此外,ATMEL还提供各种不同的配置和接口方式以匹配各种应用的确切需要。
ATMEL是世界上串行和并行FLASH存储器的领导者,其产品可以满足计算、汽车、电信、消费产品以及军事应用市场的程序和数据存储的需要。
24C08是一个8K位串行CMOSE2PROM内部含有1024个8位字节。
24C08有一个16字节页写缓冲器该器件通过I2C总线接口进行操作,有一个专门写保护功能。
其主要特性有:
与400KHzI2C总线兼容;
1.8到6.0伏工作电压范围;
低功耗CMOS技术;
写保护功能当WP为高电平时进入写保护状态;
页写缓冲器;
自定时擦写周期;
1,000,000编程/擦除周期;
可保存数据100年;
8脚DIPSOIC或TSSOP封装;
温度范围商业级工业级和汽车级。
其引脚图如下图所示:
图3.824C08引脚图
管脚描述:
SCL串行时钟
24C08串行时钟输入管脚用于产生器件所有数据发送或接收的时钟这是一个输入管脚
SDA串行数据/地址。
24C08双向串行数据/地址管脚用于器件所有数据的发送或接收SDA是一个开漏输出管脚可与其它开漏输出或集电极开路输出进行线或WIRE-OR。
A0A1A2器件地址输入端
这些输入脚用于多个器件级联时设置器件地址当这些脚悬空时默认值为0,24WC01除外。
当使用24C08时最多可连接2个器件且仅使用地址管脚A2A0A1管脚未用可以连接到
Vss或悬空如果只有一个24WC08被总线寻址A2管脚可悬空或连接到Vss。
WP写保护
如果WP管脚连接到Vcc所有的内容都被写保护只能读当WP管脚连接到Vss或悬空允许器件进行正常的读/写操作。
下面介绍一下I2C总线协议:
只有在总线空闲时才允许启动数据传送;
在数据传送过程中当时钟线为高电平时数据线必须保持稳定状态不允许有跳变,时钟线为高电平时数据线的任何电平变化将被看作总线的起始或停止信号;
起始信号时钟线保持高电平期间数据线电平从高到低的跳变作为I2C总线的起始信号;
时钟线保持高电平期间数据线电平从低到高的跳变作为I2C总线的停止信号。
下面介绍一下24C08的器件寻址过程:
主器件通过发送一个起始信号启动发送过程然后发送它所要寻址的从器件的地址8位从器件地址的高4位固定为1010,接下来的3位A2A1A0为器件的地址位用来定义哪个器件以及器件的哪个部分被主器件访问。
从器件8位地址的最低位作为读写控制位1表示对从器件进行读操作;
0表示对从器件进行写操作。
在主器件发送起始信号和从器件地址字节后,24C08监视总线并当其地址与发送的从地址相符时响应一个应答信号,通过SDA线24C08再根据读写控制位R/W的状态进行读或写操作。
应答信号:
I2C总线数据传送时每成功地传送一个字节数据后接收器都必须产生一个应答信号,应答的器件在第9个时钟周期时将SDA线拉低,表示其已收到一个8位数据2。
4C08在接收到起始信号和从器件地址之后,响应一个应答信号。
如果器件已选择了写操作,则在每接收一个8位字节之后响应一个应答信号。
当24C08工作于读模式时,在发送一个8位数据后释放SDA线并监视一个应答信号,一旦接收到应答信号24C08继续发送数据。
如主器件没有发送应答信号,从器件停止传送数据且等待一个停止信号。
24C08的写操作分为字节写和页写,在字节写模式下,主器件发送起始命令和从器件地址信息(R/W位置零)给从器件,在从器件产生应答信号后主器件发送24C08的字节地址,主器件在收到从器件的另一个应答信号后再发送数据到被寻址的存储单元。
24C08再次应答并在主器件产生停止信号后开始内部数据的擦写。
在内部擦写过程中24C08不再应答主器件的任何请求。
在页写模式下,24C08可一次性写入16字节数据,页写操作的启动和字节写一样,不同在于传送了一个字节后并不产生停止信号,主器件被允许发送15个额外字节,每发送一个字节数据后,24C08产生一个应答位并将字节地址低位加1,高位保持不变。
如果在发送停止信号之前主器件发送超过P+1个字节,地址计数器将自动翻转,先前写入的数据被覆盖。
接收到16字节数据和主器件发送的停止信号后24C08启动内部写周期将数据写到数据区。
所有接收的数据在一个写周期内写入24C08。
图3.9字节写时序图
图3.10页写时序图
24C08读操作的初始化方式和写操作时一样(仅把R/W位置为1)有三种不同的读操作方式:
立即地址读、选择读和连续读。
立即地址读:
24C08的地址计数器内容为最后操作字节的地址加1也就是说如果上次读/写的操作地址为N,则立即读的地址从地址N+1。
(对24WC08,E=1023)则计数器将翻转到0且继续输出数据。
24C08接收到从器件地址信号后(R/W位置1),它首先发送一个应答信号,然后发送一个8位字节数据。
主器件不需发送一个应答信号但要产生一个停止信号。
选择性读操作允许主器件对寄存器的任意字节进行读操作,主器件首先通过发送起始信号从器件地址和它想读取的字节数据的地址,执行一个伪写操作。
在24C08应答之后主器件重新发送起始信号和从器件地址,此时R/W位置1。
24C08响应并发送应答信号然后输出所要求的一个8位字节数据,主器件不发送应答信号但产生一个停止信号。
连续读操作可通过立即读或选择性读操作启动,在24C08发送完一个8位字节数据后,主器件产生一个应答信号来响应告知24C08主器件要求更多的数据对应每个主机产生的应答信号,24C08将发送一个8位数据字节当主器件不发送应答信号而发送停止位时结束此操作。
从24C08输出的数据按顺序由N到N+1输出读操作时地址计数器在24C08整个地址内增加这样整个寄存器区域在可在一个读操作内全部读出。
当读取的字节超过E(对24WC08E=1023),计数器将翻转到零并继续输出数据字节。
图3.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能化 电子 系统 设计 报告 正文