0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

微控制器LPC2131/2132/2138的設(shè)計(jì)經(jīng)驗(yàn)與設(shè)計(jì)技術(shù)

電子設(shè)計(jì) ? 來(lái)源:微計(jì)算機(jī)信息 ? 作者:左小五 ? 2020-09-22 17:55 ? 次閱讀

1. 引言

SoC在醫(yī)療器械中應(yīng)用前景廣闊,LPC2131/2132/2138是基于一個(gè)支持實(shí)時(shí)仿真嵌入式跟蹤的32/16位ARM7TDMI-STM CPU微控制器,帶有32kB/64kB/512 kB的嵌入的高速Flash存儲(chǔ)器和8/16/32kB片內(nèi)靜態(tài)RAM。多達(dá)47個(gè)5V的通用I/O口,1個(gè)(LPC2132/2132)或2個(gè)(LPC2138)8路10位A/D轉(zhuǎn)換器共包含16個(gè)模擬輸入,1個(gè)10位D/A轉(zhuǎn)換器,可提供不同的模擬輸出(LPC2132/2138)。多個(gè)串行接口,包括2個(gè)16C550工業(yè)標(biāo)準(zhǔn)UART、2個(gè)高速I2C接口(400kbit/s)、SPITM 和SSP。內(nèi)部集成實(shí)時(shí)時(shí)鐘等,資源比較豐富,使它們特別適用于工業(yè)控制和醫(yī)療等嵌入式系統(tǒng)。本文以LPC2132為例,介紹LPC2132的設(shè)計(jì)經(jīng)驗(yàn)與設(shè)計(jì)技術(shù)。

2. 顯示設(shè)計(jì)

顯示設(shè)計(jì)是所有嵌入式系統(tǒng)的重要組成部分之一。顯示器件包括LED、字符LCM、圖形LCM、VFD等,其中圖形LCM(如128x64、192x64等點(diǎn)陣)可顯示ASCII字符、漢字和圖形,且性價(jià)比較高,在嵌入式系統(tǒng)中的應(yīng)用日趨廣泛,雖在MCS-51系列中的設(shè)計(jì)已非常成熟。但由于ARM與MCS-51有許多不同之處,其設(shè)計(jì)方法當(dāng)然也有差別,下面以LPC2132和192x64點(diǎn)陣LCM為例進(jìn)行說(shuō)明。

2.1 與液晶顯示模塊(LCM)的硬件接口設(shè)計(jì)

1) 電平匹配:LPC2132系列操作電壓范圍:3.0“3.6 V,選擇3V的LCM當(dāng)然沒(méi)有問(wèn)題,但市場(chǎng)上3V的LCM價(jià)格常常比5V貴,而LPC2132的I/O口可承受5V的最大電壓,所以可采用5V的LCM,但需在LCM與LPC2132相連的I/O口上接5V上拉電阻。

2) I/O連接:LPC2132沒(méi)有外部總線,所有I/O口都需要進(jìn)行配置,由內(nèi)部寄存器決定是輸入還是輸出。其中P0口共有31個(gè)I/O口,P1口有16個(gè)I/O口,而且I/O口的編號(hào)不連續(xù)(如P0.28與P1.25相鄰),由于編程時(shí)對(duì)I/O口采用位操作,所以具體連接時(shí),可根據(jù)硬件電路板布線需求進(jìn)行連接。為提高顯示刷新速度,需檢測(cè)LCM內(nèi)部的忙標(biāo)志,每次向LCM寫(xiě)數(shù)據(jù)前,先讀取LCM的狀態(tài),當(dāng)狀態(tài)為非忙時(shí)才能寫(xiě)入顯示數(shù)據(jù),這樣,要注意動(dòng)態(tài)設(shè)置與LCM數(shù)據(jù)線相連的LPC2132的I/O口方向,而且8個(gè)數(shù)據(jù)位要用IOSET和IOCLR逐一控制。

3) 液晶背光控制:由于液晶的背光電流需要100多毫安,電壓一般在5V左右,而LPC2132的I/O口驅(qū)動(dòng)能力較弱,LPC2132能可靠控制背光LED的亮與滅,且對(duì)系統(tǒng)無(wú)干擾。

圖1液晶背光控制電路

2.2 液晶顯示的軟件設(shè)計(jì)

LPC2132可采用CodeWarrior進(jìn)行軟件開(kāi)發(fā),由于用C語(yǔ)言進(jìn)行編程,開(kāi)發(fā)速度比較快。在編寫(xiě)LCM程序時(shí),先編寫(xiě)硬件驅(qū)動(dòng)程序,包括LCM初始化函數(shù),寫(xiě)LCM數(shù)據(jù)函數(shù),寫(xiě)LCM命令函數(shù),讀LCM數(shù)據(jù)函數(shù),讀LCM命令函數(shù),在這些函數(shù)的基礎(chǔ)上,編寫(xiě)顯示16x16點(diǎn)陣漢字的函數(shù),設(shè)置顯示位置函數(shù)等,鑒于篇幅限制,就不在此贅述,下面重點(diǎn)向讀者介紹如何顯示漢字的技巧和提高液晶顯示刷新速度。

在顯示漢字信息時(shí),需要先用工具軟件提取待顯示漢字的點(diǎn)陣,并將這些點(diǎn)陣信息保存在程序中,如果單純采用C語(yǔ)言,則只能定義數(shù)組變量,然后在顯示時(shí)調(diào)用所定義的數(shù)組變量。但采用這種方法有以下缺點(diǎn)。1)采用數(shù)組變量定義字符點(diǎn)陣,將浪費(fèi)寶貴的RAM資源。2)當(dāng)顯示內(nèi)容豐富,需定義的大量的點(diǎn)陣數(shù)據(jù)時(shí),造成RAM容量不足。如果采用匯編語(yǔ)言文件與C語(yǔ)言文件混合編程,將字符點(diǎn)陣信息以程序代碼的形式保存,不占用RAM,則可克服上述問(wèn)題。下面以顯示漢字“上?!保?6x16點(diǎn)陣)為例,介紹具體方法:

1) 點(diǎn)陣信息的定義。

建立一個(gè)以s為擴(kuò)展名的匯編語(yǔ)言文件,文件內(nèi)容具體如下。

EXPORT shang16x16

EXPORT hai16x16

AREA TTTT,CODE,READONLY

ENTRY;

shang16x16

DCB 0,0,0,0,0,0,255,32

DCB 32,32,32,48,32,0,0,0

DCB 6,16,16,16,16,16,31,16

DCB 16,16,16,16,24,16,0,0

hai16x16

DCB 16,33,198,144,136,247,148,180

DCB 212,148,148,246,132,128,0,0

DCB 2,62,1,0,12,11,8,9

DCB 10,40,56,15,8,0,0,0

END

上面的文件中定義了“上?!钡臐h字點(diǎn)陣信息,將此文件添加到項(xiàng)目文件中,編譯后點(diǎn)陣信息以程序代碼的方式存儲(chǔ)在FLASH中。

2) 點(diǎn)陣信息的申明。

建立一個(gè)以h為擴(kuò)展名的頭文件,對(duì)匯編語(yǔ)言文件中定義的字符點(diǎn)陣信息進(jìn)行申明,以便項(xiàng)目中其他程序可使用定義的點(diǎn)陣信息,例如lattice.h,文件具體內(nèi)容如下:

extern unsigned char shang16x16[];

extern unsigned char hai16x16[];

3) 點(diǎn)陣信息的引用。

將此頭文件插入到其他文件中。例如:假設(shè)函數(shù)void WR_LCM16x16(unsigned char x_row,unsigned char y_col,unsigned char *p_matrix)的功能是在x_row行,y_col列位置開(kāi)始顯示p_matrix所指向的字符點(diǎn)陣。則WR_LCM16x16(2,0,shang16x16)和WR_LCM16x16(2,16,hai16x16)就可顯示“上海”。

液晶顯示刷新速度是液晶應(yīng)用的關(guān)鍵技術(shù),筆者摸索如下的方法,可大大提高顯示刷新速度。

1)充分利用LCM的判忙標(biāo)志位,減小讀寫(xiě)間隔。如192x64等液晶顯示模塊,其接口中含有判忙標(biāo)志位。如果只是簡(jiǎn)單在兩次讀寫(xiě)間隔插入一定的延遲,則會(huì)使等待時(shí)間加長(zhǎng),刷新變慢。

2)信息分類(lèi),減少重復(fù)刷新??蓪⒄麄€(gè)屏幕分成空白區(qū)、顯示固定信息區(qū)、顯示動(dòng)態(tài)信息區(qū)。如參數(shù)名稱、單位等可劃歸固定信息,而實(shí)時(shí)數(shù)據(jù)則歸為動(dòng)態(tài)信息。只有在第一次進(jìn)入某個(gè)畫(huà)面時(shí),刷新固定信息區(qū),其余時(shí)刻,只刷新動(dòng)態(tài)信息區(qū)。

3)建立數(shù)據(jù)更新標(biāo)記,進(jìn)一步減小動(dòng)態(tài)信息刷新工作量。在內(nèi)存中為每個(gè)動(dòng)態(tài)信息建立一顯示緩沖區(qū),只有那些動(dòng)態(tài)信息發(fā)生改變的項(xiàng),才需要刷新。

綜合應(yīng)用上述方法,可大大提高顯示刷新速度。

3.系統(tǒng)參數(shù)掉電保存技術(shù)

由于LPC2132片內(nèi)沒(méi)有EEPROM,當(dāng)系統(tǒng)掉電后,所有參數(shù)都將丟失,如果所需要保存的參數(shù)比較多,就只有給系統(tǒng)擴(kuò)展類(lèi)似2402等EEPROM芯片,但如果需保存的數(shù)據(jù)較少(比如小于10字節(jié)),則可考慮利用系統(tǒng)的實(shí)時(shí)時(shí)鐘寄存器資源,而不必?cái)U(kuò)展EEPROM,以降低產(chǎn)品成本,下面進(jìn)行具體介紹。

LPC3123的實(shí)時(shí)時(shí)鐘有獨(dú)立的電源電路,專(zhuān)用電源管腳可與電池或3.3V的電壓相連,在產(chǎn)品設(shè)計(jì)中,一般用電池供電,以維持時(shí)鐘不間斷運(yùn)行。LPC2132中有完整的時(shí)間寄存器。但在設(shè)計(jì)過(guò)程中,并非需要所有的寄存器,比如,年、月、日、時(shí)、分、秒、星期等報(bào)警寄存器中,就有些在設(shè)計(jì)時(shí)沒(méi)有被使用,只要在設(shè)置報(bào)警屏蔽寄存器時(shí)將不用的報(bào)警寄存器屏蔽,對(duì)應(yīng)報(bào)警寄存器的數(shù)據(jù)對(duì)報(bào)警就沒(méi)有影響,則可將這些寄存器用于保存數(shù)據(jù),只要維持時(shí)鐘供電,這些數(shù)據(jù)就不會(huì)丟失。

LPC2132有2個(gè)高速I(mǎi)2C接口,當(dāng)需要存儲(chǔ)的數(shù)據(jù)量教大時(shí),可在I2C接口上連接24xx系列EEPROM芯片,使用前,先對(duì)相關(guān)引腳進(jìn)行配置,使其具有I2C總線功能,另外,當(dāng)采用I2C中斷時(shí),還要將對(duì)應(yīng)的中斷打開(kāi),使用比較方便。但在使用I2C時(shí)要注意,連續(xù)2次I2C總線讀或?qū)?,要有必要的時(shí)間間隔,即必須等前次總線結(jié)束時(shí),才能重新啟動(dòng)總線,否則會(huì)出錯(cuò)。

4.其它應(yīng)用技術(shù)

在進(jìn)行硬件設(shè)計(jì)時(shí)要注意:LPC2132的I/O口的灌入電流大于驅(qū)動(dòng)電流,在驅(qū)動(dòng)LED時(shí)可考慮采用灌入電流(I/O口輸出低電平時(shí)LED亮)技術(shù),如果采用此法依然不能滿足要求,則可用多個(gè)I/O口并聯(lián)或加驅(qū)動(dòng)電路。

LPC2132內(nèi)部8路10位A/D轉(zhuǎn)換器,但在使用時(shí),要給I/O口加穩(wěn)壓二極管保護(hù),防止輸入的模擬量超限而損壞芯片。

在進(jìn)行軟件設(shè)計(jì)時(shí)要注意:盡量使用位操作指令I(lǐng)OSET和IOCLR控制LPC2132的I/O口,而不要直接操作I/O口寄存器(如IO0PIN或IO1PIN),否則會(huì)出現(xiàn)不可預(yù)料的結(jié)果。

在調(diào)試時(shí)要注意:LPC2132支持JTAG調(diào)試,但因JTAG使用了系統(tǒng)的定時(shí)器T0,所以當(dāng)用戶用JTAG進(jìn)行軟件調(diào)試時(shí),不能使用定時(shí)器T0,否則會(huì)出錯(cuò)。

5.應(yīng)用實(shí)例

以LPC2132為核心,設(shè)計(jì)了生物安全控制柜的控制器,生物安全控制柜是醫(yī)療消毒儀器,醫(yī)療器械放進(jìn)安全控制柜,利用紫外線進(jìn)行殺菌消毒,當(dāng)消毒完畢,為防止柜內(nèi)沒(méi)有被紫外線照射殺死的病毒漂浮出來(lái),要求當(dāng)柜門(mén)打開(kāi)時(shí),啟動(dòng)送風(fēng)機(jī)和排風(fēng)機(jī),送風(fēng)機(jī)從室外補(bǔ)充新風(fēng),經(jīng)過(guò)濾器后送進(jìn)安全控制柜。排風(fēng)機(jī)將內(nèi)部有菌空氣經(jīng)過(guò)濾器過(guò)濾后排出到室外。并保證安全控制柜內(nèi)維持一定的負(fù)壓。

安全控制柜有兩種工作模式:操作模式和消毒模式。在操作模式下,允許進(jìn)行開(kāi)門(mén)、關(guān)門(mén)動(dòng)作,允許對(duì)照明燈和外接電源插座的控制,但禁止開(kāi)啟紫外燈,而且只要門(mén)打開(kāi),就自動(dòng)啟動(dòng)送風(fēng)機(jī)和排風(fēng)機(jī),只要門(mén)關(guān)閉,則送風(fēng)機(jī)和排風(fēng)機(jī)立即自動(dòng)停止;在消毒模式下,只允許對(duì)紫外燈開(kāi)關(guān)動(dòng)作、照明燈和外接電源插座的控制,而禁止開(kāi)門(mén)和啟動(dòng)風(fēng)機(jī)動(dòng)作。

系統(tǒng)要求實(shí)時(shí)顯示消毒進(jìn)度,送、排風(fēng)機(jī)的風(fēng)速,過(guò)濾器差壓數(shù)值,當(dāng)出現(xiàn)送風(fēng)風(fēng)速大于排風(fēng)風(fēng)速、消毒時(shí)前門(mén)開(kāi)啟、過(guò)濾器實(shí)效等故障時(shí),則進(jìn)行報(bào)警。另外,還需顯示當(dāng)前時(shí)鐘等。

系統(tǒng)還設(shè)有風(fēng)機(jī)、紫外燈、照明、插座、門(mén)開(kāi)、門(mén)關(guān)、UP、DOWN、LEFT、RIGHT、ENTER按鍵,用來(lái)控制相應(yīng)的操作和參數(shù)設(shè)置等。圖2為生物安全控制柜的結(jié)構(gòu)框圖。

可以看出,整個(gè)系統(tǒng)僅需少量的外圍電路和驅(qū)動(dòng)電路,性能價(jià)格比較高。具體實(shí)現(xiàn)方法:采用HONYWELL的24PC系列壓力傳感器測(cè)量控制內(nèi)部壓力,經(jīng)放大電路放大后送LPC2132的內(nèi)部A/D轉(zhuǎn)換模塊,實(shí)現(xiàn)A/D轉(zhuǎn)換,根據(jù)檢測(cè)的壓力數(shù)據(jù),計(jì)算風(fēng)機(jī)的風(fēng)速及內(nèi)部壓力狀態(tài),并執(zhí)行相應(yīng)的動(dòng)作。顯示采用192x64圖形LCM,顯示信息量大。全中文界面,用戶操作十分方便。

圖2 生物安全控制柜結(jié)構(gòu)框圖

6. 結(jié)束語(yǔ)

本文作者創(chuàng)新點(diǎn)為設(shè)計(jì)了LPC2132與液晶的硬件接口電路;提出了匯編語(yǔ)言與C語(yǔ)言混合編程方法;摸索出提高液晶顯示刷新速度的設(shè)計(jì)技術(shù);介紹了LCP2132系統(tǒng)中的參數(shù)保存技術(shù)和其他應(yīng)用技術(shù);并將這些技術(shù)成功地應(yīng)用到具體產(chǎn)品設(shè)計(jì)中。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7399

    瀏覽量

    150661
  • 嵌入式
    +關(guān)注

    關(guān)注

    5054

    文章

    18917

    瀏覽量

    300961
  • 醫(yī)療
    +關(guān)注

    關(guān)注

    8

    文章

    1773

    瀏覽量

    58594
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    LPC2131工程模板

    LPC2131工程模板
    發(fā)表于 04-06 09:28

    LPC2131 PHILIPS單片16/32位微控制器

    LPC2131 PHILIPS單片16/32位微控制器,詳細(xì)介紹,結(jié)構(gòu)框圖,管腳配置,存儲(chǔ)映射.[hide][/hide]
    發(fā)表于 08-02 10:52

    基于lpc2131的在ucosII下的模擬MP3播放實(shí)驗(yàn),資料求助

    1.基于lpc2131的在ucosII下的模擬電梯控制實(shí)驗(yàn)2.基于lpc2131的在ucosII下的模擬MP3播放實(shí)驗(yàn)
    發(fā)表于 05-19 15:39

    單片機(jī)LPC2131相關(guān)資料分享

    概述:LPC2131是飛利浦半導(dǎo)體公司生產(chǎn)的一款基于一個(gè)支持實(shí)時(shí)仿真和嵌入式跟蹤的32/16 位ARM7TDMI-STM CPU 的微控制器,并帶有32kB、64kB、512 kB 的嵌入的高速
    發(fā)表于 05-18 06:39

    單片機(jī)LPC2132相關(guān)資料下載

    ,如訪問(wèn)控制和POS 機(jī)。寬范圍的串行通信接口和片內(nèi)8/16/32kB 的SRAM 使LPC2131/2132/2138 非常適用于通信網(wǎng)關(guān)、協(xié)議轉(zhuǎn)換
    發(fā)表于 05-18 07:29

    單片機(jī)LPC2138相關(guān)資料推薦

    ,如訪問(wèn)控制和POS 機(jī)。寬范圍的串行通信接口和片內(nèi)8/16/32kB 的SRAM 使LPC2131/2132/2138 非常適用于通信網(wǎng)關(guān)、協(xié)議轉(zhuǎn)換
    發(fā)表于 05-18 07:14

    LPC2131/2132/2134/2136/2138 da

    LPC2131/2132/2134/2136/2138 datasheet,pdf Single-chip 16/32-bit microcontrollers; 32/64/128/256
    發(fā)表于 03-09 10:15 ?88次下載

    應(yīng)用LPC2131開(kāi)發(fā)PLC調(diào)速測(cè)頻單元

    針對(duì)PLC調(diào)速頻率測(cè)量部分存在的不足,開(kāi)發(fā)出一種基于LPC2131微控制器的頻率測(cè)量單元。利用其捕獲功能模塊對(duì)整形后頻率信號(hào)捕獲、計(jì)算得到信號(hào)周期計(jì)數(shù)值,再將該周期計(jì)數(shù)值
    發(fā)表于 09-12 10:13 ?38次下載

    LPC2132使用手冊(cè)(中文)

    LPC2131/2132/2138 是基于一個(gè)支持實(shí)時(shí)仿真和嵌入式跟蹤的 32/16 位 ARM7TDMI-STM CPU 的微控制 ,并
    發(fā)表于 08-05 17:32 ?47次下載

    LPC2131_2132_2138-中文使用指南

    LPC2131_2132_2138-中文使用指南
    發(fā)表于 04-27 09:13 ?49次下載

    LPC2131微控制器外部實(shí)現(xiàn)CAN總線通信設(shè)計(jì)

    Philips公司的LPC213l是基于ARM7TDMI-S的高性能32位RISC微控制器。它具有ARM處理的所有優(yōu)點(diǎn)——低功耗、高性能和較為豐富的片上資源,但LPC2131內(nèi)部沒(méi)有
    的頭像 發(fā)表于 04-18 08:08 ?3104次閱讀
    在<b class='flag-5'>LPC2131</b><b class='flag-5'>微控制器</b>外部實(shí)現(xiàn)CAN總線通信設(shè)計(jì)

    LPC2131LPC2138系列單芯片微控制器的數(shù)據(jù)手冊(cè)免費(fèi)下載

    LPC2131/32/34/36/38微控制器基于16/32位ARM7TDMI-S CPU,具有實(shí)時(shí)仿真和嵌入式跟蹤支持,將微控制器與32 kb、64 kb、128 kb、256 kb和512 kb
    發(fā)表于 01-24 08:00 ?60次下載
    <b class='flag-5'>LPC2131</b>到<b class='flag-5'>LPC2138</b>系列單芯片<b class='flag-5'>微控制器</b>的數(shù)據(jù)手冊(cè)免費(fèi)下載

    LPC2131LPC2132LPC2138的數(shù)據(jù)手冊(cè)和使用指南資料免費(fèi)下載

    LPC2131/2132/2138 是基于一個(gè)支持實(shí)時(shí)仿真和嵌入式跟蹤的 32/16 位 ARM7TDMI-STM CPU 的微控制器,并帶有 32kB、64kB、512 kB 的嵌入
    發(fā)表于 05-23 08:00 ?10次下載
    <b class='flag-5'>LPC2131</b>和<b class='flag-5'>LPC2132</b>及<b class='flag-5'>LPC2138</b>的數(shù)據(jù)手冊(cè)和使用指南資料免費(fèi)下載

    LPC2131芯片的PCB原理圖免費(fèi)下載

    LPC2131芯片的PCB原理圖免費(fèi)下載
    發(fā)表于 10-21 11:19 ?25次下載
    <b class='flag-5'>LPC2131</b>芯片的PCB原理圖免費(fèi)下載

    基于LPC2131的的CAN接口模塊硬件電路設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于LPC2131的的CAN接口模塊硬件電路設(shè)計(jì).rar》資料免費(fèi)下載
    發(fā)表于 11-10 10:46 ?0次下載
    基于<b class='flag-5'>LPC2131</b>的的CAN接口模塊硬件電路設(shè)計(jì)