<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于MC68HC908KX2的ICG模塊的應(yīng)用研究

          基于MC68HC908KX2的ICG模塊的應(yīng)用研究

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

          引言

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

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

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

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

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

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

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

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

          e) 對(duì)內(nèi)部和外部時(shí)鐘源都可實(shí)現(xiàn)時(shí)鐘監(jiān)控。

          1.2 ICG模塊的設(shè)置方法

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

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


          1) 轉(zhuǎn)換時(shí)鐘源

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

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

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

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

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

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

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

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

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

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

          6) 調(diào)整內(nèi)部時(shí)鐘發(fā)生器的頻率

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

          2 寶馬汽車故障診斷與復(fù)位子系統(tǒng)設(shè)計(jì)

          由于本系統(tǒng)檢測范圍包括對(duì)寶馬汽車大部分部件的檢測及故障恢復(fù),整個(gè)系統(tǒng)構(gòu)成較復(fù)雜,因此,在本文中為了說明MC68HC68HC908KX2單片機(jī)ICG模塊的應(yīng)用,選擇本系統(tǒng)的一個(gè)子系統(tǒng)加以說明。

          2.1 硬件設(shè)計(jì)

          本子系統(tǒng)實(shí)現(xiàn)的功能為機(jī)油保養(yǎng)歸零、氣囊故障修復(fù)及運(yùn)行時(shí)間歸零。硬件主控電路如圖1所示。

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

          2.2 軟件設(shè)計(jì)

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

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


          3 結(jié)束語

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



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

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();