AT90S2343低功耗單片機(jī)的串行接口智能轉(zhuǎn)換器
通訊接口接收、發(fā)送數(shù)據(jù)的智能控制過(guò)程如下:每當(dāng)監(jiān)測(cè)到主機(jī)發(fā)送數(shù)據(jù)的起始位時(shí),單片機(jī)輸出收、發(fā)使能信號(hào)(RE=1、DE=1),控制收、發(fā)電路禁止接收、允許發(fā)送數(shù)據(jù),主機(jī)數(shù)據(jù)發(fā)送到RS485通訊總線上,同時(shí)定時(shí)器開(kāi)始計(jì)時(shí)。當(dāng)計(jì)時(shí)時(shí)間等于發(fā)送一幀數(shù)據(jù)的時(shí)間時(shí),單片機(jī)輸出收、發(fā)使能信號(hào)(RE=0、DE=0),控制收、發(fā)電路允許接收、禁止發(fā)送數(shù)據(jù)。此時(shí),主機(jī)可以接收RS485通訊總線上的從機(jī)數(shù)據(jù)。當(dāng)單片機(jī)又監(jiān)測(cè)到主機(jī)發(fā)送數(shù)據(jù)的起始位時(shí),重復(fù)上述的發(fā)送過(guò)程。
在通訊過(guò)程中,波特率測(cè)量和收、發(fā)數(shù)據(jù)智能控制必須同步進(jìn)行,否則就會(huì)造成通訊數(shù)據(jù)的丟失。
為適應(yīng)高速通訊的要求,電路中采用美國(guó)Atmel 公司的AT90SL2343單片機(jī)。它是目前最新的單片機(jī)系列之一,其突出特點(diǎn)是執(zhí)行速度高,片內(nèi)硬件資源豐富。使用CPU內(nèi)部的電源監(jiān)測(cè)和可編程看門(mén)狗定時(shí)器,使電路具有較強(qiáng)的抗干擾能力。
單片機(jī)I/O端口的分配和功能:PB3輸入,監(jiān)測(cè)主機(jī)PC-TXD信號(hào);PB0輸出,接收使能信號(hào);PB4輸出,發(fā)使能信號(hào);PB2輸入,由K1設(shè)置雙工或半雙工通訊方式。3 軟件設(shè)計(jì)
3.1 程序流程框圖
串行口智能擴(kuò)展卡的程序流程圖如圖4所示。
3.2 半雙工通訊方式的軟件設(shè)計(jì)
在RS485半雙工通訊方式下,首先允許接收、禁止發(fā)送數(shù)據(jù)。在檢測(cè)到PC-TXD信號(hào)的數(shù)據(jù)起始位之后,通訊接口禁止接收、允許發(fā)送數(shù)據(jù),并開(kāi)始計(jì)時(shí)。通過(guò)檢測(cè)數(shù)據(jù)信號(hào)的每個(gè)脈沖寬度,確定其波特率和數(shù)據(jù)的發(fā)送位數(shù),進(jìn)而計(jì)算出每幀數(shù)據(jù)允許發(fā)送的時(shí)間。當(dāng)計(jì)時(shí)時(shí)間大于或等于該時(shí)間時(shí),該通訊接口禁止發(fā)送并允許接收數(shù)據(jù)。在接收狀態(tài)下,CPU重復(fù)檢測(cè)發(fā)送數(shù)據(jù)的起始位。當(dāng)檢測(cè)到發(fā)送數(shù)據(jù)的起始位時(shí),重復(fù)上述的數(shù)據(jù)發(fā)送的控制過(guò)程。
3.3 雙工通訊方式軟件設(shè)計(jì)
在RS422雙工通訊方式下,接收和發(fā)送使能信號(hào)始終有效,同時(shí)允許接收和發(fā)送數(shù)據(jù)。
4 結(jié)束語(yǔ)
電路結(jié)構(gòu)簡(jiǎn)單、無(wú)須外部供電,將它制作成串行口轉(zhuǎn)換器直接插接在串行口插口上即可。它具有通用性強(qiáng)、性能可靠、結(jié)構(gòu)簡(jiǎn)單、使用方便的特點(diǎn)。該電路使用了電源監(jiān)測(cè)和可編程的看門(mén)狗監(jiān)測(cè)定時(shí)器,使轉(zhuǎn)換器具有較強(qiáng)的抗干擾能力。該轉(zhuǎn)換器可廣泛應(yīng)用于主從式多機(jī)通訊系統(tǒng)。
評(píng)論