基于STM32F107的嵌入式POS系統(tǒng)設(shè)計(jì)
針對(duì)目前嵌入式收款機(jī)系統(tǒng)在功能和性價(jià)比方面存在不足的問題,介紹了一種基于Cortex M3芯片的嵌入式收款機(jī)系統(tǒng)。該系統(tǒng)功能全面、性能良好、界面完善、具有故障分析和機(jī)器自檢功能。運(yùn)行結(jié)果表明,該系統(tǒng)實(shí)現(xiàn)了預(yù)期目標(biāo)。
本文引用地址:http://butianyuan.cn/article/262483.htm本文介紹了以STM32F107 單片機(jī)為核心的POS 機(jī)、數(shù)據(jù)采集和數(shù)據(jù)輸出的小規(guī)模銷售系統(tǒng)。目前的嵌入式收款機(jī)系統(tǒng)在硬件和軟件方面在成本上沒有有效的控制,在功能上沒有很充分地開發(fā)。而此款POS 系統(tǒng)平臺(tái)則擁有成本低廉、操作方便、易于自檢維修等方面的優(yōu)勢。
POS 機(jī)的基本作業(yè)原理是先將商品資料輸入進(jìn)SPIFlash 中存儲(chǔ),商品上的條碼可以通過掃描槍上的光學(xué)讀取設(shè)備直接讀入,根據(jù)條形碼在收款機(jī)內(nèi)存中的商品數(shù)據(jù)庫找到該商品的相關(guān)內(nèi)容,當(dāng)然也可以直接用鍵盤輸入條形碼。每一筆商品銷售明細(xì)資料亦可自動(dòng)統(tǒng)計(jì),并且最多可以存一萬筆以上交易記錄。
1 系統(tǒng)設(shè)計(jì)
1.1 硬件結(jié)構(gòu)
本系統(tǒng)采用ARM Cortex M3 為內(nèi)核的32 位微處理器STM32F107VC,其主頻為72 Hz,該芯片內(nèi)部采用哈佛結(jié)構(gòu),內(nèi)部集成了最大存儲(chǔ)空間為256K 的Flash和64K 的SRAM,還有大量的I/O 口和外設(shè)(2 個(gè)I2 C 總線,3 個(gè)SPI,2 個(gè)I2 S,5 個(gè)USART,2 個(gè)CAN 等等)連接在2 個(gè)APB 總線上。
該系統(tǒng)硬件主要包括:收款數(shù)據(jù)處理模塊、收款程序存儲(chǔ)模塊、收款數(shù)據(jù)存儲(chǔ)模塊、串口調(diào)試模塊、收款顯示模塊、報(bào)表打印模塊、USB 模塊。系統(tǒng)硬件結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)硬件結(jié)構(gòu)框圖
系統(tǒng)的實(shí)物圖如圖2 所示。
圖2 系統(tǒng)的實(shí)物圖
在初始化時(shí),為了便于用戶或者維修人員及時(shí)了解設(shè)備運(yùn)轉(zhuǎn)情況和數(shù)據(jù)存儲(chǔ)情況,調(diào)試信息務(wù)必顯示在液晶屏上。通過CH452 鍵盤將中英文輸入信息輸入到設(shè)備上,通過掃描槍將商品中的條形碼讀取到設(shè)備中,最后還可將交易記錄輸出到小票打印機(jī)上,最多可以一次性記錄一萬次交易信息。交易信息、用戶等資料存放在SPI Flash中,時(shí)鐘信息放在RTC 備用器中。
1.2 外設(shè)設(shè)備
1.2.1 輸入/輸出接口芯片和數(shù)碼管顯示芯片
CH452 是數(shù)碼管顯示驅(qū)動(dòng)和鍵盤掃描控制芯片,可以同時(shí)進(jìn)行64 鍵的鍵盤掃描和8 位數(shù)碼管的操作,具有BCD 譯碼、閃爍、移位、段位尋址等功能,還能對(duì)CPU 提供上電復(fù)位信號(hào)。
本次研究對(duì)象中CH452的LCD 交換數(shù)據(jù)功能是通過級(jí)聯(lián)的4 線串行接口完成的。在鍵盤掃描期間,DIG7~DIG0 引腳用于列掃描輸出,并且可以依次從DIG0 ~DIG7 輸出高電平,同時(shí)其余的引腳置0.SEG7 ~SEG0引腳都帶有內(nèi)部下拉電阻,用于行掃描輸入,在鍵盤掃描期間輸出被禁止。
啟用鍵盤掃描功能后,4 線串行接口中的DOUT 引腳的功能由串行接口的數(shù)據(jù)輸出變?yōu)殒I盤中斷輸出以及按鍵數(shù)據(jù)輸出。如果有DIGm(m=0,1,2…7)與SEGn(n=0,1,2 …7)的鍵被按下,那么當(dāng)DIGm 輸出高電平時(shí),SEGn 可以檢測到高電平;如果按鍵有效,按鍵產(chǎn)生的代碼通過DOUT 引腳就能夠產(chǎn)生中斷,CPU 則用串行接口來讀取代碼。
另外,CH452 僅支持每次同時(shí)按下一個(gè)鍵,如果有多個(gè)鍵值按下,則取按鍵代碼較小的按鍵。
表1、表2 是在DIG7~DIG0 與SEG7~SEG0 之間8×8 矩陣的按鍵編址,按鍵按下時(shí),狀態(tài)碼位6 總是置1,而按鍵代碼共有7 位,所以當(dāng)鍵按下時(shí),CH452 所提供的實(shí)際按鍵代碼在下表中的按鍵編址基礎(chǔ)上偏移40H.也就是說,本文設(shè)定的按鍵代碼的取值范圍應(yīng)該在40H~7FH 之間。
CH452 還可以控制8 個(gè)數(shù)碼管和64 個(gè)LED 燈,在這次項(xiàng)目中根據(jù)不同的界面可以用來顯示時(shí)間、商品價(jià)格等可以用數(shù)字表示的參數(shù)。
CH452 與作為CPU 的STM32 的連接方式如圖3 所示。
圖3 CH452 與STM32F107VC 的連接
1.2.2 存儲(chǔ)設(shè)備
W25X16 是華邦公司推出的繼W25X10/20/40/80 后容量更大的FLASH 存儲(chǔ)器產(chǎn)品,它有占用空間小、使用壽命長、功耗較低等優(yōu)點(diǎn)。W25X16 能容納2 MB,分布在8 192 個(gè)編程頁上。它分為32 個(gè)塊,每個(gè)塊由16 個(gè)扇區(qū)組成,W25X16 的最少擦除單位就是一個(gè)扇區(qū)(4 KB)。W25X16 與STM32F107VC 的連接方式如圖4 所示。
圖4 W25X16 與STM32F107VC 的連接
1.2.3 打印機(jī)
本次項(xiàng)目采用熱敏打印機(jī)來輸出每次交易信息。商寶熱敏打印機(jī)支持并口、串口、USB、LAN 網(wǎng)絡(luò)等途徑傳輸數(shù)據(jù),帶有384 個(gè)方點(diǎn)的帶加熱點(diǎn)陣固定打印頭。打印機(jī)通過CPU 傳輸?shù)臄?shù)據(jù)邏輯控制點(diǎn)陣,并且控制進(jìn)紙,從而在熱敏紙上印出字體,打出顧客需要的包含交易信息的小票。
1.2.4 掃描輸入設(shè)備
掃描槍利用收集到的條形碼上強(qiáng)弱不同的反射光,經(jīng)過光學(xué)系統(tǒng)成像通過光電轉(zhuǎn)換器將光信號(hào)轉(zhuǎn)換成電信號(hào),譯碼器根據(jù)測量而來的脈沖信號(hào)0、1 來判別條和空的數(shù)目,得到的數(shù)據(jù)還要通過對(duì)應(yīng)的編碼規(guī)則(比如本次項(xiàng)目所用的掃描儀運(yùn)用EAN 13 碼)轉(zhuǎn)換成條形碼序列號(hào)。
1.2.5 顯示設(shè)備
TFT LCD 因其具有大容量、高速度和高對(duì)比度顯示等,成為當(dāng)前顯示領(lǐng)域的主流。LCD 利用了液晶的電光效應(yīng),通過電路控制液晶單元的透射率及反射率,從而產(chǎn)生不同灰度層次及多達(dá)1670 萬種色彩的靚麗圖像,顯示需要的英文和漢文信息都是通過點(diǎn)陣原理完成的。
本次項(xiàng)目采用SSD1289 液晶顯示屏來輸出收款機(jī)各個(gè)界面,SSD1289 是一款帶有262 144 種顏色的薄膜場效應(yīng)管LCD 的控制器,它的屏幕尺寸為57 mm×79 mm,有效顯示面積為51 mm×65 mm.它具有240×320 的分辨率,SSD1289 具有4 種接口模式:i8080 的MPU 接口、VSINC 接口、SPI 接口和18 位RGB 接口。STM32F107VC 通過FCMS 總線來控制LCD 的驅(qū)動(dòng)。液晶與STM32F107VC 的連接方式如圖5 所示。
pos機(jī)相關(guān)文章:pos機(jī)原理
晶振相關(guān)文章:晶振原理 透射電鏡相關(guān)文章:透射電鏡原理 三維掃描儀相關(guān)文章:三維掃描儀原理 熱敏打印機(jī)相關(guān)文章:熱敏打印機(jī)原理
評(píng)論