一种记录多路异步串行通讯信息装置和方法

文档序号:6331496阅读:158来源:国知局
专利名称:一种记录多路异步串行通讯信息装置和方法
技术领域
本发明涉及计算机通讯技术、嵌入式系统等技术领域。特别是涉及一种记录多路 异步串行通讯信息装置和方法,适用于对RS232、RS485或UART异步串行通讯信息进行采集 和记录,也适用于对其他接口标准的异步串行通讯信息进行采集和记录。
背景技术
异步串行通信无需数据时钟、帧同步时钟等时钟信号,数据的发送和接收是自同 步的,完全依靠收发双方约定的传输波特率和数据线自身的电平变化来正确地收发数据比 特流,同时它联机简单,采用RS232电平或差分电平,传输的距离要比同步通信的长。正因 为有上述的优点,异步串行通讯在嵌入式系统中得到广泛的应用,嵌入式系统与PC机通 信、与带异步串口的设备进行通信、系统之间组网、设备之间组网,异步串行通讯是一种重 要的通信方法。在许多嵌入式设备或系统中可能有多个采用异步串行通讯的信道,而这些 信道的通信时序方面往往还存在着一些关联关系。在上述的嵌入式设备或系统进行开发和 调试过程中,需要对这些多信道的异步串行通讯信息进行长时间的采集、监视、记录、分析。 因此能记录多路异步串行通讯信息的方法和装置就显得十分必要。

发明内容
本发明的目的在于提供一种记录多路异步串行通讯信息装置和方法。该装置主要 由单片微处理器、多个与外部异步串行通讯线路联接的接口电路、USB总线接口电路组成。 通过RS232接口电路、RS485接口电路、UART接口电路与外部异步串行通讯线路联接,通过 USB-HOST主机接口与USB设备(U盘)连接;通过装置中的单片微处理器UART的输入或模 拟UART的输入实现对多路异步串行通讯信息的采集,并存入各自的缓存区,当接收信息的 长度大于等于规定的长度,将该通道接收的信息存入U盘对应的文件,从而实现对多路异 步串行通讯信息的长时间记录。该装置和方法不影响异步串行通讯的可靠性、稳定性,但实 现了对多路异步串行通讯信息的实时采集和记录。为达到上述目的,本发明采用下述技术方案一种记录多路异步串行通讯信息装置,包括一个单片微处理器、多个与外部异步 串行通讯线路联接的接口电路、以及USB总线接口电路,其特征在于所述单片微处理器通 过总线连接多个与外部异步串行通讯线路连接的接口电路、一个USB总线接口电路、一个 时钟电路、一个扩充RAM、一个参考数设置电路,所述单片微处理器从各通道接收异步串行通讯的信息,存入各自的缓存区,当接 收信息的长度大于等于规定的长度,将该通道接收的信息存入U盘对应的文件。与外部异步串行通讯线路联接的RS232接口电路、RS485接口电路和UART接口电 路结构上做成模块式的,与单片微处理器的连接方式相同,因此根据外部异步串行通讯的 接口方式可进行置换。单片微处理器通过其自带的UART的输入(RXD)连接RS232接口电路、RS485接口
4电路和UART接口电路,采集外部异步串行通讯的信息。为了扩充采集外部异步串行通讯信 息的信道,单片微处理器也可通过捕获比较I/O 口模拟RXD的输入。实时钟电路用来产生时标信号,当时标信号时间到,单片微处理器采集实时钟信 息,并插入采集到的外部异步串行通讯的信息中,作为不同通道之间的同步点。大容量RAM用来存放单片微处理器采集到的外部异步串行通讯信息,每个信道设 置一个环型存储区,容量为lKBytes。当该存储区存储的数据大于等于512Bytes时,单片微 处理器就将这些数据写入U盘相对应的檔中,同时释放该存储空间。参数设置电路用来设置每个信道异步串行通讯的波特率,设置实时钟电路产生时 标信号的间隔时间。单片微处理器与其外围电路通过单片微处理器总线进行连接。一种记录多路异步串行通讯信息方法,采用上述装置实现,其特征在于操作步骤 如下a)单片微处理器执行初始化;b)单片微处理器检测是否有USB设备(U盘)连接。已连接,转C)执行;否则在 b)等待;c)单片微处理器检查U盘上是否有正确的可记录信息的文件名。无,创建正确的 可记录信息的文件名,转d)执行;有,转d)执行;d)单片微处理器从各通道接收异步串行通讯的信息,存入各自的缓存区,修改各 通道接收信息的长度;e)单片微处理器检查各通道接收信息的长度是否大于等于512bytes。是,打开对 应的U盘上的文件名,将该通道接收的信息存入U盘,关闭文件,修改该通道接收信息的长 度,转f)执行;否,转f)执行;f)单片微处理器检测是否有USB设备(U盘)断开。是,停止各通道接收异步串行 通讯的信息,转b)执行;否则转d)执行;上述一种记录多路异步串行通讯信息方法,其步骤a)单片微处理器执行初始化, 包含以下内容单片微处理器根据面板开关的设定,设定各通道接收的波特率;单片微处理器启动片内(或片外)的实时钟,根据面板开关的设定,确定时标信号 的间隔时间,初始化实时钟电路参数;单片微处理器初始化USB总线接口电路使其工作在USB-HOST模式。上述一种记录多路异步串行通讯信息方法,其步骤c)单片微处理器检查U盘上是 否有正确的可记录信息的文件名,包含以下内容每个通道接收的异步串行通讯的信息,都被保存在U盘各自独立的文件中。文件 的命名方式为CH加通道号,如1号通道,其对应的文件名为CH1。文件的格式为二进制文 件格式,后缀.BIN。单片微处理器检查U盘上是否有上述正确的可记录信息的文件名。若无,在U盘 中创建上述的正确的可记录信息的文件名。上述一种记录多路异步串行通讯信息方法,其中步骤d)单片微处理器从各通道 接收异步串行通讯的信息,存入各自的缓存区,修改各通道接收信息的长度,包含以下内
5
每个通道接收的异步串行通讯的信息,在未存入U盘文件前,都被放在缓存区内, 对每个通道设置一个IK (1024) bytes的环型缓存区;各环型缓存区均有一个头指针和一个 尾指针,头指针指向信息要存入的地址,尾指针指向信息要取出的地址;各通道接收信息的 长度为0到1024。每接收到一个Byte的信息,即存入内存,同时头指针加1。上述一种记录多路异步串行通讯信息方法,其中步骤d)还包括以下内容判断实时钟的时标信号时间到否,若未到,跳过以下步骤;若时间已到,执行下列 步骤1)实时钟的时标信号时间到,单片微处理器读取实时钟时间;2)将每个环型缓存区的头指针加十一,空出十一个字节;3)单片微处理器将实时钟时间存入每个环型缓存区在步骤2)空出的i^一个字 节。上述的存入每个环型缓存区十一个字节的实时钟时间格式为(见说明书附图表 1)“% ”年(一字节)“/”月(一字节)“/”日(一字节)“/”时(一字节)“/”分
(一字节)“% ”。本发明解决了多路异步串行通讯信息的采集与记录。具有如下显而易见的突出实 质性特点和显著优点本发明通过采用RS232、RS485和UART接口电路实现与外部异步串行 通讯线路的接口 ;采用具有USB-HOST主机接口功能的USB总线接口电路实现了与存储媒介 U盘的接口 ;采用单片微处理器自带的UART输入(RXD)和捕获比较I/O 口模拟RXD的输入 扩充了对外部异步串行通讯信息采集的信道数量;采用实时钟方法在存储的信息中插入时 标同步信号,使不同信道之间的信息比较有了同步点。本发明适用于长时间的对多路异步 串行通讯信息进行采集与记录,不需要人员在现场的操作与管理;存储的数据由于有时标 信息便于今后的分析与比较。本发明适用于RS232、RS485、UART方式或其它方式的多路异 步串行通讯信息的采集与记录。


图1是一种记录多路异步串行通讯信息装置的结构框图。图2是一种记录多路异步串行通讯信息方法的流程图。图3是一个具体的记录多路异步串行通讯信息装置的结构框图。图4是各通道记录、缓存、储存U盘、添加时标的时序示意图。
具体实施例方式本发明的优选实施例结合附图详述如下实施例一参见图1,本记录多路异步串行通讯信息装置,包括一个单片微处理 器,多个与外部异步串行通讯线路联接的接口电路、一个USB总线接口电路、一个实时钟电 路、一个扩充RAM、一个参数设置电路,单片微处理器通过总线连接上述外围电路。实施例二 参见图3,本实施例与实施例一基本相同,特别之处如下本实例中提 供的一种记录多路异步串行通讯信息的装置采用下列器件组成
1)单片微处理器P89C668。2)与外部异步串行通讯的接口 2个信道采用RS485接口,2个信道采用RS232接 口,2个信道采用UART接口。3)采用CH375芯片作为USB总线的HOST主机,单片微处理器可以通过CH375读写 U盘中的文件和数据。单片微处理器通过并行总线与CH375接口。4)芯片具有一个全双工的UART,5个捕获比较I/O 口,通过软件可以模拟成UART 的输入,因此该装置最多可以采集记录六信道的外部异步串行通讯信息。5)单片微处理器P89C668带有7936个Bytes的内部RAM,使用其中的6144Bytes 存放单片微处理器采集到的外部异步串行通讯信息。6)实时钟采用PCF8563,单片微处理器通过I2C总线与PCF8563接口。该装置采集记录的六路异步串行通讯线路的情况如下第一通道RS485通信方式,波特率2400,每秒大约16-20Bytes数据流量;第二通道RS485通信方式,波特率2400,每15秒大约60Bytes数据流量;第三通道RS232通信方式,波特率9600,每分钟大约160Bytes数据流量;第四通道RS232通信方式,波特率9600,每分钟大约120Bytes数据流量;第五通道UART电平,波特率19200,每分钟大约250Bytes数据流量;第六通道UART电平,波特率19200,每分钟大约SOBytes数据流量;每个信道占用单片微处理器内部RAM的6144Bytes存放采集到的外部异步串行通 讯信息。具体分布如下第一通道使用内部RAM地址0x0000-0x03FF ;第二通道使用内部RAM地址0x0400-0x07FF ;第三通道使用内部RAM地址0x0800-0x0BFF ;第四通道使用内部RAM地址OxOCOO-OxOFFF ;第五通道使用内部RAM地址0x1 OOO-Ox 13FF ;第六通道使用内部RAM地址0xl400-0xl7FF ;实时钟的时标信号时间间隔设置为5分钟。记录异步串行通讯信息的U盘容量为2G。实施例三参见图2,本记录多路异步串行通讯信息方法,采用上述装置进行记录 通讯信息,其操作步骤如下1)单片微处理器执行初始化。设置单片微处理器芯片自带的UART(连接第一通道)波特率为2400,模拟 UART(连接第二信道至第六信道)的捕获比较1/0定时器设定为26us ;初始化实时钟参数, 并启动实时钟;初始化CH375,使USB总线接口电路其工作在USB-HOST模式。2)单片微处理器检测是否有USB设备(U盘)连接。若已连接,则转到步骤3)执 行,否则在步骤2)等待。3)单片微处理器检查U盘上是否有正确的可记录信息的文件名,若无,则创建正 确的可记录信息的文件名,分别为CH1.BIN,CH2.BIN,CH3.BIN,CH4.BIN,CH5.BIN,CH6. BIN,然后转步骤4)执行。若已有,转步骤4)执行。
4)单片微处理器从各信道接收异步串行通讯的信息,存入各自的缓存区。第一通道的数据流量每秒大约20Bytes,接收512Bytes大约需要26秒;第二通道的数据流量每15秒大约60Bytes,接收512Bytes大约需要128秒;第三通道的数据流量每分钟大约160Bytes,接收512Bytes大约需要192秒;第四通道的数据流量每分钟大约120Bytes,接收512Bytes大约需要256秒;第五通道的数据流量每分钟大约250Bytes,接收512Bytes大约需要123秒;第六通道的数据流量每分钟大约SOBytes,接收512Bytes大约需要384秒;每隔5分钟,单片微处理器读取实时钟时间,在每个通道的缓存区插入实时钟时 间信息。实时钟时间信息占十一个字节,其格式为“% ”年(一字节)“/”月(一字节)“/” 日(一字节)“/”时(一字节)“/”分(一字节)“% ”。5)单片微处理器检查各信道接收信息的长度是否大于等于512bytes。若条件满 足,打开该通道所对应的U盘上的文件,将该信道接收的信息存入U盘,然后关闭该文件,同 时将该通道缓冲区的尾指针加512,释放512bytes存储空间,然后转步骤6)执行;若条件不满足,转步骤6)执行。各通道记录、缓存、储存U盘、添加时标的时序示 意图如图4所示。6)单片微处理器检测是否有USB设备(U盘)断开。是,停止各通道接收异步串行 通讯的信息,转步骤2)执行;否则转步骤4)执行。在该实例中记录异步串行通讯信息的U盘容量为2G,对上述数据流量的6个信道 异步串行通讯信息进行记录,30天(=2592000秒)后,U盘中各文件的容量可以以下式来
计算
文件容量=每秒数据流量(Bytes/每秒)X 2592000
记录第一通道信息,文件名:CH1.BIN,文件容量=20X2592000 = 51MB
记录第二通道信息,文件名:CH2. BIN,文件容量=60/15X2592000 ==1MB
记录第三通道信息,文件名:CH3. BIN,文件容量=160/60X2592000=7MB
记录第四通道信息,文件名:CH4.BIN,文件容量=210/60X2592000=9MB
记录第五通道信息,文件名:CH5. BIN,文件容量=250/60X2592000=IlMB
记录第六通道信息,文件名:CH6. BIN,文件容量=80/丨60X2592000 ==3. 5MB
上述的实时钟时间格式如表1所示。
表1
格 式年(£ 1”月U I ”曰U 1”时66 J”分“%,,实 例0x10“ ι,,0x07U 1”0x2166 1”0x16i( !J,0x35说 明2010 年 07 月 21 日 16: 3权利要求
一种记录多路异步串行通讯信息装置,包括一个单片微处理器(U100)、多个与外部异步串行通讯线路联接的接口电路、以及USB总线接口电路(U500),其特征在于所述单片微处理器通过总线(U900)连接多个与外部异步串行通讯线路连接的接口电路、一个USB总线接口电路(U500)、一个时钟电路(U600)、一个扩充RAM(U700)、一个参考数设置电路(U800);所述单片微处理器(U100)从各通道接收异步串行通讯的信息,存入各自的缓存区,当接收信息的长度大于等于规定的长度,将该通道接收的信息存入U盘对应的文件。
2.如权利要求1所述的一种记录多路异步串行通讯信息装置,其特征在于与外部异 步串行通讯线路联接的接口电路是指RS232接口电路(U200)、RS485接口电路(U300)和 UART 接 口 电路(U400)。
3.如权利要求1所述的一种记录多路异步串行通讯信息装置,其特征在于USB总线接 口电路(U500)是指具有USB-HOST主机接口功能的电路。
4.如权利要求1所述的一种记录多路异步串行通讯信息装置,其特征在于所述单片 微处理器(U100)通过各种接口电路能够接收异步串行通讯信息的通道,是单片微处理器 UART的输入(RXD),或者是单片微处理器通过输入口模拟UART的输入。
5.一种记录多路异步串行通讯信息方法,采用如权利要求1所述的记录多路异步串行 通讯信息装置进行记录通讯信息,其特征在于,包含操作步骤如下a)单片微处理器(U100)执行初始化;b)单片微处理器(U100)检测是否有USB设备(U盘)连接。若已连接,则转步骤c)执 行;否则在步骤b)等待;c)单片微处理器(U100)检查U盘上是否有正确的可记录信息的文件名,若无,则创建 正确的可记录信息的文件名,转步骤d)执行;若有,则转步骤d)执行;d)单片微处理器(U100)从各通道接收异步串行通讯的信息,存入各自的缓存区,修改 各通道接收信息的长度;e)单片微处理器(U100)检查各通道接收信息的长度是否大于等于512bytes,若是,则 打开对应的U盘上的文件名,将该通道接收的信息存入U盘,关闭文件,修改该通道接收信 息的长度,转步骤f)执行;若否,则转步骤f)执行;f)单片微处理器(U100)检测是否有USB设备,即U盘断开,若是,则停止各通道接收异 步串行通讯的信息,转步骤b)执行;若否,则转步骤d)执行;
6.如权利要求5所述的一种记录多路异步串行通讯信息方法,其特征在于所述步骤a) 单片微处理器(UlOO)执行初始化,包含以下内容单片微处理器(UlOO)根据面板开关的设定,设定各通道接收的波特率;单片微处理器(UlOO)启动片内或片外的实时钟,根据面板开关的设定,确定时标信号 的间隔时间;单片微处理器(U100)初始化USB总线接口电路使其工作在USB-HOST模式。
7.如权利要求5所述的一种记录多路异步串行通讯信息方法,其特征在于所述步骤 c)单片微处理器(U100)检查U盘上是否有正确的可记录信息的文件名,包括以下内容每 个通道接收的异步串行通讯的信息,都被保存在U盘各自独立的文件中;文件的命名方式 为CH加通道号,如1号通道,其对应的文件名为CH1 ;文件的格式为二进制文件格式,后 缀· BIN。
8.如权利要求5所述的一种记录多路异步串行通讯信息方法,其特征在于所述步骤 d)单片微处理器(U100)从各通道接收异步串行通讯的信息,存入各自的缓存区,修改各通 道接收信息的长度,其方法如下每个通道接收的异步串行通讯的信息,在未存入U盘文件 前,都被放在缓存区内,对每个通道设置一个IK (1024) bytes的环型缓存区;各环型缓存区 均有一个头指针和一个尾指针,头指针指向信息要存入的地址,尾指针指向信息要取出的 地址;各通道接收信息的长度为0到1024。
9.如权利要求5所述的一种记录多路异步串行通讯信息方法,其特征在于所述步骤d) 包括以下步骤dl)实时钟的时标信号时间到,单片微处理器读取实时钟时间;d2)将每个环型缓存区的头指针加十一,空出十一个字节;d3)单片微处理器将实时钟时间存入每个环型缓存区在步骤d2空出的十一个字节;进 入步骤e);d4)实时钟的时标信号时间未到,进入步骤e)。
10.如权利要求9所述的一种记录多路异步串行通讯信息方法,其特征在于存入每个 环型缓存区十一个字节的实时钟时间格式为“%”年(一字节)“/”月(一字节)“/”日 (一字节)“/”时(一字节)“/”分(一字节)“% ”。
全文摘要
本发明涉及一种记录多路异步串行通讯信息装置和方法。该装置由单片微处理器、连接外部异步串行通讯线路的RS232、RS485和UART接口电路、具有USB-HOST主机接口功能的USB总线接口电路组成。单片微处理器实现对多路异步串行通讯信息的采集,缓存、管理,并将信息定容量地存入U盘,从而实现对多路异步串行通讯信息的长时间记录,存储的数据由于有时标信息便于今后的分析与比较。本发明适用于RS232、RS485、UART方式或其它方式的多路异步串行通讯信息的采集与记录。
文档编号G06F17/40GK101944136SQ20101027329
公开日2011年1月12日 申请日期2010年9月3日 优先权日2010年9月3日
发明者张旭斐, 徐永晋, 方圆, 王健, 王舒憬, 秦霆稿, 管武, 邵勇, 高守玮 申请人:上海大学;上海星鸣电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1