引言
稅控設備是國家稅務部門實施稅收管理信息化的必然手段之一,稅控器作為稅控設備之一,它是在計算機等電子設備的配合下實現稅控功能的電子裝置,保證經營數據的正確生成、可靠存儲和安全傳輸,能滿足稅務機關的管理和數據核查等要求。稅控器是集軟硬件于一體的嵌入式系統,為了提高開發效率和通用性,采用模塊化設計,劃分層次結構,盡可能實現硬件的靈活性和軟件的可移植性要求。
μPSD32XX單片機特點
μPSD32XX系列單片機是意法半導體(ST)公司推出得一款新型單片機,它采用增強型MCS-51內核,是MCU+PSD的SoC單片機,具有2片Flash存儲器、可選擇備電保護的大容量SRAM、地址譯碼DPLD和組合邏輯CPLD兩種可編程邏輯電路、6組通用I/O提供多達37或46個I/O引腳、4或5路脈寬調制單元PWM、4路8位ADC、主從方式的I2C、獨立的顯示數據通道DDC、USB 1.1接口、2路串行通道UART、內部看門狗定時器、在系統編程的JTAG口、可編程的加密安全技術、零功耗技術等豐富的功能和外設。
軟件可在KEIL公司的KEIL 51集成開發環境μVision2中進行設計、編譯和仿真,運用ST公司的PSDsoft Express軟件進行編程下載和內部配置。該軟件可以對μPSD32XX系列單片機的片內FLASH、SRAM和PLD進行配置,將編譯生成的程序代碼文件(.HEX)和配置文件融合生成.OBJ文件,下載到單片機中。下載時還需使用FlashLINK編程電纜連接PC的標準并口和單片機的JTAG口。
稅控器應用方案設計
稅控器平臺應具備一些基本功能:具有實時時鐘和記錄稅控數據的大容量存儲器,符合ISO 7816標準的IC卡讀寫器,支持稅控卡、用戶卡和稅務管理卡,通過USB或串口與主機通信,具有在掉電后可保存存儲器數據和時鐘運行的備份電池。稅控器作為外掛設備,其連接關系如圖1所示,內部的硬件系統結構見圖2。
---
主控模塊MCU采用ST公司的 μPSD3234A單片機,它內部具有256KB的主FLASH,32KB的次FLASH和32KB SRAM,工作電壓為5V,晶振選用24MHz。其中SRAM由片外的備用電池保護數據,可存放一些長期保存的數據,維持電流1μA。通過USB或UART與主機相連,通過I2C與RTC相連,通過通用I/O與ICC及MEM相連。
時鐘模塊RTC采用ST公司的M41T0M6,提供實時時鐘/日歷功能,在系統掉電以后由片外的備用電池供電。
存儲器采用ST公司的串行FLASH M25P16,容量為2MB,主要用來存儲發票數據和稅控數據。SPI總線接口的最大傳輸速率50MHz,工作電壓為3.3V。
IC卡模塊ICC采用安森美公司的NCN6004A,雙路卡接口,符合ISO 7816-3和EMV標準,MCU通過I/O線與其通信。為了節省I/O資源,可選擇復用連線方式,兩個卡共享一路通道,由選卡信號區分,分別實現稅控卡和用戶卡的訪問功能。
USB通信采用安森美公司的STF202作為終端匹配、濾波和ESD保護,通信速率1.5Mbps。由于MCU內部具有SIE、FIFO和收發器,SIE可以將傳輸信號變成字節存入寄存器,所以通過事先對SIE的配置,然后訪問已定義的地址和端口,來實現通信的控制、中斷、收發等操作。
UART的電平轉換芯片采用Intersil公司的HIN202,MCU內部具有2路UART,均可選作RS232通信。
外部供電電源分為兩路,一路可用AC/DC適配器直接提供+5V;另一路由主機通過USB接口線輸入(5V/500mA)。用戶可任選一路,直接提供給5V的器件工作。
為了實現電保護,采用安森美公司的升壓芯片NCP1402SN50T1,當正常工作時,為大電容充電,一旦斷電,大電容仍可維持該芯片工作一段時間,此時可完成一些重要的任務,避免意外斷電產生錯誤。大電容采用了2個串聯3.3F/2.5V的卷繞型電容,當充滿時可維持供電30s以上。
采用安森美公司的NCP500SN33T1作為5V至3.3V電壓轉換器,輸出電流150mA,提供給3.3V器件工作。備用電池采用的是2節3V/210mAh鋰電池,至少可用10年以上。
監控模塊采用安森美公司的MAX708,實現上電復位和手動復位的功能。MAX708還具有電壓監控功能,在PFI端選用適當的分壓電阻,當主電源掉電時,就可產生掉電中斷信號。
狀態指示采用發光二級管,分別用于指示電源接通,卡插入指示、JATG程序下載等狀態。在MCU的I/O上還可連接自定義的狀態指示,如出錯、運行、自檢測等狀態。
軟件設計方案
稅控器軟件總體上應包含兩大部分:主機端軟件和設備端軟件。主機端與設備端之間進行的數據通信采用“命令—應答”方式,由主機端發送命令,設備端應答。
主機端軟件可分為四層:應用層、稅控函數層、通信管理層和設備驅動層;設備端軟件也可分為四層:主控層、稅控函數層、設備管理層、硬件驅動層。這里主要介紹設備端軟件。
主控函數負責系統和設備的初始化,與主機間的通信監控、協議管理、稅控命令包的解釋和任務的調度等事務。
稅控函數是按照國標對稅控器的要求設計,負責機器初始化和注冊、分發發票、開發票、退票、廢票、上傳發票,日交易和卷匯總數據、申報、核查等稅控應用事務。
設備管理層是針對復雜的設備所設計的管理程序,主要包括IC卡管理、存儲器管理、USB通信管理。
IC卡管理程序是按照[GB 18240.2-2003]稅控IC卡規范的要求,設計對卡的操作命令程序,命令分為基本命令和擴展命令。基本命令有文件操作、讀寫記錄、產生隨機數、內外部認證、取響應、應用鎖定等功能;稅控卡專用命令有卡注冊、開票、日交易簽名等功能;用戶卡專用命令有注冊簽名、分發發票、報稅數據匯總等功能。
存儲器管理程序是對Flash存儲空間進行地址分配管理,以及按循環記錄的方式設計,完成對發票明細、日交易和卷匯總記錄的格式化、讀寫、查找等事務,同時還管理存儲在SRAM的地址分配表,記錄指針等數據。
USB通信管理程序是按照低速USB1.1的規范,人機接口設備(HID)類別的要求設計,完成總線枚舉和數據通信的事務。主要采用了Endpoint 0(IN/OUT)控制傳輸方式,使用輸入輸出報表格式來與主機交換數據。
硬件驅動層主要是各個硬件設備的實現底層操作的驅動程序,包括時鐘、IC卡、FLASH、UART和USB等API庫函數。時鐘函數實現設置、讀、寫時鐘和日歷等功能;IC卡函數實現IC卡的插卡檢測、卡上下電、卡復位和卡命令等功能;FLASH函數實現外部FLASH存儲器的擦除、讀、寫數據等功能;UART和USB函數實現設置,接收和發送數據等功能。
總結
按照模塊化思想,硬件采用的是模塊+底板架構,主處理及核心硬件都集中于模塊上,電源與接插件等放置在底板上。軟件底層對上層都采用API函數的形式。通過包括器件、軟硬件開發平臺、解決方案和全功能模塊等形式在內的產品和服務,構建多種開發與合作的模式,有助于促進整機廠商的大規模生產,降低成本和節省時間。
責任編輯:gt
-
單片機
+關注
關注
6035文章
44554瀏覽量
634653 -
mcu
+關注
關注
146文章
17123瀏覽量
350992 -
存儲器
+關注
關注
38文章
7484瀏覽量
163764
發布評論請先 登錄
相關推薦
評論