基于MSP430的手持式RFID讀寫器LCD接口設計
文章出處:http://hz-huyue.com 作者:潘盛輝,郭毅鋒,黃麗敏 人氣: 發表時間:2011年10月17日
引言
RFID技術目前廣泛應用于身份識別、防偽應用、供應鏈管理、公共交通管理、物流管理、生產線自動化與過程控制、容器識別等領域。根據不同的應用要求,RFID系統的具體功能有所差別。而RFID卡(電子標簽)的信息顯示是讀寫器的主要功能之一 2,本課題研究的是通用的手提式RFID讀寫器,因而系統顯示器應選用具有功耗低、體積小、重量輕、超薄等優點的液晶顯示器。
本文論述了RFID讀寫器中MSP430單片機與LCD模塊接口的硬件設計的方法,以及LCD顯示相關信息的軟件設計方法。
1 MSP430F149單片機性能特點
MSP430F149是TI公司推出的16位系列單片機,能驅動液晶多達120段,超低功耗使其在用電池供電的便攜式設備應用中表現出非常優良的特性,非常合適于手持式RFID讀寫器。片內數控振蕩器可以調整MSP430F149單片機的工作頻率,以適應不同外設的需求,提高了系統的利用效率;大容量的片內存儲器使得系統在不需要外加存儲設備的情況下就能實現大規模數據的存儲,使得能夠設計出內容豐富、美觀的手持式RFID讀寫器的LCD顯示界面。
MSP430F149含有P1、P2、P3、P4、P5、P6口等六個并行端口,各個端口都有豐富的功能及大量的控制寄存器供用戶操作。其中P1和P2各有7個寄存器用于引腳獨立控制,可用作I/O,且都具有中斷能力,每個信號都可作為一個中斷源。P3、P4、P5和P6端口可作為普通的I/O工作,能實現輸入、輸出功能和外圍模塊功能,相應端口各有4個寄存器供用戶使用。設計中采用其中的3個I/O口,可以在不需要外擴設備的情況下,完成LCD顯示控制電路的連接,從而使硬件接口電路變得簡單,節省了外部資源且增強了系統抗干擾能力。
2 SED1335控制器的性能特點
SED1335控制器是一種寬工作電壓控制器(2.7 V~5.5 V),能在較高時鐘頻率下工作(一般為1 MHz~ 10MHz),訪問它時不需要判別其當前工作狀態。SED1335液晶控制器與單片機相接的控制信號主要有5個,分別是:
AD:輸入態SED1335寄存器選擇端。
/CS:輸入態$ED1335片選端,低電平有效。
/RD:輸入態SED1335讀操作信號端。
/WR:輸入態SED1335寫操作信號端。
D0-D7:數據總線。
SED1335控制器的工作時序如圖1所示。
要使SED1335能正確地控制LCD進行相關信(read)息的顯示,那么MSP430F149單片機必須給控制器正確的電平信號才能實現,而且控制信號電平變化的時間以及順序必須滿足圖1的時序。
圖1 SED1335適配MSP430F149時序圖
3 LCD接口硬件的設計
根據手持式RFID讀寫器的低功耗要求,系統主控芯片選用具有超低功耗、強大處理能力、豐富的片上外圍模塊及多種存儲器形式的MSP430F149單片機,顯示設備選用DMF50840單色液晶顯示器,液晶顯示控制器采用SED1335.MSP430F149與SED1335及LCD模塊接口電路如圖2所示。
圖2 LCD接口電路
MSP430F149的P3.0、P3.1、P3.2、P3.3分別與SED1335模塊的A0、CS、RD、WR引腳相連接,P4口與SED1335的數據總線進行連接。SED1335的行列驅動線、幀驅動線分別與LCD的對應線相連接,并將SED1335的數據線與LCD數據線連接。單片機對SED1335的控制采用軟件模擬總線時序的方法,即對P3.0、P3.1、P3.2、P3.3的高低電平控制,可以實現LCD顯示控制。在此電路中沒有利用數據總線來實現數據的傳送,數據的傳送直接通過'I/O口實現,其接口信號組合功能如表1所示。
4 LCD接口軟件設計
RFID讀寫器需要顯示相關的數字、字母以及漢字內容,需要對不同的顯示類型進行對應編程,并進行子程序化,使程序具有通用和簡捷的特性,從而提高整個系統的執行效率。
RFID讀寫器LCD接口程序應包括單片機初始化、控制引腳時序電平模擬、LCD操作等子程序。接口軟件首先完成對主控芯片MSP430F149的初始化,其后是完成對總線時序的模擬。只有在正確的時序下,主控芯片才能對LCD進行正確的顯示控制[4]。
根據LCD接口的硬件連接,MSP430F149用作控制信號線的P3口實現模擬總線時序,時序如圖1所示,具體控制方法如下:
① 置P3.1為低電平0,保證$ED1335片選有效;
② 置P3.3和P3.2為高電平1;
③ 如為寫數據,則將需要發送的數據送P5口;如為讀數據,則進行下面的步驟;
④ 如發送或接收的數據為給LCD的控制信息,則置P3.0為高電平1;如發送或接收的數據為LCD的顯示信息,則置P3.0為低電平0;使SED1335的A0滿足相關時序要求;
⑤ 如為寫數據,則置P3.3為低電平0,使“寫”有效;如為讀數據,則置P3.2為低電平0,使“讀”有效;
⑥ 恢復P3.3或P3.2為高電平1;
⑦ 最后復位A0.
按照以上步驟,向SED1335依次傳送初始化代碼初始化SED1335,使其能處于正常工作狀態;只有控制器SED1335正確初始化后,才能控制LCD進行顯示。
完成以上步驟后,可以向LCD送數據完成顯示。由于顯示信息有數字、字母以及漢字等內容,而不同類型的顯示內容在LCD上所占用的格式是不同的,所以針對不同類型的顯示內容需要編寫不同的顯示控制程序。為了便于使用,將其子程序化,在進行顯示前,首先判斷顯示數據的類型,并分別調用漢字、數字、字母的顯示子程序進行數據顯示。接口軟件程序流程圖如圖3所示。
圖3 接口軟件程序流程圖
另外,根據RFID讀寫器的功能要求,用戶顯示的具體內容如RFID卡號等信息,將通過調用存放在FLASH存儲器中相應數據的子程序來完成。
5 結束語
手持式RFID讀寫器LCD接口硬件采用模擬總線時序進行數據傳輸,節省了系統總線資源,使接口電路變得簡單。接口程序 采用C語言進行開發,具有較好的可讀性和移植性,可以大大提高開發效率,縮短開發周期。應用表明,該顯示接口具有低功耗特點,實現了顯示中英文字符以及其他符號的功能,滿足了讀寫器的操作菜單及射頻卡信息顯示的要求,為手持式RFID讀寫器提供了友好的人機交互接口。
參考文獻:
[1]郎為民.射頻識別(RFID)技術原理與應用[M].北京:機械工業出版社,2006.6.
[2]蘆東聽,李強,柳長安.基于ARM的RFID閱讀器設計[J].微計算機信息,2006,(10—2):286-288.
[3]胡大可.MSP430系列FLASH型超低功耗單片機[M].北京:北京航空航天大學出版社,2001.I1.
[4]秦龍.MSP430單片機C語言應用程序設計實例精講[M].北京:電子工業出版社,2006.11.
[5]吳平,龔彬,丁鐵夫.液晶顯示模塊和IkCSP430單片機在顯示終端上的應用[J].液晶與顯示,2003.16(6):436-440