曾 波
(中國電子科技集團公司第十研究所,成都 610036)
串口通信(Serial Communication),指的是計算機和外接設備之間通過數據線,地線等按位進行傳輸數據的一種通信方式,屬于串行通信。而異步串口通信是指通信雙方以一個字符(包括特定的附加位)作為數據傳輸單位,且發送端發送字符的間隔時間不一定,具有不規則數據段傳送特性的串行數據傳輸。其中MAX3233EEWP 便是異步串口通信中的常用器件。
MAX3233EEWP 是美國MAXIM 公司生產的雙RS-232收發器,能支持同時將兩路RS-232串口信號轉換為TTL 信號。其內部邏輯如圖1所示:

圖1 內部邏輯示意圖
器件的8腳(R1in)與20腳(R2in)為接收腳,可分別接收兩路RS232 串口信號,轉換成TTL 信號后分別從6 腳(R1out)與1 腳(R2out)輸出,4 腳(T1in)與3 腳(T2in)則分別接收兩路TTL 信號,轉換成RS232信號后分別從7腳(T1out)與19腳(T2out)輸出;9腳(VCC)為電源腳(3.3V),18腳為地;2腳(INVALID)為信號檢測輸出端,低有效;5腳(FORCEON)為輸入開起,高電平有效,10腳(FORCEOFF)為輸入關閉,低電平有效;11至17腳為充電泵功能,一般不使用。
器件特點:靜電放電保護功能;1uA 供電電流;單電源供電(+3.0V-+3.6V);達250kpbs 的數據傳輸速率;6V/us 的電壓轉換速率。
MAX3233EEWP 使用的是異步串行通信協議,其數據格式如圖2所示,每個字符(每幀信息)由4個部分構成:第1位是起始位,規定為低電平0;第2 ~9位是數據位,代表傳輸的有效信息;1位奇偶校驗位(可無);1 ~2位停止位,規定為高電平1。

圖2 異步串口數據格式
在發送間隙,即空閑時,通信線路總是處于邏輯“1”狀態,每個字符數據均以邏輯“0”開始,以邏輯“1”停止。
MAX3233EEWP 是主控端與其他集成電路之間的信號轉換橋梁,其典型布局框圖如圖3所示:

圖3 電路框圖
主控端下發串口數據,由MAX3233EEWP 轉換成邏輯/信號處理集成電路可識別的TTL 數據,可控制集成電路實現復雜的功能。為了測試簡單,可將電路簡化:器件的8腳(R1in)接入計算機串口發,7腳(T1out)連接計算機串口收,4腳(T1in)與6腳(R2out)相連進行自回環;將5腳(FORCEON)和10腳(FORCEOFF)拉高,使器件一直處于工作狀態。
使用計算機中的串口調試工具軟件以16進制發送一組數據:C0 7E 06 00 00 12 3F
示波器探頭接至器件的6腳,將示波器調至觸發檔,可抓取串口數據信號,波形如圖4所示:

圖4 波形
圖4中信號波形的每個字符數據位為8位,無校驗位,如果不知道數據波特率,可用示波器光標對齊波形中最窄的一格,測量出其時間寬度,如圖4中最窄寬度為80us,從第一個下降沿開始算起,80us 為一位依次讀取波形值,低電平為0,高電平為1,可以得到以下的二進制字符幀數據:

舍去每個字符幀一頭一尾的起始位與數據位,可得:

再將每個字符幀數據前后翻轉:

最后將每個字符幀轉換成16進制可得:

這就是受控端所接收到的串口數據,與計算機發出的數據一致,證明傳輸過程中沒有數據丟失或出現錯誤。
本文基于MAX3233EEWP 對其串口數據進行了解析。將串口數據進行解析可以更直觀的了解串口數據所代表的含義,對電路中故障的排除有著十分重要的作用。