女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]引言工業(yè)以太網(wǎng)具有比現(xiàn)場(chǎng)總線更好的性能,正處于不斷發(fā)展完善當(dāng)中,因此研制基于工業(yè)以太網(wǎng)的設(shè)備具有很好的市場(chǎng)前景。本文設(shè)計(jì)的嵌入式控制器采用了基于ARM7TDMIS的微控制器LPC2292[12]??刂破鞯牡讓优c現(xiàn)場(chǎng)總線CA

引言

工業(yè)以太網(wǎng)具有比現(xiàn)場(chǎng)總線更好的性能,正處于不斷發(fā)展完善當(dāng)中,因此研制基于工業(yè)以太網(wǎng)的設(shè)備具有很好的市場(chǎng)前景。本文設(shè)計(jì)的嵌入式控制器采用了基于ARM7TDMIS的微控制器LPC2292[12]。控制器的底層與現(xiàn)場(chǎng)總線CAN相連,向上與Ethernet/IP工業(yè)以太網(wǎng)相連。為提高可靠性,應(yīng)用了冗余控制技術(shù),備有一個(gè)一模一樣的冗余控制器。通過LVDS接口,控制器與冗余控制器相連,并相互在線監(jiān)測(cè)。同時(shí),本文采用了嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II[3]。

嵌入式控制器采用高性能的32位單片機(jī)LPC2292。但是LPC2292在正常工作中存在產(chǎn)生偽中斷的可能性。如果不進(jìn)行正確處理的話,可能產(chǎn)生嚴(yán)重的后果。本文對(duì)此進(jìn)行了全面的分析,針對(duì)不同的情況,靈活地進(jìn)行了處理;最后徹底解決了偽中斷問題,消除了嵌入式控制器中的隱患。

本文用到的LPC2292的資源有看門狗、定時(shí)器TIMIER0、UART0、UART1、CAN1,通過外部總線與以太網(wǎng)控制器芯片RTL8019AS相連。把CAN1的接收數(shù)據(jù)Rx設(shè)為快中斷,它是唯一的快中斷。UART1與LVDS芯片相連,UART0通過RS232轉(zhuǎn)換芯片與外部設(shè)備進(jìn)行通信。

1 偽中斷產(chǎn)生的原因

由于異步中斷處理,偽中斷可能出現(xiàn)在基于ARM7TDMIS 的微控制器LPC2292中。如果不進(jìn)行正確處理,有可能引起嚴(yán)重的后果。中斷處理的異步特性來源于內(nèi)核和向量中斷控制器(VIC)的相互作用。如果在內(nèi)核中檢測(cè)到中斷和內(nèi)核真正開始處理中斷的過程中VIC 的狀態(tài)發(fā)生改變,則產(chǎn)生中斷的異步特性[4]。

應(yīng)用中可能經(jīng)過以下步驟:

① VIC 判斷是否有IRQ 中斷。若有,則向內(nèi)核發(fā)送IRQ 信號(hào)。

② 內(nèi)核保存IRQ 狀態(tài)。

③ 執(zhí)行流水線的多個(gè)周期的處理。

④ 內(nèi)核從VIC 中裝入IRQ 地址。

如果在執(zhí)行到步驟③時(shí)向量中斷控制器的狀態(tài)有所改變,那么就要發(fā)生偽中斷。所以,在以下兩種情況下會(huì)發(fā)生偽中斷。

◆ 在步驟③時(shí)執(zhí)行了關(guān)中斷指令。

◆ 向向量中斷控制器發(fā)送IRQ信號(hào)的中斷的中斷標(biāo)志丟失。當(dāng)UART0/UART1的RDA/CTI中斷允許時(shí)就可能發(fā)生這種情況[5]。

進(jìn)入偽中斷時(shí),VIC 不能清楚地識(shí)別產(chǎn)生中斷請(qǐng)求的中斷,最后只能返回到VicDefVectAddr (0xFFFFF034)默認(rèn)中斷進(jìn)行處理。因此,如果不正確處理偽中斷,就可能導(dǎo)致嚴(yán)重的后果。

2 偽中斷的處理

本控制器中,可能出現(xiàn)偽中斷的地方是:關(guān)中斷、喂看門狗、UART0通信和UART1通信。本文的設(shè)計(jì)思路是:盡量避免產(chǎn)生偽中斷;實(shí)在避不開的話,則寫好相應(yīng)的處理程序。

2.1 關(guān)中斷指令的處理

μC/OS-II中的關(guān)中斷指令OS_ENTER_CRITICAL()不采用直接關(guān)中斷,而是先進(jìn)入管理模式中,設(shè)置好寄存器SPSR,退出時(shí)關(guān)掉IRQ中斷。這樣就消除了由關(guān)中斷而引起偽中斷的可能性。

2.2 看門狗的處理

喂看門狗時(shí)必須先關(guān)閉IRQ和FIQ,否則可能發(fā)生意外的復(fù)位,導(dǎo)致控制器不能工作。在周期性的時(shí)鐘節(jié)拍中斷程序中第一件事就是喂看門狗。如果在進(jìn)入時(shí)鐘節(jié)拍中斷時(shí)IRQ已關(guān)閉,就可避免偽中斷的出現(xiàn)。當(dāng)然,在喂狗指令前必須先關(guān)閉FIQ,喂狗指令后再打開FIQ。關(guān)閉FIQ是不會(huì)引起偽中斷的[1]。

2.3 UART0和UART1的處理

在UART0中(UART1同理),當(dāng)UART0 Rx FIFO到達(dá)寄存器U0FCR7∶6 所定義的觸發(fā)點(diǎn)(比如接收4個(gè)字符)時(shí),發(fā)生RDA 中斷。當(dāng)UART0 Rx FIFO 的深度低于觸發(fā)點(diǎn)時(shí),RDA 中斷標(biāo)志被清除。

當(dāng)UART0 Rx FIFO 包含至少1 個(gè)字符,且在接收3.5~4.5 字符的時(shí)間內(nèi)沒有發(fā)生UART0 Rx FIFO 動(dòng)作時(shí),產(chǎn)生CTI中斷。當(dāng)UART0 Rx FIFO 的任何動(dòng)作(讀或?qū)慤ART0 RSR)都將清除CTI中斷標(biāo)志。

CTI偽中斷是這樣發(fā)生的:比如UART0 Rx FIFO已接收2字符,且超過了3.5~4.5 字符的時(shí)間,發(fā)生CTI中斷;但是這時(shí)又有字符進(jìn)來,于是CTI中斷標(biāo)志被清除。向量中斷控制器無法識(shí)別是誰產(chǎn)生了中斷,偽中斷就發(fā)生了。

RDA偽中斷是這樣發(fā)生的:以接收4字符發(fā)生RDA中斷為例,比如UART0 Rx FIFO已接收3字符,且超過了3.5~4.5 字符的時(shí)間,發(fā)生CTI中斷。在系統(tǒng)正確處理CTI中斷時(shí),恰好有一個(gè)字符進(jìn)來,使得UART0 Rx FIFO中的字符數(shù)正好為4,于是發(fā)生RDA中斷。但是由于先處理CTI中斷,CTI中斷程序先讀取了其中的字符,使UART0 Rx FIFO內(nèi)的字符數(shù)小于4,因此RDA中斷標(biāo)志就被清除了。等到系統(tǒng)處理RDA中斷時(shí),偽中斷就發(fā)生了。

可以看出,CTI中斷的存在是產(chǎn)生UART0和UART1偽中斷的罪魁禍?zhǔn)住ART1與LVDS接口相連,用于控制器和冗余控制器的在線互相監(jiān)測(cè)。采用每次只發(fā)一個(gè)字符的方法,使得CTI中斷不可能發(fā)生,這樣就徹底消除了UART1產(chǎn)生偽中斷的可能性。

本控制器只在UART0中斷中存在產(chǎn)生偽中斷的可能性。發(fā)生偽中斷時(shí),系統(tǒng)會(huì)把默認(rèn)中斷地址寄存器VICDefVectAddr中的地址拷貝到向量地址寄存器VICVectAddr中,系統(tǒng)執(zhí)行該地址處的程序。所以,要編寫相應(yīng)的處理偽中斷程序,把其首地址放入VICDefVectAddr中。在處理偽中斷的程序中,要盡快讀出UART0 Rx FIFO中的字符,以免丟失[5]。

參考文獻(xiàn)

[1] NXP Semiconductors. LPC2292 USER MANUAL, 2004.

[2] NXP Semiconductors. LPC2292 ERRATA SHEET, 2006.

[3] Labrosse Jean J. 嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II[M]. 邵貝貝,等譯. 北京:北京航空航天大學(xué)出版社, 2003.

[4] 廣州周立功單片機(jī)發(fā)展有限公司. PHILIPS 單片16/32 位微控制器——LPC2292/LPC2294,2005.

[5] NXP Semiconductors. Handling of spurious interrupts in the LPC2000, 2006.

張斌(碩士研究生),主要研究方向?yàn)閱纹瑱C(jī)與嵌入式控制系統(tǒng)。

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

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉