基于AT90S2343的串口智能轉換器
輸出電壓VOUT降低時,三極管T1的基極電流IEB減小,LB端的取樣電壓UR1(βIEB×R1×)減小,當LB的取樣電壓(UR1)<片內基準電壓時,控制信號以最高調制頻率的來控制功率驅動管的開通與截止,當功率驅動管導通時,LX等于-12V,二極管D4處于截止狀態,電流經電感L流向LX,此時電感L儲存能量。當功率驅動管截止時,電感L釋放能量,反電動勢產生的電流經二極管D4向電容C4充電,從而使輸出電壓VOUT升高。
輸出電壓VOUT升高時,三極管T1的基極電流IEB增大,LB端的取樣電壓UR1(βIEB×R1×)增大,當LB的取樣電壓(UR1)≥片內基準電壓時,控制信號控制功率驅動管在一個完整調制的周期內處于截止狀態,由負載消耗使輸出電壓VOUT下降。
通過以上的脈沖調頻方式的自舉升壓調節,使輸出電壓穩定在+5V。
輸出電壓由下式確定:
VOUT=Vw1+Veb+Ib×R2≈Vw1+Veb ≈ 5 V
2.2 單片機智能控制工作原理
RS485通訊方式是軟件通過收、發使能信號來控制數據的分時接收與發送,使用同一對差分通訊總線實現雙向數據通訊的半雙工通訊方式,而RS232通訊接口不能提供這樣的使能控制信號。但可以通過單片機對主機PC-TXD信號的監測,準確計算出傳送一幀數據的時間,智能產生收、發使能信號控制數據的分時接收與發送,實現數據的半雙工通訊。以AT90S2343低功耗單片機為核心的串行口智能轉換器的具體電路如圖3所示。
單片機對傳送一幀數據的時間的識別方法如下:當單片機監測到主機發送數據的起始位時,開始測量PC-TXD信號的每個脈沖的脈沖寬度,計算出對應的波特率,若均屬于通用波特率集合,它們中的最高波特率即是通訊波特率。否則,該脈沖寬度是發送兩幀數據的間隔時間,電平負躍變的時刻是起始位的開始時刻,開始重新測量每個脈沖的脈沖寬度。當通訊波特率確定后,檢測第十位的電平狀態,若是低電平,則可確定是11位通訊方式。否則是10位通訊方式。由通訊波特率和通訊方式計算出傳送一幀數據的時間。
圖3 串行口智能轉換器原理圖
通訊接口接收、發送數據的智能控制過程如下:每當監測到主機發送數據的起始位時,單片機輸出收、發使能信號(RE=1、DE=1),控制收、發電路禁止接收、允許發送數據,主機數據發送到RS485通訊總線上,同時定時器開始計時。當計時時間等于發送一幀數據的時間時,單片機輸出收、發使能信號(RE=0、DE=0),控制收、發電路允許接收、禁止發送數據。此時,主機可以接收RS485通訊總線上的從機數據。當單片機又監測到主機發送數據的起始位時,重復上述的發送過程。
在通訊過程中,波特率測量和收、發數據智能控制必須同步進行,否則就會造成通訊數據的丟失。
為適應高速通訊的要求,電路中采用美國Atmel 公司的AT90SL2343單片機。它是目前最新的單片機系列之一,其突出特點是執行速度高,片內硬件資源豐富。使用CPU內部的電源監測和可編程看門狗定時器,使電路具有較強的抗干擾能力。
評論