日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 測試測量 > 測試測量
[導讀]摘要:由于現行的POS機的系統(tǒng)界面簡陋,軟件資源匱乏,不利于POS機的功能擴展。刷卡器閱讀芯片是POS機主要功能的承擔者,對其Andr oid驅動程序的研究,有助于POS機在Android平臺上的發(fā)展。MagTek刷卡器閱讀芯片21006

摘要:由于現行的POS機的系統(tǒng)界面簡陋,軟件資源匱乏,不利于POS機的功能擴展。刷卡器閱讀芯片是POS機主要功能的承擔者,對其Andr oid驅動程序的研究,有助于POS機在Android平臺上的發(fā)展。MagTek刷卡器閱讀芯片21006450應用廣泛,對于它的研究將有助于刷卡器閱讀芯片驅動程序在實際中的應用。這里所研究的Android系統(tǒng)架構、芯片工作原理及接口調用是刷卡器閱讀芯片驅動程序設計的理論基礎,對驅動程序的實現做指導。
關鍵字:Android;POS機;刷卡器讀芯片;驅動程序

0 引言
    Google公司在2007年11月5日推出了開源的Androld操作系統(tǒng),它是基于Linux內核的開源手機操作系統(tǒng)。目前,Android應用商店Android market已經擁有超過70萬個應用程序,有超過10萬名軟件開發(fā)人員為Android開發(fā)應用程序,Android系統(tǒng)已經廣泛運用于便攜式移動設備。
    移動POS機又稱無線POS,是一種RF-SIM卡終端閱讀器,通過CDMA,GPRS,TCP/IP等與數據服務器相連進行工作。移動POS機具有移動性強,平均交易時間段,易于攜帶等特性在各大行業(yè)都已經廣泛使用。將Android系統(tǒng)移植到POS機上,將為POS機提供更加豐富的應用和功能擴展。
    刷卡器作為POS機主要功能承擔者,其驅動程序的研究和優(yōu)化也直接影響到Android系統(tǒng)在POS機領域的發(fā)展。

1 Android系統(tǒng)架構
   
Android是以Linux為內核的開放式的手機操作系統(tǒng),采用了整合的策略思想,包括底層Linux操作系統(tǒng)、中間層的中間件和上層的Java應用程序。Android系統(tǒng)是由應用程序層、應用程序框架層、系統(tǒng)運行庫層、Linux內核層組成的,系統(tǒng)架構如圖1所示。


    在應用程序層中包含了Android系統(tǒng)的基礎應用程序,所有的應用程序都是用Java編寫的。
    應用框架層是開發(fā)人員從事Android應用程序開發(fā)的基礎,該層簡化了組件重用,可以直接使用系統(tǒng)提供的組件快速的進行應用程序開發(fā),主要包括Activity Manager,Content Provider,View System等。
    在系統(tǒng)運行庫層中包括了兩個部分:程序庫和運行時庫,主要由Dalvik Java虛擬機和基礎的Jaya類庫組成,為應用程序提供服務和Java編程語言核心庫。Android的核心系統(tǒng)服務依賴于Linux 2.6內核,如安全性、內存管理、進程管理、網絡協(xié)議和驅動模型。Linux內核也同時作為硬件和軟件堆棧之間的硬件抽象層。

2 刷卡器工作原理
    MagTek公司的磁卡閱讀器芯片21006450是一款高性能、低功耗的三軌磁條解碼芯片。在對磁卡閱讀芯片復位時,如果STRBOE沒有置高,就需要將其置高,并將DATA拉低,然后再將STROBE置低。在復位之后仍需要將DATA強制置低,在釋放DATA之前需要將STROBE置高,然后再置低。在完成上述過程后,仍需要再完成一次STROBE的置高、置底,這樣才能完成復位序列。
    當讀卡器芯片處在準備讀卡狀態(tài)時,一旦檢測到三個磁通翻轉,ASIC就會通過將DATA拉低來表明此時處于卡在線狀態(tài)。然后就開始將磁條卡上的數據讀取并存儲到緩存中。對應于這種卡在線狀態(tài),控制器應當將STROBE置高。對應于STROBE的上升沿,ASIC會將DATA置高,并清除卡在線信號??刂破鲿TROBE置低,然后等待DATA的下降沿,以此來表明處在緩存器就緒狀態(tài)。從內存中讀取或提取數據,需要用脈沖信號將STROBE輸入置高再置低來驅使數據指針將數據指向DATA的管腳。在數據讀取期間,當STROBE的輸入為低時,DATA上的一個低電平代表1,而高電平代表0。需要說明的是,DATA進入緩存器就緒狀態(tài)后,在復位之前,ASIC不會對再一次刷卡做出反應。在片上緩存(內存)中,為磁條卡的三個磁道中的每一個分配了704 b的空間,總共有2 112 b。對每條磁道而言,只有在卡上檢測到1的時候才開始存儲數據,在這個1之前的所有的0都不會存儲進緩存。當檢測到第一個1之后,每個磁道存儲704 b的數據,而一旦數據超過這個長度,將會丟失超出的數據。但這并不意味著芯片的存儲空間太小,確切來說,這么大的空間已經能夠充分的滿足符號ISO編碼標準的磁條卡的需求。
    在提取數據時,STROBE是根據磁道A,磁道B,然后磁道C的順序進行接收的。當數據指針到達3個磁道共2112位的最后位置時,它將從反方向再次循環(huán)數據。需要說明的是,數據的移出的首選順序是磁道A、磁道B然后磁道C。ASIC并不決定刷卡的方向,只是簡單的將接收的數據表示出來。然后,反方向刷卡數據的移出時是以磁道C、磁道B、磁道A的順序進行的,這就像將一盤磁帶或錄音帶翻帶。
    在復位時,會清除ASIC上的所有數據,將所有的數據位都置為0(高電平)。

3 驅動設計
   
驅動程序是Linux內核與硬件之間的接口,直接對硬件設備進行操作,同時對上層應用程序提供接口。Android的設備驅動主要完成以下功能:初始化和釋放設備;讀取硬件設備數據;將內核數據寫入到硬件設備;讀取應用程序數據傳送給設備文件等。在Android系統(tǒng)中刷卡器驅動應包括:Linux內核驅動程序、HAL(硬件抽象層)模塊、JNI方法、application framework硬件訪問服務。刷卡器閱讀芯片與開發(fā)板的連接框圖如圖1所示。
3.1 Linux內核刷卡器閱讀芯片驅動程序
   
刷卡器的基本功能就是讀取磁卡中的數據進行解碼,并將得到的解碼數據傳遞給上層應用程序。Android為了保護一些硬件提供商的知識產權提出了HAL層的概念,避開了Linux的GPL束縛,基本的思路是把控制硬件的動作都放在Android HAL層,而Linux driver只是完成一些簡單的數據交換。這里的Linux內核刷卡器驅動程序同樣也只是一個的字符設備驅動,設備以模塊的形式存在Linux內核中,模塊的加載和卸載通過static int_init msr_init(void)和static void_exit msr_exit(void)函數實現,static int_msr_setup_dev(structmsr_Android_ dev*dev)函數對設備進行初始化,函數static long msr_ioctI(struct inode*inode,struct file*filp,unsigned int cmd,unsigned long arg)實現驅動程序對刷卡器的I/O控制。設備的打開、關閉及具體的代碼實現可以參考《Linux設備驅動程序》。對內核配置編譯后就可以在Linux內核中得到設備模塊msr.o,在上層中可以通過調用這個模塊來實現對刷卡器的控制。
3.2 HAL層訪問內核驅動程序
   
硬件抽象層中訪問不同設備內核驅動程序的模塊是以*.so文件形式存在的,這樣可以有效的保護硬件廠商的知識產權。在runtime(JNI部分),則向HAL取得特定模塊的opeIlations,再callback這些操作函數。在HAL層包括許多模塊,而runtime只需要說明類型,即module ID,就可以取得相應模塊的operations。在HAL層中需要具體實現刷卡器的讀卡操作。首先需要查找到開始標志0x0b,然后將磁道1中的數據放到bufl中,用同樣的方法可以將磁道2,3的數據存到buf2,buf3中,磁道2最多40個字符每個5位4位數據1位奇校驗,而磁道3最多107個字符每個5位4位數據1位奇校驗。然后將buf中的數據補齊之后放在主寄存器中。HAL層中還需要使用static int check_msr_io(void)對I/O的狀態(tài)進行檢測,并對設備進行初始化static int msr_device_init(void)。具體的實現由于篇幅限制,不在進行詳細介紹。
3.3 編寫JNI方法訪問硬件
   
從編程語言看,Android系統(tǒng)是由基于Java語言的Java層與基于C/C++語言的C/C++層組成的,為了使這兩層相互配合、共同完成任務就必須使用Java本地接口(JNI,Java Native Interface)將這兩層有機的聯系起來。JNI提供了一系列接口,允許Java類與使用C/C++編寫的應用程序、模塊、庫進行交互操作。JNI是通過函數方法映射表static const JNINativeMethod method_table,將Java本地方法和HAL層提供的C函數接口銜接起來。
3.4在application framework增加硬件訪問服務
    在Android Framework或應用程序開發(fā)中所需要的主要API都是以服務的形式存在的。對應用程序來說,硬件服務是運行在一個獨立的進程中的,若要調用這些服務就需要在硬件服務和應用程序之間添加通信接口。應用程序通過Interface IMsrService接口,調用硬件服務提供的Init()等函數。在刷卡器的硬件服務中是將定義的通信接口與JNI提供的接口相關聯起來。同時需要將磁卡閱讀芯片服務添加到系統(tǒng)服務中Service Manager.addService(“msr”,new MsrService()),這樣應用程序就能通過Java接口調用硬件服務,實現對磁卡閱讀芯片的控制。圖2以讀取芯片數據為例,簡單介紹各層之間的調用。



4 結語
   
隨著系統(tǒng)逐漸成熟,應用程序日益豐富,Android系統(tǒng)與POS機的結合將為POS機的發(fā)展提供更為廣闊的空間。本文在分析了Android架構的基礎上,分析刷卡器的工作原理,研究將POS機刷卡器閱讀芯片驅動程序添加到Android系統(tǒng)中,為上層應用程序提供接口,實現刷卡器的功能。各層之間的接口調用銜接是整個驅動程序成功運行的基礎,在驅動設計中,每編寫一層都應進行測試,這樣能更好的定位驅動設計中存在的不足。



本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

武漢2025年9月9日 /美通社/ -- 7月24日,2025慧聰跨業(yè)品牌巡展——湖北?武漢站在武漢中南花園酒店隆重舉辦!本次巡展由慧聰安防網、慧聰物聯網、慧聰音響燈光網、慧聰LED屏網、慧聰教育網聯合主辦,吸引了安防、...

關鍵字: AI 希捷 BSP 平板

上海2025年9月9日 /美通社/ -- 9月8日,移遠通信宣布,其自研藍牙協(xié)議棧DynaBlue率先通過藍牙技術聯盟(SIG)BQB 6.1標準認證。作為移遠深耕短距離通信...

關鍵字: 藍牙協(xié)議棧 移遠通信 COM BSP

上海2025年9月9日 /美通社/ -- 為全面落實黨中央、國務院和上海市委、市政府關于加快發(fā)展人力資源服務業(yè)的決策部署,更好發(fā)揮人力資源服務業(yè)賦能百業(yè)作用,8月29日,以"AI智領 HR智鏈 靜候你來&quo...

關鍵字: 智能體 AI BSP 人工智能

北京2025年9月8日 /美通社/ -- 近日,易生支付與一汽出行達成合作,為其自主研發(fā)的"旗馭車管"車輛運營管理平臺提供全流程支付通道及技術支持。此次合作不僅提升了平臺對百余家企業(yè)客戶的運營管理效率...

關鍵字: 一汽 智能化 BSP SAAS

深圳2025年9月8日 /美通社/ -- 晶泰科技(2228.HK)今日宣布,由其助力智擎生技制藥(PharmaEngine, Inc.)發(fā)現的新一代PRMT5抑制劑PEP0...

關鍵字: 泰科 AI MT BSP

上海2025年9月5日 /美通社/ -- 由上海市經濟和信息化委員會、上海市發(fā)展和改革委員會、上海市商務委員會、上海市教育委員會、上海市科學技術委員會指導,東浩蘭生(集團)有限公司主辦,東浩蘭生會展集團上海工業(yè)商務展覽有...

關鍵字: 電子 BSP 芯片 自動駕駛

推進卓越制造,擴大產能并優(yōu)化布局 蘇州2025年9月5日 /美通社/ --?耐世特汽車系統(tǒng)與蘇州工業(yè)園區(qū)管委會正式簽署備忘錄,以設立耐世特亞太總部蘇州智能制造項目。...

關鍵字: 智能制造 BSP 汽車系統(tǒng) 線控

慕尼黑和北京2025年9月4日 /美通社/ -- 寶馬集團宣布,新世代首款量產車型BMW iX3將于9月5日全球首發(fā),9月8日震撼亮相慕尼黑車展。中國專屬版車型也將在年內與大家見面,2026年在國內投產。 寶馬集團董事...

關鍵字: 寶馬 慕尼黑 BSP 數字化

北京2025年9月4日 /美通社/ --?在全球新一輪科技革命與產業(yè)變革的澎湃浪潮中,人工智能作為引領創(chuàng)新的核心驅動力,正以前所未有的深度與廣度重塑各行業(yè)發(fā)展格局。體育領域深度融入科技變革浪潮,駛入數字化、智能化轉型快車...

關鍵字: 人工智能 智能體 AI BSP

上海2025年9月2日 /美通社/ -- 近日,由 ABB、Moxa(摩莎科技)等八家企業(yè)在上海聯合發(fā)起并成功舉辦"2025 Ethernet-APL 技術應用發(fā)展大會"。會議以"破界?融合...

關鍵字: ETHERNET 智能未來 BSP 工業(yè)通信
關閉