制模塊處于更新模式;如果呼吸機的控制模塊未接收升級指令,或者未接受完升級指令,或者接收升級指令之后未能進入更新模式,則上位機判斷控制模塊未處于更新模式,且上位機發送復位指令至呼吸機的控制模塊,以控制控制模塊重啟以進入更新模式。
[0028]S4,在上位機判斷呼吸機的控制模塊處于更新模式之后,對升級文件進行解析以生成數據包,并將數據包發送至呼吸機的控制模塊以使控制模塊進行升級。
[0029]具體地,在本發明的一個實施例中,當上位機啟動升級程序后,且在上位機判斷呼吸機的控制模塊需要進行升級、升級文件存在且升級文件的格式正確且呼吸機的控制模塊處于更新模式之后,上位機讀取控制模塊中的存儲器的存儲信息,且上位機控制存儲器進行擦除操作以擦除存儲器需要燒寫的區域。其中,當呼吸機的控制模塊接收升級指令進入更新模式之后,上位機通過控制模塊的引導程序讀取控制模塊中的存儲器的存儲信息例如Flash信息,如果查詢即讀取存儲信息失敗,則上位機退出升級程序;如果讀取存儲信息成功,則上位機控制存儲器進行擦除操作以擦除存儲器需要燒寫的區域。
[0030]進一步地,在本發明的一個實施例中,在上位機控制存儲器進行擦除操作以擦除存儲器需要燒寫的區域之后,上位機對升級文件進行解析以生成數據包。具體地,上位機根據存儲器需要燒寫的區域對升級文件進行解析以生成數據包。更具體地,上位機根據儲器需要燒寫的區域對數據文件即升級文件內容進行解析,并按照存儲器需要燒寫的區域例如燒寫的地址和大小進行數據打包即進行解析以生成數據包,并且上位機將數據包發送至呼吸機的控制模塊以使控制模塊進行升級。
[0031]在本發明的一個實施例中,當數據包發送完成后,控制模塊升級完成,上位機退出升級程序。其中,上位機將數據包發送至呼吸機的控制模塊時,控制模塊進行燒寫和校驗,即控制模塊一邊接收數據包一邊進行燒寫和校驗。另外,在本發明的一個實施例中,當數據包發送完成后,控制模塊的升級完成,即控制模塊完成燒寫和校驗,上位機退出升級程序。本發明實施例的上位機在發送數據包完成時,自動確認升級成功,上位機退出升級程序。
[0032]在本發明的另一個實施例中,當數據包發送完成后,控制模塊進行燒寫和校驗,并在控制模塊進行燒寫和校驗完成后,控制模塊發送升級完成指令至上位機。其中,上位機將數據包發送至呼吸機的控制模塊,直到數據包發送完成之后,控制模塊開始進行燒寫和校驗,當燒寫和校驗完成之后,控制模塊進行一個反饋即發送升級完成指令至上位機,上位機接收升級完成指令之后,確認升級成功,上位機退出升級程序。需要說明的是,在本發明實施例中,控制模塊進行燒寫和校驗完成即控制模塊完成升級。
[0033]圖2為根據本發明一個具體實施例的呼吸機的控制模塊的升級方法的流程圖。下面參照圖2對本發明實施例的呼吸機的控制模塊的升級方法進行更具體地描述。如圖2所示,上述的呼吸機的控制模塊的升級方法包括以下步驟:
[0034]S11,上位機啟動升級程序。
[0035]S12,判斷呼吸機的控制模塊是否需要進行升級。如果是,執行步驟S13 ;如果否,執行步驟S23。
[0036]在本發明的一個實施例中,在上位機啟動升級程序后,上位機獲取呼吸機的控制模塊的最新版本信息,并對控制模塊的當前版本信息和最新版本信息進行比較,當呼吸機的控制模塊的當前版本低于控制模塊的最新版本時,上位機判斷呼吸機的控制模塊需要進行升級,上位機執行下一步驟;當呼吸機的控制模塊的當前版本就是控制模塊的最新版本時,上位機判斷呼吸機的控制模塊不需要進行升級,上位機退出升級程序。
[0037]S13,判斷升級文件是否存在。如果是,執彳了步驟S14 ;如果否,執彳了步驟23。
[0038]在本發明實施例中,當上位機啟動升級程序后,且呼吸機的控制模塊的當前版本低于控制模塊的最新版本,上位機判斷呼吸機的控制模塊需要進行升級時,上位機獲取升級文件及判斷升級文件是否存在,即判斷上位機是否獲取升級文件成功,如果上位機判斷升級文件存在,則執行下一步驟;如果上位機判斷升級文件不存在,則上位機退出升級程序。
[0039]S14,判斷升級文件格式是否正確。如果是,執行步驟S15 ;如果否,執行步驟S23。
[0040]在本發明實施例中,當上位機判斷升級文件存在時,上位機判斷升級文件的格式是否正確,如果升級文件的格式為呼吸機的控制模塊升級對應的升級文件的格式,上位機判斷升級文件的格式正確,執行下一步驟;如果升級文件的格式不是呼吸機的控制模塊升級對應的升級文件的格式,上位機判斷升級文件的格式不正確,上位機退出升級程序。
[0041]S15,判斷控制模塊是否處于更新模式。如果是,執行步驟S17 ;如果否,執行步驟S16。
[0042]在本發明實施例中,當上位機判斷升級文件的格式正確之后,上位機發送升級指令至呼吸機的控制模塊,使控制模塊進入更新模式,且上位機判斷呼吸機的控制模塊是否處于更新模式。如果呼吸機的控制模塊接收升級指令后進入更新模式,則上位機判斷控制模塊處于更新模式;如果呼吸機的控制模塊未接收升級指令,或者未接受完升級指令,或者接收升級指令之后未能進入更新模式,則上位機判斷控制模塊未處于更新模式。
[0043]S16,發送復位指令。
[0044]在本發明實施例中,上位機判斷控制模塊未處于更新模式,則上位機發送復位指令至呼吸機的控制模塊,以控制控制模塊重啟以進入更新模式。
[0045]S17,讀取存儲信息。如果成功,執行步驟S18 ;如果失敗,執行步驟S23。
[0046]S18,擦除存儲器。
[0047]具體地,在本發明實施例中,當上位機判斷控制模塊處于更新模式后,上位機讀取控制模塊中的存儲器的存儲信息,且上位機控制存儲器進行擦除操作以擦除存儲器需要燒寫的區域。其中,當呼吸機的控制模塊接收升級指令進入更新模式之后,上位機通過控制模塊的引導程序讀取控制模塊中的存儲器的存儲信息例如Flash信息,如果讀取即查詢存儲信息失敗,則上位機退出升級程序;如果讀取存儲信息成功,則上位機控制存儲器進行擦除操作以擦除存儲器需要燒寫的區域,并執行下一步驟。
[0048]S19,數據文件解析并打包。
[0049]在本發明的一個實施例中,上位機根據存儲器需要燒寫的區域對數據文件即升級文件內容進行解析,并按照存儲器需要燒寫的區域例如燒寫的地址和大小進行數據打包即進行解析以生成數據包。上位機將數據包發送至呼吸機的控制模塊以使控制模塊進行升級。
[0050]S20,發送數據包。
[0051]在本發明實施例中,上位機將數據包發送至呼吸機的控制模塊以使控制模塊進行升級。
[0052]S21,判斷數據包是否發送完成。如果是,執行步驟S22 ;如果否,返回上一步驟S20,重新判斷。
[0053]S22,升級成功,退出升級程序。
[0054]S23,升級失敗,退出升級程序。
[0055]其中,在本發明的一個實施例中,當數據包發送完成后,控制模塊升級完成,上位機退出升級程序。其中,上位機將數據包發送至呼吸機的控制模塊時,控制模塊進行燒寫和校驗,即控制模塊一邊接收數據包一邊進行燒寫和校驗。另外,在本發明的一個實施例中,當數據包發送完成后,控制模塊的升級完成,即控制模塊完成燒寫和校驗,上位機退出升級程序。本發明實施例的上位機在發送數據包完成時,自動確認升級成功,上位機退出升級程序。
[0056]在本發明的另一個實施例中,當數據包發送完成后,控制模塊進行燒寫和校驗,并在控制模塊進行燒寫和校驗完成后,控制模塊發送升級完成指令至上位機。其中,上位機將數據包發送至呼吸機的控制模塊,直到數據包發送完成之后,控制模塊開始