8位单片机的16位外部总线扩展与应用

发布者:星光曲折最新更新时间:2006-08-04 来源: 单片机及嵌入式系统应用关键字:总线  单片机  寻址 手机看文章 扫描二维码
随时随地手机看文章

  随着电子设计技术的进步和芯片制造工艺水平的提高,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位外部总线的单片机,在一定程度上,扩大了该类单片机的使用范围。

关键字:总线  单片机  寻址 引用地址:8位单片机的16位外部总线扩展与应用

上一篇:基于AT89C51型单片机的号音自动播放器设计
下一篇:51XA单片机与图形液晶显示器的接口设计

推荐阅读最新更新时间:2024-05-13 18:13

CAN总线—PROFIBUS-DP总线网关的实现方法
1 引言   在80年代中期,为了满足不同自动化领域的应用需求,出现了拥有不同技术特点的现场总线。每一种现场总线都有自己的应用领域,并且都力图拓展其应用领域,以扩张其技术垄断范围。但每种现场总线都以一个或几个大型跨国公司为背景,公司的利益与总线的发展息息相关。这些公司竞争的结果是多种总线协调共存。据不完全统计,目前国际上有200多种现场总线,而其中占据市场主流的现场总线有十几种 。现场总线的多样性,为总线设备用户提供了更多产品选择的同时,也为总线用户带了总线设备间兼容性问题。工厂在扩建,改建等过程中很可能会选用与原先现场设备总线标准不同的产品,这些设备由于使用不同的现场总线,彼此间不能实现数据共享,于是就降低了设备间功能互补的优
[应用]
单片机I/O口与寻址方式详解
前面几节讲述了很多单片机的基础知识,今天我将继续把自己学习笔记很大家一起分享。 寻址方式 寻址方式是指令中提供操作数的形式,它可以是操作数本身,也可以是操作数存放的位置.51单片机中,存放数据的存储器空间有4种:内部RAM,特殊功能寄存器SFR,外部RAM和程序存储器ROM. 立即寻址 指令中直接给出操作数的寻址方式称之为立即寻址.立即数用一个前面加”#”号的8位数或16位数表示. 直接寻址 指令中直接给出操作数所在的地址的寻址方式称之为直接寻址. 寄存器寻址 以通用寄存器的内容为操作数的寻址方式称之为寄存器寻址.通用寄存器包括:A,B,DPtr,R0~R7. 寄存器间接寻址 以寄存器中的内容为地址,该地址中的
[单片机]
<font color='red'>单片机</font>I/O口与<font color='red'>寻址</font>方式详解
AVR单片机(学习ing)—(四)、ATMEGA16的定时/计数器—03
四、ATMEGA16的定时/计数器 四—(03)、PWM测试实验 手控PWM测试实验 定时器T2通过比较寄存器OCR2后从OC2脚(PD7)输出PWM信号,从000~255共分256级,对应的输出电压为0.00~5.00V 下面是图片~原理以前早就说过了~~不再赘述~~ 然后就是程序: 不过从现在开始使用模块化变成了~~你懂得,为的就是用起来方便~~ 这里是主函数: //------------------------------------------------------------------------------ //手控PWM测试实验 //定时器T2通过比较寄存器OCR2后从OC2脚(PD7)输出PWM
[单片机]
AVR<font color='red'>单片机</font>(学习ing)—(四)、ATMEGA16的定时/计数器—03
单片机内置比较器设计高精度A/D变换器
Σ-ΔA/D技术具有高分辨率、高线性度和低成本的特点。本文基于TI公司的MSP430F1121单片机,介绍了采用内置比较器和外围电路构成类似于∑-△的高精度A/D实现方案,适合用于对温度、压力和电压等缓慢变化信号的采集应用。 在各种A/D转换器中,最常用是逐次逼近法(SAR)A/D,该类器件具有转换时间固定且快速的特点,但难以显著提高分辨率;积分型A/D 有较强的抗干扰能力,但转换时间较长;过采样Σ-ΔA/D由于其高分辨率,高线性度及低成本的特点,正得到越来越多的应用。根据这些特点,本文以TI公司的MSP430F1121单片机实现了一种类似于Σ-ΔA/D技术的高精度转换器方案。 MSP430F1121是16位RISC结构的
[单片机]
用<font color='red'>单片机</font>内置比较器设计高精度A/D变换器
如何快速零基础到入门51单片机(二)
此讲我们主要介绍如何安装Keil5与STC-ISP 一 Keil5软件一共有许多版本,我们现在学的是51单片机所以我们要选择C51这个版本。(建议使用破解版) 华维单片机编程:免费领!单片机入门到高级开挂学习路径(附教程+工具) 37 赞同 · 8 评论 文章 破解版使用方法:先打开Keil_Lic.exe,然后进入Keil软件时不能双击进入,要先点击鼠标右键,选择以管理员的身份进入. 点击File然后选中License Management(许可证管理),把CID中的内容复制下来,填入Keil_Lic.exe中的CID处,点击生成按钮,然后把生成的代码复制,退出Keil_Lic.exe,回到K
[单片机]
如何快速零基础到入门51<font color='red'>单片机</font>(二)
基于单片机的智能密码锁
该密码锁控制器 ,键盘上有0-9个数字按键,功能键:确认和取消等,可设置复合键。密码的位数及密码可以任意设定,,当输入数字和设置的密码相同的时候,锁打开,否则无法打开。采用IIC通信方式,密码锁的密码掉电不丢失。 #include #include #define uint unsigned int #define uchar unsigned char uchar old1,old2,old3,old4,old5,old6; //原始密码000000 uchar new1,new2,new3,new4,new5,new6; //每次MCU采集到的密码输入 uchar a=10,b=10,c=10,d=10,e=10,f=
[单片机]
瑞萨电子推出32位新型RX651微控制器
全球领先的半导体解决方案供应商瑞萨电子株式会社宣布,推出四款采用超小型64引脚BGA和LQFP封装的32位新型RX651微控制器(MCU)。新产品扩展了瑞萨广受欢迎的RX651 MCU系列产品,64引脚(4.5mm x 4.5mm)BGA封装与100引脚的LGA相比,面积可减小59%;64引脚(10mm x 10mm)LQFP比100引脚LQFP面积减少49%。该系列MCU解决了在工业、网络控制、楼宇自动化及智能计量系统中使用的紧凑型传感器和通信模块等端点设备在物联网边缘运行的高级安全需求。 瑞萨电子株式会社物联网平台业务部市场营销副总裁Daryl Khoo表示:“物联网和工业4.0的爆发式增长引发了对更高性能、更小尺寸
[物联网]
瑞萨电子推出32位新型RX651<font color='red'>微控制器</font>
基于I2C总线的多点温度采集系统
随着社会的进步和工业技术的发展,许多产品对温度范围的要求越加严格,尤其在工业发展方面,如冶金、钢铁、石化、水泥、玻璃等行业。而目前市场上温度检测仪器大多是单点测量,不能适应当今社会生产高效率要求,且温度信息精度不高。因此设计一种能够同时测量多点温度,测量精度高,能够综合处理多点温度信息的测量系统很有必要。这里提出一种能多路采集、显示的温度采集系统设计。 1 系统硬件设计 1.1 系统整体结构 该系统设计采用I2C总线,单主机多从机的工作模式,实现多点温度的采集、读取与显示。主机由主控制器、数码管显示、电源、报警、键盘等模块组成,完成以下功能:1)主机通过按键确定进入温度测量状态以及即将读取温度的节点:2)主机从总线上读取
[测试测量]
基于I2C<font color='red'>总线</font>的多点温度采集系统
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved