基于MAX1487芯片的遠(yuǎn)程多機(jī)通訊應(yīng)用 The Application of Long-distance Multi Communication Based on MAX1487 (四川大學(xué)) 張行 佃松宜 汪道輝 Zhang,Hang Dian,Songyi Wang,Daohu 摘要?押 文章介紹了美國MAXIM公司的MAX1487芯片在RS485標(biāo)準(zhǔn)接口中的應(yīng)用,給出MAX1487芯片的內(nèi)部結(jié)構(gòu)、管腳功能及其工作原理,并提供了其在PC機(jī)與單片機(jī)遠(yuǎn)程多機(jī)串行通訊的應(yīng)用電路、通信原理、數(shù)據(jù)包協(xié)議、通訊程序流程圖。另外,還介紹了單片機(jī)C51編寫的通訊軟件及用C++ Builder建立在Window98/95環(huán)境下的計算機(jī)端通信軟件的實現(xiàn)。 關(guān)鍵詞?押RS485; 多機(jī)通信; 數(shù)據(jù)包協(xié)議; Franklin/Keil C51; C++ Builder Abstract?押 In this paper?熏 the MAX1487 of American MAXIM Corp based on RS485 bus in some project are introduced briefly?熏 and the design of inner structure including the function of pins and working principle?熏 providing the application circuit?熏 communication principle?熏 data protocol?熏 the flow chart of communication program between PC and singlechip in long-distance serial communication. In addition?熏 the software of singlechip in language C51 and PC in C++ Builder is described in detail. Keywords?押 RS485; Multi Communication; Data Protocol; Franklin/Keil C51; C++ Builder 隨著微機(jī)特別是單片機(jī)的發(fā)展,其應(yīng)用已從單機(jī)逐漸轉(zhuǎn)向多機(jī)或連網(wǎng),其中遠(yuǎn)程通訊具有很強(qiáng)的實際意義,在實踐中得到越來越廣泛的應(yīng)用。RS485是一種抗干擾能力強(qiáng)、能有效延伸數(shù)據(jù)傳輸距離、便于實現(xiàn)多機(jī)通信的串行通信方式。其接口標(biāo)準(zhǔn)是一種多發(fā)送器的電路標(biāo)準(zhǔn),它擴(kuò)展了RS422A的性能,允許雙導(dǎo)線上一個發(fā)送器驅(qū)動32個負(fù)載設(shè)備(某些驅(qū)動器可接128個負(fù)載設(shè)備),負(fù)載設(shè)備可以是被動發(fā)送器、接收器或收發(fā)器,通訊距離可達(dá)1200米,這時傳輸速率為100kb/s,用中繼器,可再延長距離。而且RS485電路允許公用電話線通信,半雙工的通訊方式又可節(jié)省信號線,所以特別適合遠(yuǎn)距離通信。 MAX1487其組成的差分平衡系統(tǒng)抗干擾能力強(qiáng),接收器可檢測低達(dá)200mv的信號,是一種高速,低功耗,控制方便的異步通訊接口芯片。 1 MAX1487芯片的內(nèi)部結(jié)構(gòu)、管腳功能及其工作原理 MAX1487采用+5V電源供電,當(dāng)供電電流約為500μA?xí)r,傳輸速率達(dá)到2.5MB/S。它適用于半雙工通信,通信傳輸線上最多可掛128個收發(fā)器,其輸入輸出的差動電壓符合RS485標(biāo)準(zhǔn),為±2V-±6V。 MAX1487的管腳及內(nèi)部結(jié)構(gòu)框圖如圖1所示。 腳1 RO:接收器輸出(A―B≥+0.2V,RO=“1”:A―B≤―0.2V ,RO=“1”); 腳2 RE:接收器使能; 腳3 DE:驅(qū)動器使能; 腳4 DI:驅(qū)動器輸入; 腳5 GND:地; 腳6 A:接收器非反相輸入 或驅(qū)動器非反相輸出; 腳7 B:接收器反相輸入 或驅(qū)動器反相輸出; 腳8 VCC:電源 根據(jù)MAXIM公司的資料,其器件特性如下: 1. 供電電壓 4.75V≤VCC≤5.25V 2. 供電電流 120μA—500μA,靜態(tài)電流 230μA 3. 共模輸入電壓范圍 ―7V——+12V 4. 通訊傳輸線最多可掛128個收發(fā)器 5. 傳輸速率 2.5MB/S 6. 傳輸延時 30ns 7. 跳變坡度 5 ns 8. 工作溫度 0°C——+70°C MAX1487的輸入腳DI可直接與單片機(jī)CPU的TXD腳相連,輸出腳RO與單片機(jī)CPU的RXD腳相連。MAX1487內(nèi)部的驅(qū)動器與接收器是三態(tài)的,通過DE(驅(qū)動器輸出高電平使能)和RE(接收器低電平使能)進(jìn)行發(fā)送與接收,發(fā)送與接收的兩種控制信號是反相的?蓪⒍呓油豢刂菩盘枺ㄈ鐖D2中P3.5),即“1”電平控制發(fā)送,“0”電平控制接收。A、B端實現(xiàn)多機(jī)聯(lián)網(wǎng)。 2 MAX1487應(yīng)用電路及通訊協(xié)議 1.應(yīng)用電路 在多機(jī)通信中,一般PC機(jī)作為上位機(jī)只有RS232標(biāo)準(zhǔn)的通訊接口,要實現(xiàn)RS485標(biāo)準(zhǔn)接口通信,須通過RS232/RS485轉(zhuǎn)換接口電路,完成由EIA電平到TTL電平的轉(zhuǎn)換?捎脤iT的帶隔離RS232/485轉(zhuǎn)換器來實現(xiàn)。 MAX1487的RE與DE連接同一控制信號,如下實際電路(圖2)中8031的P3.5,可嚴(yán)格保證收發(fā)信號在時間上錯開。  2.通訊協(xié)議 MCS51中串行控制寄存器SCON設(shè)有多機(jī)通訊控制位SM2(SCON.5),在編程前,定義各從機(jī)的地址編號,如分別為00H,01H,02H等等。從機(jī)系統(tǒng)在初始化程序中將串行口編程為約定的接收方式,且置位SM2,允許串行口中斷。在主機(jī)和某一從機(jī)通訊之前,先向所有從機(jī)發(fā)出所選從機(jī)的地址,以設(shè)置第9位TB8為1表示為地址幀,這時SM2作為地址監(jiān)聽位,所有從機(jī)當(dāng)接收到的第9位RB8為1則置位中斷標(biāo)志RI,中斷后判斷主機(jī)送來的地址與本從機(jī)是否相同,若為本地址,則清SM2為0,準(zhǔn)備接收主機(jī)送來的數(shù)據(jù)幀;其他從機(jī)保持SM2為1狀態(tài)。接著主機(jī)發(fā)送數(shù)據(jù)幀(TB8=0表示),各串行口同時接收到了數(shù)據(jù)幀,而只有已選中的從機(jī)(SM2=0)才能產(chǎn)生中斷并接收該數(shù)據(jù),其余從機(jī)收到(SM2=1,RB8=0)不產(chǎn)生中斷響應(yīng),將數(shù)據(jù)丟掉。這樣就實現(xiàn)了多機(jī)一對一通訊。
|