基於STM32F107的嵌入式POS系統設計

2020-11-26 電子產品世界

  針對目前嵌入式收款機系統在功能和性價比方面存在不足的問題,介紹了一種基於Cortex M3晶片的嵌入式收款機系統。該系統功能全面、性能良好、界面完善、具有故障分析和機器自檢功能。運行結果表明,該系統實現了預期目標。

本文引用地址:http://www.eepw.com.cn/article/262483.htm

  本文介紹了以STM32F107 單片機為核心的POS 機、數據採集和數據輸出的小規模銷售系統。目前的嵌入式收款機系統在硬體和軟體方面在成本上沒有有效的控制,在功能上沒有很充分地開發。而此款POS 系統平臺則擁有成本低廉、操作方便、易於自檢維修等方面的優勢。

  POS 機的基本作業原理是先將商品資料輸入進SPIFlash 中存儲,商品上的條碼可以通過掃描槍上的光學讀取設備直接讀入,根據條形碼在收款機內存中的商品資料庫找到該商品的相關內容,當然也可以直接用鍵盤輸入條形碼。每一筆商品銷售明細資料亦可自動統計,並且最多可以存一萬筆以上交易記錄。

  1 系統設計

  1.1 硬體結構

  本系統採用ARM Cortex M3 為內核的32 位微處理器STM32F107VC,其主頻為72 Hz,該晶片內部採用哈佛結構,內部集成了最大存儲空間為256K 的Flash和64K 的SRAM,還有大量的I/O 口和外設(2 個I2 C 總線,3 個SPI,2 個I2 S,5 個USART,2 個CAN 等等)連接在2 個APB 總線上。

  該系統硬體主要包括:收款數據處理模塊、收款程序存儲模塊、收款數據存儲模塊、串口調試模塊、收款顯示模塊、報表列印模塊、USB 模塊。系統硬體結構框圖如圖1所示。

  

 

  圖1 系統硬體結構框圖

  系統的實物圖如圖2 所示。

  

 

  圖2 系統的實物圖

  在初始化時,為了便於用戶或者維修人員及時了解設備運轉情況和數據存儲情況,調試信息務必顯示在液晶屏上。通過CH452 鍵盤將中英文輸入信息輸入到設備上,通過掃描槍將商品中的條形碼讀取到設備中,最後還可將交易記錄輸出到小票印表機上,最多可以一次性記錄一萬次交易信息。交易信息、用戶等資料存放在SPI Flash中,時鐘信息放在RTC 備用器中。

  1.2 外設設備

  1.2.1 輸入/輸出接口晶片和數碼管顯示晶片

  CH452 是數碼管顯示驅動和鍵盤掃描控制晶片,可以同時進行64 鍵的鍵盤掃描和8 位數碼管的操作,具有BCD 解碼、閃爍、移位、段位尋址等功能,還能對CPU 提供上電復位信號。

  本次研究對象中CH452的LCD 交換數據功能是通過級聯的4 線串行接口完成的。在鍵盤掃描期間,DIG7~DIG0 引腳用於列掃描輸出,並且可以依次從DIG0 ~DIG7 輸出高電平,同時其餘的引腳置0.SEG7 ~SEG0引腳都帶有內部下拉電阻,用於行掃描輸入,在鍵盤掃描期間輸出被禁止。

  啟用鍵盤掃描功能後,4 線串行接口中的DOUT 引腳的功能由串行接口的數據輸出變為鍵盤中斷輸出以及按鍵數據輸出。如果有DIGm(m=0,1,2…7)與SEGn(n=0,1,2 …7)的鍵被按下,那麼當DIGm 輸出高電平時,SEGn 可以檢測到高電平;如果按鍵有效,按鍵產生的代碼通過DOUT 引腳就能夠產生中斷,CPU 則用串行接口來讀取代碼。

  另外,CH452 僅支持每次同時按下一個鍵,如果有多個鍵值按下,則取按鍵代碼較小的按鍵。

  表1、表2 是在DIG7~DIG0 與SEG7~SEG0 之間8×8 矩陣的按鍵編址,按鍵按下時,狀態碼位6 總是置1,而按鍵代碼共有7 位,所以當鍵按下時,CH452 所提供的實際按鍵代碼在下表中的按鍵編址基礎上偏移40H.也就是說,本文設定的按鍵代碼的取值範圍應該在40H~7FH 之間。

  CH452 還可以控制8 個數碼管和64 個LED 燈,在這次項目中根據不同的界面可以用來顯示時間、商品價格等可以用數字表示的參數。

  

 

  CH452 與作為CPU 的STM32 的連接方式如圖3 所示。

  

 

  圖3 CH452 與STM32F107VC 的連接

  1.2.2 存儲設備

  W25X16 是華邦公司推出的繼W25X10/20/40/80 後容量更大的FLASH 存儲器產品,它有佔用空間小、使用壽命長、功耗較低等優點。W25X16 能容納2 MB,分布在8 192 個編程頁上。它分為32 個塊,每個塊由16 個扇區組成,W25X16 的最少擦除單位就是一個扇區(4 KB)。W25X16 與STM32F107VC 的連接方式如圖4 所示。

  

 

  圖4 W25X16 與STM32F107VC 的連接

  1.2.3 印表機

  本次項目採用熱敏印表機來輸出每次交易信息。商寶熱敏印表機支持並口、串口、USB、LAN 網絡等途徑傳輸數據,帶有384 個方點的帶加熱點陣固定列印頭。印表機通過CPU 傳輸的數據邏輯控制點陣,並且控制進紙,從而在熱敏紙上印出字體,打出顧客需要的包含交易信息的小票。

  1.2.4 掃描輸入設備

  掃描槍利用收集到的條形碼上強弱不同的反射光,經過光學系統成像通過光電轉換器將光信號轉換成電信號,解碼器根據測量而來的脈衝信號0、1 來判別條和空的數目,得到的數據還要通過對應的編碼規則(比如本次項目所用的掃描儀運用EAN 13 碼)轉換成條形碼序列號。

  1.2.5 顯示設備

  TFT LCD 因其具有大容量、高速度和高對比度顯示等,成為當前顯示領域的主流。LCD 利用了液晶的電光效應,通過電路控制液晶單元的透射率及反射率,從而產生不同灰度層次及多達1670 萬種色彩的靚麗圖像,顯示需要的英文和漢文信息都是通過點陣原理完成的。

  本次項目採用SSD1289 液晶顯示屏來輸出收款機各個界面,SSD1289 是一款帶有262 144 種顏色的薄膜場效應管LCD 的控制器,它的屏幕尺寸為57 mm×79 mm,有效顯示面積為51 mm×65 mm.它具有240×320 的解析度,SSD1289 具有4 種接口模式:i8080 的MPU 接口、VSINC 接口、SPI 接口和18 位RGB 接口。STM32F107VC 通過FCMS 總線來控制LCD 的驅動。液晶與STM32F107VC 的連接方式如圖5 所示。

相關焦點

  • 基於STM32L151的可攜式氣體檢測儀設計
    作者 / 何源 黃夢濤 王偉峰本文引用地址:http://www.eepw.com.cn/article/201712/373595.htm  西安科技大學 電氣與控制工程學院(陝西 西安 710054)  何源(1990-),男,嵌入式系統設計師,研究方向:智能傳感器、工業控制系統
  • 基於Yocto Project的嵌入式應用設計
    本設計主要基於Yocto Project在嵌入式設備上輕鬆定製嵌入式Linux應用,並實現Yocto Project的定製過程。Yocto Project提供基於社區測試的支持多種架構的鏡像。Yocto Project的優點如下:具有高質量的構建系統,平等地支持所有主流的嵌入式架構(ARM、Power PC、MIPS、x86(32&64位)),緊密跟蹤許多上遊開源項目的最新發布版本,具有統一的Linux BSP格式和應用程式開發套件,還可輕鬆地實現從原型切換到商用嵌入式Linux產品。
  • 嵌入式導航系統的組成與設計流程
    因此,以嵌入式系統為主要平臺的數碼地理整合性應用與其因應方案,也就是手持式、車載GPS全球衛星導航系統,便可解決對此人們急迫的需求性。基於S3C2440A微處理器和Win CE 5.0嵌入式作業系統,設計了一套可靠且實用的嵌入式導航系統,所提供的功能可以滿足人們現階段日常生活的需要。 1 嵌入式導航系統主要組成 嵌入式導航系統由硬體層、軟體層和中間層組成。
  • 基於Android的嵌入式Web伺服器設計
    摘要:隨著Internet技術的興起,在嵌入式設備的管理與交互中,基於Web方式的應用成為目前的主流。本文主要論述了基於Android系統環境,在家庭網關中實現嵌入式Web伺服器的設計方法,介紹了i-jetty嵌入式Web伺服器,及其Web應用功能的實現。
  • 基於STM32F4x9的LCD顯示設計,硬體設計指南
    本文圍繞STM32F4x9微控制器完成了液晶顯示的硬體設計,並介紹了基於這一硬體平臺以及STemWin的軟體應用開發。  1基於STM32F4x9的LCD顯示系統架構  電子系統中液晶顯示的性能不僅取決於微控制器內置LCD TFT液晶控制器的驅動能力,通常包括對最大顯示解析度、屏幕刷新速度以及像素數據格式的支持,同樣取決於數據在存儲器和液晶控制器之間的傳輸能力和顯示圖像數據處理的靈活性。
  • 基於嵌入式Linux的語音識別系統硬軟體設計
    該設計運用三星公司的S3C2440,結合ICRoute公司的高性能語音識別晶片LD3320,進行了語音識別系統的硬體和軟體設計。
  • 基於MySQL資料庫應用開發實現嵌入式數控系統的設計
    基於MySQL資料庫應用開發實現嵌入式數控系統的設計 鄔依林 , 黃瑛 發表於 2020-12-02 10:07:37 1 引言 本文所論述是數控系統大課題中人機互動的外圍部分子課題中的資料庫開發應用
  • 基於STM32L152和S14432的無線網絡系統設計
    本文設計了一種基於STM32L152和S14432的無線網絡系統。系統採用低功耗、高性能的Cortex-M3核32位微控制器STM32L152和高集成度、低功耗的無線收發晶片S14432,適用於短距離的現場數據採集和監控。系統採用網絡化管理並運用主節點備份技術和LEPS路由協議保證系統的可靠性和拓展性。
  • 基於嵌入式技術的LED顯示屏控制系統淺析
    打開APP 基於嵌入式技術的LED顯示屏控制系統淺析 工程師青青 發表於 2018-08-30 17:23:00 嵌入式系統廣義上認為是一個由系統硬體與系統軟體有機組成並且具有高可靠性和實時性的可控系統
  • stm32f103c8t6封裝及最小系統原理圖
    打開APP stm32f103c8t6封裝及最小系統原理圖 發表於 2017-11-23 15:50:30   STM32F103C8T6是一款集成電路,芯體尺寸為32位,程序存儲器容量是64KB,需要電壓2V~3.6V,工作溫度為-40°C ~ 85°C。
  • 基於STM32F103C6與CAN收發器L9616實現一體化步進電機驅動器設計
    打開APP 基於STM32F103C6與CAN收發器L9616實現一體化步進電機驅動器設計 閉金傑,羅曉曙,丘 發表於 2020-03-20 10:02:19
  • 基於嵌入式WinCE的CAN總線控制器驅動設計
    0 引 言本文引用地址:http://www.eepw.com.cn/article/262874.htm  近年來,由於消費電子、計算機、通信(3c)一體化趨勢日趨明顯,嵌入式系統再度成為研究和應用的熱點。
  • ARM開發教程之ARM體系的嵌入式系統BSP的程序設計
    ARM公司在32 位RISC 的CPU開發領域不斷取得突破,其結構已經從V3發展到V6。BSP( Board Support Package )板級支持包介於主板硬體和作業系統之間,其功能與PC機上的BIOS 相類似,主要完成硬體初始化並切換到相應的作業系統。
  • 嵌入式系統中USB主機控制器的設計
    本文將介紹在嵌入式系統中應用USB時其主機控制器的設計。本文引用地址:http://www.eepw.com.cn/article/152226.htm 嵌入式系統被定義為硬體和固件(獨立的或作為更大型系統的一部分)通常帶有某種作業系統,作業系統可以是Windows CE、VxWorks或其它由「自編代碼」構成的更簡單系統。根據這樣的定義,可以認為任何帶有處理器的電子裝置均可以作為USB嵌入式主機。
  • 基於PIC32的嵌入式Web伺服器的物聯網實現
    目前大多數嵌入式系統還處於單獨應用的階段,以單片機為核心,與一些控制設備配合實現一定的功能。如果嵌入式系統能夠連接到Internet 這個信息流通渠道,則可以方便、低廉地將信息送到世界上任何一個地方,這將形成集管理與控制於一體的分布式網絡系統。
  • 全球最小的嵌入式RAID1解決方案亮相 主要針對小型工業與嵌入式系統
    打開APP 全球最小的嵌入式RAID1解決方案亮相 主要針對小型工業與嵌入式系統 工程師青青 發表於 2018-11-23 16:46:11
  • STM32F1與STM32F0在GPIO_TypeDef 寄存器方面的不同
    STM32F103+NRF24L01用最小系統板搭了個平臺,加上網上的例程,問題是檢查NRF24L01的時候,一直沒法找到,讀寫地址寄存器失敗,起初懷疑是引線的問題,自己檢查連線以及針腳定義,都沒有發現問題,既然針腳沒有問題懷疑是SPI通訊的問題,接著檢查SPI配置,都沒有發現明顯的錯誤,儘管分頻到256還是不行,十分不解,檢查時序代碼,因為是網上現成的代碼本來想不應該有問題,但是還真的發現問題了,
  • 如何使用STM32設計嵌入式乙太網控制門禁系統
    如何使用STM32設計嵌入式乙太網控制門禁系統 電子設計 發表於 2018-09-03 11:06:17 引言 當前,有很多的企業是採用佩戴工作證來完成門禁管理
  • STM32CubeMX升級至V5.2.0,STM32G4即將推出,STM32CubeIDE正式面世
    官網網址: www.st.com/stm32cubemx升級,下面重點講講STM32CubeIDE這個集成開發工具。 2STM32CubeIDE第一版 今天,學習STM32的人,大不多都應該聽說了這個STM32CubeIDE工具。
  • 基於32位高性能數位訊號處理器實現飛機測控終端系統的設計
    基於32位高性能數位訊號處理器實現飛機測控終端系統的設計 郭曉康,姬勞,謝拴 發表於 2020-12-25 10:20:39 引言 作為飛機電氣系統的重要組成部分,飛機配電系統主要用於實現電功功率的合理分配和控制