技术领域 本发明涉及一种在控制部和电池监视装置之间实现单线式通信的 方法,尤其是为读取电池显示器用芯片,例如读取DS2760的电池信息, 利用中央处理器的同步串行端口完成单线式通信算法的一种构筑单线 式通信的方法。 背景技术 下面对现有及相关的技术进行说明。 图1是现有技术中,为实现单线式(One Wire)通信的硬件界面 的框图。 从图中可以看出,现有技术中实现单线式通信的硬件构成包括作 为控制部的主CPU10,电池13,对上述电池显示器用芯片12,及单线式 通信专用芯片11。 根据上述构成,为实现CPU和电池间的单线式通信,在CPU和电 池显示器用芯片之间需要另外插入作为单线式控制器的单线式通信专 用芯片11。 上述单线式通信专用芯片根据监视电池状态的指令,向CPU传递 电池状态。 这样,在现有技术中,由于为实现单线式通信需要另外设置单线 式通信专用芯片,不可避免地提高了制造成本。 发明内容 因此,本发明为实现单线式通信,以读出电池显示器用芯片,例 如DS2760的电池信息,提供仅使用简单的逻辑电路(两个FET)和SSP 端口,而无需另外设置单线式通信专用硬件集成电路(One wire Master Asic或DS1481等专用芯片),就可以完成单线式通信算法的一种单线 式通信方法。 依据本发明的算法实现方法包括安装并初始化SSP端口,复位, 读出及写入的过程。 为了实现上述目的,本发明所提供单线式通信方法包括以下执行 阶段:设置并初始化SSPlink的阶段;单线式复位的阶段;将单线式 线(One Wire Line)设置为读出模式的阶段及将单线式线设置为写入 模式的阶段。 作为本发明的一个实施例,安装SSP链接和复位单线式时,需要 设定SSP端口的数据位数和通信时钟频率。 同时,作为本发明的一个实施例,在安装SSPlink而未对单线式 进行复位时,安装预先设定的为执行单线式读取/写入(One Wire read/write)动作的SSP端口数据位数和通信时钟频率。 本发明所提供的方法,通过使用SSP端口完成了单线式通信的运 算,从而实现单线式通信,而无需另外设置单线式通信专用芯片,降 低了生产成本。 附图说明 图1现有技术中实现单线式通信的硬件构成框图; 图2是本发明中为实现单线式通信,由SSP端口及硬件构成的单 线式通信的硬件构成框图; 图3是SSPlink的安装及初始化的过程流程图; 图4a是单线式复位时的时隙(Timing Slot); 图4b是利用SSP端口进行单线式复位时的流程图; 图5a是One Wire read one bit的时隙示意图; 图5b是利用SSP端口进行One Wire read one bit操作的流程图; 图6a是One Wire write one bit的时隙示意图; 图6b是利用SSP端口进行One Wire write one bit时的流程图。 具体实施方式 下面结合附图对本发明的理想实施例进行详细说明。 图2是本发明中为实现单线式通信的SSP端口及硬件构成框图, 如图所示,本发明中的单线式通信方法的硬件构成包括具备SSP 端口的CPU20,电池23,上述电池的显示器用芯片22及用于单线式通 信的硬件模块21。 上述为实现单线式通信的硬件模块21分别与执行开关动作的FET 和上拉电阻(Pull up)连接。 上述硬件模块21是使用通用异步收发器UART(通用异步收发器) 端口实现单线式通信技术,这里我们采用是Dallas半导体公司的相关 资料(Using a UART to implement One wire Bus Master)。 本发明利用SSP端口实现单线式通信,下面对SSP端口的初始化, 复位及读出和写入的过程分别进行说明。 首先对图3中所示的SSPlink的安装及初始化过程进行说明。 在如上述图2的构成中对SSP端口进行初始化(S301)。此时通用 输入输出端口作为SSP端口。 先判断是否对单线式进行复位(S302),如果要复位单线式,则设 置数据长度设置为10bit(S303),时钟频率设置为9600bps(S304)。 之后启动SSP时钟(S305),执行复位单线式操作(S306)。 如果根据S302判断结果,认定没有执行复位单线式操作时,将数 据位数设置为10bit(S307),将时钟频率设置为115200bps(S308)。 之后启动SSP时钟(S309),执行One Wire read one bit或one wire write one bit操作(S310)。 下面对图3中的动作进行说明。 为使用SSP端口进行单线式通信,首先对SSP端口进行初始化。 SSP端口可设置数据位数(DATA bit)和通信时钟频率。本发明中, 为实现单线式通信,将数据位数设置为10bit,将时钟频率设置成在对 单线式进行复位时的传输速率为9600bps。 同时,设置时钟频率使One Wire read one bit或One Wire write one bit时的传输速率为115200bps。 这样,在根据如上所述的情况完成频率的设置后,启动时钟,对 SSPlink进行初始化。 图4a是单线式复位时的时隙. 如图所示,通过在一定周期内,CPU传输RSTL(Reset Low),在 另外一定周期内电池向外传输RSTH(Reset High),来执行复位操作。 对上述图4a进行简单说明,在1024US的前半段512US区间,从 主机向单线式链接(One Wire link)给出Low信号(tRSTL),在1024US 的后半段512US区间,由单线式装置(One Wire Device)用High(tRSTH) 传输自己存在信号(Presence)。 也就是说,主机应该在开始的521US区间形成低(Low)的波形。 上述波形在数据位数设置为10bit,传输速率设置为9600bps的 SSPlink中向SSP端口写入0x1f。 从数据0至数据4写为1,是因为区间1是从单线式装置输入数据 的区间,因此,主机为接收从上述单线式装置传出的数据,应进行输 入模式操作。 Presence check在写入0x1f后,读取SSPlink,在10bit都不 为零的情况下,单线式装置做出回复。 图4b为利用SSP端口进行单线式复位时的流程图。 以9600bps的传输速率进行SSPlink的初始化(S401)。 产生复位脉冲(Reset Pulse)。也就是向SSP端口写入0x1f(S402)。 读取SSPlink(S403),判断10bit(数据0至数据9)是否都是 0x3ff(S404)。 根据上述判断结果,如果0x3ff都不是0时,判定存在单线式装 置(S405)。如果判断上述0x3ff都为0,则判定不存在单线式装置 (S406)。 图5a是One Wire read one bit的时隙。 如图所示,数据9的“0”表示将要读取数据。同时,上述图5表 示从电池向CPU传输数据。 对图5a进行简单说明,为使单线式线处于读取模式,首先向 SSPlink写入0x1f。 此时,SSP时钟应设置为115200bps。 在进入读取模式后,读取SSPlink,如果读取值比特定阈值大,则 识别为数据1,如果比特定阈值小,则识别为数据0。 上述阈值设定成0x3fe即可,但也可以根据硬件的具体情况设置 出适当的阈值。 图5b是利用SSP端口进行One Wire write one bit时的流程图。 以115200bps的传输速率进行SSPlink的初始化(S501)。 将单线式设置成读取模式。也就是向SSP端口写入0x1f S(502)。 读取SSPlink(S503),如果读取值比标准阈值大,则识别为1, 如果比标准阈值小,则识别为0(S504,S505,S506)。 图6a是One Wire write one bit的时隙。 如图所示,数据9至数据1的“0”表示输出数据。数据0的“1” 表示接收数据。上述图6表示从CPU向电池传输数据。 对上述图6a进行简单说明。上述图6a显示的是向单线式线上写 入数据“0”bit的波形图。 为写入数据“0”,首先将SSPlink时钟以115200bps的传输速率 进行初始化后,向SSPlink写入0x1f。 以同样的方式,为写入数据“1”,向SSPlink写入0x1f。 图6b是利用SSP端口进行One Wire write one bit操作的流程 图。 以115200bps的传输速率进行SSPlink的初始化(S601)。 判断是否写入数据“0”或数据“1”(S602)。如果希望写入数据 “0”,需要向SSPlink写入0x1f(S603)。 而如果希望写入数据“1”,则需要向SSPlink写入0x1ff(S604)。 本发明涉及一种控制部和电池监视装置间实现单线式通信的方 法,特别是控制部与一种电池显示器用芯片间的单线式通信方法。举 例说明,为读出DS2760的电池信息,利用中央处理器的SSP端口实现 单线式通信算法的方法。 通过上述的说明内容,相关专业人员完全可以在不偏离本项发明 技术思想的范围内,进行多样的变更以及修改。 因此,本项发明的技术性范围并不局限于说明书上的内容,必须 要根据权利范围来确定其技术性范围。