当前位置:首页 > 单片机 > 单片机
[导读]   51单片机集成度高,控制、处理能力强,工作可靠稳定,已广泛应用于生产过程的自动检测、工业实时控制、机器人、通信、导航、医疗卫生和智能仪器仪表等领域。在这些应用中,特别是在工程信号的自动测

  51单片机集成度高,控制、处理能力强,工作可靠稳定,已广泛应用于生产过程的自动检测、工业实时控制、机器人、通信、导航、医疗卫生和智能仪器仪表等领域。在这些应用中,特别是在工程信号的自动测试、分析中,常常需要记录、存储大量的数据,某些数据还需长期或永久保存。目前,单片机系统保存、记录数据的工具是随机存取存储器(RAM)。众所周知,RAM不能长久保存数据,51系列单片机系统的数据存储器最大只有64 KB,因此这些方法满足不了某些实际系统的要求。当前磁记录技术已非常成熟,硬盘记录、存储系统已成为计算机系统中的主流设备。它的存储容量大,存取速度高,可以永久性地保存数据,而价格却越来越低。将其应用于单片机系统,可使组成的系统性能大为提高。
  
  IBM - PC计算机支持硬盘系统,主机与硬盘之间的接口技术已经标准化,已得到广泛的应用。用IBM - PC机的硬盘系统作为51系列单片机系统的数据存储设备,接口电路结构简单,无需专门设计硬盘的驱动电路,因而构成的应用系统性能价格比非常高。

一、接口电路的设计

  IBM - PC机硬盘驱动器适配器简称硬盘控制器。它是一个智能部件,可接一个或两个硬盘,通过系统板上62脚I/O通道插槽与PC机相连。这62脚信号线在此只用了40脚,其中AO~A19为20位地址线;DO~D7是8位数据线;MEMR用于读硬盘的基本I/O程序;IOR和IOW分别为主机读、写硬盘控制器的控制信号;IRQ5、DRQ3分别为硬盘控制器的中断请求和DMA请求信号;DACK3为主机响应DMA时送给控制器的信号;另外还有一个复位硬盘控制器的RESET信号,一个DMA数据传送时禁止I/O操作的AEN信号和6根电源、地线。主机从硬盘读取数据或向硬盘写入数据均是通过向硬盘控制器提供的6个可访问的寄存器写入命令和控制字来实现的。因此,设计单片机与硬盘控制器的接口电路时,只要考虑以上信号的产生、接收,单片机数据存储器的扩展,DMA控制器的连接等问题即可。在PC机中,硬盘控制器的6个可访问的寄存器占用主机的I/O端口地址320—323H,信号的发送、接收均是通过这几个口地址寻址的。20根地址线实际只用了10根,51系列单片机有16根地址线,能满足地址译码的要求。51系列单片机不直接支持DMA数据传送方式,而硬盘控制器和数据存储器之间的数据必须采用DMA方式。在PC机中,主机对硬盘控制器的读/写操作是通过对I/0端口的读/写来实现的,而单片机系统没有I/O读/写指令,可采用存储器映射方式,将硬盘控制器的4个地址映射到外部数据存储器,这样控制器的IOR和IOW分别与单片机的WR和RD相连即可。硬盘控制器的中断请求信号IRQ5只用于硬盘操作结束信号,因此,此信号作为单片机的INT1。其他信号线的连接方式不赘述,本接口电路如图1- 91所示。

二、软件设计

  在IBM - PC机中,主机可通过调用BIOS程序实现控制器、驱动器和硬盘的诊断,数据的存入和取出,设置硬盘的参数,测试硬盘驱动器是否准备好,格式化硬盘等功能;可通过DOS中断程序灵活地进行数据文件的加工、处理;还可通过硬盘启动和引导系统,安装各种应用程序。因此它的软件结构很复杂,程序量也很大。在本例中,只是把硬盘作为大容量数据存储器,因此只需简单地格式化磁盘,读/写数据以及测试硬盘驱动器的好坏、是否准备好等功能,可通过向控制器的6个寄存器写入命令和控制字来实现。这6个寄存器的访问逻辑见表1- 25。

  数据输入/输出寄存器( DIOR)很重要,是控制器的信号主吞吐口。状态寄存器(321R)提供硬盘控制器的硬件状态,图1- 92为该寄存器每一位的作用。其他4个寄存器的功能、用途参见相关文献,在此不赘述。硬盘控制器的命令是由6字节组成的字块,称为命令块。由命令块可发布19条命令,本节只选用其中的少数几条,如读盘(READ)、写盘(WRITE)、格式化驱动器(FMTDRV)和测试驱动器是否就绪(TSTRDY)等。一条硬盘控制器命令的执行全过程可分为3个阶段:命令的发送、执行和结束。在命令的发送阶段,首先须写“选择控制器”寄存器,把硬盘控制器“启动”起来,然后再向控制器写入6字节的命令块;在命令的执行阶段,控制器根据接收到的命令内容执行各种操作;当命令执行完后,只有主机经DIOR把“完成状态”字节读走,命令执行的全过程才告结束,否则,硬盘控制器的工作状态将发生混乱。控制器提供的“完成状态”字节主要是向主机报告此次操作是否出现错误,若出现错误,主机还可读出错误的类型、出错的扇段地址等信息。

  根据以上分析,软件设计如下:
  
  (1)主监控程序
  
  此部分程序主要实现硬盘控制器的初始化、参数设定等功能。其程序框图如图1 - 93所示。
  
  (2)功能模块
  
  对于硬盘上数据的读/写,控制器采用DMA数据传送方式。当数据读/写操作完成后,控制器还发出中断请求信号,报告命令执行完毕。因此,对于读盘和写盘操作,进入功能程序后,先设置DMA控制器的参数、工作状态,初始化中断服务程序;然后写入命令块和DMA、中断使能,进入读/写操作。写盘程序流程图如图1- 94所示。

  读盘操作与写盘操作非常相似,只是数据传送方向相反。因此,程序结构基本一样,在此不再赘述。
  
  测试硬盘工作是否就绪、格式化硬盘等操作不需要传送数据,这部分程序不需要DMA参与,但硬件中断还需要。其他和写盘操作也基本相同,不再说明。
  
  本例研究的51单片机与IBM - PC硬盘驱动器的接口电路已应用于便携式智能数据分析、测试仪,性能稳定、可靠。由于数据存储到硬盘上的方式与IBM - PC机相同,因此,单片机系统可与IBM - PC机共享数据,为工程技术人员提供了极大的方便。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

该SiP系列现已增至三款器件,均使用了Transphorm的SuperGaN,为支持新一代适配器和充电器拓展了功率等级

关键字: 氮化镓 适配器 充电器

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

在现代电子技术的快速发展中,单片机以其高度的集成性、稳定性和可靠性,在工业自动化、智能家居、医疗设备、航空航天等诸多领域得到了广泛应用。S32单片机,作为其中的佼佼者,其引脚功能丰富多样,是实现与外部设备通信、控制、数据...

关键字: s32单片机引脚 单片机

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

随着科技的飞速发展,电子产品在我们日常生活中扮演着越来越重要的角色。而在这些电子产品中,接口作为连接设备与外部设备的桥梁,其重要性不言而喻。其中,Type-C接口作为一种新型的接口标准,因其独特的优势,逐渐成为了众多电子...

关键字: 电子产品 Type-C 接口

该系列产品有助于嵌入式设计人员在更广泛的系统中轻松实现USB功能

关键字: 单片机 嵌入式设计 USB

开关电源适配器将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对它的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 适配器 电源 开关电源 充电器

在这篇文章中,小编将对开关电源适配器的相关内容和情况加以介绍以帮助大家增进对它的了解程度,和小编一起来阅读以下内容吧。

关键字: 适配器 电源 开关电源

一直以来,开关电源适配器都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来开关电源适配器的相关介绍,详细内容请看下文。

关键字: 适配器 电源 开关电源

开关电源适配器作为电子设备的重要组成部分,为各类设备提供稳定、高效的电源供应。然而,在某些情况下,我们可能需要拆解开关电源适配器,例如进行维修、更换部件或进行学术研究等。本文将详细介绍开关电源适配器的拆解步骤,帮助读者了...

关键字: 开关电源 适配器 电子设备
关闭
关闭