<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于MC68HC908KX2的ICG模塊的應用研究

基于MC68HC908KX2的ICG模塊的應用研究

作者: 時(shí)間:2007-07-25 來(lái)源:網(wǎng)絡(luò ) 收藏

引言

從8位單片機誕生至今,已近30年,由于芯片技術(shù)的發(fā)展使得單片機處理速度越來(lái)越快。MPU發(fā)展中表現出來(lái)的速度是以時(shí)鐘頻率越來(lái)越高為標志的,而單片機則有所不同,為提高單片機抗干擾能力,降低噪聲,降低時(shí)鐘頻率而不犧牲運算速度是單片機技術(shù)發(fā)展的追求。一些8051單片機兼容廠(chǎng)商改善了單片機的內部時(shí)序,在不提高時(shí)鐘頻率的條件下,使運算速度提高了很多,Motorola單片機則使用了鎖相環(huán)技術(shù)或內部倍頻技術(shù)使內部總線(xiàn)速度大大高于時(shí)鐘產(chǎn)生器的頻率。例如MC68HC08單片機使用4.9 MHz外部振蕩器而內部時(shí)鐘達32 MHz,而M68K系列32位單片機使用32 kHz的外部振蕩器頻率可實(shí)現內部時(shí)鐘達16 MHz以上。Motorola單片機突出的特點(diǎn)之一是在同樣速度下所用的時(shí)鐘頻率較Intel類(lèi)單片機低很多,因而使得高頻噪聲低,抗干擾能力強,更適合用于工控領(lǐng)域及惡劣的環(huán)境。而作為8位單片機家族中的一員,MC68HC908KX2提供了ICG(內部時(shí)鐘發(fā)生器)模塊,無(wú)需外接任何時(shí)鐘產(chǎn)生器件的情況下,通過(guò)軟件設置即可實(shí)現所需的時(shí)鐘信號。

1 ICG模塊的特點(diǎn)及設置方法

在無(wú)需任何外部元件情況下,MC68HC908KX2芯片的ICG模塊能夠給微控制器提供穩定的時(shí)鐘源,ICG模塊通過(guò)CGMXCLK引腳為系統監控模塊、低電壓禁止模塊和其他模塊提供振蕩時(shí)鐘輸出。ICG模塊產(chǎn)生的時(shí)鐘信號也提供給系統集成模塊,用于產(chǎn)生總線(xiàn)時(shí)鐘。此外,ICG模塊還產(chǎn)生時(shí)基時(shí)鐘,該信號被用于時(shí)基模塊。

1.1 ICG模塊的特點(diǎn)

a) 可選的外部時(shí)鐘信號發(fā)生器,一個(gè)引腳接外部時(shí)鐘源或兩個(gè)引腳接晶振,端口引腳可實(shí)現多路轉換。

b) ICG以正常頻率(307.2±25%)kHz的整數倍輸出可編程的頻率。

c) 頻率調整可以2%變化量對頻率進(jìn)行調整。

d) 總線(xiàn)時(shí)鐘通過(guò)軟件選擇內部或外部時(shí)鐘源,總線(xiàn)頻率范圍是:(76.8±25%)kHz~(9.75±25%)MHz,增加率為76.8 kHz。

e) 對內部和外部時(shí)鐘源都可實(shí)現時(shí)鐘監控。

1.2 ICG模塊的設置方法

ICG模塊通過(guò)設置可產(chǎn)生(307.2±25%)kHz的低頻時(shí)基時(shí)鐘信號IBASE,然后通過(guò)設定ICG模塊的頻率倍數(ICGMR)的數值,得到系統所需的時(shí)鐘信號ICLK。

使用內部時(shí)鐘模塊通過(guò)以下步驟進(jìn)行:


1) 轉換時(shí)鐘源

在兩個(gè)時(shí)鐘源都處于使能和穩定狀態(tài)時(shí),可以從一個(gè)時(shí)鐘源轉到另一個(gè)時(shí)鐘源。轉換過(guò)程為:使能所要采用的時(shí)鐘源;等待該時(shí)鐘源穩定;轉換時(shí)鐘;禁止前一個(gè)時(shí)鐘源。該實(shí)現過(guò)程的匯編為(以從內部時(shí)鐘源轉到外部為例):

2) 使能時(shí)鐘監控電路

在許多應用中,需要時(shí)鐘監控電路在某個(gè)時(shí)鐘源未激活的狀態(tài)下通知系統自動(dòng)使用另一個(gè)已經(jīng)激活的時(shí)鐘源,避免使系統運行發(fā)生故障。使用時(shí)鐘監控模塊的前提是ECGON和ICGON位都置1,其設置過(guò)程為:使能可用的時(shí)鐘源;等待兩個(gè)時(shí)鐘源穩定;如果需要,轉換時(shí)鐘源;使能時(shí)鐘監控;使能時(shí)鐘監控中斷。具體實(shí)現的如下:

3) 量化數控振蕩器的誤差

數控振蕩器主要包括二進(jìn)制權值分配器、可變延遲時(shí)間的振蕩環(huán)、振蕩環(huán)精確調整電路3個(gè)子模塊。以上每個(gè)模塊都影響內部時(shí)鐘的時(shí)鐘周期,因為這些模塊受數字濾波器的輸出DDIV和DSTG的控制。通過(guò)對這兩個(gè)寄存器的設置,可實(shí)現對輸出時(shí)鐘信號ICLK的值進(jìn)行相應的調整。

4) 改變內部時(shí)鐘頻率

某些情況下可能需要改變內部時(shí)鐘頻率。例如,如果系統復位時(shí)不能提供正確的頻率,或者在低電壓模式下系統時(shí)鐘變慢,必須通過(guò)變程修改內部時(shí)鐘倍頻因子N的值改變內部時(shí)鐘的頻率。這時(shí)需注意,改變內部時(shí)鐘頻率之前必須先禁止時(shí)鐘監控模塊。改變內部時(shí)鐘頻率的步驟如下:通過(guò)讀CMF位的值確定是否存在時(shí)鐘監控中斷;關(guān)閉時(shí)鐘監控模塊;如果需要,轉換到外部時(shí)鐘源;改變N值;如果需要,轉換回到內部始時(shí)鐘源;如果需要,打開(kāi)時(shí)鐘監控模塊。

5) 開(kāi)始正確頻率設置的時(shí)間

由于ICLK的值取決于DCO的輸出值,當某些操作條件發(fā)生改變時(shí),內部時(shí)鐘不能馬上穩定下來(lái),ICLK將暫時(shí)以不正確的時(shí)鐘工作。ICLK需要一定的調整時(shí)間才能達到正確時(shí)鐘周期。達到正確時(shí)鐘周期所需要的時(shí)間為:

式中:τ1,τ2分別為調整前、后的時(shí)鐘周期值,令τ15=|44N(τ1-τ2)| ,則常見(jiàn)的時(shí)鐘周期調整表見(jiàn)表1。

6) 調整內部時(shí)鐘發(fā)生器的頻率

由于數據處理、電壓和溫度等原因未經(jīng)過(guò)調整的低頻時(shí)基時(shí)鐘信號IBASE將會(huì )發(fā)生±25%的頻率波動(dòng),通過(guò)改變內部時(shí)鐘電路的比較電容器的值可以將頻率波動(dòng)值限定在±2%的范圍內。設置TRIM寄存器的值就可以改變比較電容器的值,TRIM寄存器的默認值是$80即128個(gè)單位,對應的默認電容值為512,每增加或減少1個(gè)單位,可對未調整頻率實(shí)現±0.195%的調整。

2 寶馬汽車(chē)故障診斷與復位子系統設計

由于本系統檢測范圍包括對寶馬汽車(chē)大部分部件的檢測及故障恢復,整個(gè)系統構成較復雜,因此,在本文中為了說(shuō)明MC68HC68HC908KX2單片機ICG模塊的應用,選擇本系統的一個(gè)子系統加以說(shuō)明。

2.1 硬件設計

本子系統實(shí)現的功能為機油保養歸零、氣囊故障修復及運行時(shí)間歸零。硬件主控電路如圖1所示。

控制核心采用8位單片機MC68HC908KX2芯片,通過(guò)串行接口線(xiàn)與汽車(chē)內的CPU進(jìn)行通信,并用通用I/O口PTA和PTB分別實(shí)現鍵盤(pán)輸入和輸出顯示功能。由于該單片機采用5 V供電,而汽車(chē)電路工作電壓為12 V,所以本子系統需要設計專(zhuān)門(mén)的接口電路實(shí)現與汽車(chē)的通信,電路見(jiàn)圖2。圖中,RXD和TXD分別連接單片機的串行輸入與輸出端,汽車(chē)的串行輸入、輸出數據通過(guò)單K線(xiàn)傳送給單片機。

2.2 軟件設計

利用指令不斷掃描鍵盤(pán)接口線(xiàn)(PTA1,PTA2),若按下的是通信鍵則從固定存儲區取固定的oil resct編碼發(fā)送出去,同時(shí)在發(fā)送數據期間通信指示燈不停閃爍3 s,如果按下的是功能選擇鍵,則time inspection,odo inspection,oil reset指示燈依次循環(huán)點(diǎn)亮,選擇相應功能,等待通信鍵按下,如果按下了通信鍵,就發(fā)送相應清故障數據。

在程序中,根據本系統的實(shí)際需要設置:ICGCR、ICGMR、ICGTR及系統寄存器CONFIG的值。系統主要源為:


3 結束語(yǔ)

本文介紹了新型單片機芯片MC68HC908KX2內部時(shí)鐘模塊在寶馬汽車(chē)診斷控制系統中的應用,由于采用了內部時(shí)鐘模塊,省略了外部時(shí)鐘電路,從而大大簡(jiǎn)化了系統的硬件設計。實(shí)踐證明,在惡劣電磁環(huán)境中系統工作正常,抗干擾性能力得到很大提高,測得的汽車(chē)故障代碼數據準確可靠。



關(guān)鍵詞: 配置 寄存器 代碼

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>