摘要:該文介紹了POS(Point of Sales,銷售點終端)系統中軟件升級的方法,從中選出一種方法作為軟件升級的案例,從硬件的設計開始,一直到軟件的設計,詳細說明了如何進行軟件升級。
關鍵詞:POS機;串口通訊;軟件升級
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)28-0131-02
Methods and Designs of Software Upgrading on POS Machine
GAO Jian
(Integrate Circuit College, Southeast University,Nanjing 210096,China)
Abstract: This article introduces the methods of software upgrading in POS (PointofSales)system and selects one method from them as a case of software upgrading, which starts withhardware design, till software design,and explains how to upgrade software.
Key words: POS machine; Serial port communication; Software upgrading
1 前言
近年來,POS(PointofSales,銷售點終端) 因其安全、快捷、方便的特點越來越受到客戶、商家和各家銀行的青睞。隨著新業務的不斷增加和技術的發展,為了能夠使用戶及時的享受到新服務,體驗新技術。可以通過電話線或者通訊端口下載更新數據,完成POS機軟件程序的更新,更好的滿足用戶的需求。
2 軟件升級的方法
POS機軟件升級的方法有兩種:一種是通過MODEM經電話線連接遠端服務器,下載更新程序完成軟件的更新。第二種是通過串口的方式來實現程序的更新。通過電話線的方式,其優點是能夠在不同時段不同地點對不同機型實現軟件程序的更新,缺點是POS機通過MODEM經電話線連接遠端服務器,連接的速率偏低,平均速率為1200b/S,對大容量的數據更新所花時間較多并且在傳輸過程中容易出錯;通過串口的方式更新POS機程序,其更新的速度快(平均速率為115200b/S),且距離近數據傳輸不易出錯。缺點是不能夠同時對不同地點的POS機進行更新。在選擇采用那種方式對POS機軟件程序進行升級,根據我們實施的環境,選擇通過串口的方式來實現POS機程序的更新。
3 硬件的設計
串口硬件設計的方案如圖1所示。
由于POS機處理器主要通過RS-232 協議和外設間進行串行通信,經過此電路能夠將主處理器的信號電平轉換為RS-232電平,以達到與PC機通信的目的。
4 軟件升級的框架結構
軟件升級的框架結構主要分為三層結構:
第一層:應用界面層
第二層:管理層
第三層:硬件驅動層
其圖如圖2。
4.1 應用界面層
應用界面層主要管理軟件更新程序界面的選擇和捕獲鍵盤的信號。POS機需要對軟件更新的地方有三個部分。1) BOOTLOAD的更新;2) KERNEL(內核)的更新;3)字庫的更新。它們在FLASH中存放的位置如圖3所示。
圍繞這三個部分,通過獲得不同的鍵盤信號來驅動各個部分的更新程序,當管理層處理完更新程序后,告知應用界面層,更新成功或失敗。
4.2 管理層
管理層由四個部分組成:1) 串口部分;2)時鐘部分;3)SDRAM部分; 4) FLASH部分。其具體工作原理如下:
4.2.1 串口部分
串口部分負責激活硬件驅動層。打開接收/發送數據的通道。為正確的接收/發送數據做準備。
軟件流程實現如圖4所示。
4.2.2 時鐘部分
時鐘部分管理時鐘的開啟,關閉及數據信號處理。當接受到應用界面層的更新信號時,時鐘打開,并等待一段時間,在規定的時間內,捕獲到數據的信號,關閉時鐘,開始接受數據。如果在此時間內沒有捕獲到數據的信號,關閉時鐘,并向應用界面層發送沒有接受到數據的信號。
軟件流程實現如圖5所示。
4.2.3 SDRAM部分
SDRAM部分負責為接收的更新數據開緩沖池,當更新的數據接受完成后。通知FLASH部分對接受的數據進行處理,在處理完成后,關閉緩沖池。
4.2.4 FLASH部分
FALSH主要是對在SDRMA部分開的緩沖池內的更新數據進行FLASH的擦寫操作,根據不同升級部分的數據按照指定的位置對原FLASH數據進行更新,系統重起后,將自動調用這部分已更新的數據,從而完成POS機軟件的升級。
軟件流程實現如圖6所示。
4.3 硬件驅動層
硬件驅動層負責處理器串口通訊模塊的驅動。我們采用的處理器為東南大學ASIC工程中心自主研發的基于ARM7內核的處理芯片,要實現與外部的通訊,必須對主處理器串口通訊模塊部分進行配置。在串口通訊模塊中主要配置三個寄存器,分別為:
1) 中斷使能寄存器
中斷使能寄存器用于使能或屏蔽各個中斷源。串口模塊中有四個可屏蔽的中斷源。需要注意的是接收模塊的時鐘溢出中斷一直有效,不需要進行配置。
2) FIFO 控制寄存器
FIFO 控制寄存器用于設置發送和接收 FIFO 的觸發級,以及清除FIFO 操作。
3) 行控制寄存器
行控制寄存器用于設置接收和發送的數據結構。如配置波特率、校驗位、停止位,數據位等。
5 結語
本文提供了一種解決POS機軟件升級的方法。此設計已經在工程項目中得到了良好的測試效果,解決了POS機軟件升級的問題,滿足了用戶對性能的需求。
參考文獻:
[1] 李朝青.單片機原理及接口技術[M].北京:北京航空航天大學出版社,1994.
[2] 丁戈.數字機頂盒軟件串口升級及防非盜系統的實現[D].電子科技大學,2006.
[3] 何立民.單片機應用系統設計[M].北京:北京航空航天大學出版社,1990.