摘要:MB89P475是富士通公司生產(chǎn)的八位單片機(jī)。該單片機(jī)具有豐富的軟、硬件資源和良好的EMC性能,可廣泛應(yīng)用于家電控制等產(chǎn)品中。該器件內(nèi)含兩路UART/SIO接口,非常適用于計(jì)算機(jī)集中控制和管理的多級(jí)通信控制系統(tǒng)中。文中介紹了該單片機(jī)的特點(diǎn)和UART/SIO結(jié)構(gòu),給出了MB89P475在LSP300型中央空調(diào)的計(jì)算機(jī)集控系統(tǒng)中的設(shè)計(jì)應(yīng)用方法。
MB89P475是富士通公司生產(chǎn)的F2MC-8L MB89470單片機(jī)系列產(chǎn)品。該產(chǎn)品具有豐富的軟、硬件資源和良好的EMC性能,而且其程序空間(16k×8bits PROM)和數(shù)據(jù)空間(512×8bits RAM)大小適中,定時(shí)器資源和中斷資源豐富。雙路UART/SIO接口的設(shè)置是該產(chǎn)品的一大特點(diǎn)。在指令設(shè)計(jì)方面,利用該單片機(jī)可以直接進(jìn)行16位數(shù)據(jù)的比較和算術(shù)運(yùn)算。MB89P475的高性?xún)r(jià)比和合理的資源配置,使其可以廣泛應(yīng)用于家用電器控制和工業(yè)控制等應(yīng)用領(lǐng)域。此外,在多級(jí)數(shù)據(jù)通信控制系統(tǒng)的開(kāi)發(fā)設(shè)計(jì)中,MB89P475也是一款不可多得的單片機(jī)產(chǎn)品。
1?。停拢福梗校矗罚岛?jiǎn)介
1.1 引腳功能
MB89P475(OTP型號(hào))相應(yīng)的掩膜(MASK)產(chǎn)品型號(hào)為MB89475,它具有兩種封裝形式,分別是48-pin Plastic SH-DIP和48-pin Plastic QFP封裝。本文以SH-DIP封裝形式為例來(lái)介紹其引腳定義,圖1所示是該封裝的引腳排列圖,現(xiàn)將各引腳的功能說(shuō)明如下:
X0,X1:振蕩器輸入、輸出;
MODE:模式設(shè)定引腳,使用時(shí),該引腳通常直接接地;
RST:復(fù)位腳,低電平復(fù)位;
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í)鐘輸入、數(shù)據(jù)輸出和輸入口;
P23:通用I/O口或PWC(脈寬測(cè)量)輸入口;
P24:通用I/O口或PWM(脈寬調(diào)制)輸出口;
P25~P27:通用I/O口或UART/SIO2的數(shù)據(jù)輸入、數(shù)據(jù)輸出、時(shí)鐘輸入口;
P30*~P36*:大電流驅(qū)動(dòng)輸出口,其中,P30/BUZ*可作蜂鳴器驅(qū)動(dòng)口;
P40~P41:在MB89P475(102)(單時(shí)鐘系統(tǒng))中為通用輸入口,在MB89P475(202)(雙時(shí)鐘系統(tǒng))中為副時(shí)鐘連接引腳;
P42:通用輸入口;
P50~P54:通用I/O口或電平觸發(fā)中斷輸入口(低電平中斷);
C:接0.1μF電容到地;
Vcc、Vss:電源(+5V)和接地(GND)引腳;
Avcc、Avss:A/D電路的參考電源和地。
1.2 主要特點(diǎn)
MB89P475內(nèi)含六個(gè)定時(shí)器,分別為:PWC(脈寬測(cè)量)定時(shí)器(可用作時(shí)間間隔定時(shí)器)、PWM(脈寬調(diào)制)定時(shí)器(可用作時(shí)間間隔定時(shí)器)、2個(gè)8/16bit 定時(shí)/計(jì)數(shù)器、一個(gè)21-bit時(shí)間基準(zhǔn)定時(shí)器和一個(gè)Watch比例器。此外,MB89P475還具有如下特點(diǎn):
●帶有蜂鳴器驅(qū)動(dòng),可由程序選擇7種驅(qū)動(dòng)信號(hào)頻率;
●可外部中斷,包括4個(gè)沿觸發(fā)中斷通道和5個(gè)電平觸發(fā)中斷通道;
●內(nèi)含8通道10位A/D轉(zhuǎn)換器;
圖3
●內(nèi)含UART/SIO 異步/同步數(shù)據(jù)接收/發(fā)射器;
●可低功耗工作,具有Stop模式、Sleep模式、副時(shí)鐘模式、Watch模式等多種工作模式;
●帶有Watchdog 定時(shí)復(fù)位功能;
●最大可用39路I/O口。
2?。停拢福梗校矗罚档模眨粒遥裕樱桑辖Y(jié)構(gòu)
MB89P475的最大特點(diǎn)就是內(nèi)部集成了一個(gè)UART/SIO通用串行數(shù)據(jù)通信接口,可通過(guò)片內(nèi)雙緩沖器實(shí)現(xiàn)全雙工雙向通信?同時(shí)?UART/SIO可編程配置為異步或同步通信模式;其內(nèi)部波特率發(fā)生器既可以選擇14種不同的波特率?也可由外部時(shí)鐘設(shè)置波特率?其數(shù)據(jù)傳輸格式見(jiàn)表1所列。該數(shù)據(jù)傳輸格式基于NRZ(不歸零)系統(tǒng)。
表1 UART/SIO數(shù)據(jù)格式
模 式 | 數(shù)據(jù)長(zhǎng)度(Bit) | 通信模式 | 停止位長(zhǎng)度 | |
無(wú)校驗(yàn) | 有校驗(yàn) | |||
0 | 7 | 8 | 異步 | 1bit或2bits |
8 | 9 | |||
1 | 8 | 同步 | -- |
MB89P475內(nèi)含六個(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為校驗(yàn)控制位,該位為0表示無(wú)校驗(yàn),為1表示有校驗(yàn)(由Bit5選擇奇、偶校驗(yàn));
TDP為奇、偶校驗(yàn)位,0為偶校驗(yàn),1為奇校驗(yàn);
SBL是停止位長(zhǎng)度控制位,0 為選擇1Bit停止位,1為選擇2 Bit停止位;
CL為字符長(zhǎng)度控制位,0 為選擇7 Bit數(shù)據(jù)長(zhǎng)度,1為選擇8 Bit數(shù)據(jù)長(zhǎ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:各接收標(biāo)志清除位。置0時(shí),清除所有錯(cuò)誤標(biāo)志,置1無(wú)效;
RXE:數(shù)據(jù)接收允許位,置0時(shí)禁止接收,置1時(shí)允許接收;
TXE:數(shù)據(jù)發(fā)射允許位,置0時(shí)禁止發(fā)射,置1時(shí)允許發(fā)射;
BRGE:波特率發(fā)生器啟動(dòng)位,0為停止,1為啟動(dòng);
TXOE:串行數(shù)據(jù)輸出允許位,置0時(shí),P21/SO1、P26/SO2為通用I/O口,置1時(shí),P21/SO1、P26/SO2為串行數(shù)據(jù)輸出口;
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)與數(shù)據(jù)寄存器(地址:0028H/002DH,初始化值:00001---H),格式如下:
Bit7 | Bit6 | Bit5 | BIT4 | Bit3 | Bit2 | Bit1 | Bit0 |
PRE | OVE | FER | RDRF | TDRE | -- | -- | -- |
其中,PRE:為校驗(yàn)錯(cuò)誤標(biāo)志,0為無(wú)校驗(yàn)錯(cuò)誤,1為校驗(yàn)錯(cuò)誤;
OVE:溢出錯(cuò)誤標(biāo)志,0為無(wú)溢出錯(cuò)誤,1為溢出錯(cuò)誤;
FER:幀錯(cuò)誤標(biāo)志,0為無(wú)幀錯(cuò)誤,1為幀錯(cuò)誤;
RDRF:接收數(shù)據(jù)寄存器滿(mǎn)標(biāo)志,0為寄存器空,1為接收數(shù)據(jù)滿(mǎn);
TDRE:發(fā)射數(shù)據(jù)寄存器空標(biāo)志,0為發(fā)射數(shù)據(jù)滿(mǎn),1為寄存器空。
這里,SSD1/2是只讀寄存器。若接收中斷允許(RIE=1),那么任何錯(cuò)誤標(biāo)志置“1”都將產(chǎn)生接收中斷。因此,在程序中將RERC(SMC12/22中的Bit7)置“1”,可將各錯(cuò)誤標(biāo)志清零。
(4)SRC1/2:波特率控制寄存器(地址:002AH/002FH,初始化值:xxxxxxxxH)
當(dāng)SMC11/SMC21寄存器中的CLK2 ~ CLK0設(shè)為“011”時(shí),由于選擇的是波特率發(fā)生器作為串行時(shí)鐘(異步通信方式使用),因此,只有在UART/SIO停止工作時(shí),寫(xiě)入SRC1/2的數(shù)據(jù)才有效。此時(shí),波特率計(jì)算方法如下(CLK2~CLK0設(shè)為“011”):
波特率=1/(16nTint)
式中,n為寫(xiě)入SRC1/2的數(shù)值,Tint為指令周期,其值可通過(guò)對(duì)相關(guān)寄存器編程設(shè)定為4/fch、8/fch、16/fch、64/fch(其中fch為系統(tǒng)時(shí)鐘振蕩器頻率)。
(5) SIDR1/2: 輸入數(shù)據(jù)寄存器(地址:0029H/002EH,初始化值:xxxxxxxxH)
該寄存器用于存放接收到的數(shù)據(jù)。當(dāng)數(shù)據(jù)接收完成時(shí),RSRF位(SSD1/2中的Bit4)被置“1”,此時(shí)若接收中斷允許,將產(chǎn)生接收中斷請(qǐng)求。讀出接收數(shù)據(jù)后,RSRF位自動(dòng)清“0”。
系統(tǒng)檢測(cè)到接收中斷請(qǐng)求后,應(yīng)檢查RSRF位是否為“1”,若為“0”,說(shuō)明該中斷是由于接收錯(cuò)誤產(chǎn)生的,SIDR1/2并未接收到數(shù)據(jù),此時(shí)應(yīng)在相應(yīng)的程序中作相應(yīng)處理。
(6) SODR1/2:輸出數(shù)據(jù)寄存器(地址:0029H/002EH,初始化值:xxxxxxxxH)
SODR1/2與SIDR1/2具有相同的地址。發(fā)射允許時(shí),將發(fā)射數(shù)據(jù)寫(xiě)入該寄存器即可直接轉(zhuǎn)送到發(fā)射寄存器,并通過(guò)發(fā)射移位寄存器發(fā)送到串行數(shù)據(jù)輸出口(SO1/2)。
圖5
發(fā)射數(shù)據(jù)寫(xiě)入SODR1/2寄存器時(shí),發(fā)射數(shù)據(jù)標(biāo)志位TDRE同時(shí)被清“0”,發(fā)射數(shù)據(jù)轉(zhuǎn)送到發(fā)射移位寄存器后,TDRE被置“1”,意味著SODR1/2寄存器可以寫(xiě)入下一個(gè)發(fā)射數(shù)據(jù),同時(shí),若發(fā)射中斷允許,將產(chǎn)生發(fā)射中斷請(qǐng)求。
若將發(fā)射數(shù)據(jù)長(zhǎng)度設(shè)為7 Bits,則數(shù)據(jù)的第7位(最高位)無(wú)效。
3?。蹋樱遥常埃靶图叵到y(tǒng)的構(gòu)成
圖2所示為LSR300型中央空調(diào)計(jì)算機(jī)集控系統(tǒng)的結(jié)構(gòu)框圖,該系統(tǒng)采用RS-485總線結(jié)構(gòu)方式,由計(jì)算機(jī)控制管理平臺(tái)、RS-232/RS-485轉(zhuǎn)換模塊、14個(gè)控制終端(包括通信板和主控系統(tǒng),其控制終端數(shù)量可以根據(jù)實(shí)際要求增加或減少)組成。其中計(jì)算機(jī)控制管理平臺(tái)主要用于數(shù)據(jù)通信、系統(tǒng)檢測(cè)、功能設(shè)定和控制以及查詢(xún)等管理工作。
系統(tǒng)中的RS-232/RS-485轉(zhuǎn)換模塊由MAX-IM公司生產(chǎn)的MAX491E、MAX232A組成,該模塊的電路連接如圖3所示。
通信板由MB89P475為核心組成,其結(jié)構(gòu)如圖4所示。圖中的RS-485接口由MAX491E完成,接收器處于常通狀態(tài)(RE接地),發(fā)射器的選通(DE端)由MB89P475的P2.7口控制(高電平選通)。通信板主要完成以下功能:
(1) 用撥碼開(kāi)關(guān)實(shí)現(xiàn)各控制終端的地址編碼;
(2) 機(jī)組的本地操作控制與顯示(包括本地查詢(xún)、設(shè)置和控制);
(3) 分別與計(jì)算機(jī)和主控系統(tǒng)通信,實(shí)現(xiàn)主控系統(tǒng)與計(jì)算機(jī)之間的數(shù)據(jù)傳送。其中,與計(jì)算機(jī)之間采用RS-485總線方式進(jìn)行連接,而與主控系統(tǒng)之間則采用電流環(huán)方式連接;
(4) 記憶機(jī)組的設(shè)定信息、故障信息和累計(jì)運(yùn)行時(shí)間。
此外,系統(tǒng)中的主控系統(tǒng)也可采用LSR300中央空調(diào)單機(jī)組控制系統(tǒng)實(shí)現(xiàn)(詳見(jiàn)參考資料?1?)。
4?。停拢福梗校矗罚档耐ㄐ跑浖O(shè)計(jì)
4.1 通信板與計(jì)算機(jī)通信
(1)通信協(xié)議
通信板與計(jì)算機(jī)的通信采用RS-485總線方式連接,通信過(guò)程由計(jì)算機(jī)主控,通信數(shù)據(jù)采用RS-232標(biāo)準(zhǔn)數(shù)據(jù)格式[2]。
當(dāng)通信板接收到正確的同步碼和地址碼時(shí),表示該通信板可以與計(jì)算機(jī)通信。此時(shí)可選擇MB89P475的UART/SIO2為UART(兩線異步)通信模式,通信數(shù)據(jù)格式定義為1位起始位,8位數(shù)據(jù)長(zhǎng)度和1位停止位,無(wú)校驗(yàn)位。
(2)軟件設(shè)計(jì)
UART/SIO2相關(guān)寄存器初始化如下:
MOV SCR2,#104 ;設(shè)定波特率=1200bps(系統(tǒng)時(shí)鐘Fch=8.000MHz)
MOV SMC21,#00001011B ;選擇UART模式,1Bit停止位,8Bits數(shù)據(jù)長(zhǎng)度,無(wú)校驗(yàn)位
MOV SMC22,#01111010B ;允許接收中斷,禁止發(fā)射中斷,發(fā)射允許,接收允許
數(shù)據(jù)發(fā)射采用查詢(xún)方式進(jìn)行,即發(fā)射子程序置于主程序循環(huán)中,可通過(guò)查詢(xún)發(fā)射數(shù)據(jù)寄存器空標(biāo)志位TDRE決定是否寫(xiě)入下一個(gè)發(fā)射數(shù)據(jù)。發(fā)射子程序流程圖如圖5所示。
數(shù)據(jù)接收采用中斷方式進(jìn)行。程序進(jìn)入接收中斷服務(wù)程序時(shí),應(yīng)首先根據(jù)接收數(shù)據(jù)滿(mǎn)標(biāo)志位RDRF的狀態(tài)來(lái)判斷中斷請(qǐng)求是否是由于接收錯(cuò)誤產(chǎn)生的(產(chǎn)生中斷時(shí),接收數(shù)據(jù)滿(mǎn)標(biāo)志位RDRF=0),然后由判斷結(jié)果決定是接收數(shù)據(jù)還是進(jìn)行出錯(cuò)處理。中斷服務(wù)程序的流程圖如圖6所示。
4.2 通信板與主控系統(tǒng)通信
(1)通信協(xié)議
通信板與主控系統(tǒng)的通信采用電流環(huán)方式實(shí)現(xiàn),這樣可以增強(qiáng)通信的可靠性。通信過(guò)程由通信板主控,通信數(shù)據(jù)采用RS-232標(biāo)準(zhǔn)數(shù)據(jù)格式[2]。
可選擇MB89P475的UART/SIO1為UART(兩線異步)通信模式,通信數(shù)據(jù)格式定義為1位起始位,8位數(shù)據(jù)長(zhǎng)度和1位停止位,無(wú)校驗(yàn)位。
(2)軟件設(shè)計(jì)
相關(guān)寄存器初始化如下:
MOV SCR1,#52 ;設(shè)定波特率=2400bps(系統(tǒng)時(shí)鐘Fch=8.000MHz)
MOV SMC11,#00001011B ;選擇UART模式,1Bit停止位,8Bits數(shù)據(jù)長(zhǎng)度,無(wú)校驗(yàn)位
MOV SMC12,#01111010B ;允許接收中斷,禁止發(fā)射中斷,發(fā)射允許,接收允許
具體的編程方法與通信板和計(jì)算機(jī)的通信編程方法相同。
5 結(jié)語(yǔ)
雖然MB89P475的雙路UART/SIO結(jié)構(gòu)具有靈活、安全的特點(diǎn),但合理的程序設(shè)計(jì)也至關(guān)重要。在LSR300中央空調(diào)計(jì)算機(jī)集控系統(tǒng)中,以MB89P475為核心設(shè)計(jì)的通信板,充分合理地利用了MB89P475的雙路UART/SIO資源。它可以作為各控制終端與計(jì)算機(jī)交換數(shù)據(jù)的樞紐,同時(shí)還避免了主控系統(tǒng)的重復(fù)開(kāi)發(fā)。目前該系統(tǒng)已投入使用,其方便、靈活的操作模式和安全可靠的運(yùn)行已得到了用戶(hù)的肯定。
- MB89(5872)
相關(guān)推薦
sio2_sio2是什么意思

8位微控制器MB89F202相關(guān)資料分享
89C51的P0~P3口結(jié)構(gòu)有何不同?用作通用I/O口輸入數(shù)據(jù)時(shí)應(yīng)注意什么?
MB89F202
MB89F499
MB89P133A
MB89P147
MB89P195A
MB89P485L
MB89P538
MB89P568
MB89P585B
MB89P665
MB89P689
MB89P825
MB89P899
MB89P945
MB89T855
MB89W665
MB89W867
MB89P475-101P-SH
MB89P475-101PFM
MB89P475-101PFV
MB89P475-102PFM
MB89P475-102PFV
MB89P475-201P-SH
MB89P475-201PFM
MB89P475-201PFV
MB89P475-202P-SH
MB89P475-202PFM
MB89P475-202PFV
P89LPC912單片微處理器相關(guān)資料分享
P89LPC913單片微處理器相關(guān)資料分享
P89LPC914單片微處理器相關(guān)資料分享
P89LPC915單片機(jī)相關(guān)資料分享
P89LPC916單片機(jī)相關(guān)資料下載
P89LPC917單片機(jī)相關(guān)資料分享
P89LPC930/P89LPC931使用指南
P89V51RD2芯片資料
CLRC66301HN無(wú)法寫(xiě)入富士通MB89R118C電子標(biāo)簽數(shù)據(jù)是怎么回事?
CY8C5867LTI-LP025 SPI通信是否也需要使用SIO端口?
M38C89MB
MY-IMX6-MB140P 硬件介紹
STM32L475開(kāi)發(fā)板支持的串口模式及特征是什么?
μC/OS-II在P89V51RD2上是怎樣實(shí)現(xiàn)移植的?
單片機(jī)的內(nèi)部結(jié)構(gòu)是怎樣的
恩智浦8位MCU P89LPC982 Demo板
請(qǐng)問(wèn)STPM01與P89LPC94設(shè)計(jì)怎么實(shí)現(xiàn)?
請(qǐng)問(wèn)目前是否增加了對(duì)stm32L475低功耗串口的驅(qū)動(dòng)代碼呢
采用P89C668單片機(jī)實(shí)現(xiàn)CAN總線接口設(shè)計(jì)
采用AT指令基于STM32L475的UART2進(jìn)行數(shù)據(jù)傳輸
采用CPLD增強(qiáng)單片機(jī)P89C669外部設(shè)備擴(kuò)展能力
MNP0012A-T89P
MNP0010-T89P
89C51單片機(jī)的結(jié)構(gòu)和原理

鍍復(fù)SiO2膜的電容器介質(zhì)膜

什么是Prescott/SiO2F?

富士通推出帶9KB FRAM的高頻RFID標(biāo)簽芯片-MB89R112


AT89S52單片機(jī)結(jié)構(gòu)

HCI和UART的結(jié)構(gòu)與原理概述及計(jì)HCI-UART的設(shè)計(jì)實(shí)現(xiàn)方法


MB9B500系列32位ARM CORTEX-M3TM微控制器的詳細(xì)數(shù)據(jù)手冊(cè)免費(fèi)下載

基于B-L475E-IOT01A2Processors的參考設(shè)計(jì)

C0603X5R475L6R3NTD 片式高容多層陶瓷電容器
C0805X5R475M6R3NTY 片式高容多層陶瓷電容器
C0603X5R475K6R3NTD 片式高容多層陶瓷電容器
C0402X5R475N6R3NTC 片式高容多層陶瓷電容器
HMC475/HMC481ST89/HMC482/HMC580 Gerber Files

HMC475/HMC481ST89/HMC482/HMC580 Gerber Files

EE-89:在ADSP-2181 EZ-Kit-Lite上實(shí)現(xiàn)軟件UART

DC475A DC475A評(píng)估板
AT89S51單片機(jī)硬件結(jié)構(gòu)

MPC89系列MCU的UART傳輸和接收器示例代碼

在APT32F102中使用SIO的應(yīng)用范例

HART 475手操器是什么,它有哪些應(yīng)用

如何降低SiC/SiO?界面缺陷


MB89R118C|富士通嵌入FRAM的RFID LSI無(wú)線射頻識(shí)別芯片

評(píng)論