基于双总线的蒸汽拖把检测系统通信模块设计
2015-06-02黄杰勇
黄杰勇
摘 要:蒸汽拖把是现在公司或家庭比较流行的清洁电器,蒸汽拖把出厂前需要对众多参数进行检测,包括模拟量、数字量。由于蒸汽拖把检测系统通信模块较多,在某一时刻,可能有多个模块同时要求使用总线可能或同时申请总线的使用权,为了避免产生总线冲突,需要对总线进行仲裁处理。该文基于对蒸汽拖把检测系统通信模块的设计,提出一种基于双总线仲裁的通信方式:并行通信与串行通信并存,此设计不仅避免模块间共享总线的冲突,同时提高总线的扩展性。
关键词:双总线 并行 串行 仲裁 通信
中图分类号:TP2 文献标识码:A 文章编号:1674-098X(2015)04(c)-0001-03
Abstract:Steam mops are cleaning electrical appliances now popular in company or household cleaning.Series parameters are needed to be detected before a steam mop leaves the factory,including analog,digital.More steam MOP system communication modules,at some point, possibly with multiple modules simultaneously requires the use of the bus may or applying for access to bus,in order to avoid a conflict of bus,bus arbitration needs to deal with.Based on the design of the communication module of the steam mop detecting system,this paper proposes a communication method based on dual bus arbitration,which will not only avoid the bus conflict freesharing between modules, but also improve the expansion of the bus.
Key Words:Dual;Bus;Paralle;Serial;Arbitration;Communication
蒸汽拖把,采用的是高温、高压、高效的工作原理,使用时在拖把底部的出气孔有温度达130 ℃的蒸汽射出。蒸汽拖把是利用高温蒸汽对地板进行清洁、去污、消毒和杀菌,使用后,地板残留的水非常少,很快会蒸发,现在很多家庭或公司都在使用。对于蒸汽拖把的检测系统,需要在出厂前对各种参数进行检验,检验合格方可出厂。
对于蒸汽拖把的检测系统,对常用型号设备需要检测的参数有:1路电源、1路电流、3路LED、1路风速、串行数字键盘输入,并对4路气缸输出控制。针对检测对象较多,该项目提出一种基于双总线的蒸汽拖把检测系统通信模块设计,每一路检测对象作为一个模块,与检测系统之间通过总线进行通信。通信模块与系统通信设计框图如图1所示。
1 双总线仲裁模块设计
由于系统通信模块较多,当总线上的一个模块要与另一个模块或者控制系统进行通信时,首先应该发出请求信号。在某一时刻,可能有多个模块同时要求使用总线可能或同时申请总线的使用权,为了避免系统产生总线冲突,需要对总线进行仲裁处理:在多个申请响应同时提出总线请求时,以优先级高的任务获得对总线的使用。
针对本项目的具体检测应用,本系统在总线仲裁设计上采用双总线:并行总线和串行总线。对8个模块进行检测的双总线仲裁模块框图如图2所示。并行总线主要用于高速数据传输时使用,串行总线用于键盘等串行通信模块使用。本系统的仲裁控制器需要对8个模块进行实时仲裁,其中ACK[0:2]握手选择、CS[0:2]片选选择经过译码器进行译码输出:并行握手选择FACK[0:7]、串行握手选择UACK[0:7]、并行片选选择FCS[0:7]、串行片选选择UCS[0:7]等到通信模块总线。仲裁控制采用中断方式,并行总线中断信号FINT[0:7]和串行总线中断信号UINT[0:7]接入通信模块总线。
2 硬件原理设计
双总线通信系统原理框图3所示。双总线仲裁模块通过SPI总线与蒸汽拖把测试系统通信,双总线仲裁模块负责选择并行或者串行通信方式。其中15位数据总线Data[0:15]、8位地址总线[0:7]直接连接到通信模块总线。
图4、图5是双总线通信模块电路具体的原理实现,双总线仲裁模块主要通过单片机STM8S105来实现。STM8S105具有低成本、高性能和高可靠性。STM8S105通过SPI总线与上位机进行通信,产生双总线所需要的握手信号:并行握手信号F_ACKA[0:2]及使能信号F_ACK_EN, 串行握手信号U_ACKA[0:2]及使能信号U_ACK_EN。同时STM8S105负责模块的中断响应处理,需要处理并行中断信号F_INT[0:7]和串行中断信号U_INT[0:7]。
图5原理图主要是利用MAXII系列中的EPM240T100C5进行译码处理,EPM240T100C5是一款低成本、高性能的CPLD芯片,用在本项目通信系统上,可以代替多片74系列的芯片。3位并行握手信号F_ACKA[0:2]和串行握手信号U_ACKA[0:2]通过EPM240T100C5产生8位并行和串行握手信号。上位机的3位地址线FSMC_A[8:10]、3个IO线EX[0:2] 通过EPM240T100C5产生并行总线中的8位片选信号线F_CS[0:7]和串行总线中的8位片选信号线U_CS[0:7]。经EPM240T100C5产生的信号线直接接到通信模块总线。
3 结论
本系统针对蒸汽拖把检测对象较多,设计了一款基于双总线通信方式的电路,实现并行和串行通信兼容的模块检测,避免总线间访问的冲突,提高系统通信的可靠性。本系统在仲裁模块中采用单片机+CPLD的实现方式,仲裁方法灵活性大,可以根据具体电路进行扩充多路检测,具有很好的扩展性。
参考文献
[1] 刘海成.STM8单片机原理与实践[M].北京航空航天大学出版社,2013.
[2] 李彩霞.采用双层仲裁机制的网络式仪器总线关键技术研究[D].浙江大学,2012.
[3] 于万瑞.PCI总线仲裁逻辑及其在嵌入式设备中的应用[J].测控技术,2004(8):47-49,52.
[4] MAX II Device Handbook.http://www.altera.com.cn/literature/hb/max2/max2_mii5v1.pdf.
[5] STM8S105. http://www.st.com/web/cn/catalog/mmc/SC1244/SS1010/LN754/PF215106.endprint