目標(biāo):?jiǎn)纹瑱C(jī)串口通信理解(二)
2.串口通信簡(jiǎn)介
串口通信(Serial Communication)修己,是指外設(shè)和計(jì)算機(jī)間抡句,通過數(shù)據(jù)信號(hào)線整胃、地線等角溃,按位進(jìn)行傳輸數(shù)據(jù)的一種通信方式拷获,屬于串行通信方式。
串口是一種接口標(biāo)準(zhǔn)减细,它規(guī)定了接口的電氣標(biāo)準(zhǔn)匆瓜,沒有規(guī)定接口插件電纜以及使用的協(xié)議。
(1)接口標(biāo)準(zhǔn)
串口通信的接口標(biāo)準(zhǔn)有很多未蝌,有RS-232C驮吱、RS-232、RS-422A萧吠、RS-485等左冬。常用的就是RS-232和RS-485。RS-232其實(shí)是RS-232C的改進(jìn)纸型,原理是一樣的拇砰。
RS-232C是EIA(美國(guó)電子工業(yè)協(xié)會(huì))1969年修訂RS-232C標(biāo)準(zhǔn)。RS-232C定義了數(shù)據(jù)終端設(shè)備(DTE)與數(shù)據(jù)通信設(shè)備(DCE)之間的物理接口標(biāo)準(zhǔn)狰腌。
RS-232C接口規(guī)定使用25針連接器除破,簡(jiǎn)稱DB25,連接器的尺寸及每個(gè)插針的排列位置都有明確的定義 琼腔。
目前DB25已經(jīng)不常用瑰枫,D9常用
分為母頭和公頭,母頭通常在計(jì)算機(jī)上丹莲,公頭用于和計(jì)算機(jī)連接
插針序號(hào)里面的左側(cè)是DB25躁垛,括號(hào)里面是D9的引腳
最常用就三個(gè)接口:TXD、RXD圾笨、SGND
RS-232C對(duì)邏輯電平也做了規(guī)定:
在TXD和RXD數(shù)據(jù)線上:
1.邏輯1為-3~-15V的電壓
2.邏輯0為3~15V的電壓
在RTS教馆、CTS、DSR擂达、DTR和DCD等控制線上:
1.信號(hào)有效(ON狀態(tài))為3~15V的電壓
2.信號(hào)無效(OFF狀態(tài))為-3~-15V的電壓
由此可見土铺,RS-232C是用正負(fù)電壓來表示邏輯狀態(tài),與TTL以高低電平表示邏輯狀態(tài)的規(guī)定正好相反。單片機(jī)使用的正是TTL電平悲敷,1--->5V究恤,0--->0V。那么如何來進(jìn)行通信后德?可以使用電平轉(zhuǎn)換芯片Max22芯片部宿,可以轉(zhuǎn)換雙方
串口通信中還需要注意的是:串口數(shù)據(jù)收發(fā)線要交叉連接。如下
圖:
但接口D9有直通(通常用于連接從機(jī)與主機(jī))和交叉(通常用于連接兩個(gè)主機(jī))兩種方式瓢湃,直通就是引腳序號(hào)相對(duì)應(yīng)連接理张,交叉就是母頭2腳(串行輸入)接公頭3腳(串行輸出),母頭3腳(串行輸出)接公頭2腳(串行輸入)绵患,單片機(jī)和計(jì)算機(jī)用直通
(2)通信協(xié)議
RS232的通信協(xié)議比較簡(jiǎn)單雾叭,通常遵循96-N-8-1格式。
96:比特率是9600b/s
N:奇偶校驗(yàn)
8:數(shù)據(jù)位是8個(gè)
1:1個(gè)停止位
(3)串口內(nèi)部結(jié)構(gòu)
A是cpu落蝙,TH1和TL1是定時(shí)/計(jì)數(shù)器1(在這用方式2织狐,自動(dòng)重載),定時(shí)計(jì)數(shù)器在這里用作輸出脈沖來給發(fā)送控制器和接收控制器筏勒,使其同步