8位单片机的16位外部总线扩展与应用
- 格式:doc
- 大小:168.00 KB
- 文档页数:5
单片机填空题一、系统结构1、80C51系列单片机字长是8_位,4个并行I/O口,2个16位的定时/计数器。
2、 80C51单片机的存储器在物理上设计成程序存储器和数据存储器两个独立的空间。
3、80C51单片机内有4k B程序存储器和128 B数据存储器。
4.PSW中的工作寄存器指针是RS1和RS0,它们把R0~R7分成4组。
对选定的某组工作寄存器R0~R7,只有R1、R0既能作为地址指针又能存放数据。
4B.对选定的工作寄存器R0~R7,只有R1和R0既能作为地址指针又能存放数据。
5、单片机的内部RAM区中,可以位寻址的字节地址范围是____20H~2FH___,特殊功能寄存器中,可位寻址的地址是___是能被 8整除的地址____。
6、MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址又可以位寻址。
7、MCS-51单片机片内RAM中20H~2FH为位寻址区单元,其中21H单元各位的地址号范围是08H-0FH。
8.MCS—5l单片机的堆栈区只可设置在片内数据存储区(器)9.MCS—51单片机的P0—P4口均是并行I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的数据总线和地址总线;在P0—P4口中,P0 为真正的双向口,P1—P3为准双向口。
10、作为普通输入输出口使用时,P0~P3口都是准双向I/O口,当作为输入使用前必须向每个引脚的锁存器写 1 。
单片机复位后P0~P3口的值均为0FFH。
二、系统复位等1、单片机的复位操作是____高电平______(高电平/低电平),单片机复位后,中断允许寄存器IE的值是___00H_____。
2、通常、单片机上电复位时PC= 0000H,SP= 07H;而工作寄存器则缺省采用第00组。
3、80C51单片机系统上电及复位的程序入口地址为0000H。
4、单片机程序的入口地址是____0000H__________,外部中断1的入口地址是______0013H_________。
单片机原理与应用课后答案(第二版)2-1. 8051单片机芯片内部包含哪些主要逻辑功能部件?答:一个8位微处理器(CPU);片内数据存储器RAM;片内程序存储器ROM;四个8位并行I/O口P0~P3;两个定时器/计数器;五个中断源的中断控制系统;一个UART(通用异步接收发送器)的串行I/O口;片内振荡器和时钟产生电路。
2-2、8051存储器分哪几个地址空间?如何区别不同空间寻址?答:⑴片内、外统一编址的64KB程序存储器;⑵片内256B数据存储器;⑶片外64KB数据存储器。
硬件:引脚接高电平时CPU从片内0000H单元开始取指令,接低电平时CPU直接访问片外EPROM。
EA软件:MOV指令访问片内数据存储器,MOVX 指令访问片外数据存储器,MOVC指令用于读取程序存储器中的常数。
2-3. 简述8051片内RAM的空间分配。
答:低128B位数据存储器区分为:工作寄存器区(00H~1FH);位寻址区(20H~2FH);一般数据存储区(30H~7FH)高128B数据存储器区离散地分布着21个特殊功能寄存器2-4. 简述直接位寻址区的空间分配,片内RAM中包含哪些可位寻址单元?答:MCS-51单片机片内RAM中有两个区域可进行位寻址:(1)片内RAM低128字节的位寻址区,地址为20H~2FH的16个字节单元共128位,每一位都有相应的位地址,可用位寻址方式对其进行置位、复位、内容传送、逻辑运算等操作,128位的位地址定义为00H~7FH。
(2)片内RAM高128字节的存储器区,有21个特殊功能寄存器。
其中字节地址正好能被8整除的字节单元中的每一位都可以按位寻址、操作。
14 2-5.8051的P0~P3口有何不同,用作通用I/O口输入数据时应注意什么?答:P0~P3口功能不完全相同。
(1)访问外扩展存储器时,P2口送出16位地址的高8位地址,P0口先送出16位地址的低8位地址,再做数据的输入/输出通道。
单片机的发展与应用电子信息工程1140302110陈广林现在可以说是单片机百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位机、16位机到32位机,从MSP430,C51到ARM数不胜数,应有尽有。
作为电子信息工程的一名学生来说,未来单片机的走向很大程度上决定着以后的就业,所以了解单片机的相关知识显得比较迫切。
为此本文将简单地介绍一下单片机的发展以及应用。
本文总共分为以下几个部分:1.总述单片机的一些相关信息;2.单片机的发展史;3.单片机的广泛应用;4.单片机的未来趋势;5.结语一.总述单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。
由于单片机在工业控制领域的广泛应用,为使更多的业内人士、学生、爱好者,产品开发人员掌握单片机这门技术,于是产生单片机开发板,比较有名的例如电子人DZR-01A,ARM,STM32,C51,MSP430等。
单片机由芯片内仅有CPU的专用处理器发展而来。
最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。
早期的单片机都是8位或4位的。
其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。
此后在8031上发展出了MCS51系列单片机系统。
基于这一系统的单片机系统直到现在还在广泛使用。
随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。
90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。
随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。
课程代码:0100052 课程:单片机原理及应用分)1、SCON的中文含义是 B 。
(A)串行接口(B)串行口控制寄存器(C)RS-232接口(D)串行口缓冲器2、FLASH的中文含义是 A 。
(A)闪速存储器(B)随机存储器(C)只读存储器(D)电可擦除可编程存储器3、ALU的中文含义是 D 。
(A)静态随机存储器(B)加法器(C)算术单元(D)算术逻辑单元4、下列芯片中属于单片机的芯片是 A 。
(A)89C52 (B)Z80 (C)80486 (D)802865、8051单片机的字长是 C 位。
(A)32 (B)16 (C)8 (D)46、8051单片机有 B 个中断优先级。
(A)1 (B)2 (C)3 (D)47、当8051单片机系统的振荡晶体频率为3MHz时,其一个机器周期的时间是 D 。
(A)0.5μS (B)1μS (C)2μS (D)4μS8、MCS-51单片机复位后数据指针DPTR= B 。
(A)0FFFFH (B)0000H (C)8000H (D)1000H9、8051单片机的PSEN引脚可以驱动 B 个LSTTL负载。
(A)4 (B)8 (C)16 (D)3210、对于MCS-51单片机来说,一个状态周期分为 B 个节拍。
(A)1 (B)2 (C)4 (D)611、8051单片机的外部中断INT0和INT1的触发方式有 D 。
(A)高电平触发(B)正脉冲触发(C)断续触发(D)边沿和电平触发12、8051单片机的串行接口具有 D 种工作方式。
(A)1 (B)2 (C)3 (D)413、8051单片机的P0口除作为输入/输出接口使用外,还可以作为 A 使用。
(A)低8位地址总线(B)高8位地址总线(C)数据总线(D)控制总线14、8051单片机的工作频率为12MHz,其内部定时器的最大定时时间是 C 。
(A)256μS (B)8192μS (C)65536μS (D)131072μS15、对于MCS-51系列单片机来说,变址间接寻址可寻址的空间是 D 。
MCS-51单片机摘要:MCS-51系列是Intel公司继MCS-48系列之后发展起来的高档8位单片机,在总结MCS-48系列及扩大应用功能的基础上,推出的MCS-51系列单片微机,扩大了片内存储器容量及外部存储器寻址空间,增强了指令及寻址功能,扩大了并行I/O口和新增设全双工串行I/O口,增加了中断源及优先级,新增了乘除法、比较和位操作等强功能指令。
克服了MCS-48系列存储器容量小、运算功能弱得不足,提高了全机的操作速度等。
(一)单片机的历史和发展1.单片机的发展史:(1)单片机的探索阶段(1974——1978年)(2)单片机的完善阶段(1978——1982年)(3)微控制器形成阶段(1982——1990年)(4)微控制器成熟阶段(1990年至今)在发展的第二阶段Intel公司推出了MCS-51系列的单片机,它在以下几个方面奠定了典型的通用总线型单片机体系结构。
(1)完善的外部总线。
MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。
(2)CPU外围功能单位的集中管理模式。
(3)体现工控特性的位地址空间及位操作模式。
(4)指令系统趋于完善和丰富,并且增加了许多突出控制功能的指令。
2.单片机的发展方向:综观单片机20多年的发展过程,再从半导体集成电路技术的发展和微电子设计技术的发展,可以预见未来单片机技术发展的趋势。
单片机将朝着大容量高性能化、小容量低价格化、外围电路的内装化以及I/O接口功能的增强、功耗降低等发展方向。
(二)单片机的分类单片机的通常分类方法:1.按数据总线宽度区分按单片机数据总线的宽度,可将单片机分为4、8、16、32位机。
2.按总线结构分按总线结构,单片机可分为总线型和非总线型两种。
3.按通用性分按通用性,单片机分为通用型和专用型两大类。
4.按厂商分Isuppli公司(一家全球领先的针对电子制造领域的市场研究公司)把全球MCU市场划分为三个地理区域:美国和欧州地区,日本和韩国,以及我国的大陆与台湾地区。
《单片机应用技术》填空题题库x《单片机应用技术》习题库答案一、填空题第一、二章1.计算机中最常用的字符信息编码是(ASCII码)。
2.MCS-51系列单片机为( 8 )位单片机。
3.计算机三总线分别为:(数据)总线;(地址)总线;(控制)总线。
4.单片机与普通计算机的不同之处在于其将CPU 、存储器和I/O 三部分集成于一块芯片上。
5.能在紫外线照射下擦除和重写的存储器是(EPROM )型存储器,能够直接在线路中快速写入和读出的存储器是(EEPROM)型存储器。
6.8031、8051的主要区别是8051有 4 k内部ROM。
7.MCS-51单片机片内共有128 字节单元的RAM。
8.8031内部有RAM( 128 )字节、8751内部有ROM( 4K )。
9.MCS-51系列单片机8031、8051、89S52在内部存储器的设置上主要区别是:8031内部(无)程序存储器,8051内部( 4K )程序存储器,89C52内部( 8K )程序存储器。
10.8031构成的单片机应用系统必须扩展程序存储器。
11.M CS-51单片机片内RAM区中有128 个可寻址位。
12.8051单片机片内RAM区80H-0FFH属于特殊功能寄存器(SFR)区。
13.M CS-51单片机存储器结构的主要特点是程序存储器与数据存储器的寻址空间是分开的。
14.M CS-51单片机的存储器配置在物理结构上有4 个存储空间。
15.M CS-51单片机的存储器在逻辑上分为 3 个存储器地址空间16.当MCS-51单片机的EA引脚保持低电平时,CPU只访问片外的程序存贮器17.当EA接地时,MCS-51单片机将从外部程序存储器的地址0000H开始执行程序。
18.在只使用外部程序存储器时,51系列单片机的EA 管脚必须接地。
第1页共9页19.在只使用内部程序存储器时,51系列单片机的EA 管脚必须接高电平。
20.当使用8031单片机时,需要扩展外部程序存储器,此时/EA 应接低电平。
项目6 单片机外部总线与接口扩展技术项目要求:本项目通过对单片机外部总线与接口扩展技术分析介绍,要求学生会对单片机进行功能扩展及接口控制,掌握有关接口芯片的功能特征以及操作方法等。
1、掌握单片机外部总线的功能并会对其进行操作。
2、掌握有存储器扩展原理及方法;掌握一些新型串行接口的技术路线以及相关接口芯片的应用及操作方法。
3、理解数/模(D/A)转换及模/数(A/D)转换的概念,掌握D/A及A/D转换的实现方法,掌握常用D/A及A/D转换芯片的接口扩展技术。
技能目标:1、认识有关存储器芯片、新型串行接口芯片、D/A及A/D转换芯片,懂得相关技术指标的含义,能根据设计目标对芯片进行选型。
2、能根据系统要求设计外部总线接口扩展电路及控制程序,并完成制作。
MCS-51单片机内部虽然集成了储存器、I/O口、定时器/计数器等硬件资源,但随着单片机应用的范围日益广泛,对其资源提出了更高的要求,在一些情况下使用时内部资源不够,为了满足各种复杂的应用系统的要求,可在单片机外部扩展存储器和各种功能的器件。
MCS-51单片机有着完善的并行三总线结构,利用这个优势可以方便地扩展外部资源,特别是存储器的扩展。
随着单片机技术的发展,串行外设接口技术受到的重视程度越来越高,串行外设接线简单灵活,占用单片机接口数量少,系统硬件结构简单,易形成用户模块化结构,对于增加系统扩展的灵活性、降低硬件成本、缩短产品开发周期具有现实意义。
由于单片机只能处理数字量,而在实际应用中,各种模拟信号(如温度、压力、流量等)十分常见,这就需要将模拟信号转变为数字信号才能送入单片机处理;反之单片机只能输出数字量的控制信号,如果被控制对象需接收模拟信号,则必须将数字量转变为模拟量才能实施控制。
因此模/数(A/D)转换和数/模(D/A)转换也是单片机接口扩展的重要任务之一。
知识1 并行总线与存储器扩展总线(Bus)是单片机各种功能部件之间传送信息的公共通信干线,按照单片机所传输的信息种类,总线可以划分为数据总线(DB)、地址总线(AB)和控制总线(CB),分别用来传输数据信号、数据地址信号和控制信号。
理论考试试题一、填空题(每题2分)1. A T89系列单片机提供了两种省电方式:分别是掉电方式和空闲方式。
2. 远距离传输通常应采用串行通信。
3. MCS-51单片机有5中断源,2个优先级,上电复位时,外部中断0中断源优先级级别最高。
4. MCS—5l单片机的堆栈区只可设置在片内数据存储区(器) ,堆栈寄存器SP是位寄存器。
5. MCS—51单片机外部中断请求信号有电平方式和脉冲方式,在电平方式下,当采集到INT0、INT1的有效信号为低电平时,激活外部中断。
6. 访问89C51片外数据存储器采用的是寄存器间接寻址方式。
7. 进行BCD码运算时,只需在ADD和ADDC后面紧跟一条DA A指令即可。
8.键盘工作方式有三种:分别是编程扫描方式,定时扫描方式和中断扫描方式。
9. A/D转换的基本功能是把模拟量变成数字量。
10. 溢出标志OV只有在进行符号数加法运算时才有意义,OV=0表示加法运算结果正确,OV=l表示加法运算结果超出了A所能表达的符号数有效范围。
11. MCS—51单片机的外部中断请求信号若设定为电平方式,只有在中断请求引脚上采样到有效的低电平信号时,才能激活外中断。
而在脉冲方式时,只有在中断请求引脚上采样到脉冲的后沿负跳有效信号时,才能激活外中断。
12. MCS-51单片机的一个机器周期包含了6 个状态周期,每个状态周期又可划分为2拍节,一个机器周期实际又包含了12个振荡器周期。
13. 外围扩展芯片的选择方法有两种,它们分别是线选法和译码法。
14. 定时器的计数方式是对来自T0、Tl引脚的脉冲计数,输入的外部脉冲在负跳变时有效,计数器加1。
定时功能也是通过计数器计数来实现的,定时功能下的计数脉冲来自单片机内部的时钟电路。
15. C语言中输入和输出操作是由库函数scanf 和printf 等函数来完成。
16. MCS-51内部提供3个可编程的16 位定时/计数器,定时器有4 种工作方式。
第8章单片机系统扩展1. 什么是AT89C51单片机的最小应用系统?答:所谓最小应用系统是指能维持单片机运行的最简单配置系统。
AT89C51芯片外加晶振电路和复位电路就构成了一个简单可靠的最小应用系统。
其在简单应用场合,可满足用户的要求。
2. 在AT89C51扩展系统中,程序存储器与数据存储器共用16位地址线和8位数据线,为什么两个存储空间不会冲突?答:AT89C51在片外扩展RAM的地址空间为0000H~FFFFH,共64KB,与ROM地址空间重叠。
但因各自使用不同的指令和控制信号,因而不会“撞车”。
读ROM时用MOVC指令,由PSEN选通ROM的OE端;读/写片外RAM时用MOVX指令,用RD选通RAM的OE端,用WR选通RAM的WE端。
但扩展RAM与扩展I/O 口是统一编址的,使用相同的指令和控制信号。
这在设计硬件系统和编制软件程序时应注意统筹安排。
3. 利用一片74LS138,用全译码方法,设计一个外部扩展8片6116的扩展电路。
写出各芯片的地址空间。
解:(图7.2 74LS138译码片选8片6116(2K×8)存储电路图(2)各芯片地址空间为:(假定无关位取1)芯片(1):1000 0000 0000 0000B~1000 0111 1111 1111B=8000H~87FFH芯片(2):1000 1000 0000 0000B~1000 1111 1111 1111B=8800H~8FFFH芯片(3):1001 0000 0000 0000B~1001 0111 1111 1111B=9000H~97FFH芯片(4):1001 1000 0000 0000B~1001 1111 1111 1111B=9800H~9FFFH芯片(5):1010 0000 0000 0000B~1010 0111 1111 1111B=A000H~A7FFH芯片(6):1010 1000 0000 0000B~1010 1111 1111 1111B=A800H~AFFFH芯片(7):1011 0000 0000 0000B~1011 0111 1111 1111B=B000H~B7FFH芯片(8):1011 1000 0000 0000B~1011 1111 1111 1111B=B800H~BFFFH4.用串行传送方式,在AT89C51上扩展2片AT24C01A,画出硬件连接图,编程向每片传送100个数据。
外部扩展与扩展总线在单片机中的应用简介随着科技的快速发展,单片机作为一种重要的嵌入式系统,广泛应用于各个领域。
然而,由于单片机本身资源有限,有些应用需要更多的IO口或者与外部设备进行通讯。
为了满足这些需求,外部扩展和扩展总线技术应运而生。
本文将介绍外部扩展和扩展总线在单片机中的应用和原理。
一、外部扩展硬件1. IO口扩展单片机的IO口是与外部设备通讯的重要接口。
当IO数量不够用时,可以通过外部扩展来增加IO口的数量。
常见的扩展芯片有74595、74HC595等。
这些芯片采用串行输入并行输出的方式,可以将单片机的几个IO口扩展为更多的输出口。
2. AD/DA转换器模拟信号的输入和输出对很多嵌入式系统来说是必不可少的。
单片机内部带有的AD/DA转换器通常数量有限,而某些应用需要更多的模拟信号接口。
这时可以通过外部AD/DA转换器来实现扩展。
常见的外部AD/DA转换芯片有MCP3008、ADS1115等。
3. 存储器扩展单片机内部的闪存或RAM容量有限,有些应用需要更多的存储空间来存储数据或者程序。
可以通过外部存储器扩展来满足这一需求。
常见的外部存储器有EEPROM、SD卡等。
这些外部存储器可以通过SPI、I2C等接口与单片机进行通讯。
二、扩展总线技术1. I2CI2C(Inter-Integrated Circuit)是一种常见的扩展总线技术,广泛应用于单片机系统中。
它通过两根线来实现多个设备的串行通讯,其中一根线是数据线SDA,另一根线是时钟线SCL。
每个设备都有一个独立的7位地址,单片机通过写入或读取这些地址来与相应的设备通讯。
2. SPISPI(Serial Peripheral Interface)是另一种常见的扩展总线技术。
与I2C不同,SPI使用四根线进行通讯,包括一个主时钟线、一个主输出线(MOSI)、一个主输入线(MISO)和一个从机选择线(SS)。
SPI总线可以同时连接多个设备,每个设备有一个从机选择线,通过选择相应的从机选择线来与特定设备通讯。
浅谈单片机的发展趋势作者:赵泽宇来源:《中国科技博览》2014年第06期摘要:单片机发展极为迅速,当前世界上个大芯片制造公司都推出了自己的单片机,本文对单片机的发展历史与应用情况以及未来的发展趋势进行了深入的讨论和探究。
关键词:单片机;发展特点;发展趋势。
中图分类号:TB855+.3一、单片机的定义。
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
目前,单片机的发展速度较迅速,市场竞争非常激烈,各种类型的单片机都有,主要是由当时的4位、8位单片机,发展到现在的32位300M的高速单片机,各有各的特点,互相补充,扩大了单片机的应用范围。
二、单片机的类型。
通常计算机系统的技术要求是高速、海量的数值计算;技术发展方向是总线速度的无限提升,存储容量的无限扩大。
而嵌入式计算机系统的技术要求则是对象的智能化控制能力;技术发展方向是与对象系统密切相关的嵌入性能、控制能力与控制的可靠性。
比较普通计算机和嵌入式计算机的差异,说明这是由于它们应用场合和应用环境的不同而造成的,而单片机则属于低端嵌入式计算机。
2.1低端单片机硬件简单,字长一般为8位,也有16位的,存储空间最小。
集成的片内外设比较丰富。
由于硬件的局限性,导致软件上就不能太大,采集速度低。
难以完成复杂的实时运算。
单循环式,一般没有操作系统。
2.2 ARM系列也叫高端单片机,硬件集成度高,集成的片内外设很多,通常集成串口,USB,CAN等各种控制器,通讯方便。
字长一般32位。
性能高,速度快,主频一般100M左右,ARM9可达600M可以同时进行复杂的实时运算。
某些DSP的运算能力超过奔腾计算机。
8位单片机的16位外部总线扩展与应用
清华大学于良耀宋健
随着电子设计技术的进步和芯片制造工艺水平的提高,16位和32位单片机的使用越来越广泛,但是8位单片机因其制造工艺成熟、价格低廉等特点,仍然在市场上占有相当大的比例,尤其在成本敏感和可靠性要求极高的汽车电子领域,更占用绝对优势,带有外部总线的8位单片机,可以方便地与8位总线设备(如A/D、RAM和CAN总线)相连。
随着对传输性能要求的提高,出现了大量的16位总线设备(如网络接口芯片),8位单片机要与16位总线设备相连接,通常的做法是利用I/O端口来模拟16位总线的读/写时序,数据传输速率较低,且原有的8位设备的传输速率也随之降低,因而限制了8位单片机的使用范围,本文提出一种8位单片机扩展16为外部总线的方法,不影响原有8位器件的前提下,可实现对16位总线设备的高速存取;最后,介绍了如何利用该方法与IDE硬盘相连接,并应用于车载数据采集系统。
1 8位/16位总线时序分析
1.1 8位单片机总线时序
带有外部总线的8位单片机有很多,如51系列,AVR系列等,本文以W77E58为例,W77E58是Winbond公司推出的增强型51单片机,工作时钟最高为40M赫兹,在同样的时钟频率下,W77E58指令速度是传统51单片机的3倍;另外,W77E58对程序存储器和数据存储器的寻址能力都为64KB。
图1中上半部分为读时序,下半部分为写时序。
以读数据为例,P0、P2口输出当前地址,ALE的下降沿锁存低8位地址,高8位保持不变;而后,读信号RD使能(低电平),外部设备把数据送到P0口,RD的上升沿把数据读入单片机。
写数据与此类似,不过数据方向相反,同时为保证数据能够正确写入外部设备,单片机在写信号WR使能前把数据送到P0口,WR无效后须保持一定时间,从图1中可以看出,单片机用P0口存取8位数据,P2口仅用于地址输出。
1.2 IDE硬盘总线时序
下面以IDE硬盘为例来分析16位总线时序,图2是IDE硬盘的接口示意图[1],只标出了与总线有关的信号线:DIOR/DIOW,读
/写;DCS0/DCS1,片选;DD0-DD15,16位数据线;DA0-DA2,3位地址线。
IDE硬盘是典型的16位总线设备。
IDE接口有两个片选信号,DCS1用来寻址控制寄存器。
默认状态下即可对IDE硬盘进行存取操作,故一般把该信号线直接连到高电平而只使用DCS0。
其时序如图3所示。
读/写周期开始时DIOR和DIOW均处于无效状态,DA0-DA2连接到主机(在这里为单片机)的地址输出。
在收到读请求(DIOR 使能)后把数据送至数据线上,主机利用DIOR的上升沿锁存该数据;之后,硬盘控制器延时后释放数据线,在接收写请求时(DIOW 使能),则让数据线处于三态(tri-state),等待主机输出数据,最后在DIOW的上升沿把数据写入硬盘控制器,在DIOW上升沿之前,主机需把数据准备好。
对比图1和图3可知,总线时序基本一致,只是在数据线上传输的数据位数不同,但是,主机一条指令完成一个读/写周期,从外部设备到主机的16位数据在指令完成后不再有效;而从主机到外部设备的数据必须在指令完成前准备好,因而要把8位总线扩展成16位总线,必须要同时考虑读/写时数据的锁存问题。
2 16位总线扩展的实现
根据前面对总线时序的分析,采用如图4所示的方法对8位总线进行扩展,使其满足16位总线读/写。
主要由以下两部分组成:1片GAL16V8(U5),实现片选信号的译码和其他信号的编码;2片74HC573(U3、U4),实现高8位数据锁存。
CS1-CS4
是A9-A15的译码输出,可连接4个外部设备。
地址范围根据具体设备来设定,假设CS2上连接有16位总线设备:
这里“&”表示“与”,“!”表示“非”,即RD和CS5同时有效时,LE5有效;WR和CS6同时有效时,LE6有效。
注意:CS5和CS6有一部分地址空间与CS2重合,即选通CS2的同时,也同时会选通CS5或CS6。
另外,通过外部设备地址线的连接,使得8000H -81FFH和8200H-83FFH寻址同一个位置,以图2中的IDE硬盘为例,DA0->A0,DA1->A1,DA2->A2。
单片机写16位数据时,执行写操作使CS6有效(寻址FE00H-FFFFH),输出高8位数据并锁存到U4,然后执行写操作使CS2有效(寻址8200H-83FFH),P0口上的数据和U4锁存的数据同步输出,形成16位数据D0-D15,从而写入外部设备。
单片机读16位数据时,执行读操作使CS2有效(寻址8000H-81FFH),外部设备的低8位送至P0口,而高8位同时被U3锁存,然后执行读操作使CS5有效(寻址FC00H-FDFFH),U3锁存的数据被送至P0口。
在上面的读/写过程中,虽然对CS2的寻址位置不同(读为8000H-81FFH,写为8200H-83FFH),但由于位置重合,故可对16位外部设备正确读/写。
另外,如下单片机寻址连接到CS1、CS3、CS4上的8位设备,则由于U3和U4没有选通,对其操作没有任何影响。
从上面的实现可以看出,扩展后的16位外部总线与外部设备进行数据交互时只增加一条指令。
本方法与常规的端口模拟方法的比较结果如表1所列。
从表中可以看出,采用本方法后,传输速率是常规方法的3倍。
另外,上述扩展方法还可以进一步引申:1)若有未使用的I/O口(如W77E58的P1口),则可用来直接输出高8位数据,从而可以去掉图4中的U4;2)若对成本不太敏感,则可把图4中的逻辑器件用CPLD实现,从而使设计更为灵活,布线更为方便,结构更为紧凑,基本实现原理仍然如图4所示。
3 在车载数据采集系统中的应用
8位单片机扩展16位外部总线的方法已应用于车载数据采集系统,图5为该系统的原理框图。
汽车厂商在开发新车型或者关键零部件升级时,必须经过样品试制、产品鉴定、小批试制和大批生产等必要阶段。
每个阶段中,都伴随着大量的可靠性试验,车载数据采集系统正是为这些试验而设计的。
鉴于其特殊的使用条件,必须满足如下基本要求:能够进行连续、长时间数据采集、时间有可能是几天或者一个月;因为有可能很多台车辆的试验同时进行,因而要求系统成本低且安全可靠,具有CAN总线数据采集接口。
在图5中,8位单片机上挂有3个8位总线器件(USB Slave器件,RAM和CAN总线器件)和1个16位总线接口设备(IDE 硬盘)。
单片机采用前面提到的W77E58;为保证较高的数据传输速率,便于与外部串口设备(LCM显示屏)通信,外部晶振频率使用33M 赫兹。
USB Slave器件采用PDIUSBD12,使用模块化的方法实现一个USB接口,本次设计通过该器件把IDE硬盘映射成一个可移动硬盘,从而实现了大容量存储类(MassStorage Class)。
RAM采用HY62WT08081E。
该器件提供32KB的数据空间,用于数据采集以及FAT32文件系统操作的缓存。
CAN总线接口器件采用SJA1000+TLE6250的组合,SJA1000是独立的CAN控制器,用于汽车和工业环境中的控制器局域网络,TLE6250是针对汽车环境设计的CAN收发器。
IDE硬盘使用经过防震处理的工业用硬盘,也可使用CF卡加IDE转接线的方式。
图6为车载数据采集系统的简要软件流程图。
考虑到USB端口和CAN总线上的数据一般不会同时向系统发出请求,故软件采用查询方式工作,主要包括以下几部分:主流程、USB协议实现[2]、CAN总线数据[3]和其他车辆状态信号采集,以及FAT32协议实现。
4 小结
本设计在8位单片机上实现了16位外部总线,可对16位设备进行高速存取,并且保留了原8位总线的功能,这种8位/16位总线共存的方式,较之端口模拟总线方式,极大地提高了数据的传输速率,该16位总线扩展方式已成功应用于车载数据采集系统,在汽车的道路可靠性试验中,安装了多套该系统,试验结果表明,该系统使用方便,工作稳定、可靠,数据传输率高、完全满足汽车动态采集数据的需要,该16位总线的扩展方式,可应用于具有8位外部总线的单片机,在一定程度上,扩大了该类单片机的使用范围。