上位机与下位机通信的方法、装置及系统的制作方法

文档序号:6372204阅读:1390来源:国知局
专利名称:上位机与下位机通信的方法、装置及系统的制作方法
技术领域
本发明涉及通讯技术领域,尤其涉及一种上位机与下位机通信的方法、装置及系统。
背景技术
目前,在嵌入式系统中,通常将等待调试或接收数据的目标系统称为下位机,而与其对应的调试或发送数据的目标 系统称为上位机,上位机一般为个人电脑(personalcomputer, PC机)。上位机通过异步串行通信来实现对下位机的控制,在现有技术中采用通用异步接收/发送装置提供上位机和下位机之间数据的上传和下载等各项操作。在上位机与下位机通信过程中,上位机用于发送命令或数据,而下位机用于执行命令并接收数据。上位机与下位机之间的通信需建立合适的通信机制,以保证可以准确、简便的交换数据,如图I所示,目前现有技术中上位机与下位机的通信方式。具体的工作过程如下上位机与下位机通过通用异步接收/发送装置缓存进行数据传输,通用异步接收/发送装置的缓存结构是采用先入先出队列(First Input FirstOutput, FIFO)实现,当从其缓存中将数据读出后不能继续保存,上位机将命令写入缓冲0中,下位机则不断的读缓冲0,当缓冲0中存放数据时,则读取过程如图I中虚线所示,下位机接收到信号后写缓冲1,过程与上位机中是一致的。上位机并没有考虑在向下位机发送命令或数据时的硬件资源代价,以及对于下位机而言其解析上位机发送的命令或数据时的难易程度;下位机则通常因为没有设计合适的驻留程序,导致解析上位机的命令代价偏高。

发明内容
本发明的目的是为了解决现有技术中上位机与下位机通信时,上位机发送命令或数据时的硬件资源代价过高,以及对于下位机而言其解析上位机发送的命令或数据时的难易程度的问题,提供了一种上位机与下位机通信的方法、装置及系统。在第一方面,本发明提供了一种上位机与下位机通信的方法,其特征在于,所述方法包括上位机与下位机建立通信连接;所述上位机向缓存中写入消息包,将所述消息包中信息虚拟寄存器的值设置为通信执行信息;所述上位机读取所述下位机写入所述缓存中的消息包,判断所述消息包中反馈虚拟寄存器的值与所述信息虚拟寄存器的值是否相同,如果相同,则所述上位机根据所述通信执行信息与所述下位机通信。优选地,与所述下位机通信过程中,所述上位机与所述下位机发送/接收包括多个虚拟寄存器的消息包,所述上位机与所述下位机读取/写入与当前通信相关的I个或多个虚拟寄存器的值。
优选地,所述通信执行信息具体为第一执行信息和第二执行信息,所述第一执行信息为数据传输类信息,所述第二执行信息为非数据传输类信息;若所述通信执行信息为第一执行信息时,则第一执行信息采用第一发送模式写入所述缓存中;若所述通信执行信息为第二执行信息时,则第二执行信息采用第二发送模式写入所述缓存中;所述第一发送模式包括前缀部分和后缀部分,在所述前缀部分存储包括所述多个虚拟寄存器值的消息包,在所述后缀部分存储数据文件的数据包;所述第二发送模式包括前缀部分,在所述前缀部分存储包括所述多个虚拟寄存器值的消息包。
优选地,所述上位机读取所述下位机写入所述缓存中的消息包,判断所述状态虚拟寄存器的值是否为通信结束信息,如果所述状态虚拟寄存器的值为所述通信结束信息,则与所述下位机结束通信。优选地,所述状态虚拟寄存器还存储所述下位机通信状态的信息。在第二方面,本发明提供了一种上位机与下位机通信的方法,其特征在于,所述方法包括下位机与上位机建立通信连接;所述下位机读取所述上位机写入缓存中的消息包;所述下位机解析所述消息包,所述消息包中信息虚拟寄存器的值为通信执行信息;所述下位机向反馈虚拟寄存器中写入数值并向所述缓存中写入包括所述反馈虚拟寄存器的消息包;根据所述通信执行信息继续与所述上位机通信,完成所述通信执行信息。优选地,所述下位机根据所述通信执行信息执行完成后,将将通信结束信息写入所述状态虚拟寄存器,并向缓存中写入包括所述状态虚拟寄存器的消息包,与所述上位机结束通信。优选地,所述状态虚拟寄存器还存储所述下位机通信状态的信息。在第三方面,本发明提供了一种上位机与下位机通信的装置,其特征在于,所述装置包括连接单元,用于上位机与下位机建立通信连接;写入单元,用于所述上位机向缓存中写入消息包,将所述消息包中信息虚拟寄存器的值设置为通信执行信息;反馈单元,用于所述上位机读取所述下位机写入所述缓存中的消息包,判断所述消息包中反馈虚拟寄存器的值与所述信息虚拟寄存器的值是否相同,如果相同,则所述上位机根据所述通信执行信息与所述下位机通信。在第四方面,本发明提供了一种上位机与下位机通信的装置,其特征在于,所述装置包括连接单元,用于下位机与上位机建立通信连接;读取单元,用于所述下位机读取所述上位机写入缓存中的消息包;
解析单元,用于所述下位机解析所述消息包,所述消息包中信息虚拟寄存器的值为通信执行信息;写入单元,用于所述下位机向反馈虚拟寄存器中写入数值并向所述缓存中写入包括所述反馈虚拟寄存器的消息包;执行单元,用于根据所述通信执行信息继续与所述上位机通信,完成所述通信执行信息。在第五方面,本发明提供了一种上位机与下位机通信的系统,其特征在于,所述系统包括上位机和下位机,所述系统还包括缓存;其中,上位机和下位机中的一端将另一端需要执行的信息写入所述缓存中,将需要传输的数据写入所述缓存中;上位机和下位机中的另一端从所述缓存中读取需要的信息。通过应用本发明公开的方法和装置,上位机与下位机之间利用设置的虚拟寄存器,通过缓冲发送、接收数据,下位机通过读取并解析虚拟寄存器的值执行上位机下发的命令信息,从而实现上位机与下位机之间简单、高效的通信。


图I为现有技术中上位机与下位机的通信方式;图2为本发明提供的上位机与下位机通信的方法框架图;图3为本发明提供的一上位机与下位机通信的方法流程图;图4为本发明提供的信息发送模式图;图5为本发明提供的另一上位机与下位机通信的方法流程图;图6为本发明提供的一上位机与下位机通信的装置图;图7为本发明提供的另一上位机与下位机通信的装置图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明具体实施例作进一步的详细描述。下面以图2为例详细说明本发明提供的上位机与下位机通信的方法,图2为本发明提供的上位机与下位机通信的方法框架图。如图2所示,本发明提供的上位机与下位机通信的方法中,在上位机与下位机传输的消息包是由多个虚拟寄存器构成;其中,将所述多个虚拟寄存器中的信息虚拟寄存器的值设置为通信执行信息,下位机从缓存中读取消息包,对消息包进行解析,设置反馈虚拟寄存器的值,向缓存中写入多个虚拟寄存器值的消息包,其中,下位机只设置反馈虚拟寄存器的值,上位机从缓存中读取消息包,从中解析出反馈虚拟寄存器的值,上位机判断所述反馈虚拟寄存器的值与信息虚拟寄存器的值是否相同,如果相同则,继续与下位机继续通信,完成通信执行信息,否则通信中断。下面以图3为例详细说明本发明提供的数据发送的方法,图3为本发明提供的一个上位机与下位机通信的方法流程图,在本实施例中实施主体为上位机。如图3所示,消息包被划分为多个虚拟寄存器,将多个虚拟寄存器中的信息虚拟寄存器的值设置为通信执行信息,并将多个虚拟寄存器的值打包,写入缓存中,其中,将所、述多个虚拟寄存器中的信息虚拟寄存器的值设置为通信执行信息,判断下位机写入反馈虚拟寄存器的值与信息虚拟寄存器的值是否相同,如果相同,则继续与所述下位机通信,完成通信执行信息,实现上位机与下位机通信的方法需要以下步骤,具体包括步骤300、上位机与下位机建立通信连接;具体地,上位机与下位机建立通信连接之前,定义了 8个虚拟寄存器,共32个字节,每个虚拟寄存器占4个字节(占用的字节数可自行定义),这8个虚拟寄存器并不驻留在任存储部件中,而动态的存在于上位机与下位机之间信息发送或接收的消息包中,在本发明实施例中,以定义8个虚拟寄存器为例进行说明,所述8个虚拟寄存器如表I所示。表I
权利要求
1.一种上位机与下位机通信的方法,其特征在于,所述方法包括 上位机与下位机建立通信连接; 所述上位机向缓存中写入消息包,将所述消息包中信息虚拟寄存器的值设置为通信执行信息; 所述上位机读取所述下位机写入所述缓存中的消息包,判断所述消息包中反馈虚拟寄存器的值与所述信息虚拟寄存器的值是否相同,如果相同,则所述上位机根据所述通信执行信息与所述下位机通信。
2.根据权利要求I所述的上位机与下位机通信的方法,其特征在于,与所述下位机通信过程中,所述上位机与所述下位机发送/接收包括多个虚拟寄存器的消息包,所述上位机与所述下位机读取/写入与当前通信相关的I个或多个虚拟寄存器的值。
3.根据权利要求I所述的上位机与下位机通信的方法,其特征在于,所述上位机与下位机建立通信连接进一步包括 所述上位机将所述信息虚拟寄存器的值设置为通信开始信息,并向所述缓存中写入包括所述信息虚拟寄存器的消息包; 所述上位机读取所述下位机写入所述缓存中的消息包,判断所述消息包中反馈虚拟寄存器的值是否与所述信息虚拟寄存器的值相同,如果相同,则与所述下位机开始下一步通信,否则,终止通信。
4.根据权利要求I所述的上位机与下位机通信的方法,其特征在于,所述通信执行信息包括第一执行信息和第二执行信息,所述第一执行信息为数据传输类信息,所述第二执行信息为非数据传输类信息; 若所述通信执行信息为第一执行信息时,则第一执行信息采用第一发送模式写入所述缓存中; 若所述通信执行信息为第二执行信息时,则第二执行信息采用第二发送模式写入所述缓存中; 所述第一发送模式包括前缀部分和后缀部分,在所述前缀部分存储包括所述多个虚拟寄存器值的消息包,在所述后缀部分存储数据文件的数据包; 所述第二发送模式包括前缀部分,在所述前缀部分存储包括所述多个虚拟寄存器值的消息包。
5.根据权利要求I所述的上位机与下位机通信的方法,其特征在于,所述方法还包括 所述上位机读取所述下位机写入所述缓存中的消息包,判断所述状态虚拟寄存器的值是否为通信结束信息,如果所述状态虚拟寄存器的值为所述通信结束信息,则与所述下位机结束通信。
6.根据权利要求5所述的上位机与下位机通信的方法,其特征在于,所述状态虚拟寄存器还存储所述下位机通信状态的信息。
7.—种上位机与下位机通信的方法,其特征在于,所述方法包括 下位机与上位机建立通信连接; 所述下位机读取所述上位机写入缓存中的消息包; 所述下位机解析所述消息包,所述消息包中信息虚拟寄存器的值为通信执行信息; 所述下位机向反馈虚拟寄存器中写入数值并向所述缓存中写入包括所述反馈虚拟寄存器的消息包; 根据所述通信执行信息继续与所述上位机通信,完成所述通信执行信息。
8.根据权利要求7所述的上位机与下位机通信的方法,其特征在于,所述下位机与上位机建立通信连接进一步包括 所述下位机读取所述上位机写入所述缓存中的消息包; 所述下位机判断所述消息包中的所述信息虚拟寄存器的值是否为通信开始信息,如果是,则将所述通信开始信息写入所述反馈虚拟寄存器中; 所述下位机向所述缓存中写入包括所述反馈虚拟寄存器的消息包。
9.根据权利要求7所述的上位机与下位机通信的方法,其特征在于,所述方法还包括 所述下位机根据所述通信执行信息执行完成后,将将通信结束信息写入所述状态虚拟寄存器,并向缓存中写入包括所述状态虚拟寄存器的消息包,与所述上位机结束通信。
10.根据权利要求9所述的上位机与下位机通信的方法,其特征在于,所述状态虚拟寄存器还存储所述下位机通信状态的信息。
11.一种上位机与下位机通信的装置,其特征在于,所述装置包括 连接单元,用于上位机与下位机建立通信连接; 写入单元,用于所述上位机向缓存中写入消息包,将所述消息包中信息虚拟寄存器的值设置为通信执行信息; 反馈单元,用于所述上位机读取所述下位机写入所述缓存中的消息包,判断所述消息包中反馈虚拟寄存器的值与所述信息虚拟寄存器的值是否相同; 第一执行单元,用于如果相同,则所述上位机根据所述通信执行信息与所述下位机通f目。
12.根据权利要求11所述的上位机与下位机通信的装置,其特征在于,所述连接单元具体用于; 所述上位机将所述信息虚拟寄存器的值设置为通信开始信息,并向所述缓存中写入包括所述信息虚拟寄存器的消息包; 所述上位机读取所述下位机写入所述缓存中的消息包,判断所述消息包中反馈虚拟寄存器的值是否与所述信息虚拟寄存器的值相同,如果相同,则与所述下位机开始下一步通信,否则,终止通信。
13.根据权利要求11所述的上位机与下位机通信的装置,其特征在于,所述写入单元具体用于 第一执行信息和第二执行信息,所述第一执行信息为数据传输类信息,所述第二执行信息为非数据传输类信息; 若所述通信执行信息为第一执行信息时,则第一执行信息采用第一发送模式写入所述缓存中; 若所述通信执行信息为第二执行信息时,则第二执行信息采用第二发送模式写入所述缓存中; 所述第一发送模式包括前缀部分和后缀部分,在所述前缀部分存储包括所述多个虚拟寄存器值的消息包,在所述后缀部分存储数据文件的数据包; 所述第二发送模式包括前缀部分,在所述前缀部分存储包括所述多个虚拟寄存器值的消息包。
14.根据权利要求11所述的上位机与下位机通信的装置,其特征在于,所述装置还包括 判断单元,用于所述上位机读取所述下位机写入所述缓存中的消息包,判断所述状态虚拟寄存器的值是否为通信结束信息; 第二执行单元,用于如果所述状态虚拟寄存器的值为所述通信结束信息,则与所述下位机结束通信。
15.根据权利要求14所述的上位机与下位机通信的装置,其特征在于,所述状态虚拟寄存器还存储所述下位机通信状态的信息。
16.一种上位机与下位机通信的装置,其特征在于,所述装置包括 连接单元,用于下位机与上位机建立通信连接; 读取单元,用于所述下位机读取所述上位机写入缓存中的消息包; 解析单元,用于所述下位机解析所述消息包,所述消息包中信息虚拟寄存器的值为通信执行信息; 写入单元,用于所述下位机向反馈虚拟寄存器中写入数值并向所述缓存中写入包括所述反馈虚拟寄存器的消息包; 执行单元,用于根据所述通信执行信息继续与所述上位机通信,完成所述通信执行信息,
17.根据权利要求16所述的上位机与下位机通信的装置,其特征在于,所述连接单元具体用于 所述下位机读取所述上位机写入所述缓存中的消息包; 所述下位机判断所述消息包中的所述信息虚拟寄存器的值是否为通信开始信息,如果是,则将所述通信开始信息写入所述反馈虚拟寄存器中; 所述下位机向所述缓存中写入包括所述反馈虚拟寄存器的消息包。
18.根据权利要求16所述的上位机与下位机通信的装置,其特征在于,所述装置还包括 设置单元,用于所述下位机根据所述通信执行信息执行完成后,将通信结束信息写入所述状态虚拟寄存器,并向缓存中写入包括所述状态虚拟寄存器的消息包,与所述上位机结束通信。
19.根据权利要求18所述的上位机与下位机通信的装置,其特征在于,所述状态虚拟寄存器还存储所述下位机通信状态的信息。
20.—种上位机与下位机通信的系统,所述系统包括上位机和下位机,其特征在于, 所述系统还包括缓存;其中,上位机和下位机中的一端将另一端需要执行的信息写入所述缓存中,将需要传输的数据写入所述缓存中;上位机和下位机中的另一端从所述缓存中读取需要的信息。
全文摘要
本发明涉及一种上位机与下位机通信的方法、装置及系统。所述方法包括上位机与下位机建立通信连接;所述上位机向缓存中写入消息包,将所述消息包中信息虚拟寄存器的值设置为通信执行信息;所述上位机读取所述下位机写入所述缓存中的消息包,判断所述消息包中反馈虚拟寄存器的值与所述信息虚拟寄存器的值是否相同,如果相同,则所述上位机根据所述通信执行信息与所述下位机通信。
文档编号G06F13/38GK102750249SQ20121021671
公开日2012年10月24日 申请日期2012年6月27日 优先权日2012年6月27日
发明者彭楚, 朱浩, 洪缨, 王东辉 申请人:中国科学院声学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1