https://m.toutiao.com/is/BFW9qng/ RS232詳細(xì)介紹: 一、R232用圖文簡(jiǎn)介 RS232串口是我們常用的通訊接口之一,,它主要用來(lái)進(jìn)行人機(jī)交互,,它最常用的接口形式就是這種DB9的接口。 信號(hào)定義如圖所示: TxD(傳輸引腳):將數(shù)據(jù)從DTE傳輸?shù)紻CE,。 RxD(接收引腳):將數(shù)據(jù)從DCE發(fā)送到DTE,。 DTR(數(shù)據(jù)終端就緒):DTE準(zhǔn)備接受請(qǐng)求。 DCD(數(shù)據(jù)載波檢測(cè)):DCE從位于遠(yuǎn)程位置的DTE接收載波,。 DSR(數(shù)據(jù)集就緒):DCE準(zhǔn)備發(fā)送和接收信息,。 RI(振鈴指示器):檢測(cè)電話線上的來(lái)電鈴聲。 RTS(發(fā)送請(qǐng)求):DCE的DTE調(diào)用以發(fā)送數(shù)據(jù),。 RTR(準(zhǔn)備接收):DTE已做好準(zhǔn)備以接收來(lái)自DCE的數(shù)據(jù),。 CTS(清除發(fā)送):DCE處于就緒狀態(tài),可以接受來(lái)自DTE的數(shù)據(jù) 我們平常簡(jiǎn)單的使用時(shí)只需要用到2,3,,5腳就可以了,。 這些信號(hào)的電平我們稱(chēng)為RS232電平,具有抗干擾能力強(qiáng),,傳輸距離較數(shù)字信號(hào)要遠(yuǎn)一些,,但是傳輸速率要低一點(diǎn)。RS232電平邏輯 1 的電壓范圍為 -3 ~ -15V,,邏輯 0 的電壓范圍為 +3 ~ +15V,,它的噪聲容限為2V。 我們常用的芯片串口電平大部分是1.8V,3.3V或者5V,,要想變成RS232電平接口需要芯片進(jìn)行電平轉(zhuǎn)換,。我們常用的有MAX3232,可以將3.3或5V的電平轉(zhuǎn)成RS232電平,。我們簡(jiǎn)單使用時(shí),,只需要用到TX和RX這兩個(gè)信號(hào)就可以了。我們來(lái)看下電路圖 二,、MAX3232芯片介紹: MAX3232設(shè)備有兩路發(fā)送器,、兩路接收器,雙電荷泵電路,,并帶有±15 kV ESD保護(hù)端子,。 提供異步通信控制器和串行端口連接器之間的電氣接口。該器件高達(dá)250kbit/s的數(shù)據(jù)信令速率,,3.3V – 5V供電,。 1) 芯片極限參數(shù) VCC最大電壓不能超過(guò)6V,最低電壓不能低于-0.3V,;電荷泵V+范圍 -0.3 – 7V,,電荷泵V-范圍 -7 – 0.3V,V+與V-電壓差不能超過(guò)13V,,運(yùn)行時(shí)芯片結(jié)溫不能超過(guò)150°C,。 2) 正常運(yùn)行參數(shù) VCC電壓3.3V/5V,邏輯高電平要求大于2/2.4V,,邏輯電平要求小于0.8V,,運(yùn)行時(shí)芯片溫度不能超過(guò)70°C。MAX3232C為商業(yè)上用的,,MAX3232I為工業(yè)上用的,。 3) 溫升參數(shù) 根據(jù)溫升參數(shù)可以估算出芯片的運(yùn)行溫度,公式:芯片溫度=環(huán)境溫度+溫升*功率 4) 芯片轉(zhuǎn)換特性: 這是芯片的速率和高低電平轉(zhuǎn)換延時(shí)時(shí)間,,輸入高,,則輸出低電平邏輯 5) TSSOP封裝尺寸 三、RS232通訊格式 1)串口通信參數(shù) 波特率:數(shù)據(jù)傳輸速率為每秒50、75,、100,、150、300,、600,、1200、2400,、4800,、9600、19200,、115200波特,; 數(shù)據(jù)位:標(biāo)準(zhǔn)值是5、7和8位,; 停止位:用于表示單個(gè)包的最后一位; 奇偶校驗(yàn)位:檢錯(cuò)方式 2)串口通信傳輸格式 串口通信中,,線路空閑時(shí),,線路的TTL電平總是高,經(jīng)過(guò)RS232芯片反向電平總是低,,一個(gè)數(shù)據(jù)的開(kāi)始RS232線路為高電平,,結(jié)束時(shí)RS232為低電平,數(shù)據(jù)總是從低位向高位一位一位的傳輸,。示波器讀數(shù)時(shí),,左邊是數(shù)據(jù)的高位。 例如,,對(duì)于16進(jìn)制數(shù)據(jù)55AAH,,采用8位數(shù)據(jù)位、1位停止位傳輸時(shí),,如圖 55H=01010101B,,取反后10101010B,加入一個(gè)起始位1,,一個(gè)停止位0,,55H數(shù)據(jù)格式為1010101010B; AAH=10101010B,取反后01010101B,,加入一個(gè)起始位1,,一個(gè)停止位0,55H的數(shù)據(jù)格式為1101010100B; 3)串口通信時(shí)接收過(guò)程: RS232是異步通信,,異步通信即接收器和發(fā)送器有各自的時(shí)鐘,,而同步通信的發(fā)送器和接收器共用同一個(gè)時(shí)鐘源控制。 a) 開(kāi)始通信時(shí),信號(hào)線為空閑(高電平,,邏輯1),,當(dāng)檢測(cè)到由1到0的跳變時(shí),開(kāi)始對(duì)“接收時(shí)鐘”計(jì)數(shù),; b) 當(dāng)計(jì)數(shù)到8個(gè)時(shí)鐘時(shí),,對(duì)輸入信號(hào)進(jìn)行檢測(cè),若仍為低電平,,則確認(rèn)這是“起始位”,,而不是干擾信號(hào); c) 接收端檢測(cè)到起始位后,,隔16個(gè)接收時(shí)鐘,,對(duì)輸入信號(hào)檢測(cè)一次,把對(duì)應(yīng)的值作為D0位數(shù)據(jù),,若為邏輯1,,作為數(shù)據(jù)為1,若為邏輯0,,作為數(shù)據(jù)為0 d) 再隔16個(gè)接收時(shí)鐘,,對(duì)輸入信號(hào)檢測(cè)一次,把對(duì)應(yīng)的值作為D1位數(shù)據(jù),,直到全部數(shù)據(jù)位都有輸入,; e) 如果有校驗(yàn)位,檢測(cè)校驗(yàn)位P,; f) 接收到規(guī)定的數(shù)據(jù)位個(gè)數(shù)和校驗(yàn)后,,通信接口電路希望收到停止位S(邏輯1),對(duì)全部數(shù)據(jù)位進(jìn)行奇偶校驗(yàn),,無(wú)校驗(yàn)錯(cuò)時(shí),,把數(shù)據(jù)位從移位寄存器中送數(shù)據(jù)輸入寄存器,若校驗(yàn)錯(cuò),,在狀態(tài)寄存器中置奇偶錯(cuò)標(biāo)志,; g) 本幀信息全部接收完,把線路上出現(xiàn)的高電平作為空閑位,; h) 當(dāng)信號(hào)再次變低時(shí),,開(kāi)始進(jìn)入下一幀的檢測(cè)。 4)波特率和晶振對(duì)應(yīng)關(guān)系 單片機(jī)常用11.0592M的晶振,,波特率為9600BPS,,每位位寬t1 = 1/9600s 晶振周期t2 = 1/11.0592/1000000s;單片機(jī)機(jī)器周期t3 = 12*t2 而t1/t3 = 96,,即對(duì)于9600BPS的串口,,單片機(jī)對(duì)其以96倍的速率進(jìn)行采樣,,如果單片機(jī)晶振用的不正確,會(huì)對(duì)串口接收產(chǎn)生誤碼,。 |
|