《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于ARM嵌入式處理器的片上系統(tǒng)解決方案
基于ARM嵌入式處理器的片上系統(tǒng)解決方案
摘要: Luminary Micro公司(已被TI公司收購)StelIaris提供一系列的微控制器是首款基于ARM Cortex-M3的控制器,它們?yōu)閷Τ杀居绕涿舾械那度胧轿⒖刂破鲬?yīng)用方案帶來了高性能的32位運算能力,。這些具備領(lǐng)先技術(shù)的芯片使用戶能夠以傳統(tǒng)的8位和16位器件的價位來享受32位的性能,。其中,,LM3S811微控制器正是針對工業(yè)應(yīng)用方案而設(shè)計的,包括測試和測量設(shè)備,、工廠自動化,、建筑控制、運動控制,、醫(yī)療器械,、火警安防以及電力能源等。
Abstract:
Key words :

0 引言

8位的51單片機長期占據(jù)著微控制器(MCU)的主流市場,,但隨著技術(shù)與需求的發(fā)展,,32位微控制器應(yīng)用增長率也在不斷攀升。目前,,基于ARM內(nèi)核的32位微處理器在市場上處于領(lǐng)導(dǎo)地位,。

基于ARM嵌入式處理器片上系統(tǒng)解決方案可應(yīng)用于企業(yè)應(yīng)用、汽車系統(tǒng),,家庭網(wǎng)絡(luò)和無線技術(shù)等市場領(lǐng)域,。ARM CortexTM系列提供了一個標(biāo)準(zhǔn)的體系結(jié)構(gòu)來滿足以上各種技術(shù)的不同性能要求,基于ARM架構(gòu)有3個分工明確的系列:A系列面向復(fù)雜的尖端應(yīng)用程序,,用于運行開放式的復(fù)雜操作系統(tǒng);R系列針對實時系統(tǒng);M系列專為低成本控制和微控制器應(yīng)用開發(fā),。Cortex-M3是基于ARM架構(gòu)的處理器,是專門為了在微控制器等對功耗和成本敏感的應(yīng)用領(lǐng)域?qū)崿F(xiàn)高系統(tǒng)性能而設(shè)計的,,它簡化了可編程的復(fù)雜性,,使ARM架構(gòu)成為各種應(yīng)用方案的良好選擇。

Luminary Micro公司(已被TI公司收購)StelIaris提供一系列的微控制器是首款基于ARM Cortex-M3的控制器,,它們?yōu)閷Τ杀居绕涿舾械那度胧轿⒖刂破鲬?yīng)用方案帶來了高性能的32位運算能力,。這些具備領(lǐng)先技術(shù)的芯片使用戶能夠以傳統(tǒng)的8位和16位器件的價位來享受32位的性能。其中,,LM3S811微控制器正是針對工業(yè)應(yīng)用方案而設(shè)計的,,包括測試和測量設(shè)備、工廠自動化,、建筑控制,、運動控制、醫(yī)療器械,、火警安防以及電力能源等,。

TH12864等圖形點陣液晶顯示器以其工作電壓低、功耗低,、壽命長,、不產(chǎn)生電磁輻射污染、可以顯示復(fù)雜的文字及圖形等優(yōu)點,已被廣泛應(yīng)用在各種儀器儀表,、電子設(shè)備和家用電器等領(lǐng)域,。

本文嘗試將基于ARM的LM3S811微控制器與TH12864顯示模塊相結(jié)合的技術(shù)應(yīng)用。

1 系統(tǒng)硬件設(shè)計

1.1 LM3S811主控芯片

本次系統(tǒng)硬件設(shè)計的主控芯片選擇TI公司LM3S811芯片,,其電源電壓為3.3 V,,最高時鐘頻率50 MHz,64 kHz的單周期FLASH;3個32位通用定時器,,可分成6個16位定時器使用;一組同步串行接口(SSI),,2個異步串行接口(UART);4通道模數(shù)轉(zhuǎn)換器(ADC),1組模擬比較器和I2C接口;3個脈寬調(diào)制信號(PWM)模塊,,32個通用輸入輸出管腳(GPIO)及硬件看門狗等,。LM3S811系統(tǒng)方框圖如圖1所示。

1.2 TH12864顯示模塊

本次系統(tǒng)設(shè)計的顯示模塊選擇帶中文字庫的TH12864,,其電源電壓為3.3 V,。TH12864液晶顯示模塊是128×64點陣的漢字圖形型液晶顯示模塊,可顯示漢字及圖形,,內(nèi)置國標(biāo)GB2312碼簡體中文字庫(16×16點陣),、128個字符(8×16點陣)及64×256點陣顯示RAM(GDRAM)??商峁?位并行及串行2種連接方式,,具有多種功能:光標(biāo)顯示、畫面移位,、睡眠模式等,。其中TH12864的管腳功能如下:

1:VSS,地(GND);2:VDD,,電源;3:V0,,背光調(diào)節(jié);4:CS,片選信號;5:STD,,串行數(shù)據(jù);6:SCLK,,串行時鐘;14:DB0-DB7,并行數(shù)據(jù);15:PSB,,串并口選擇,,串行模式為低電平有效;17:/RST,復(fù)位;19:LEDA,,背光正極;20:LEDK,,背光負極。

1.3 LM3S811主控芯片與TH12864顯示模塊的連接

為節(jié)約系統(tǒng)硬件資源以便其他用途,,故選擇TH12864顯示模塊為串行模式,。則主控芯片LM3S811只需要占用3個GPIO管腳即可,保留PWM等用于小車驅(qū)動等,選擇與比較器和I2C復(fù)用的PB2,,PB4和PB6,,如圖2所示。

2 系統(tǒng)軟件設(shè)計

系統(tǒng)軟件設(shè)計分為底層驅(qū)動程序,、中層實現(xiàn)程序和上層應(yīng)用程序,。軟件以IAR集成開發(fā)環(huán)境為開發(fā)平臺,用C語言編寫,,便于維護和移植。下面是部分源程序,。

2.1 底層驅(qū)動部分

底層驅(qū)動程序完成的功能是實現(xiàn)TH12864的硬件時序,。

程序如下:

驅(qū)動程序先預(yù)處理3個字節(jié)要發(fā)送數(shù)據(jù)的具體內(nèi)容,片選后,,依次循環(huán),,按時鐘信號發(fā)送每個字節(jié)的每一位,其中延時不能省略,。

2.2 中層實現(xiàn)程序

中層實現(xiàn)程序完成主要功能是,,按照TH12864的用戶指令集,用底層驅(qū)動程序發(fā)送指令,,完成初始化,、顯示、清除,、設(shè)定等功能,。例如初始化程序:

從前兩句可以看出LM3S811在設(shè)置GPIO時,比普通51單片機設(shè)置要簡單許多,,無需記憶眾多的寄存器,,由于廠家提供了Stellaris外設(shè)驅(qū)動庫函數(shù),只要調(diào)用相應(yīng)API接口函數(shù)即可,,簡化了編程的復(fù)雜性,,對于新學(xué)者也可以迅速上手編程工作。

2.3 上層應(yīng)用程序

在底層驅(qū)動程序和中層實現(xiàn)程序的基礎(chǔ)上,,程序移植方便,。可以根據(jù)系統(tǒng)需求完成字符,、漢字和圖片等實際顯示內(nèi)容,。

此次系統(tǒng)實現(xiàn)了開機圖片顯示,歡迎詞和小車狀態(tài)的循環(huán)動態(tài)顯示,,速度顯示及電子秒表等功能,。

3 結(jié)語

通過本次系統(tǒng)集成的設(shè)計、制作、調(diào)試和驗證,,完成并實現(xiàn)了基于ARM單片機的小車顯示系統(tǒng)功能,。實現(xiàn)了LM3S811對于TH12864顯示模塊的控制,其底層驅(qū)動程序可以供大家參考,。在實現(xiàn)過程中發(fā)現(xiàn),,在硬件方面,LM3S811的主頻較高,,運算能力較強,,外設(shè)資源豐富。在軟件方面,,由于廠家提供了Stellaris外設(shè)驅(qū)動庫函數(shù),,降低了編程的難度,可以快速上手工作,。此外,,本系統(tǒng)也可以推廣應(yīng)用到其他小型儀表或設(shè)備顯示系統(tǒng)。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。