- 相關(guān)推薦
基于32位微控制器MC68HC376的開發(fā)設(shè)計(jì)和應(yīng)用
摘要:研究了一種新型的32位高性能微控制器MC68HC376,提出了一種基于MC68HC376的應(yīng)用系統(tǒng)設(shè)計(jì)方案,對(duì)MC68HC376比較有特色的部分做了深入的開發(fā)和討論,通過一種實(shí)際產(chǎn)品驗(yàn)證了該方案的可行性。關(guān)鍵詞:32位微控制器 MC68HC376 可構(gòu)造時(shí)鐘模塊(CTM4) 模數(shù)轉(zhuǎn)換器(QADC) 系統(tǒng)設(shè)計(jì) 測(cè)頻
MC68HC376是Motorola公司推出的一種新型的32位高性能單片機(jī),具有極強(qiáng)的數(shù)據(jù)處理、邏輯運(yùn)算和信息存儲(chǔ)能力,可以實(shí)現(xiàn)諸如人工智能、模糊控制等復(fù)雜的控制運(yùn)算模型,有很好的開發(fā)前景。其開發(fā)手段簡(jiǎn)單、方便。芯片支持BDM(Background Debug Mode)模式,通過簡(jiǎn)易的專用電纜接口,而不需要使用傳統(tǒng)的仿真器和編程器就可以直接對(duì)微控制器系統(tǒng)進(jìn)行仿真開發(fā)和燒錄程序。本文介紹了在電力系統(tǒng)保護(hù)中應(yīng)用MC68HC376的一種實(shí)際開發(fā)方案。
1 MC68HC376的基本特性
MC68HC376具有速度快、并行處理能力強(qiáng)、可靠性高、功耗低、功能強(qiáng)大等優(yōu)點(diǎn)。與目前常用的8位、16位微控制器比,其片內(nèi)資源極其豐富,適應(yīng)于各種控制場(chǎng)合;內(nèi)部集成度高,硬件可靠性和穩(wěn)定性強(qiáng),外部擴(kuò)展工作少,開發(fā)周期短。
(范文先生網(wǎng)www.qkfawen.com收集整理)
1.1 主要功能模塊
MC68HC376為160腳的封裝結(jié)構(gòu)。其主要功能模塊包括32位CPU;系統(tǒng)集成模塊(SIM)、4KB備用RAM;8KB片內(nèi)ROM;10位隊(duì)列式的模數(shù)轉(zhuǎn)換器(QADC),具有強(qiáng)大的數(shù)據(jù)轉(zhuǎn)換控制功能;隊(duì)列式串行通信模塊(QSM),可以方便地實(shí)現(xiàn)同步、異步通信功能;可構(gòu)造時(shí)鐘模塊(CTM4),具有多種強(qiáng)大的定時(shí)、計(jì)數(shù)和脈沖調(diào)制功能;時(shí)間處理單元(TPU),可對(duì)各種事件進(jìn)行快速智能處理;3.5KB靜態(tài)TPURAM;CAN控制模塊(TOUCAN),能方便地實(shí)現(xiàn)工業(yè)自動(dòng)化等場(chǎng)合的局域網(wǎng)絡(luò)控制。
1.2 基本性能
(1)24位地址總線,16位數(shù)據(jù)總線,支持32位數(shù)據(jù)操作;
(2)2個(gè)8位雙功能I/O,1個(gè)7位雙功能I/O,16~44個(gè)模擬量輸入通道;
(3)具有系統(tǒng)保護(hù)邏輯,同時(shí)可進(jìn)行時(shí)鐘監(jiān)視和總線監(jiān)視;
(4)速度快,在4.194MHz晶振下,系統(tǒng)時(shí)鐘可達(dá)20.97MHz;
(5)功耗低,具備低功率休眠功能;
(6)支持高級(jí)語言和背景調(diào)試。
2 基于MC68HC376的系統(tǒng)設(shè)計(jì)
2.1 片外Flash和RAM的擴(kuò)展
MC68HC376有24位地址線和12位可編程的片選線。每根片選線可選通2KB~1MB的地址區(qū),因此MC68HC376具有很強(qiáng)的擴(kuò)展能力。注意:CS[6~10]與ADDR[19~23]復(fù)用。如何合理地安排這些線和片選線是系統(tǒng)優(yōu)劣的關(guān)鍵。
本系統(tǒng)擴(kuò)展了2片128KB的片外Flash 29C010A,2片128KB的片外RAM HM628128,擴(kuò)展電路中圖1所示(其中的片選信號(hào)均采用10kΩ的上位電阻,圖1未畫出)。
值得注意的是:Flash和RAM均由A[1~17]尋址,實(shí)際上是一種字尋址方式,最低位A0不用。2片F(xiàn)lash和2片RAM的數(shù)字口分別接至MC68HC376的D[8~15]和D[0~7],對(duì)應(yīng)字的高低字節(jié)。在程序中應(yīng)注意存放高字節(jié)折芯片對(duì)應(yīng)字的低字節(jié)地址。
2.2 系統(tǒng)功能選擇電路設(shè)計(jì)
與MCS-51和MCS-196系列單片機(jī)不同的是,MC68HC376復(fù)位時(shí)數(shù)據(jù)線狀態(tài)決定控制器某些相關(guān)的功能和操作模式。因此,根據(jù)實(shí)際系統(tǒng)的功能需要來選擇對(duì)應(yīng)的復(fù)位狀態(tài),是系統(tǒng)設(shè)計(jì)的一個(gè)重要環(huán)節(jié)。
所有數(shù)據(jù)線都有內(nèi)部弱上拉電阻,復(fù)位時(shí)默認(rèn)狀態(tài)為高,對(duì)應(yīng)系統(tǒng)相應(yīng)的默認(rèn)功能;當(dāng)需要利用其非默認(rèn)功能時(shí),需要強(qiáng)制電路使用應(yīng)數(shù)據(jù)線在復(fù)位時(shí)電位為低。相應(yīng)的模式選擇電路如圖2所示。
為了避免復(fù)位時(shí)MCU與外部讀寫器件沖突,引入DS和R/W為門控信號(hào)。這里,將SIM模塊構(gòu)造兩個(gè)通用的并行I/O口,將DB8和DB9在復(fù)位時(shí)強(qiáng)制為低;而片選腳分別作為片選或者輸出口,所以DB[0~7保持默認(rèn)狀態(tài);因系統(tǒng)采用晶振作為外部參考頻率源,所以MODCLK腳也應(yīng)保持默認(rèn)狀態(tài)。
2.3 時(shí)鐘部分的設(shè)計(jì)
2.3.1 系統(tǒng)時(shí)鐘的獲得
本系統(tǒng)采用晶振作為外部參考頻率源,電路和普通晶振電路一樣。但要注意確保MODCLK腳在復(fù)位時(shí)為高,否則系統(tǒng)會(huì)出錯(cuò)。
本系統(tǒng)采用Motorola公司推薦的4.194MHz晶振頻率,同時(shí)通過寫時(shí)鐘合成控制寄存器SYNCR中的相關(guān)位來獲得一定的系統(tǒng)時(shí)鐘。系統(tǒng)時(shí)鐘頻率與SYNCR的W位、X位和Y[0~5]區(qū)的值有關(guān):Fsys=Fref×[4(Y+1) ×2 (2W+X)]/128
當(dāng)寫入W=1,X=0,Y=100111時(shí),F(xiàn)sys=5Fref=20.97MHz。(注意:不要超過MC68HC376系統(tǒng)頻率的最大允許值20.97MHz)。
2.3.2 外部濾波電路
由于采用外部參考頻率源,所以需要在XFC腳上接入濾波電路。應(yīng)盡可能降低XFC腳的泄露電流,以提高時(shí)鐘的穩(wěn)定性和內(nèi)部鎖相環(huán)的性能。濾波電路如圖3所示。
2.4 輸入輸出通道
系統(tǒng)輸入輸出通道包括模塊量輸入、開關(guān)量輸入、鍵盤輸入、液晶顯示、控制量邏輯輸出等部分。為了減小干擾,開關(guān)量輸入采取光電隔離方式。運(yùn)用MC68HC376的CTM4模塊測(cè)量頻率,由QADC模塊實(shí)現(xiàn)隊(duì)列式的模數(shù)轉(zhuǎn)換功能。
2.4.1 應(yīng)用CTM4進(jìn)行頻率測(cè)量
Motorola公司的CTM4模塊包括總線接口單元BIUSM、計(jì)數(shù)器分頻子模塊CPSM、1個(gè)16位自由計(jì)數(shù)器FCSM、2個(gè)16位可自動(dòng)得裝載計(jì)數(shù)器MCSM、4個(gè)動(dòng)作單元DASM、4個(gè)脈寬調(diào)節(jié)子模塊PWMSM。
CPSM通過對(duì)系統(tǒng)時(shí)鐘分頻向CTM4各個(gè)模塊提供6種不同的計(jì)數(shù)時(shí)鐘PCLK1~PCLK6。在運(yùn)行CTM4各個(gè)單元之前,應(yīng)先設(shè)置并啟動(dòng)CPSM。注意,CPSM的構(gòu)造值關(guān)系到實(shí)際測(cè)頻和測(cè)周結(jié)果的計(jì)算。
在實(shí)際測(cè)量中,為了提高測(cè)量精度,對(duì)于較高的頻率采用計(jì)數(shù)測(cè)頻法,外部信號(hào)經(jīng)過濾波、過零比較后同時(shí)接入MC68HC376的CTM2C腳和CTD3腳,由軟件選擇判斷實(shí)際采用的方式。測(cè)頻子程序包括測(cè)頻部分(流程如圖4)和計(jì)數(shù)測(cè)頻部分(流程如圖5)。
(1)通過測(cè)周間接測(cè)頻
當(dāng)待測(cè)頻率不高時(shí),采用測(cè)周測(cè)頻方法。DASM單元的特點(diǎn)在于不需要軟件的干預(yù)而自動(dòng)高速、精確地捕捉CTD3腳上兩個(gè)連續(xù)的上(下)跳沿,兩次捕捉的時(shí)間差即為待測(cè)信號(hào)的周期。
(2)通過計(jì)數(shù)器直接測(cè)頻
當(dāng)待測(cè)頻率較高時(shí),采用直接測(cè)頻方式。用CMSM2作定時(shí)器,利用FCSM12對(duì)CTM2C引腳的方波信號(hào)進(jìn)行計(jì)數(shù)。
(3)應(yīng)用CTM4測(cè)頻的幾個(gè)實(shí)際問題
應(yīng)用CTM4測(cè)頻的程序結(jié)構(gòu)并不復(fù)雜,但有幾個(gè)實(shí)際問題值得注意:
·啟動(dòng)CTM4后,不應(yīng)立即啟動(dòng)CPSM產(chǎn)生時(shí)鐘,否則會(huì)因?yàn)槌绦蛟谠O(shè)置相應(yīng)子單元時(shí)不同步而造成測(cè)量誤差。
·在完成一次測(cè)周后,一般應(yīng)選擇模式0停止DASM;但注意在停止DASM時(shí),實(shí)際對(duì)DASM還有一個(gè)復(fù)位動(dòng)作,所以最好在關(guān)閉DASM前讀出捕捉寄存器A、B的值。而一般的定時(shí)計(jì)數(shù)器都是在停止后讀值。
·在使用計(jì)數(shù)測(cè)頻方式時(shí),F(xiàn)CSMCNT在不溢出的狀態(tài)下最大可計(jì)量2 16Hz的頻率。這對(duì)更高頻率的測(cè)量是不夠的。設(shè)置一個(gè)溢出計(jì)數(shù)器N,在每次溢出中斷時(shí)加1計(jì)數(shù),同時(shí),因此CTM2C腳最大允許輸入為Fsys/4,所以在20.97MHz的系統(tǒng)頻率下,N使用8位計(jì)數(shù)器就可以滿足要求(FCSMCNT溢出中斷處理程序的流程圖略)。
·判斷是采用計(jì)數(shù)測(cè)頻還是測(cè)周測(cè)頻的頻率定值,應(yīng)該以減少測(cè)量誤差為準(zhǔn)則,需要對(duì)理論誤差進(jìn)行計(jì)算,同時(shí)根據(jù)實(shí)際測(cè)量情況進(jìn)行調(diào)整。
2.4.2 利用QADC模塊實(shí)現(xiàn)A/D轉(zhuǎn)換
QADC的主要功能模塊包括兩個(gè)隊(duì)列(QUEUE)、命令字(CCW)表、結(jié)果字表和一些相應(yīng)的控制寄存器。QADC的最大特點(diǎn)是能夠通過寄存器和命令字組織待轉(zhuǎn)換的模擬量,使其按一定的隊(duì)列形式在一定條件下觸發(fā)轉(zhuǎn)換序列,并將結(jié)果按一定的格式存放于結(jié)果字表中。在實(shí)現(xiàn)A/D轉(zhuǎn)換時(shí)需要進(jìn)行的工作如下:
(1)構(gòu)造相關(guān)的管腳
QADC的管腳可作為模擬量I/O、數(shù)字量I/O或多路復(fù)用功能腳。在使用和相應(yīng)管之前要先對(duì)其進(jìn)行構(gòu)造。本系統(tǒng)中16路模擬
輸入口已經(jīng)夠用,不需多路復(fù)用(可達(dá)44路),因此先對(duì)控制寄存器QACR0中的MUX位清零。相應(yīng)管腳的引用名稱為AN[52~59]、AN[48~51]、AN[0~3]。最后在數(shù)據(jù)方向寄存器DDRQA中將相應(yīng)位清零,即管腳設(shè)為輸入。
(2)構(gòu)造隊(duì)列和命令字表
先通過控制寄存器QACR1和QACR2中的MQ1和MQ2區(qū)選擇隊(duì)列1和2工作方式。為減少軟件干涉、提高轉(zhuǎn)換程序效率,設(shè)置MQ1=MQ2=101,即軟件觸發(fā)的連續(xù)掃描方式。根據(jù)所測(cè)頻率經(jīng)過軟件倍頻后可以很容易地對(duì)相關(guān)量進(jìn)行跟蹤采樣,而不需要外部鎖相跟蹤電路。然后,按一定的順序和優(yōu)先級(jí)來組織隊(duì)列。
由于沒有多路復(fù)用,這里用16個(gè)轉(zhuǎn)換命令字(CCW)分別控制16路輸入通道。在CCW中寫入通道號(hào)、采樣輸入時(shí)間選擇和放大模式選擇。轉(zhuǎn)換命令字表中最多可有40個(gè)CCW。
(3)構(gòu)造中斷和結(jié)果讀取
在QADC結(jié)構(gòu)寄存器QADCMCR中寫入中斷判決號(hào),注意中斷判決號(hào)應(yīng)該是非零且唯一的;寫隊(duì)列控制寄存器QACR1(2),設(shè)置中斷允許位CIE1、CIE2;寫QADC中斷寄存器,通過IRLQ1(2)區(qū)設(shè)置隊(duì)列1(2)的中斷優(yōu)先級(jí),通過IVB區(qū)提供QADC中斷向量號(hào)的高6位。
當(dāng)隊(duì)列轉(zhuǎn)換完成后申請(qǐng)中斷,中斷服務(wù)程序從結(jié)果字表中讀取轉(zhuǎn)換結(jié)果。然后清除隊(duì)列狀態(tài)寄存器QASR中的中斷標(biāo)志位CF1、CF2,準(zhǔn)備下一輪隊(duì)列轉(zhuǎn)換。
2.5 通信口電路
本系統(tǒng)包括RS-232接口和CAN接口。RS-232接口通過隊(duì)列式串行模塊QSM和外部的MAX232芯片連接實(shí)現(xiàn)。CAN接口通過TouCAN模式與外部的CAN250芯片連接實(shí)現(xiàn)。
3 應(yīng)用實(shí)例
應(yīng)用該方案的數(shù)字式低頻低壓控制裝置RSA800,通過實(shí)時(shí)測(cè)量電力線的電流、電壓和頻率,進(jìn)行綜合快速的分析判斷,從而形成保護(hù)決策。該裝置已通過電力工業(yè)部電力設(shè)備及儀表質(zhì)量檢驗(yàn)測(cè)試中心的產(chǎn)品形式試驗(yàn),各項(xiàng)指標(biāo)均合格。通過國家電力公司主持的產(chǎn)品鑒定,鑒定結(jié)果為:該裝置技術(shù)先進(jìn)、性能可靠、適應(yīng)性強(qiáng),達(dá)到國內(nèi)同步裝置領(lǐng)先水平。這充分驗(yàn)證了該方案的可行性。
本設(shè)計(jì)方案充分利用MC68HC376內(nèi)部功能,外部結(jié)構(gòu)簡(jiǎn)單。系統(tǒng)能對(duì)多種模擬量、開關(guān)量以及頻率信號(hào)做精確的測(cè)量。根據(jù)不同的應(yīng)用程序可靈活實(shí)現(xiàn)各種應(yīng)用控制功能,應(yīng)用面廣、可再開發(fā)性強(qiáng)。系統(tǒng)性能高,可實(shí)現(xiàn)高級(jí)控制算法,通過RS-232和CAN接口可方便地實(shí)現(xiàn)各種聯(lián)合控制功能。系統(tǒng)穩(wěn)定、可靠。
【基于32位微控制器MC68HC376的開發(fā)設(shè)計(jì)和應(yīng)用】相關(guān)文章:
基于RISC技術(shù)的8位微控制器設(shè)計(jì)08-06
MC68300系列微控制器的特點(diǎn)和應(yīng)用08-06
基于B/S體系結(jié)構(gòu)開發(fā)應(yīng)用系統(tǒng)08-06
基于B/S體系結(jié)構(gòu)開發(fā)應(yīng)用系統(tǒng)08-06
基于μC/OS的嵌入式系統(tǒng)應(yīng)用開發(fā)研究08-19
開發(fā)基于SQL SERVER 的C/S數(shù)據(jù)庫應(yīng)用系統(tǒng)?08-06
基于DSP和光纜通信的遠(yuǎn)程高速數(shù)據(jù)采集及處理系統(tǒng)的設(shè)計(jì)與應(yīng)用08-06