關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于大容量IC卡AT45D041的出租車數據采集系統

        基于大容量IC卡AT45D041的出租車數據采集系統

        作者:解放軍廣州通信學院 黃再銀 時間:2004-11-02 來源:電子產品世界 收藏

        2004年6月B版

        摘  要:本文介紹了基于大容量IC卡AT45D041的出租車數據采集系統的設計方法,討論了IC卡AT45D041的主要特點及其使用方法;介紹了PIC單片機和PC機串行通信的硬件、軟件方法。

        關鍵詞:出租車;IC卡;AT45D041;單片機;串行通信

        引言

          隨著出租車行業的發展,對出租車管理的要求也越來越高。通常,出租車管理部門需要經常采集出租車計費器中存儲的各種數據,這些數據主要包括累積數據(如總行駛里程、總收費里程、總收費時間、總車資等)和乘客記錄數據(如起止時間、收費里程、收費時間、郊區或夜間收費里程、1公里單價、車資等)。一般來說,出租車的計費器可存儲300次以上的乘客記錄,每條乘客記錄約占50字節,這樣300次乘客記錄約占15K字節。大容量IC卡AT45D041的容量為4Mbit(約500K字節),利用該IC卡來采集出租車計費器中存儲的數據,不僅攜帶方便,而且可一次采集多達33臺出租車的數據。數據采集完后,可通過串行接口控制器將數據輸入給出租車管理部門的PC機,然后對這些數據進行分析、匯總、打印等各種處理。下面具體介紹基于大容量IC卡AT45D041的出租車數據采集系統的設計方法。

          出租車數據采集系統的原理框圖如圖1所示,由圖可知,該系統由出租車計費器、串行接口控制器、PC機及大容量IC卡AT45D041等四個部分組成。AT45D041采集多臺出租車計費器中存儲的總累積和乘客記錄等數據,然后通過串行接口控制器即可將所采集的數據輸入給管理部門的PC機,PC機根據車牌號或計費器編號可區分每臺車所對應的數據。AT45D041與出租車計費器及串行接口控制器之間數據的交換均是通過其中的單片機來完成的,而串行接口控制器與PC機之間的數據交換主要是通過PC機的串行口來實現的;因此,該數據采集系統設計的關鍵是AT45D041與單片機接口軟、硬件設計及單片機通過串行口與PC機之間串行通信的軟、硬件設計。
         
        AT45D041的性能特點及其使用方法

        AT45D041的性能特點及內部結構

          AT45D041是一由單5V供電、帶串行接口的快閃存儲器,該芯片特別適合于在系統(in-system)反復編程,其4兆位的存儲容量被分為2048頁,每頁264個字節。除了主存儲頁外,AT45D041還包含2個SRAM數據緩沖區,每個區的容量均為264個字節,當主存儲頁正在編程時,緩沖區可接收外部數據。傳統快閃存儲器往往利用多條地址線和并行接口來實現隨機存取數據,而AT45D041則利用串行接口來實現連續存取數據。簡單的串行接口簡化了硬件電路,使線路板尺寸變小,成本降低,抗干擾能力增強,系統的可靠性得以提高。數據編程寫入時,不需要高編程輸入電壓,只需要單5V(范圍為4.5V至5.5V)即可完成數據的寫入及讀出。

          AT45D041的內部結構圖如圖2所示,由圖可知,該IC卡有九個引腳,其中SCK為串行時鐘輸入腳,SI和SO分別為串行數據輸入、輸出腳。

        AT45D041的使用方法

          通過單片機的控制可完成對AT45D041中數據的讀出及寫入操作,當芯片使能腳為低電平時,在時鐘輸入腳(SCK)的控制下,通過串行數據輸入腳(SI),便可將命令碼、主存儲頁或緩沖區地址碼串行輸入給該芯片,然后即可讀或寫入數據。值得注意的是,所有的命令碼、地址、數據串行輸入時,均是高位在前,低位在后。下面具體介紹數據的讀寫方法。

        數據的讀出

          數據的讀出包括主存儲頁直接讀出、從主存儲頁讀取數據至緩沖區、從緩沖區讀數據、讀狀態寄存器等四種,除命令碼不同外,讀取數據的方法均大同小異。由于本數據采集系統的設計只用到了主存儲頁直接讀出,下面只介紹從主存儲頁直接讀取數據的方法。主存儲頁直接讀取數據的時序波形圖如圖3所示。主存儲頁讀允許用戶從2048主存儲頁的任一頁中讀取數據,在SCK時鐘脈沖的控制下,先串行輸入命令碼52H、緊接著是4個保留位、然后是20個地址位(即11個頁地址位和9個頁中數據起始地址位)、最后是32個無關位0。4個保留位是用于將來擴展該芯片的容量而設置的,對于AT45D041可輸入4個0,32個無關位用于初始化讀操作。數據通過SO腳串行輸出,在數據的讀出過程中,芯片使能腳必須保持低電平,當一頁數據的最后一個字節讀完后,會從該頁的第一個字節開始繼續讀取數據。當芯片使能腳(CS)由低電平變為高電平時,將終止數據的讀取,SO腳保持高阻態。

        數據的寫入

          數據的寫入包括將數據直接寫入主存儲器頁、寫入緩沖區、通過緩沖區將數據寫入主存儲頁(帶內置擦除功能)、通過緩沖區將數據寫入主存儲頁(不帶內置擦除功能)、主存儲頁自動重寫等五種。除命令碼不同外,數據寫入的方法均差不多。在本數據采集系統的設計中使用的是將數據直接寫入主存儲頁的方法,該方法的時序波形如圖3所示,要寫入的數據須事先寫入緩沖區1或緩沖區2,然后再利用帶內置擦除功能的緩沖區至主存儲頁寫入功能將數據寫入至指定的主存儲頁。在SCK時鐘脈沖的控制下,先串行輸入命令碼82H或85H、緊接著是4個保留位、然后是11個頁地址位(表示數據要寫入的指定主存儲頁)、最后是9個數據起始地址位(表示緩沖區第一個字節的起始地址)。當所有的地址位均串行輸入后,芯片通過SI腳開始接收數據并存儲在緩沖區1或緩沖區2中,當緩沖區存滿后,將從緩沖區的第一個字節處開始存儲數據。當芯片使能腳CS由低電平變為高電平時,芯片將首先擦除指定的主存儲頁,然后再將存儲在緩沖區中的數據寫入指定的主存儲頁。

        硬件寫保護及復位功能

          當寫保護腳(WP)為低電平時,主存儲頁的前256頁不能寫入數據。當復位腳(RESET)變為低電平時,將中斷所有正在進行的讀操作,并將內部置成空閑狀態。一旦該腳變為高電平,即可對芯片進行正常的讀寫操作。

        AT45D041與出租車計費器及串行接口控制器的接口設計

          AT45D041用于出租車數據采集系統時,一方面它采集出租車計費器中存儲的各種數據,此時計費器中的單片機將數據寫入到AT45D041中的主存儲頁中;另一方面通過串行接口控制器將數據輸入給管理部門的PC機,此時串行接口控制器中的單片機從AT45D041中的主存儲頁讀取數據,然后再將數據通過串行口傳送到PC機中。因此AT45D041與出租車計費器及串行接口控制器的接口設計主要表現為AT45D041與單片機的接口設計,假設單片機為AT89C51,則單片機與AT45D041的接口如圖4所示。圖中R、C是使AT45D041具有上電復位功能,寫保護腳(WP)接VCC是讓AT45D041的前256頁也能寫入數據。

          串行接口控制器的主要作用是從AT45D041的主存儲中讀出數據,然后再將數據輸入給PC機,它的核心是單片機,利用單片機來實現和PC機的串行通信。圖5所示為串行接口控制器的硬件電路圖,因PIC系列單片機由于具有實用、低價、省電、小巧和高速等優點,所以串行接口控制器中的單片機選PIC16C57,由于該單片機沒有專用的異步通訊口(RXD,TXD)及波特率發生器,因此要實現PIC單片機與PC機的串行通信,必須由軟件指定PIC的兩個I/O端口(如RA0為RXD,RA1為TXD)為異步通訊口,并按照預定的波特率編寫軟件延時子程序。 圖中電阻為10KΩ,電容為10_F,電源電壓Vcc為5V。MAX232為一電平轉換芯片,它將單片機輸出的TTL電平轉換成PC機能接收的RS-232電平,并將PC機串行口輸出的RS-232電平轉換成單片機能接收的TTL電平。

        系統軟件設計

          系統軟件設計由兩個部分組成:單片機讀寫AT45D041中的數據及單片機和PC機之間的串行通信。單片機讀寫AT45D041中數據的軟件設計比較簡單,這里不再敘述。下面主要介紹單片機和PC機之間串行通信的軟件設計,由于VB6.0提供了串行通訊MSComm(電話盒)控件來為應用程序提供串行通信,它將串口設備當作一個目標封裝起來,容易操作,編程很方便,其良好的用戶界面、簡單方便的串行通信和實用性強的優點,無須借用其他語言就可以開發出優秀的通信軟件,因而PC機軟件采用VB6.0語言編寫。MSComm控件的調出及其主要屬性如下。

        MSComm控件的調出

          VB 6.0的MSComm控件并不會主動出現在工具箱中,當我們需要它時,讓它出現在工具箱中的步驟如下:


        MSComm屬性

          MSComm屬性很多,其重要的屬性說明如下:


          軟件設計時應注意的幾個問題


        結語

          本文所介紹的出租車數據采集系統使用了大容量IC卡AT45D041、PC機串行口及VB6.0來實現數據的采集和傳輸,不僅數據采集方便,且系統的硬件和軟件設計均較簡單,軟件升級容易。降低了系統成本,提高了系統的可靠性,目前該系統已在許多大中城市的出租車公司得到了廣泛的應用。■
         

        參考文獻:

        1.薛棟梁. ‘MCS-51/151/251 單片機原理與應用(二)’, 中國水利水電出版社,2001

        2.范逸之. ‘Visual Basic 與 RS232 串行通訊控制’, 中國青年出版社, 2001



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 寿宁县| 金溪县| 长春市| 林甸县| 林口县| 师宗县| 汤原县| 页游| 正定县| 繁昌县| 芜湖县| 扎鲁特旗| 瑞昌市| 厦门市| 双辽市| 徐水县| 丰原市| 仲巴县| 恩施市| 友谊县| 葵青区| 陆丰市| 望奎县| 潞西市| 雷州市| 怀来县| 万源市| 咸丰县| 台北县| 商丘市| 林芝县| 莆田市| 钟山县| 葵青区| 浮山县| 淳安县| 靖安县| 阜阳市| 芦溪县| 漳州市| 鱼台县|