串行扩展应用平台设计
在复位及应答时序中,主器件复位信号后,要求从器件在规定的时间内送回应答信号;在位读和位写时序中,主器件要在规定的时间内读回或写出数据。为了与其它模拟接口的子程序在结构形式上尽量一致,在One-wire模拟时序程序中把位读和位写时序拓延,形成像位在前的字节读写时序,写个字节的时序如图7所示。最终形成三个字程序;复位及应答子程序、写N个字节子程序和读N个字节子程序。
2.5 下位机软件
从功能上来说,下位机软件的作用是接收位机发出的命令,分析命令,根据命令对各时序子程序进行组合和调用,形成正确的访问地序逻辑;如果有返回数据,还要将返回数据回送上位机显示。前面已经对四种串行接口的模拟时序子程序进行了简要介绍,由于篇幅所限,无法对每个子程序进行详细的说明,进一步的时序说明,可以查阅有关的参考文献和相关手册。这里只给出下位机软件总体流程,如图8所示。有关上位的命令在上位机与其通信的协议中介绍。
图8 下位机软件流程图
3 上位机通信软件的实现
上位PC机作为人机交互界面,负责向下位机发送经过人工分析的数据字节,这为开发者提供了对芯片的透明操作。即在对某一类芯片进行操作时并不关心中间具体的过程,只须分析数据,形成相应的数据帧,发送给下位机,即可完成对芯片的操作。上位机将操作的芯片分成四类(I2C、SPI、Microware、One-wire),用一个字节进行标识(0、1、2、3)。如果只进行写操作,则上位机发送完写入字节后,不操作;如果进行读操作,需重新设定发送的字节并等待下位机返回的数据字节。在Microware和One-wire协议中须发送起始位或复位信号的地方可以用特殊字节标识。上位机向下位发送的数据帧由起始字节、通信选定字节、读/写命令字节、字节数和数据字节组成。图9给出了在读和写两种情况下,上位机发送的数据帧和下位机返回数据帧的组成。
本文讨论的芯片级串行总线扩展应用研发平台在实际应用中取得了良好的效果,缩短了新器件功能测试的时间,缩短了新产品的开发周期,并可根据需要增加串行接口种类。另外,这一平台也为初学者全面了解串行扩展技术提供了良好的途径。