• 《现代电子技术》2007年第5期摘录:

如发现有乱码, 请直接从这里浏览原文
正文摘录:

2007年第5期总第244INVAI.ID—TIME/*读取时间信息,在每次读取字节数据后,内部的地址寄存器自动递增*/i2cStar·t();if(!i2e(:)utByte(RTCREAl)AI)DR))returnINVA—I.IDTIME:/*依次读取时问信息,并屏蔽无效信息*/lpTime一>tmsec—BC【)toInt(i2cInByte()8LRTCMASKSEC()ND):lpTime一>tmrain—BCI)toInt:(i2clnByte()&RTCMASKMINUTE):lpTime一>tmhour—BCI)toInt(i2elnByte()&RTCMASKHOUR):lpTime一>tm—mday=BCI)toInt(i2cInByte()&RTC—MASKDAY):lpTime一>tm—wday=BCDtoInt(i2clnByte()&RTC—MASKWEEK);nCentMon—i2clnByte():lDTime一>tmmon=BC【)toInt(n(2entMon&RTCMASKMONTH)一1:IpTime一>tm—year。一BC【)toInt:(i2elnByte()&RTC—MASKYEAR)+(nCentMon&RTCMASKC;ENTURY?1900:2000)一1900;1DTime一>tmisdst:O;i2cStop();returnrtcMktime(1pT:ime);}为了保证模块在系统下电后计时器电路能持续工作,为计时器增加了电池电路,可为计时器提供在系统外的工作电源。3软件设计软件设计包括驻留在F240的记录模块应用程序和Pc机环境的下载程序。记录模块软件通过双口存储器与外部数据接口实现命令控制和数据交换,并通过标准IDE接口访问电子盘模块,应用软件调用IDE设备读写驱动函数实现对电子盘模块的数据存取操作。PC机环境的下载程序的原理同记录模块应用软件类似,当电子盘通过扩展IDE接口与PC机连接时,下载程序将从指定扇区读出保存的数据,并按照记录格式恢复特定信息。在记录模块程序开发调试阶段,利用CodeComposer(22000开发环境完成软件的编译和调试,并通过仿真器加载到目标机RAM中运行。当程序调试好后,利用开发套件工具将程序固化在F240内部FI。ASF{存储器中,系统上电后将自动启动固化在FI。ASt_I中的应用程序。下载程序在VisualC6.O环境下用C“语言编写开发,最终生成的程序在PC机windows环境下运行。记录模块软件的核心操作是对IDE接口电子盘的读写操作。IDE接口的寻址方式分两种方式:物理寻址方式(C}IS)和逻辑寻址方式(LBA)。I。BA方式寻址中没有磁头和磁道的转换操作,当进行连续的多扇区读写时,速度比CHS方式要快,故采用I。BA方式寻址。在逻辑寻址方式(LBA方式)下,逻辑块地址与物理地址的关系为:I。BA地址一(柱面号×磁头数+磁头号)×扇区数+扇区数一1对电子盘的数据存取操作通过调用扇区读写函数,被记录数据按照连续扇区依次保存在电子盘中。扇区写函数用于将指定缓冲区中的指定数量数据写入电子盘的指定扇区位置,若所写数据超过一个扇区的容量,其余数据将被写入后续扇区的位置。IDE扇区写函数流程见图4。图4ID[:扇区写函数流程图扇区读函数用于从指定扇区位置将指定数量的数据读入指定的数据缓冲区,若所要求读人的数据超过一个扇区的容量,其余的数据将从后续扇区读入。IDE扇区读函数流程见图5。!!写入痢Ii读操作命令序列+Y读出指定个数数据扇区数据凌完?———~——一山Y——————、|殳各就绪n无传输请求?——~——一上YJ_。。。。。。。。。“。。‘。。‘。。。。。。。一返回读出的扇I式数图5IDE扇区读函数流程图(下转第60页)

阅读此文(图):   在线翻阅