本发明涉及计算机领域和通讯领域,尤其涉及电子信息和工业控制领域中多种串行通讯方式的通讯接口调试。
背景技术
在电子信息和工业控制系统中,同一系统内部的各单板之间或者不同系统之间常常通过串行通讯方式交换信息。比较常用的串行通讯形式有hdlc、hw、rs232、rs485、i2c、spi等,在开发电子信息系统或者工业控制系统过程中,硬件开发人员需要调试和测试系统中的各类串行通讯接口,但是现有计算机系统仅提供了标准的rs232接口用于与外部接口,但对于hdlc、hw、rs485、i2c、spi等串行通讯形式都没有通用的调试接口装置,通常只能借用其它嵌入式设备的相应通讯接口来进行接口调试,使用起来极不方便。
经过检索专利文献和科技文献,目前尚未发现一种通用的、具有统一软硬件架构的、可以提供常用串行通讯接口方式的调试装置。
技术实现要素:
本发明的目的是克服现有计算机系统串行通讯接口调试中的需要根据串行通讯接口形式的不同,采取不同方式测试带来的方法复杂、使用不方便的缺点,以期提供一种能够使得串行通讯接口使用简便、具有较强的通用性地通用串行通讯接口调试装置和方法。
为实现上述目的,本发明构造了一种通用串行通讯接口调试装置,其特征在于,包括以下模块:计算机模块、mcu小系统、第一通讯模块、第二通讯模块、...、第n通讯模块、可编程逻辑模块、时钟模块。
所述计算机模块完成人机接口界面,通过rs232接口与所述mcu小系统模块进行通讯,完成配置命令的下发或数据的收发;所述mcu小系统完成对各个通讯模块的控制和接续;所述可编程逻辑模块完成整个系统的片选和地址译码等功能;所述时钟模块根据所选定的通讯形式是否需要和外部时钟同步而可有可无,使本装置时钟和外部时钟同步。
所述第一通讯模块、第二通讯模块、...第n通讯模块,根据实际需要可以是用dlc、hw、rs485、i2c、spi等通讯形式中的一种或几种的组合。
本发明还提供了一种通用串行通讯接口调试方法,其特征在于,包括以下步骤:
第一步:给装置加电,启动装置硬件运行;
第二步:启动运行计算机模块操作界面;
第三步:在界面选定要调试的通讯方式;
第四步:在选定的通讯方式的程序界面中设定通讯协议参数;
第五步:启动计算机模块与装置硬件建立联系;
第六步:进行通讯接口收发数据调试;
第七步:结束调试。
本发明通过软硬件的良好结合,上位计算机完成对下位微控制器的控制和相互间通讯,下位微控制器完成其外围各通讯功能模块的控制和信息接续,实现了具有较强通用性的串行通讯接口调试装置,使常用串行通讯(hdlc、hw、rs485、i2c、spi等)的调试变得程序化和模块化,方便了电子信息和工业控制系统开发中各种串行接口的调试和测试。
附图说明
图1是本发明所述通用串行通讯接口调试装置结构图。
图2是作为本发明具体实施方式的装置结构图。
图3是本发明所述通用串行通讯接口调试装置中mcu小系统示意图。
图4是本发明所述通用串行通讯接口调试装置工作流程图。
具体实施方式
本发明是一种涉及多种串行通讯方式(hdlc、hw、rs232、rs485、i2c、spi等)的接口调试用装置。在本发明中,实现了常用的hdlc、hw、rs232、rs485、i2c、spi通讯接口形式,根据前面提到的通用串行通讯接口调试装置的软硬件架构,可以很容易的添加rs422等串行通讯方式的接口。
本发明提出的通用串行通讯接口调试装置的结构框图如图1所示。计算机模块101完成人机接口界面,通过rs232可以和mcu小系统102进行通讯,完成配置命令的下发或数据的收发;mcu小系统102是整个串行通讯接口调试装置的控制核心,完成对各通讯模块的控制和接续;105、106、...107单元分别是第一通讯模块105、第二通讯模块106、...第n通讯模块107,根据需要可以是hdlc、hw、rs485、i2c、spi等通讯形式中的一种或几种的组合;可编程逻辑模块103完成整个系统的片选和地址译码等功能;时钟模块104根据所选定的通讯形式是否需要和外部时钟同步而可有可无,使本装置时钟和外部时钟同步。
计算机模块101具有c++高级语言编写的控制界面,用于用户选定需要的通讯接口形式,设置相关参数,如:数据长度,待发送的数据,数据速率,接口电平形式等,通过计算机模块101的rs232接口把这些信息下传给调试装置,以完成调试配置。对调试装置配置好以后,可以在上位机界面中填写要发送的数据并启动发送,或者把下位机接收的数据在上位机界面中显示出来,完成接口调试或测试。
在串行通讯接口调试装置功能模块组成示意图(图2)中,上位计算机模块110完成人机接口界面;rs232通信电缆111将上位计算机模块和下位mcu单元连接起来;mcu小系统112是整个串行通讯接口调试装置的控制核心,实现对hdlc、hw、rs232、rs485、i2c、spi等通讯功能的控制和接续。可编程逻辑模块113完成整个系统的片选和地址译码等功能;时钟接收模块114接受外部送来的单端或差分时钟,完成时钟相位调整,使本装置时钟和外部时钟同步。通讯模块(115、116)完成hw通讯功能;通讯模块117完成hdlc通讯功能;118单元、119单元和120单元组成了一个duart(dualuart)通讯模块,完成rs232和rs485通讯功能。
下面结合附图对技术方案的实施作进一步的详细描述。
1.8051mcu小系统
8051mcu小系统是串行通讯接口调试装置下位机的控制核心,接受上位计算机模块的控制指令,设定正确的通讯方式和通讯协议,控制其他外围器件在计算机模块和外部通信接口之间进行数据转发和电平转换。
8051mcu小系统由8051系列兼容的mcu,外围的晶振电路、指示灯电路、监控电路、sram扩展电路、rs232接口电路等组成,其框图如图3所示。为直观反映mcu系统运行状态,至少设计两个指示灯,一个用绿色发光二极管,即运行指示灯run;另一个为告警指示灯alarm,用红色发光二极管。监控用芯片可以选择maxim公司或adi公司的监控管理用ic,本发明采用max813,完成上电自动复位、手动强制复位、电源电压过低监控复位、看门狗复位4个功能。为方便在控制及通讯调试中存储数据,同时也方便采用80c51语言编写程序时开辟外部变量及数据区,在系统中扩展了外部数据ram。一般设计为32kb字节的外部ram,优选smd器件,如cy62256、idt71256、hy62256等即可。rs232接口电路是将mcu自带的uart口采用maxim公司的max202系列器件进行ttl/rs232电平转换后和上位计算机模块通讯。
本发明中采用了philips公司的p89c668,该控制器具有64kb的程序flash,既可以采用与87c51兼容的硬件并行编程(采用通用编程器)方式,同时可以采用其独具特色的isp/iap串行编程方式,灵活方便。其片内自带8kbram,具备i2c接口。外部再扩展32kb的数据sram。
2.hw通讯部分
hw通讯部分速率可以为2m、4m和8m,对外提供的物理接口既有lvds电平,又有ttl电平,提供环回自诊断和反射诊断功能。
hw通讯部分由115单元多速率数字交换芯片mt8986实现,mt8986是mitel公司生产的256×256时分无阻塞或512×256时分有阻塞交换网络芯片,既能提供motorolacpu接口,也能提供intelcpu接口。
通过上位机命令控制,hw速率可以为8m、4m和2m,通过和装置中hdlc协议处理芯片的配合,hw通讯还可以实现hdlc协议通讯功能,其对外提供的物理接口可以是lvds(低电压差分信号)或ttl电平。在电子信息领域,为了提高信号的传输质量,提高信号的抗干扰能力,大量使用了lvds电平进行传输。在mt8986输入输出hw信号前后增加116单元lvds收发器(如ds90c031/ds90c032),便可以实现lvds电平接口。
通过上位机发送命令配置mt8986寄存器的对应比特位,可以提供环回自诊断功能和反射诊断功能。
3.hdlc通讯部分
hdlc通讯部分提供两路hdlc通讯接口,一路工作于时隙模式,另一路工作于非时隙模式,hdlc速率可以设置为2m或4m。该部分具有内部自环模式提供自诊断功能,向外反射模式提供与之对接的hdlc链路的诊断功能。
hdlc通讯部分由117单元可扩展的高级串行通讯控制器sab82525实现了2路hdlc通讯,一路工作于时隙模式,另一路工作于非时隙模式。sab82525工作于intel工作模式,可以独立复位,需提供高电平复位信号,复位电平的保持时间不少于1.8us。
sab82525的a通道工作于时隙模式,其输出送至mt8986芯片的sti2,其输入来mt8986的sto3。sab82525的b通道工作于非时隙模式,其输入输出分别经过16244驱动隔离,经电平转换为ttl后与外部接口。
4.rs485/rs232通讯部分
该部分由118单元双串口芯片16c2552和119单元rs232转换芯片、120单元rs485转换芯片组成。16c2552具有两个独立的uart通道,每个通道的收发都具有16字节的fifo,减少了对控制cpu的带宽需求,和cpu的接口既可以使用查询方式也可以使用中断方式,为提高响应速度,建议采用中断方式。
16c2552的通道1经rs232电平转换芯片后扩展为rs232通道,其通信的波特率、字符长度、奇偶校验等是由上位机给8051mcu发送命令设定。
16c2552的通道2经rs485电平转换芯片后扩展为rs485通道,其通信的波特率、字符长度、奇偶校验等也是由上位机给8051mcu发送命令设定。
5.i2c/spi接口部分
图2中虚线框内121单元。i2c/spi接口部分在硬件上不需要增加额外的器件,可以作为该通用串行通讯接口调试装置使用hdlc、hw、rs485、rs232等功能时的一个附加功能。
spi接口采用mcu并行接口p1口的3个io引脚模拟spi接口的三根线(clk、si、so)来传输数据及同步时钟。i2c接口既可以采用自身带i2c接口的微控制器的相应接口,也可以采用不带i2c接口的微控制器的io引脚模拟,为了减少软件的复杂度,提高系统可靠性,建议采用自带i2c接口的微控制器,前面推荐的p89c668就是自带i2c接口的微控制器。
6.cpld部分
其可编程逻辑主要有以下几个部分:
1)复位电路:完成上电后各功能芯片的同步复位或工作中单个芯片的复位;
2)时钟相位调整:在hdlc和hw通讯中,接受外部送来的同步时钟,完成时钟相位调整,使本装置时钟和外部时钟同步。
3)片选和地址译码:完成各外围芯片的片选和地址译码。
4)8986时序控制;
5)sab82525时序控制;
6)通路配置电路:hdlc分别切换到lvds、ttl的hw线电平形式。
6.计算机模块界面操作控制部分
计算机模块界面操作控制部分软件采用c++编写,其主要的功能有两个:给下位机发送命令,选定需要的通讯方式,设定相关协议参数;在上位机界面中填写要发送的数据并启动发送,把下位机接收的数据在上位机界面中显示出来。
整个串行通讯接口调试装置的工作过程简单明了,叙述如下,其流程图如图4所示。
第一步:给装置加电,启动装置硬件运行。装置上电后,自动运行mcu程序,完成对mcu小系统及其外围各通讯功能模块的初始化和基本配置,然后处于接收上位pc机命令状态,等待上位pc机对其完成进一步的配置。
第二步:启动运行计算机模块操作界面,弹出串行通讯接口调试界面。
第三步:在界面选定要调试的通讯方式,可选的通讯方式有hdlc、hw、rs485、i2c、spi等,选定后进一步弹出各通讯方式的调试子界面。
第四步:在选定的通讯方式的调试子界面中设定通讯协议参数。对于不同的通讯方式,其需要设定的通讯协议参数各不相同,调试时只要按本次实际需要选择或设置即可。
第五步:启动计算机模块与装置硬件建立联系,计算机通过rs232接口把前面选定的通讯方式及通讯协议参数信息下传给调试装置,完成调试配置。
第六步:进行通讯接口收发数据调试。通过调试装置给被测系统或单板发送测试数据,被测系统或单板接收发送过来的数据,从而完成通讯接口硬件连通性和软件配置正确性的测试,也可以由被测系统或单板向本调试接口装置发送数据,完成数据的双向收发测试。
第七步:结束调试。保存接口调试时的收发数据内容或测试结果,结束本次调试,关闭计算机软件界面,硬件下电。