MB89P475的UART/SIO結構與應用

發(fā)布時(shí)間:2010-11-1 21:33    發(fā)布者:eetech
關(guān)鍵詞: MB89P475 , SIO , UART
MB89P475是富士通公司生產(chǎn)的F2MC-8L MB89470單片機系列產(chǎn)品。該產(chǎn)品具有豐富的軟、硬件資源和良好的EMC性能,



而且其程序空間(16k 8bits PROM)和數據空間(512 8bits RAM)大小適中,定時(shí)器資源和中斷資源豐富。雙路UART/SIO接口的設置是該產(chǎn)品的一大特點(diǎn)。在指令設計方面,利用該單片機可以直接進(jìn)行16位數據的比較和算術(shù)運算。MB89P475的高性?xún)r(jià)比和合理的資源配置,使其可以廣泛應用于家用電器控制和工業(yè)控制等應用領(lǐng)域。此外,在多級數據通信控制系統的開(kāi)發(fā)設計中,MB89P475也是一款不可多得的單片機產(chǎn)品。

1 MB89P475簡(jiǎn)介  

1.1 引腳功能  

MB89P475(OTP型號)相應的掩膜(MASK)產(chǎn)品型號為MB89475,它具有兩種封裝形式,分別是48-pin Plastic SH-DIP和48-pin Plastic QFP封裝。本文以SH-DIP封裝形式為例來(lái)介紹其引腳定義,圖1所示是該封裝的引腳排列圖,現將各引腳的功能說(shuō)明如下:  

X0,X1:振蕩器輸入、輸出;  
MODE:模式設定引腳,使用時(shí),該引腳通常直接接地;  
RST:復位腳,低電平復位;  
P00/AN0~P07/AN7:通用I/O口或A/D輸入口;  
P10~P13:通用I/O口或沿觸發(fā)中斷輸入口;  
P14~P17:通用I/O口或定時(shí)器輸入(EC)、輸出口(TO);  
P20~P22:通用I/O口或UART/SIO1的時(shí)鐘輸入、數據輸出和輸入口;  
P23:通用I/O口或PWC(脈寬測量)輸入口;  
P24:通用I/O口或PWM(脈寬調制)輸出口;  
P25~P27:通用I/O口或UART/SIO2的數據輸入、數據輸出、時(shí)鐘輸入口;  
P30*~P36*:大電流驅動(dòng)輸出口,其中,P30/BUZ*可作蜂鳴器驅動(dòng)口;
P40~P41:在MB89P475(102)(單時(shí)鐘系統)中為通用輸入口,在MB89P475(202)(雙時(shí)鐘系統)中為副時(shí)鐘連接引腳;  
P42:通用輸入口;  
P50~P54:通用I/O口或電平觸發(fā)中斷輸入口(低電平中斷);  
C:接0.1μF電容到地;  
Vcc、Vss:電源(+5V)和接地(GND)引腳;  
Avcc、Avss:A/D電路的參考電源和地。  

  

1.2 主要特點(diǎn)  

MB89P475內含六個(gè)定時(shí)器,分別為:PWC(脈寬測量)定時(shí)器(可用作時(shí)間間隔定時(shí)器)、PWM(脈寬調制)定時(shí)器(可用作時(shí)間間隔定時(shí)器)、2個(gè)8/16bit 定時(shí)/計數器、一個(gè)21-bit時(shí)間基準定時(shí)器和一個(gè)Watch比例器。此外,MB89P475還具有如下特點(diǎn):  

●帶有蜂鳴器驅動(dòng),可由程序選擇7種驅動(dòng)信號頻率;  
●可外部中斷,包括4個(gè)沿觸發(fā)中斷通道和5個(gè)電平觸發(fā)中斷通道;  
●內含8通道10位A/D轉換器;
●內含UART/SIO 異步/同步數據接收/發(fā)射器;  
●可低功耗工作,具有Stop模式、Sleep模式、副時(shí)鐘模式、Watch模式等多種工作模式;  
●帶有Watchdog 定時(shí)復位功能;  
●最大可用39路I/O口。

2 MB89P475的UART/SIO結構  

MB89P475的最大特點(diǎn)就是內部集成了一個(gè)UART/SIO通用串行數據通信接口,可通過(guò)片內雙緩沖器實(shí)現全雙工雙向通信?同時(shí)?UART/SIO可編程配置為異步或同步通信模式;其內部波特率發(fā)生器既可以選擇14種不同的波特率?也可由外部時(shí)鐘設置波特率?其數據傳輸格式見(jiàn)表1所列。該數據傳輸格式基于NRZ(不歸零)系統。

表1 UART/SIO數據格式  

模  式
數據長(cháng)度(Bit)
通信模式
停止位長(cháng)度

無(wú)校驗
有校驗

0
7
8
異步
1bit或2bits

8
9

1
8
同步
--
MB89P475內含六個(gè)寄存器,分述如下:  



Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0

MD
PEN
TDP
SBL
CL
CLK2
CLK1
CLK0

(1) SMC11/21:模式控制寄存器1(地址:0026H/002BH,初始化值:00000000H)的格式如下:  

其中,MD為通信模式控制位,該位為0為異步通信(UART),為1時(shí)同步通信(SIO);  
PEN為校驗控制位,該位為0表示無(wú)校驗,為1表示有校驗(由Bit5選擇奇、偶校驗);  
TDP為奇、偶校驗位,0為偶校驗,1為奇校驗;  
SBL是停止位長(cháng)度控制位,0 為選擇1Bit停止位,1為選擇2 Bit停止位;  
CL為字符長(cháng)度控制位,0 為選擇7 Bit數據長(cháng)度,1為選擇8 Bit數據長(cháng)度;  
CLK2~CLK0:通信時(shí)鐘選擇位,具體操作見(jiàn)表2所列。

表2 時(shí)鐘選擇  

CLK2
CLK1
CLK0

選  擇  時(shí)  鐘  

0
0
0
2個(gè)指令周期

0
0
1
8個(gè)指令周期

0
1
0
32個(gè)指令周期

0
1
1
波特率發(fā)生器控制

1
0
0
外部時(shí)鐘

(2)SMC12/22:模式控制寄存器2(地址:0027H/002CH,初始化值:00000000H)的格式如下:  

Bit7
Bit6
Bit5
Bit4
Bit3
Bit2
Bit1
Bit0

RERC
RXE
TXE
BRGE
TXOE
SCKE
RIE
TIE

其中,RERC:各接收標志清除位。置0時(shí),清除所有錯誤標志,置1無(wú)效;  
RXE:數據接收允許位,置0時(shí)禁止接收,置1時(shí)允許接收;  
TXE:數據發(fā)射允許位,置0時(shí)禁止發(fā)射,置1時(shí)允許發(fā)射;  
BRGE:波特率發(fā)生器啟動(dòng)位,0為停止,1為啟動(dòng);  
TXOE:串行數據輸出允許位,置0時(shí),P21/SO1、P26/SO2為通用I/O口,置1時(shí),P21/SO1、P26/SO2為串行數據輸出口;  
SCKE:串行時(shí)鐘輸出允許位,置0時(shí),P20/SCK1、P27/SCK2為通用I/O口或串行時(shí)鐘輸入口,置1時(shí),P20/SCK1、P27/SCK2為串行時(shí)鐘輸出口;  
RIE:接收中斷允許位,置0時(shí),接收中斷禁止,置1時(shí),接收中斷允許;  
TIE:發(fā)射中斷允許位,置0時(shí),發(fā)射中斷禁止,置1時(shí),發(fā)射中斷允許。  

(3) SSD1/2:狀態(tài)與數據寄存器(地址:0028H/002DH,初始化值:00001---H),格式如下:  

Bit7
Bit6
Bit5
BIT4
Bit3
Bit2
Bit1
Bit0

PRE
OVE
FER
RDRF
TDRE
--
--
--
其中,PRE:為校驗錯誤標志,0為無(wú)校驗錯誤,1為校驗錯誤;  
OVE:溢出錯誤標志,0為無(wú)溢出錯誤,1為溢出錯誤;  
FER:幀錯誤標志,0為無(wú)幀錯誤,1為幀錯誤;  
RDRF:接收數據寄存器滿(mǎn)標志,0為寄存器空,1為接收數據滿(mǎn);  
TDRE:發(fā)射數據寄存器空標志,0為發(fā)射數據滿(mǎn),1為寄存器空。


  
這里,SSD1/2是只讀寄存器。若接收中斷允許(RIE=1),那么任何錯誤標志置“1”都將產(chǎn)生接收中斷。因此,在程序中將RERC(SMC12/22中的Bit7)置“1”,可將各錯誤標志清零。  

(4)SRC1/2:波特率控制寄存器(地址:002AH/002FH,初始化值:xxxxxxxxH)  

當SMC11/SMC21寄存器中的CLK2 ~ CLK0設為“011”時(shí),由于選擇的是波特率發(fā)生器作為串行時(shí)鐘(異步通信方式使用),因此,只有在UART/SIO停止工作時(shí),寫(xiě)入SRC1/2的數據才有效。此時(shí),波特率計算方法如下(CLK2~CLK0設為“011”):  

波特率=1/(16nTint)  

式中,n為寫(xiě)入SRC1/2的數值,Tint為指令周期,其值可通過(guò)對相關(guān)寄存器編程設定為4/fch、8/fch、16/fch、64/fch(其中fch為系統時(shí)鐘振蕩器頻率)。  

(5) SIDR1/2: 輸入數據寄存器(地址:0029H/002EH,初始化值:xxxxxxxxH)  

該寄存器用于存放接收到的數據。當數據接收完成時(shí),RSRF位(SSD1/2中的Bit4)被置“1”,此時(shí)若接收中斷允許,將產(chǎn)生接收中斷請求。讀出接收數據后,RSRF位自動(dòng)清“0”。  

系統檢測到接收中斷請求后,應檢查RSRF位是否為“1”,若為“0”,說(shuō)明該中斷是由于接收錯誤產(chǎn)生的,SIDR1/2并未接收到數據,此時(shí)應在相應的程序中作相應處理。  

(6) SODR1/2:輸出數據寄存器(地址:0029H/002EH,初始化值:xxxxxxxxH)  

SODR1/2與SIDR1/2具有相同的地址。發(fā)射允許時(shí),將發(fā)射數據寫(xiě)入該寄存器即可直接轉送到發(fā)射寄存器,并通過(guò)發(fā)射移位寄存器發(fā)送到串行數據輸出口(SO1/2)。

發(fā)射數據寫(xiě)入SODR1/2寄存器時(shí),發(fā)射數據標志位TDRE同時(shí)被清“0”,發(fā)射數據轉送到發(fā)射移位寄存器后,TDRE被置“1”,意味著(zhù)SODR1/2寄存器可以寫(xiě)入下一個(gè)發(fā)射數據,同時(shí),若發(fā)射中斷允許,將產(chǎn)生發(fā)射中斷請求。  

若將發(fā)射數據長(cháng)度設為7 Bits,則數據的第7位(最高位)無(wú)效。

3 LSR300型集控系統的構成  

圖2所示為L(cháng)SR300型中央空調計算機集控系統的結構框圖,該系統采用RS-485總線(xiàn)結構方式,由計算機控制管理平臺、RS-232/RS-485轉換模塊、14個(gè)控制終端(包括通信板和主控系統,其控制終端數量可以根據實(shí)際要求增加或減少)組成。其中計算機控制管理平臺主要用于數據通信、系統檢測、功能設定和控制以及查詢(xún)等管理工作。  

系統中的RS-232/RS-485轉換模塊由MAX-IM公司生產(chǎn)的MAX491E、MAX232A組成,該模塊的電路連接如圖3所示。  

通信板由MB89P475為核心組成,其結構如圖4所示。圖中的RS-485接口由MAX491E完成,接收器處于常通狀態(tài)(RE接地),發(fā)射器的選通(DE端)由MB89P475的P2.7口控制(高電平選通)。通信板主要完成以下功能:  

(1) 用撥碼開(kāi)關(guān)實(shí)現各控制終端的地址編碼;  
(2) 機組的本地操作控制與顯示(包括本地查詢(xún)、設置和控制);  
(3) 分別與計算機和主控系統通信,實(shí)現主控系統與計算機之間的數據傳送。其中,與計算機之間采用RS-485總線(xiàn)方式進(jìn)行連接,而與主控系統之間則采用電流環(huán)方式連接;  
(4) 記憶機組的設定信息、故障信息和累計運行時(shí)間。  

此外,系統中的主控系統也可采用LSR300中央空調單機組控制系統實(shí)現。



4 MB89P475的通信軟件設計  

4.1 通信板與計算機通信  

(1)通信協(xié)議  

通信板與計算機的通信采用RS-485總線(xiàn)方式連接,通信過(guò)程由計算機主控,通信數據采用RS-232標準數據格式。  

當通信板接收到正確的同步碼和地址碼時(shí),表示該通信板可以與計算機通信。此時(shí)可選擇MB89P475的UART/SIO2為UART(兩線(xiàn)異步)通信模式,通信數據格式定義為1位起始位,8位數據長(cháng)度和1位停止位,無(wú)校驗位。  

(2)軟件設計  

UART/SIO2相關(guān)寄存器初始化如下:  

MOV SCR2,#104 ;設定波特率=1200bps(系統時(shí)鐘Fch=8.000MHz)  
MOV SMC21,#00001011B ;選擇UART模式,1Bit停止位,8Bits數據長(cháng)度,無(wú)校驗位  
MOV SMC22,#01111010B ;允許接收中斷,禁止發(fā)射中斷,發(fā)射允許,接收允許  

數據發(fā)射采用查詢(xún)方式進(jìn)行,即發(fā)射子程序置于主程序循環(huán)中,可通過(guò)查詢(xún)發(fā)射數據寄存器空標志位TDRE決定是否寫(xiě)入下一個(gè)發(fā)射數據。發(fā)射子程序流程圖如圖5所示。  

數據接收采用中斷方式進(jìn)行。程序進(jìn)入接收中斷服務(wù)程序時(shí),應首先根據接收數據滿(mǎn)標志位RDRF的狀態(tài)來(lái)判斷中斷請求是否是由于接收錯誤產(chǎn)生的(產(chǎn)生中斷時(shí),接收數據滿(mǎn)標志位RDRF=0),然后由判斷結果決定是接收數據還是進(jìn)行出錯處理。中斷服務(wù)程序的流程圖如圖6所示。  

4.2 通信板與主控系統通信  

(1)通信協(xié)議  

通信板與主控系統的通信采用電流環(huán)方式實(shí)現,這樣可以增強通信的可靠性。通信過(guò)程由通信板主控,通信數據采用RS-232標準數據格式。  
可選擇MB89P475的UART/SIO1為UART(兩線(xiàn)異步)通信模式,通信數據格式定義為1位起始位,8位數據長(cháng)度和1位停止位,無(wú)校驗位。  

(2)軟件設計  

相關(guān)寄存器初始化如下:  

MOV SCR1,#52 ;設定波特率=2400bps(系統時(shí)鐘Fch=8.000MHz)  
MOV SMC11,#00001011B ;選擇UART模式,1Bit停止位,8Bits數據長(cháng)度,無(wú)校驗位  
MOV SMC12,#01111010B ;允許接收中斷,禁止發(fā)射中斷,發(fā)射允許,接收允許  
具體的編程方法與通信板和計算機的通信編程方法相同。

5 結語(yǔ)  

雖然MB89P475的雙路UART/SIO結構具有靈活、安全的特點(diǎn),但合理的程序設計也至關(guān)重要。在LSR300中央空調計算機集控系統中,以MB89P475為核心設計的通信板,充分合理地利用了MB89P475的雙路UART/SIO資源。它可以作為各控制終端與計算機交換數據的樞紐,同時(shí)還避免了主控系統的重復開(kāi)發(fā)。目前該系統已投入使用,其方便、靈活的操作模式和安全可靠的運行已得到了用戶(hù)的肯定。
本文地址:http://selenalain.com/thread-35716-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)在線(xiàn)工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页