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